Wysłany: 2013-10-30, 18:39
bnscs
Wiek: 39 Na forum: 4609 dni Posty: 15
Piwa : 1
Witam mam problem z komendami /100hp i /armor.
Chcia?em by tymi komendami nie by?o mo?na spamowa? lecz u?y? ponownie np. za 60sekund tzw. mo?na wzi?? hp i np za 3 sek armor lecz ?eby ponownie to ju? trzeba odczeka? 60 sekund. Problem r?wnie? w tym gdy podczas gry posiadam 15000$ wystarczaj?co by kupi? hp i armor lecz wyskakuje mi info ?e nie mam wystarczaj?co kasy...
Kod:
CMD:100hp(playerid)
{
if (gettime() - GetPVarInt(playerid, "UzylesCMDnaHP") < 60)
{
new string[75];
format(string, sizeof(string),"{33CCCC}Tej komendy mo?esz u?y? dopiero za: {FFFF00}%d {33CCCC}sekund" ,60 - (gettime() - GetPVarInt(playerid, "UzylesCMDnaHP")));
SendClientMessage(playerid, 0x33CCCCFF, string);
return 1;
}
if(GetPlayerMoney(playerid) <= 5000)
{
SendClientMessage(playerid, 0xFF0000AA, "{FF0000}Ni{FF0011}e ma{FF0022}sz t{FF0033}yl{FF0044}e pi{FF0055}eni?{FF0066}dzy!");
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
return 1;
}
new string[75];
format(string, sizeof(string), "{FFFFFF}+ {FF7700}Gracz {0099FF}%s {FF7700}uzdrowi? si? {FF0000}+", playerid);
SendClientMessageToAll(0x00CC00AA, string);
SetPlayerHealth(playerid, 100.0);
GivePlayerMoney(playerid, -5000);
SetPVarInt(playerid, "UzylesCMDnaHP", gettime());
return 1;
}
CMD:armor(playerid)
{
if (gettime() - GetPVarInt(playerid, "UzylesCMDnaHP") < 60)
{
new string[75];
format(string, sizeof(string),"{33CCCC}Tej komendy mo?esz u?y? dopiero za: {FFFF00}%d {33CCCC}sekund" ,60 - (gettime() - GetPVarInt(playerid, "UzylesCMDnaHP")));
SendClientMessage(playerid, 0x33CCCCFF, string);
return 1;
}
if(GetPlayerMoney(playerid) <= 10000)
{
SendClientMessage(playerid, 0xFF0000AA, "{FF0000}Ni{FF0011}e ma{FF0022}sz t{FF0033}yl{FF0044}e pi{FF0055}eni?{FF0066}dzy!");
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
return 1;
}
new string[75];
format(string, sizeof(string), "{FFFFFF}+ {FF7700}Gracz {0099FF}%s {FF7700}uzdrowi? si? {FF0000}+", playerid);
SendClientMessageToAll(0x00CC00AA, string);
SetPlayerArmour(playerid, 100.0);
GivePlayerMoney(playerid, -10000);
SetPVarInt(playerid, "UzylesCMDnaHP", gettime());
return 1;
}
Prosi?bym o wyt?umaczenie co i jak...
Za pomoc leci
Wysłany: 2013-10-30, 19:05
RedHed_
Uczeń Pawn ;)
Wiek: 27 Na forum: 4733 dni Posty: 50
Nick w MP: DaVe_
Piwa : 318
G?ra mapy:
Kod: new Zablokuj[MAX_PLAYERS];
Potem na dole gm tworzysz co? takiego jak forward
Poprostu:
Kod: forward Odblokuj(playerid);
public Odblokuj(playerid)
{
Zablokuj[playerid] = false;
return 1;
}
Kod: CMD:TWOJAKOMENDA(playerid) //Twoja Komenda
{
if(Zablokuj[playerid]) return SendClientMessage(playerid,TW?J KOLOR,"TUTAJ CO MA SI? WY?WIETLA? JE?LI JESZCZE SI? ONA NIE ODBLOKOWA?A ");
// Tu dajesz zawarto?? komendy
Zablokuj[playerid] = true;
SetTimerEx("Odblokuj",TUTAJ CZAS PO JAKIM MA SI? ODBLOKOWA?,"d",playerid); //Prosty Timer
return 1;
}
Ostatnio zmieniony przez RedHed_ 2013-10-31, 13:44, w całości zmieniany 1 raz
Wysłany: 2013-10-30, 19:06
ToxiC.
Wiek: 28 Na forum: 5246 dni Posty: 3792
Piwa : 8590
Kod:
if(GetPlayerMoney(playerid) > 5000)
Mo?e tak ?
Wysłany: 2013-10-31, 11:12
bnscs
Wiek: 39 Na forum: 4609 dni Posty: 15
Piwa : 1
Nie do ko?ca chyba zrozumia?em z g?ry podkre?lam jestem pocz?tkuj?cym wi?c prosz? o wyrozumia?o??. A wi?c gdy zmieni?em tak jak poradzi? Oldschool to komenda wgl nie zareagowa?a. Po czym stara?em si? ogarn?? sposobem RedHed_ lecz co? mi nie wychodzi i nie wiem czy to do ko?ca tak mia?o wygl?da? Mimo i? wszystko opisa?e? to i tak s? trudno?ci...
Czy ma to wygl?da? mniej wi?cej tak ?:
Kod: new Zablokuj[MAX_PLAYERS];
CMD:100hp(playerid)
{
if(Zablokuj[playerid]) return SendClientMessage(playerid,Czerwony,"T? komende mo?esz u?y? dopiero za");
if(GetPlayerMoney(playerid) > 5000)
{
SendClientMessage(playerid, 0xEB0000FF, "Nie masz tyle pieniedzy");
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
return 1;
}
new string[75];
format(string, sizeof(string), "Gracz %s uzdrowi? si?", playerid);
SendClientMessageToAll(0x00CC00AA, string);
SetPlayerHealth(playerid, 100.0);
GivePlayerMoney(playerid, -5000);
100hp[playerid] = true;
SetTimerEx("Odblokuj",60,"d",playerid);
return 1;
}
forward Odblokuj(playerid);
public Odblokuj(playerid)
{
Zablokuj[playerid] = false;
return 1;
}
Przy takim u?o?eniu kodu wyskakuj? errory :
Kod: pwn(36) : error 029: invalid expression, assumed zero
pwn(36) : error 029: invalid expression, assumed zero
pwn(36) : error 029: invalid expression, assumed zero
pwn(36) : fatal error 107: too many error messages on one line
I pytanie jeszcze jedno odno?cie :
Kod: ZablokowanaKomenda[playerid] = true;
To ma pozosta? tak jak napisa?e? czy mam to zmieni? np. na :
Kod:
Prosi?bym o pomoc
Wysłany: 2013-10-31, 13:42
RedHed_
Uczeń Pawn ;)
Wiek: 27 Na forum: 4733 dni Posty: 50
Nick w MP: DaVe_
Piwa : 318
Spr?buj tak:
W OnGameModeInit ( Wcze?niej to by? m?j b??d bo Timer powinien by? w OnGameModeInit )
Kod: SetTimer("Odblokuj",60,true);
No i komend? tak:
Kod: new Zablokuj[MAX_PLAYERS];
CMD:100hp(playerid)
{
if(Zablokuj[playerid]) return SendClientMessage(playerid,Czerwony,"T? komende mo?esz u?y? dopiero za");
if(GetPlayerMoney(playerid) > 5000)
{
SendClientMessage(playerid, 0xEB0000FF, "Nie masz tyle pieniedzy");
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
return 1;
}
new string[75];
format(string, sizeof(string), "Gracz %s uzdrowi? si?", playerid);
SendClientMessageToAll(0x00CC00AA, string);
SetPlayerHealth(playerid, 100.0);
GivePlayerMoney(playerid, -5000);
Zablokuj[playerid] = true;
return 1;
}
forward Odblokuj(playerid);
public Odblokuj(playerid)
{
Zablokuj[playerid] = false;
return 1;
}
PS. Oldschool dobrze Ci poda? bo on poda? Tobie, tylko kod kt?ry sprawdza czy gracza ma tyle kasy
Wysłany: 2013-10-31, 14:32
bnscs
Wiek: 39 Na forum: 4609 dni Posty: 15
Piwa : 1
RedHed_ , Wszystko doda?em tak jak napisa?e? mapa si? zapisa?a bez errorow lecz mam kolejny problem musia?em zmieni? znak z ">" ma "<" poniewaz nadal pokazywalo ze nie mam pieniedzy teraz dzia?a dobrze lecz nie odlicza pozosta?ego czasu do u?ycia komendy ponownie mimo i? zmieni?em z
Kod: SetTimer("Odblokuj",60,true);
na Kod: SetTimer("Odblokuj",60000,true);
I podczas gry wyskakuje Kod: T? komende mo?esz u?y? dopiero za: 1797306708 sekund
nie odlicza np. 58sek 56sek itd.
jaki? pomys? ?
Tagi: komenda :: armor
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: