Szerző Téma: GivePlayerScore/Health  (Megtekintve 2200 alkalommal)

GivePlayerScore/Health
« Dátum: 2010. január 02. - 15:16:06 »
0 Show voters
Sziasztok!

Sajnálom, hogy ilyen egyszeru függvényeket írok, de épp most foglalkozom a függvények létrehozásával és hogy úgy mondjam, még olyan vagyok benne mint fél éve a Pawn-ban( kezdo ).


Írtam 2 függvényt ami tud életet és pontot ( Score ) adni, de elvenni is.


Íme a két függvény:

 
stock GivePlayerHealth(playerid, Float: health)
{
         new Float: Health;
         GetPlayerHealth(playerid, Health);
         SetPlayerHealth(playerid, Health + health);
}
stock GivePlayerScore(playerid, Float: score)
{
         new Float: Score;
         GetPlayerScore(playerid, Score);
         SetPlayerScore(playerid, Score + score);
}
« Utoljára szerkesztve: 2011. november 22. - 20:28:22 írta APC »

Nem elérhető Epsilon

  • 1854
    • Profil megtekintése
GivePlayerScore/Health
« Válasz #1 Dátum: 2010. január 02. - 15:30:33 »
0 Show voters
Hibásan használtad a GetPlayerScore függvényt.
// GivePlayerScore(playerid, plus score)
#define GivePlayerScore(%1,%2) \\
        SetPlayerScore(%1,GetPlayerScore(%1)+%2)

jana4

  • Vendég
GivePlayerScore/Health
« Válasz #2 Dátum: 2010. január 02. - 15:35:53 »
0 Show voters
Jó lett, de sajna nagyon egyszeru....
// GivePlayerHealth(playerid, élet érték)
#define GivePlayerHealth(%1, %2) \\
new Float: %3 GetPlayerHealth(%1, %2) SetPlayerHealth(%1, %2 + %3)
Ez a makró nincs tesztelve, így nem tudom, hogy jó-e.
« Utoljára szerkesztve: 2010. január 02. - 15:39:34 írta ScreaM »

Nem elérhető Epsilon

  • 1854
    • Profil megtekintése
GivePlayerScore/Health
« Válasz #3 Dátum: 2010. január 02. - 18:36:56 »
0 Show voters
Nem, nem jó :D
A GetPlayerHealth nem az életpontokkal tér vissza, viszont az alábbi funkció már igen:
 

Float: GetHealth(id) { new Float: pp; GetPlayerHealth(id,pp); return pp; }

 
Ezután már könnyedén megoldhatod makróban az életpontkezelést:
// GivePlayerHealth(playerid,health)  /* GetHealth szükségeltetik! */
#define GivePlayerHealth(%1,%2) SetPlayerHealth((%1,floatadd(GetHealth(%1),%2))

GivePlayerScore/Health
« Válasz #4 Dátum: 2010. január 10. - 08:45:32 »
0 Show voters
Valahogy így, nem?
new bool:FALSE=false;
#define GiveHP(%1,%2) do{new Float:j;GetPlayerHealth(%1,j);SetPlayerHealth(%1,(((floatadd(j,%2))>float(100))?float(100):floatadd(j,%2)));}while(FALSE)
« Utoljára szerkesztve: 2010. január 10. - 16:57:12 írta Gamestar »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal