Wysłany: 2013-02-26, 20:31
HasciQ
Wiek: 36 Na forum: 4869 dni Posty: 44
Nick w MP: HasciQ
Piwa : 1
Kod: CMD:odinfekuj(playerid,params[])
{
if(team[playerid] == TEAM_HUMAN)
{
if(pInfo[playerid][pHumanClass] == MEDIC || pInfo[playerid][pHumanClass] == ADVANCEDMEDIC || pInfo[playerid][pHumanClass] == HEAVYMEDIC || pInfo[playerid][pHumanClass] == VIPMEDIC || pInfo[playerid][pHumanClass] == DOCTOR)
{
new targetid,string[128],str[256];
if(sscanf(params,"u", targetid)) return SendClientMessage(playerid,-1,""chat" /odinfekuj [playerid]");
if(pInfo[targetid][IsPlayerInfected] == 1)
{
CurePlayer(targetid);
format(string,sizeof(string),"~n~~n~~n~~n~~g~~w~ %s Uratowal cie",PlayerName(playerid));
GameTextForPlayer(targetid,string,3500,5);
format(str,sizeof(str),""chat""COL_LGREEN" %s %s Uratowa? cz?owieka %s kt?ry by? zainfekowany.",GetClassName(playerid),PlayerName(playerid),PlayerName(targetid));
SendClientMessageToAll(-1,str);
GivePlayerXP(playerid,20);
}
else return SendClientMessage(playerid,-1,""chat" Ten gracz nie jest zainfekowany");
}
else return SendClientMessage(playerid,-1,""chat""COL_LGREEN" Musisz by? Lekarzem, Zaawansowanym Lekarzem, b?d? VIP Medykiem aby u?y? tej komendy!");
}
else return SendClientMessage(playerid,-1,""chat""COL_LGREEN" Musisz by? cz?owiekiem, do u?ycia tej komendy (Lekarz)");
return 1;
}
wiec jak, takowy kod zmieni? aby ponownie u?y? t? komend? za 10 sek
Wysłany: 2013-02-26, 20:38
Quis
Wszechwiedzący
Wiek: 31 Na forum: 5146 dni Posty: 464
Nick w MP: Quis
Piwa : 1110
Gdzie? na g?rze:
Kod: new OstatnieOdinfekuj[MAX_PLAYERS];
Pod tym kodem:
Kod: if(pInfo[targetid][IsPlayerInfected] == 1)
{
Dodaj:
Kod: OstatnieOdinfekuj[playerid] = gettime();
I dodaj taki warunek zaraz na pocz?tku komendy jak nie wiesz gdzie:
Kod: if(gettime()-OstatnieOdinfekuj[playerid] < 10)
{
SendClientMessage(playerid,-1,""chat""COL_LGREEN" Mo?esz u?ywa? tej komendy raz na 10 sekund.");
return 1;
}
I to by by?o na tyle, jak potrafisz to sobie przer?b do w?asnego u?ytku
Pozdrawiam
@DOWN
Je?li serwer chodzi d?u?ej ni? 24h, GetTickCount mo?e zwraca? nieprawid?ow? warto?? (na 32-bitowych systemach). No i po co por?wnywa? wysokie liczby, jak mo?na mniejsze.
@DOWN x2
Masz opisane krok po kroku gdzie wstawia? o.O
Ostatnio zmieniony przez Quis 2013-02-26, 20:46, w całości zmieniany 1 raz
Wysłany: 2013-02-26, 20:42
Wafelowski
Wiek: 29 Na forum: 5348 dni Posty: 428
Piwa : 100
Mo?na te? w taki spos?b:
Kod:
CMD:jakaskomenda(playerid, params[])
{
if((GetTickCount() - GetPVarInt(playerid, "blokadacmd") < 10000)
return SendClientMessage(playerid, -1, "Mo?esz u?y? tej komendy dopiero za 10 sek!");
// Dalsza cz??? komendy
SetPVarInt(playerid, "blokadacmd", GetTickCount());
return 1;
}
@UP: Tego akurat nie wiedzia?em.
@Down: Tu masz z u?yciem PVara:
Kod:
CMD:odinfekuj(playerid,params[])
{
if(team[playerid] == TEAM_HUMAN)
return SendClientMessage(playerid,-1,""chat""COL_LGREEN" Musisz by? cz?owiekiem, do u?ycia tej komendy (Lekarz)");
if(pInfo[playerid][pHumanClass] == MEDIC || pInfo[playerid][pHumanClass] == ADVANCEDMEDIC || pInfo[playerid][pHumanClass] == HEAVYMEDIC || pInfo[playerid][pHumanClass] == VIPMEDIC || pInfo[playerid][pHumanClass] == DOCTOR)
return SendClientMessage(playerid,-1,""chat""COL_LGREEN" Musisz by? Lekarzem, Zaawansowanym Lekarzem, b?d? VIP Medykiem aby u?y? tej komendy!");
if((gettime() - GetPVarInt(playerid, "OdinfekujBlokada")) < 10)
return SendClientMessage(playerid,-1,""chat""COL_LGREEN" Mo?esz u?y? tej komendy dopiero za 10 sekund!");
new targetid,string[128],str[256];
if(sscanf(params,"u", targetid))
return SendClientMessage(playerid,-1,""chat" /odinfekuj [playerid]");
if(pInfo[targetid][IsPlayerInfected] == 1)
return SendClientMessage(playerid,-1,""chat" Ten gracz nie jest zainfekowany"
CurePlayer(targetid);
format(string,sizeof(string),"~n~~n~~n~~n~~g~~w~ %s Uratowal cie",PlayerName(playerid));
GameTextForPlayer(targetid,string,3500,5);
format(str,sizeof(str),""chat""COL_LGREEN" %s %s Uratowa? cz?owieka %s kt?ry by? zainfekowany.",GetClassName(playerid),PlayerName(playerid),PlayerName(targetid));
SendClientMessageToAll(-1,str);
GivePlayerXP(playerid,20);
SetPVarInt(playerid, "OdinfekujBlokada", gettime());
return 1;
}
P.S Najlepiej te warunki z wiadomo?ciami, ?e nie ma uprawnie? do tej komendy ustawia? na samym jej pocz?tku. Lepiej si? na to patrzy wtedy . Polecam Ci: http://codegenerators.pl/ do uk?adania kodu.
Ostatnio zmieniony przez Wafelowski 2013-02-26, 20:54, w całości zmieniany 3 razy
Wysłany: 2013-02-26, 20:42
HasciQ
Wiek: 36 Na forum: 4869 dni Posty: 44
Nick w MP: HasciQ
Piwa : 1
mog? cie prosi? abys mi ty to przerobil? nie rozkminiam troszke tego gdzie mam to *****
Wysłany: 2013-02-27, 20:21
Patro114
Wiek: 34 Na forum: 4878 dni Posty: 113
Piwa : 993
ja bym u?y? Timera (SetTimerEx . . . . .. . . . .. . .
Wysłany: 2013-02-27, 22:00
KatieM
Wiek: 32 Na forum: 4868 dni Posty: 82
Nick w MP: _DMCy
Piwa : 293
to nie dobry pomys?. Popieram pomys? u?ytkownika Quis
Tagi: jak :: zrobić :: czasową :: komende.
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: