Szerző Téma: Élet adás  (Megtekintve 1029 alkalommal)

Élet adás
« Dátum: 2013. április 19. - 12:42:19 »
0 Show voters
Sziasztok, nos abban kellene segítség, hogy szeretnék + életet adni valakinek. De nem átírni szeretném, hanem mondjuk ha van 50 élete és adok 10 et, legyen 60. Szerintem ez egyszerû dolog, csak nem bírok rájönni hogy hogy kell...

Dupla hozzászólás automatikusan összefûzve. ( 2013. április 19. - 12:59:34 )

illetve még abban kellene segítség, hogy ha pl adnák az illetõnek 10 életet, de már alapból van 100 élete, akkor kiírja, hogy \"Ennyit nem adhatsz\".
« Utoljára szerkesztve: 2013. április 19. - 12:59:34 írta ppatrik2012 »

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
Élet adás
« Válasz #1 Dátum: 2013. április 19. - 13:51:03 »
0 Show voters

new Float:health, ossz;
GetPlayerHealth(playerid, health);
ossz = floatround(health + osszegamennyitakarsz);
if(ossz > 100)
SendClientMessage(playerid, -1, \"Már teljes az élete!\");

Élet adás
« Válasz #2 Dátum: 2013. április 19. - 19:54:37 »
0 Show voters
ööö köszi, de ezt nem igazán értem. Addig oké, hogy létrehozod a változót azaz:
new Float:health, ossz;
De hogy érted azt, hogy ossz = floatround(health + összegamennyitakarsz);
Ezt nem értem.

Nem elérhető kos

  • 292
    • Profil megtekintése
Élet adás
« Válasz #3 Dátum: 2013. április 19. - 20:24:22 »
0 Show voters
Üdv!
 
new Float:health, ossz;
GetPlayerHealth(playerid, health);
ossz = floatround(health + osszegamennyitakarsz);
if(ossz > 100)
SendClientMessage(playerid, -1, \"Már teljes az élete!\");
[/quote]
ez csak egy példa volt tõle....
íme paranccsal zcmd-sen:
 
CMD:akhp(playerid,params[])
{
    new HP,ossz,Float:Health;
    GetPlayerHealth(playerid,Health);//lekérdezi
    ossz = floatround(Health + HP);//a parancsnál ami értéket megadsz azt hozzá adja lekérdezet hpdhoz
    if(sscanf(params, \"ud\", id, HP)) return SendClientMessage(playerid, 0xFFFFFFFF, \"Használat: /hp < Név / Id > < Százalék >\");
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFFFFFFFF, \"A játékos nem elérhetõ!\");
    SendClientMessage(playerid, 0xFFFFFFFF, \"Beállítottad az illetõ életét!\");
    SetPlayerHealth(id,Health + HP);//oda adja elõzö magyarázatnak az értékeit
    /*if(ossz => 100) szerintem ez nagyon fölös, mert ezt máshol meg tod határozni amúgy is...
SendClientMessage(playerid, -1, \"Már teljes az élete!\");*/
return 1;
}

 
ami nem kell sezd ki belõle...

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
Élet adás
« Válasz #4 Dátum: 2013. április 19. - 20:30:20 »
0 Show voters
Az összegamennyitakarsz, azt jelöli, amennyi életet szeretnél adni az adott játékosnak. De ha akarod megírom a teljes parancsot, bár reménykedtem, hogy nem kellesz megírnom azt.
 
Idézetet írta: kos date=1366395862\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"36308\" data-ipsquote-contentclass=\"forums_Topic
Üdv!
 
new Float:health, ossz;
GetPlayerHealth(playerid, health);
ossz = floatround(health + osszegamennyitakarsz);
if(ossz > 100)
SendClientMessage(playerid, -1, \"Már teljes az élete!\");
ez csak egy példa volt tõle....
íme paranccsal zcmd-sen:
 
CMD:akhp(playerid,params[])
{
    new HP,ossz,Float:Health;
    GetPlayerHealth(playerid,Health);//lekérdezi
    ossz = floatround(Health + HP);//a parancsnál ami értéket megadsz azt hozzá adja lekérdezet hpdhoz
    if(sscanf(params, \"ud\", id, HP)) return SendClientMessage(playerid, 0xFFFFFFFF, \"Használat: /hp < Név / Id > < Százalék >\");
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFFFFFFFF, \"A játékos nem elérhetõ!\");
    SendClientMessage(playerid, 0xFFFFFFFF, \"Beállítottad az illetõ életét!\");
    SetPlayerHealth(id,Health + HP);//oda adja elõzö magyarázatnak az értékeit
    /*if(ossz => 100) szerintem ez nagyon fölös, mert ezt máshol meg tod határozni amúgy is...
SendClientMessage(playerid, -1, \"Már teljes az élete!\");*/
return 1;
}

 
ami nem kell sezd ki belõle...
 
[/quote]
Igazság szerint ez a kód rossz, hiszen azt kérte, hogy ha az illetõnek több HPja lesz mint 100, akkor ne engedje azt odaadni. Illetve a kódodból látható, hogy másoltad, és alapból nem tesztelted.
 

CMD:hp(playerid,params[])
{
new
HP,
id,
ossz,
Float:Health
;
GetPlayerHealth(playerid, Health);//lekérdezi
if(sscanf(params, \"ud\", id, HP))
return SendClientMessage(playerid, 0xFFFFFFFF, \"Használat: /hp < Név / Id > < Százalék >\");
if(!IsPlayerConnected(id))
return SendClientMessage(playerid, 0xFFFFFFFF, \"A játékos nem elérhetõ!\");
ossz = floatround(Health + HP);
if(ossz > 100)
SendClientMessage(playerid, -1, \"Már teljes az élete!\");
SendClientMessage(playerid, 0xFFFFFFFF, \"Beállítottad az illetõ életét!\");
SetPlayerHealth(id,Health + HP);//oda adja elõzö magyarázatnak az értékeit
return 1;
}

Élet adás
« Válasz #5 Dátum: 2013. április 19. - 20:58:48 »
0 Show voters
Szerintem már értem, megmondom õszintén, már ma amennyi mindent bescripteltem a módomba, kicsit sajog az agyam helye, szal. holnap kipróbálom.

Nem elérhető kos

  • 292
    • Profil megtekintése
Élet adás
« Válasz #6 Dátum: 2013. április 19. - 21:13:13 »
0 Show voters
Igazság szerint ez a kód rossz, hiszen azt kérte, hogy ha az illetõnek több HPja lesz mint 100, akkor ne engedje azt odaadni. Illetve a kódodból látható, hogy másoltad, és alapból nem tesztelted.[/quote]
Én ilyet a kérdésében nem látok.... de legyen, a kód mûködik mert teszteltem... és nem másolt csak lebutítottam nagyon a kódot, azért tûnhet másoltnak... a harmadik, csak egy példa volt, hogy hogyan is csinálhatja meg pl egy zcmds paranccsal, és még valami :laugh: fölös az ossz, mert ha mondjuk valami életadó helyet akar csinálni avgy valami tök mindegy mit, az a lényeg van ahol életet tölt akár azt  a parancs nem akadájozná meg ne menjen 100 fölé még ha kérte is volna, nem úgy kell megoldani, hogy parancsban... Mindegy az a lényeg, hogy megértette...

Élet adás
« Válasz #7 Dátum: 2013. április 19. - 21:25:50 »
0 Show voters

Igazság szerint ez a kód rossz, hiszen azt kérte, hogy ha az illetõnek több HPja lesz mint 100, akkor ne engedje azt odaadni. Illetve a kódodból látható, hogy másoltad, és alapból nem tesztelted.
 
[/quote]
Nem írtam ilyet, nekem az a lényeg, hogy ne engedje az illetõnek oda adni az életet, ha akár csak 1 el több is lenne(pl 90 nél adnék 11 életet és 100 a max) akkor maradjon az élete 90 en.

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
Élet adás
« Válasz #8 Dátum: 2013. április 20. - 12:08:19 »
0 Show voters
Idézetet írta: kos date=1366398793\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"36308\" data-ipsquote-contentclass=\"forums_Topic

Igazság szerint ez a kód rossz, hiszen azt kérte, hogy ha az illetõnek több HPja lesz mint 100, akkor ne engedje azt odaadni. Illetve a kódodból látható, hogy másoltad, és alapból nem tesztelted.
Én ilyet a kérdésében nem látok.... de legyen, a kód mûködik mert teszteltem... és nem másolt csak lebutítottam nagyon a kódot, azért tûnhet másoltnak... a harmadik, csak egy példa volt, hogy hogyan is csinálhatja meg pl egy zcmds paranccsal, és még valami :laugh: fölös az ossz, mert ha mondjuk valami életadó helyet akar csinálni avgy valami tök mindegy mit, az a lényeg van ahol életet tölt akár azt  a parancs nem akadájozná meg ne menjen 100 fölé még ha kérte is volna, nem úgy kell megoldani, hogy parancsban... Mindegy az a lényeg, hogy megértette...
 
[/quote]
Nos a kód, amit te írtál alapból nem lett tesztelve, és nem is mûködne, hiszen az \"id\" változó nincsen létrehozva, amit a feldarabolásnál használsz, ergo már alapból error-t dobna ki. Sõt, a parancs létrehozásnál nem egyezik a parancs neve \"akhp\", a használatban leírttal \"hp\". A kérdésben pedig ott van benne, a \"Dupla hozzászólás egybefûzve\" szöveg alatt, hogy ha az élete nagyobb lesz mint 100, akkor írjon ki egy hiba üzenetet. Illetve ha a funkcióra gondolsz, hogy ne menjen 100 fölé, az is téves, hiszen jóval 100 fölé lehet vinni a játékos életét. Gondolj a \"god\" parancsra.
 

 

Igazság szerint ez a kód rossz, hiszen azt kérte, hogy ha az illetõnek több HPja lesz mint 100, akkor ne engedje azt odaadni. Illetve a kódodból látható, hogy másoltad, és alapból nem tesztelted.
 
[/quote]
Nem írtam ilyet, nekem az a lényeg, hogy ne engedje az illetõnek oda adni az életet, ha akár csak 1 el több is lenne(pl 90 nél adnék 11 életet és 100 a max) akkor maradjon az élete 90 en.
 
[/quote]
Ha elolvasod mégegyszer rájössz, hogy azt írtam, hogy ha az illetõnek több HP-ja lesz a parancs által (tehát 100), akkor az életét nem fogja változtatni. (Amit a példádban bemutattál az pont érvényes a mondatomra: 90 + 11 = 101 | ,,ha az illetõnek több HPja lesz mint 100\").
« Utoljára szerkesztve: 2013. április 20. - 12:11:59 írta DrAkE »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal