Zaključano
Korisne skripte i kodovi
Započeo Obrisan korisnik
•
pre 15 godina
87,710
pregleda
366
postova
Ova tema je zaključana. Samo moderatori i administratori mogu odgovarati.
pre 14 godina
Callback by BloodMaster:
stock _ALT_CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:distance = 200.0)
{
if(modelid == 1649 || modelid == 3851)
{
CreateDynamicObject(modelid, x, y, z, rx+180, ry, rz,worldid,interiorid,playerid,distance);
CreateDynamicObject(modelid, x, y, z, rx, ry, rz, worldid ,interiorid,playerid,distance);
return 1;
}
return CreateDynamicObject(modelid, x, y, z, rx, ry, rz, worldid ,interiorid,playerid,distance);
}
stock _ALT_CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:distance = 200.0)
{
if(modelid == 1649 || modelid == 3851)
{
CreateDynamicObject(modelid, x, y, z, rx+180, ry, rz,worldid,interiorid,playerid,distance);
CreateDynamicObject(modelid, x, y, z, rx, ry, rz, worldid ,interiorid,playerid,distance);
return 1;
}
return CreateDynamicObject(modelid, x, y, z, rx, ry, rz, worldid ,interiorid,playerid,distance);
}
Sa ovime ne morate da okrecete objekte koji trebaju biti dupli nego samo ih dodate sa ovim callback-om.
pre 14 godina
Neće raditi, prekopirao si samo stock a ne i hook...
edit:
edit:
stock _ALT_CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:distance = 200.0)
{
//by BloodMaster
if(modelid == 1649 || modelid == 3851)
{
CreateDynamicObject(modelid, x, y, z, rx+180, ry, rz,worldid,interiorid,playerid,distance);
CreateDynamicObject(modelid, x, y, z, rx, ry, rz, worldid ,interiorid,playerid,distance);
return 1;
}
return CreateDynamicObject(modelid, x, y, z, rx, ry, rz, worldid ,interiorid,playerid,distance);
}
#if defined _ALS_CreateDynamicObject
#undef CreateDynamicObject
#else
#define _ALS_CreateDynamicObject
#endif
#define CreateDynamicObject _ALT_CreateDynamicObject
pre 14 godina
PoÄeo sam sa pisanjem ove skripte
Ovo je više INC nego korisne skripte i kodovi naime skripta nije gotova ali ako netko ima volje neka dovrši mislim da svatko zna da postji GTA bug sa enter/exit iz vozila stoga sam htio napraviti Safe checker ugl. oni koji znaju ako trebaju neka dovrše ja imam svoju staru verziju koju ću koristiti
#include "a_samp"
#include "YSI\y_hooks"
#define H_FNC:%0(%1) \
forward%0(%1); public%0(%1) // by 265
#define Sec(%0) \
((%0)*(1000)) // by 265
new
bool:inVozilo[MAX_PLAYERS char] = false,
LOCAL_TIMER;
Hook:PINC_OnGameModeInit() return \
LOCAL_TIMER = SetTimer("Checker", Sec(1), true);
Hook:P2INC_OnGameModeExit() return \
KillTimer(LOCAL_TIMER);
Hook:P3INC_OnPlayerConnect(playerid) return \
inVozilo{playerid} = false;
Hook:P4INC_OnPlayerStateChange(playerid,newstate,oldstate) { if(newstate == PLAYER_STATE_DRIVER) return \
inVozilo{playerid} = true; }
Hook:P5INC_OnPlayerExitVehicle(playerid, vehicleid) return \
inVozilo{playerid} = false;
stock SafePutPlayerInVehicle(playerid, vehicleid, seatid) { PutPlayerInVehicle(playerid, vehicleid, seatid); return \
inVozilo{playerid} = true; }
stock SafeRemovePlayerFromVehicle(playerid) { RemovePlayerFromVehicle(playerid); return \
inVozilo{playerid} = false; }
stock bool:IsPlayerInAnyVehicleEx(playerid) {
new
statePlayer = GetPlayerState(playerid);
if(statePlayer == PLAYER_STATE_ONFOOT || statePlayer == PLAYER_STATE_NONE || statePlayer == PLAYER_STATE_WASTED || statePlayer == PLAYER_STATE_SPAWNED) return \
inVozilo{playerid} = false;
else if(statePlayer == PLAYER_STATE_DRIVER || statePlayer == PLAYER_STATE_PASSENGER || statePlayer == PLAYER_STATE_SPECTATING) {
if(IsPlayerInAnyVehicle(playerid)) return \
inVozilo{playerid} = true; }
H_FNC: Checker() {
foreach(Player, s) {
if(IsPlayerInAnyVehicleEx(s) == true) return \
inVozilo{s} = true;
else if(IsPlayerInAnyVehicleEx(s) == false) return \
inVozilo{s} = false; } }
Ovo je više INC nego korisne skripte i kodovi naime skripta nije gotova ali ako netko ima volje neka dovrši mislim da svatko zna da postji GTA bug sa enter/exit iz vozila stoga sam htio napraviti Safe checker ugl. oni koji znaju ako trebaju neka dovrše ja imam svoju staru verziju koju ću koristiti
pre 14 godina
Provjerava igraÄev armor i vraća vrijednost(float value)/koliÄinu armora.
Provjerava naziv oružja i vraća vrijednost(string)/naziv oruzja.
Broji odreÄ‘ene znakove unutar teksta. Recimo ako želite provjeriti koliko je igraÄ upisao odreÄ‘enih znakova unutar teksta ova funkcija će vam vratiti vrijednost (integer, brojevnu vrijednost) koliko znakova se nalazi unutar teksta - ovo sam napravio kad sam izraÄ‘ivao antiadvertising skriptu ali mi nije trebalo.
Seif je negdje 'okaÄio' ovakvu istu funkciju (bar mislim)... ali ja sam pri koriÅ¡tenu shvatio da u njoj nije bilo baÅ¡ 'sve'. Nedostajali su IDovi oruzja za slot 5 (m4 i ak47) te je neÅ¡to joÅ¡ pogrijeÅ¡io (neznam toÄno). Uglavnom, ispravljeno.. eto..
Eto malo, od mene. Ako kome posluži dobro, a ako ne opet dobro :-*
stock Float:GetArmour(playerid)
{
new Float:armor; GetPlayerArmour(playerid, armor);
return armor;
}Provjerava naziv oružja i vraća vrijednost(string)/naziv oruzja.
stock GetWeapon(gunid)
{
new gunname;
GetWeaponName(gunid,gunname,sizeof(gunname));
return gunname;
}Broji odreÄ‘ene znakove unutar teksta. Recimo ako želite provjeriti koliko je igraÄ upisao odreÄ‘enih znakova unutar teksta ova funkcija će vam vratiti vrijednost (integer, brojevnu vrijednost) koliko znakova se nalazi unutar teksta - ovo sam napravio kad sam izraÄ‘ivao antiadvertising skriptu ali mi nije trebalo.
stock PrebrojiZnakove(text[], str[])
{
new val;
for(new g = 0; g < strlen(text)+1; g++) if(text == str) val++;
return val;
}
Seif je negdje 'okaÄio' ovakvu istu funkciju (bar mislim)... ali ja sam pri koriÅ¡tenu shvatio da u njoj nije bilo baÅ¡ 'sve'. Nedostajali su IDovi oruzja za slot 5 (m4 i ak47) te je neÅ¡to joÅ¡ pogrijeÅ¡io (neznam toÄno). Uglavnom, ispravljeno.. eto..
stock GetWeaponSlot(weaponid)
{
switch (weaponid)
{
case 0,1: return 0;
case 2..9: return 1;
case 22..24: return 2;
case 25..27: return 3;
case 28,29,32: return 4;
case 30,31: return 5;
case 33,34: return 6;
case 35..38: return 7;
case 16..18,39: return 8;
case 41..43: return 9;
case 10..15: return 10;
case 44..46: return 11;
case 40: return 12;
default: return -1;
}
return -1;
}Eto malo, od mene. Ako kome posluži dobro, a ako ne opet dobro :-*
pre 14 godina
zic mortale, u ovoj funkciji za weapon name, jel to recimo da mi izbaci ime oruzija, primjer ja u mojoj komandi /givegun printam adminu poruku da je dao tom i tom igracu id tog i tog oruzija, sad ako sam mu dao gun id 38 s tvojom funkcijom bi njemu printalo da mu je dao minigun?
pre 14 godina
System32 wrote on August 4, 2011, 6:06 pm:
zic mortale, u ovoj funkciji za weapon name, jel to recimo da mi izbaci ime oruzija, primjer ja u mojoj komandi /givegun printam adminu poruku da je dao tom i tom igracu id tog i tog oruzija, sad ako sam mu dao gun id 38 s tvojom funkcijom bi njemu printalo da mu je dao minigun?
Bi
pre 14 godina
stock SetBitEx(biteType, iVar, playerid = INVALID_PLAYER_ID, bool:plus, value) {
switch(biteType) { case 2: {
if(value == true) return Bit2_Set(iVar, playerid, Bit2_Get(iVar, playerid) + value); // +
else Bit2_Set(iVar, playerid, Bit2_Get(iVar, playerid) - value); // -
} case 4: {
if(value == true) return Bit4_Set(iVar, playerid, Bit4_Get(iVar, playerid) + value); // +
else Bit4_Set(iVar, playerid, Bit4_Get(iVar, playerid) - value); // -
} case 8: {
if(value == true) return Bit8_Set(iVar, playerid, Bit8_Get(iVar, playerid) + value); // +
else Bit8_Set(iVar, playerid, Bit8_Get(iVar, playerid) - value); // -
} case 16: {
if(value == true) return Bit16_Set(iVar, playerid, Bit16_Get(iVar, playerid) + value); // +
else Bit16_Set(iVar, playerid, Bit16_Get(iVar, playerid) - value); // -
} } }
ili
#define BitSetEx%0(%1, %2, %3, %4) %0_Set(%1, %2, %0_Get(%1, %2) %3 %4)Eto to sam napravio za one koje koriste Bit support ( 2, 4, 8, 16 bit ) - bit 1 NE PODRAZAVA jer je on 1/0 tj. true/false to ne moze povecavati vrjednost
pre 14 godina
To je za ćuvanje memorije PAWNCC kompajlera
Za INC koji podrzava (16,8,4,2,1 bit) npr.
var[MAX_PLAYERS char]; < taj kod je 8 bitni to cuva DUPLO manje memorije od 16 bita ali je MAX INPUT = 255 dok je 16 bit = 65505 (0xFFFF)
A kada koristite var samo nes ko true/false tj. 1/0 onda koristite Bit1: Bit1_Set jer ce te sacuvati tako puno memorije koje bi inace sa 16 bit izgubili PUNO PUNO vise a ovaj moj kod je ADD-ON
Za INC koji podrzava (16,8,4,2,1 bit) npr.
var[MAX_PLAYERS char]; < taj kod je 8 bitni to cuva DUPLO manje memorije od 16 bita ali je MAX INPUT = 255 dok je 16 bit = 65505 (0xFFFF)
A kada koristite var samo nes ko true/false tj. 1/0 onda koristite Bit1: Bit1_Set jer ce te sacuvati tako puno memorije koje bi inace sa 16 bit izgubili PUNO PUNO vise a ovaj moj kod je ADD-ON
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava