Hi!
Habe mal ne kleine Frage. Gibt es eine Funktion (Public oder sowas) womit man jemanden zusatz HP geben kann, nicht auf ne Zahl setzen sondern +25 oder +50 Leben dazu. Geht das Irgendwie?
Gruß,
Sean
Hi!
Habe mal ne kleine Frage. Gibt es eine Funktion (Public oder sowas) womit man jemanden zusatz HP geben kann, nicht auf ne Zahl setzen sondern +25 oder +50 Leben dazu. Geht das Irgendwie?
Gruß,
Sean
Fail nicht richtig gelesen!
Edit: Hatte nicht gelesen.
soweit ich weiß gibt es die funktion heal da kann man dann die id wählen und den betrag also wieviel hp er haben soll.
Musst selber ein Callback erstellen ...
forward GivePlayerHealth(playerid,Float:nHealth);
public GivePlayerHealth(playerid,Float:nHealth)
{
new Float:oHealth;
GetPlayerHealth(playerid,oHealth);
if(nHealth > 0){SetPlayerHealth(playerid,oHealth+nHealth);}
if(nHealth < 0){SetPlayerHealth(playerid,oHealth-nHealth);}
return 1;
}
Rein mathematisch macht das keinen Sinn, wenn man nen negativen Betrag eingibt kommt eine doppelte Negation --> Leben steigt.
stock GivePlayerHealth(playerid,amount)
{
new Float:Health;
GetPlayerHealth(playerid,Health);
if(IsPlayerConnected(playerid))
{
SetPlayerHealth(playerid,Health + amount);
}
return 1;
}
Und lass den forward-Kram, das brauchste hier nicht. Bin mir nicht sicher, ob das IsPlayerConnected nötig ist, aber sicher ist sicher.
stock ist dafür da um einen Wert wiederzugeben ...
und rein Mathematisch ist das Möglich ...
ich kann ja nicht ...
100+-10 machen, macht das sinn=?
if(nHealth > 0){SetPlayerHealth(playerid,oHealth+nHealth);}
if(nHealth < 0){SetPlayerHealth(playerid,oHealth-nHealth);}
das ist nicht so toll, die erste zeile ist sinnlos, da + einen poritiven wert wird ülus gerechnet
doch beim 2. + einen negativen wert ergibt + also [++ = +] [-- =+] [+- = -] [-+ = -]
also anstadt der if abfrage einfach nur SetPlayerHealth(playerid,oHealth+nHealth);
edit: damit will ich sagen Kevin Dass Bloddy recht hat deine sache hat für unsere aktion keinen sinn. weil dass was ich oben gesagt habe eine mathematische Grundregel ist.
Musst selber ein Callback erstellen ...
stock ist dafür da um einen Wert wiederzugeben ...
Du wirfst ja nur so mit falschen Aussagen um dich :\
Klar macht das Sinn.
Quatsch, stock heißt einfach, dass keine Warnung kommt, sofern die Funktion nicht benutzt wird.
Was ist den bitte dran falsch selber ein Callback zu erstellen=?
ohh man das forum kotzt nur noch an.
Es ist kein Callback sondern eine Funktion...
public ??
Ob man nun ein stock nimmt oder ein public ist so ziehmlich egal, beides Funktioniert ...
public -> Callback
stock -> Funktion
und da eine Funktion resourcen schonender ist nehmen wir ne funktion.