Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2013-10-30, 18:39


bnscs







Wiek: 39
Na forum: 4609 dni
Posty: 15

Piwa: 1

Respekt: 56

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 :piwo:

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-10-30, 19:05


RedHed_

Uczeń Pawn ;)






Wiek: 27
Na forum: 4733 dni
Posty: 50
Nick w MP: DaVe_

Piwa: 318

Respekt: 40

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  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-10-30, 19:06


ToxiC.







Wiek: 28
Na forum: 5246 dni
Posty: 3792

Piwa: 8590

Respekt: 1143,8
Respekt: 1143,8

Kod:


if(GetPlayerMoney(playerid) > 5000)

Mo?e tak ? :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-10-31, 11:12


bnscs







Wiek: 39
Na forum: 4609 dni
Posty: 15

Piwa: 1

Respekt: 56

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:

100hp[playerid] = true;


Prosi?bym o pomoc ;)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-10-31, 13:42


RedHed_

Uczeń Pawn ;)






Wiek: 27
Na forum: 4733 dni
Posty: 50
Nick w MP: DaVe_

Piwa: 318

Respekt: 40

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 :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-10-31, 14:32


bnscs







Wiek: 39
Na forum: 4609 dni
Posty: 15

Piwa: 1

Respekt: 56

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? ? :)

Postaw piwo autorowi tego posta
 

 
Tagi: komenda :: armor
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN » [DM] komenda hp i armor Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku