Poyyy, danas da pokazemo nekima kak se to oravi Anti BH i C Bug
Znaci Anti BH je kad igrac skace i brzo trci a CBug kad puca i pritiska C da bi nestala animacija odbijanja ruke uvis. Ako kontate.
Prvo definiramo
#define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
#define HOLDING(%0) ((newkeys & (%0)) == (%0))
Zatim se uputimo na
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
Dodajemo sledece
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
// anti bh
if(PRESSED(KEY_JUMP) && HOLDING(KEY_SPRINT) || PRESSED(KEY_SPRINT) && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) //proverava da li je igrac pritisnuo shift i da li drzi ili pritiska space
{ //ako jeste
TogglePlayerControllable(playerid, false); // stavlja pokretljivost igraca na 0
SetTimerEx("antibh", 3000, false, "i", playerid);
SendClientMessage(playerid, -1, " PREKINI DA RADIS BH");
}
// anti cbug
else if(PRESSED(KEY_CROUCH) && PRESSED(KEY_FIRE) || HOLDING(KEY_FIRE) && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) // ovo sa orethodnog koda mozete zakljuciti
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z); //dobija igracevu poziciju
SetPlayerPos(playerid, X, Y, Z+5); //postavlja igracevu poziciju malo u vazduhu kao na /slap (ako nije Z onda je X ili Y)
SendClientMessage(playerid, -1, "prekini raditi cBug");
}
return 1;
}
Ostao nam je onaj tajmer
forward antibh(playerid);
public antibh(playerid) //kada istekne tajmer
{
TogglePlayerControllable(playerid, true); //postavlja igracevu pokretljivost na 1
// jos nesto sta vi zelite
}
Lepo ali nije za RPG servere rp moze proci :D
dobar
Dobar tutorial nekome ce posluzit! :)
Lakše uhvatit aimera :D 8)
Korisno!
D0bar
Posluzi ce ovo
Lepo si objasnio kod :)