public OnPlayerDeath(playerid, killerid, reason)
{
if(playerid==killerid)return 1;
if(killerid==playerid)return 1;
new killerstr[128],playeridstr[128];
format(killerstr,sizeof(killerstr),"~g~Du hast %s gekillt!",playerid);
format(playeridstr,sizeof(playeridstr),"~r~Du wurdest von %s gekillt!",killerid);
GameTextForPlayer(playerid,playeridstr,2000,1);
GameTextForPlayer(playerid,killerstr,2000,1);
pInfo[playerid][pDeath]++;
pInfo[killerid][pKill]++;
return 1;
}Wenn ich sterbe kommt der GameText warum? obwohl ich returne wenn er sich selber killt oder muss
if(killerid==INVALID_PLAYER) sein`?
Wieso kommt der Gametext?
- Kindischer Namesfaker
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
if(killerid != INVALID_PLAYER)
Und if(playerid==killerid) etc. entfernen... -
if(playerid != INVALID_PLAYER_ID)Blockiert die Localen Variablen und bringt errors
C:\Users\Admin\Desktop\PHP-Scripte\DM.pwn(256) : error 003: declaration of a local variable must appear in a compound block
C:\Users\Admin\Desktop\PHP-Scripte\DM.pwn(256) : error 017: undefined symbol "killerstr"
C:\Users\Admin\Desktop\PHP-Scripte\DM.pwn(256) : warning 215: expression has no effect
C:\Users\Admin\Desktop\PHP-Scripte\DM.pwn(256) : error 001: expected token: ";", but found "]"
C:\Users\Admin\Desktop\PHP-Scripte\DM.pwn(256) : fatal error 107: too many error messages on one lineCompilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
-
Mach if(playerid != INVALID_PLAYER_ID || playerid != killerid)
-
Nope error bleibt sobald ich es ausklammer kommt nix mehr ....
-
Zeige mir mal die Zeile 256 Und natürlich auch welche davor/danach
-
if(playerid != INVALID_PLAYER_ID || playerid != killerid)
//new killerstr[128],playeridstr[128];
format(killerstr,sizeof(killerstr),"~g~Du hast %s gekillt!",playerid);
format(playeridstr,sizeof(playeridstr),"~r~Du wurdest von %s gekillt!",killerid); -
Mach daraus das:
if(playerid != INVALID_PLAYER_ID || playerid != killerid)
new killerstr[128],playeridstr[128];
format(killerstr,sizeof(killerstr),"~g~Du hast %s gekillt!",playerid);
format(playeridstr,sizeof(playeridstr),"~r~Du wurdest von %s gekillt!",killerid); -
GameTextForPlayer(playerid,playeridstr,2000,1);
GameTextForPlayer(playerid,killerstr,2000,1);
Fällt dir da vielleicht ein klitze-kleiner Fehler auf? -
GameTextForPlayer(playerid,playeridstr,2000,1);
GameTextForPlayer(playerid,killerstr,2000,1);
Fällt dir da vielleicht ein klitze-kleiner Fehler auf?
Hab ich schon gemacht ich habs nicht kopiert sondern abgeschrieben und Bach det gewohnheit playerid geschrieben.//By Handy
-
Dann machs so:
public OnPlayerDeath(playerid, killerid, reason)
{
if(playerid != killerid && killerid != INVALD_PLAYER_ID)
{
new killerstr[128],playeridstr[128];
format(killerstr,sizeof(killerstr),"~g~Du hast %s gekillt!",playerid);
format(playeridstr,sizeof(playeridstr),"~r~Du wurdest von %s gekillt!",killerid);
GameTextForPlayer(playerid,playeridstr,2000,1);
GameTextForPlayer(playerid,killerstr,2000,1);
pInfo[playerid][pDeath]++;
pInfo[killerid][pKill]++;
}
return 1;
}Nebenbei bemerkt:
if(playerid==killerid)return 1;
if(killerid==playerid)return 1;
ist doppelt gemoppelt. Wenn playerid gleich die Killerid ist, dann ist das umgekehrt genau so.
Außerdem sorgt das Return 1; nichts dafür, dass das Script ab dort aufhört zu arbeiten sondern dass der weitere Code ausgeführt wird. -
breadfish.de
Hat das Thema geschlossen.