Hey,
Irgendwie wird mein OnPlayerDeath nicht aufgerufen
Ich finde aber kein Grund
Weil es kommt keine Nachricht nichts
Wenn man stirbt
Es wäre gut wenn ihr mir Helfen könnt
public OnPlayerDeath(playerid, killerid, reason)
{
GivePlayerMoney(playerid,100);
SpielerInfo[killerid][pKills] += 1;
SpielerInfo[playerid][pTode] += 1;
SendClientMessage(playerid,WEISS,"HEY");
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
for (new i = 0; i < MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i) && SpielerInfo[i][pFrak] == 2 && IsPlayerInRangeOfPoint(i, 50.0, x, y, z))
{
SendClientMessage(i,GELB,"Gut gemacht");
}
else
{
SendClientMessage(i,WEISS,"NAJA");
}
}
if(KrankenHausEinnahme[playerid] == 1)
{
SendClientMessageToAll(GELB,"Die Krankenhaus Einnahme ist Fehlgeschlagen");
KillTimer(KrankenHausTimer);
}
return 1;
}
Mit freundlichen Grüßen
OnPlayerDeath Läd glaube ich nicht
- Mr.Undercover
- Geschlossen
- Erledigt
-
-
dann mach printf("Geht rein")
Und stirb oder so dann guck ob in der Console steht "Geht rein"
-
Dein Code kommt nicht mal bis dahin,
da du erst killerid abfragen musst, ob es eine INVALID_PLAYER_ID ist (ist wenn du dich z.B selber killst).
Daher wird der restliche Code nicht ausgeführt!LG
-
(ist wenn du dich z.B selber killst).
Echt?Eigentlich ist dann doch killerid = playerid...
INVALID_PLAYER_ID ist es dann, wenn man z.B. von einem berg oder haus oder so springt und dann stirbt oder ertrinkt
mfg.
-
Kaliber
INVALID_PLAYER_ID wird auch übermittelt, wenn man sich selber umbringt,
habs selber so im Script stehenZitat// Outside the check, handle stuff for playerid
// if killerid was INVALID_PLAYER_ID the player killed themselves (i.e. falling)
http://wiki.sa-mp.com/wiki/OnPlayerDeath
Steht im Beispiel untenLG
-
Hey,
Also jetz so damit es geht?
public OnPlayerDeath(playerid, killerid, reason)
{
if(killerid != INVALID_PLAYER_ID)
{
GivePlayerMoney(playerid,100);
SpielerInfo[killerid][pKills] += 1;
SpielerInfo[playerid][pTode] += 1;
SendClientMessage(playerid,WEISS,"HEY");
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
for (new i = 0; i < MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i) && SpielerInfo[i][pFrak] == 2 && IsPlayerInRangeOfPoint(i, 50.0, x, y, z))
{
SendClientMessage(i,GELB,"Gut gemacht");
}
else
{
SendClientMessage(i,WEISS,"NAJA");
}
}
if(KrankenHausEinnahme[playerid] == 1)
{
SendClientMessageToAll(GELB,"Die Krankenhaus Einnahme ist Fehlgeschlagen");
KillTimer(KrankenHausTimer);
}
}
return 1;
} -
Richtig, ja das müsste so funktionieren.
P.S: Du musst die Abfrage eigentlich nur da machen, wo du "killerid" benutzt
LG
-
breadfish.de
Hat das Thema geschlossen.