Unter OnPlayerTakeDamage
new Float:Health;
GetPlayerHealth(playerid, Health);
SetPlayerHealth(playerid, Health+amount);
Mfg
PullDown
Unter OnPlayerTakeDamage
new Float:Health;
GetPlayerHealth(playerid, Health);
SetPlayerHealth(playerid, Health+amount);
Mfg
PullDown
Ich bekomme keine Errors, ich weiss nicht was ich amchen soll jetzt noch, ich kann immernoch sterben.
OnPlayerTakeDamage
Hast du schon: SetPlayerHealth(playerid,100); versucht?
Hab mir nicht den ganzen Thread angeschaut
Ich habe schon alles versucht.
Ich werde es jetzt be Aduty lassen, ich möchte trotzdem wissen wie es geht wenn es mit den Hex Code nicht geht, wenn es unter
OnPlayerTake Damage nicht geht, ich lasse es, dann kann man ebend als Admin sterben.
Das macht nun auch nichts mehr, ich werde euch nochmal Fragen wenn ihr mehr dadrüber wisst.
Ich weiss nicht was ich mit
new Float:hp;
GetPlayerHealth(playerid,hp);
SetPlayerHealth(playerid,hp+ammount);
Soll.
Das hätte ja keine Wirkung.
Muss ich ne Adminduty abfrage machen ?
Wenn ihr noch weiter Lust habt zu helfen, dann tut das bitte.
Alles anzeigenIch weiss nicht was ich mit
PAWN Quelltext
1
2
3
new Float:hp;
GetPlayerHealth(playerid,hp);
SetPlayerHealth(playerid,hp+ammount);
Soll.
Das hätte ja keine Wirkung.
Muss ich ne Adminduty abfrage machen ?
ja unter OnPlayerTakeDamage :
if(aduty[playerid]==1)
{
new Float:hp;
GetPlayerHealth(playerid,hp);
SetPlayerHealth(playerid,hp+ammount);
}
// zusatz Erklärung: GetPlayerHealth(playerid,hp); : es liest die HP von dem getroffendem aus.
SetPlayerHealth(playerid,hp+ammount); : er setzt die HP auf die vorher ausgelesen + ammount. Ammount ist der schaden den du erlitten hast.
und das geht tausend Prozentig, es sei denn deine Variable aduty wird falsch oder garnicht gesetzt....
Macht es doch einfach und Simple
//ganz oben im Script
new ag[MAX_PLAYERS];
ocmd:aduty(playerid,params[])
{
..............//Dein Kram also wenn er /aduty geht
ag[playerid]=SetTimerEx("adutyg",1,1,"d",playerid);
}
else
{
//Wenn er OFF Duty geht
SetPlayerArmour(playerid,0);
KillTimer(ag[playerid]);
}
//Iwo im Scirpt
forward adutyg(playerid);
public adutyg(playerid)
{
SetPlayerArmour(playerid,100);
SetPlayerHealth(playerid,100);
return 1;
}
Ich habe das mal Gescriptet, bin Aduty gegangen.
Bin mit ein Heli hochgeflogen und bin dann gesprungen.
Und das ist das Ergebniss.
mit SetPlayerHealth(playerid,999999); ?
ag[playerid]=SetTimerEx("adutyg",1,1,"d",playerid);
Das ist das schlimmste was geht.
OMG mehr belasten kann man das Script auch nicht.
Einen Timer zu starten, der jedem millisekunde wiederholt wird....
Am einfachsten ist es so:
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
if(ADuty[playerid]==1)
{
SetPlayerHealth(playerid,100);
}
}
Wenn es bei dir immer noch nicht Funktioniert musst es einfach mit OnPlayerUpdate machen.
Wenn leben < 100 -> Leben auf 100 setzen.
SetPlayerHealth(playerid, 0x7F800000);
Klappt doch ?
SetPlayerHealth(playerid, 0x7F800000);
Klappt doch ?
Aber nicht gegen schüsse.
Aber nicht gegen schüsse.
Ich habe es so, und ich bin unkillbar!!
if(strcmp(cmd, "/aduty", true) == 0)
{
if(IsPlayerConnected(playerid))
{
new string[128];
if(Spieler[playerid][Admin] < 1)return SendClientMessage(playerid, ROT, "Du besitzt nicht die benötigten Rechte.");
if(ADuty[playerid] == 0)
{
ADuty[playerid] = 1;
SetPlayerColor(playerid, COLOR_RED);
SetPlayerMarkerForPlayer( 42, 1, BLAU );
new atext[20];
new admlv = Spieler[playerid][Admin];
if(admlv == 1){ atext="Supporter";}
else if(admlv == 2){ atext="Admin";}
else if(admlv == 3){ atext="Admin";}
else if(admlv == 4){ atext="Admin";}
else if(admlv == 5){ atext="Head-Admin";}
format(string, sizeof(string), "** %s %s hat sich als Supporter angemeldet", admlv, SpielerName(playerid));
SendClientMessageToAll(COLOR_RED, string);
SetPlayerHealth(playerid, 0x7F800000);
}
else if(ADuty[playerid] == 1)
{
ADuty[playerid] = 0;
new atext[20];
new admlv = Spieler[playerid][Admin];
if(admlv == 1){ atext="Supporter";}
else if(admlv == 2){ atext="Admin";}
else if(admlv == 3){ atext="Admin";}
else if(admlv == 4){ atext="Admin";}
else if(admlv == 5){ atext="Head-Admin";}
format(string, sizeof(string), "** %s %s hat sich als Supporter abgemeldet", admlv, SpielerName(playerid));
SendClientMessageToAll(COLOR_RED, string);
SetPlayerHealth(playerid, 80);
}
}
return 1;
}