Hilfe bei OnPlayerDeath

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
  • public OnPlayerDeath(playerid, killerid, reason)
    {
    {
    new string[256], name[MAX_PLAYER_NAME];//wir erstellen 2 neue variablen
    GetPlayerName(killerid, name, sizeof(name));//name wird als der spielername angesehen
    format(string, sizeof(string), "%s hat einen Spieler umgebracht er ist ein BadBoy", name);//der "string", wobei das %s für den namen steht
    SendClientMessageToAll(rot, string);//wir senden die nachricht an alle
    }
    {
    new lstring[128], name[MAX_PLAYER_NAME];//wir erstellen 2 neue variablen
    GetPlayerName(playerid, name, sizeof(name));//name wird als der spielername angesehen
    format(lstring, sizeof(lstring), "%s hat dich getötet du LOOSER!");
    SendClientMessage(playerid, rot, lstring);//wir senden die nachricht an alle
    }
    {
    SendDeathMessage(killerid,playerid,reason);
    SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
    GivePlayerMoney(killerid, 10000);
    }
    return 1;
    }


    Der Compiler gibt mir keine Warnings oder Errors alle perfekt aber sobald ich jemanden im spiel kille stürzt der samp server ab und mein spiel auch.

  • @zombie: ne bestimmt net zuviele objekte weil server.exe stürzt nur ab wenn jemand gekillt wird und wenn ich das raushole ist nix los.
    @murat: {} kann es nicht sein denke ich mal weil sonst müsste error beim compilen geben und wie bei zombie auch es passiert nur wenn jemand gekillt wird. :(

  • public OnPlayerDeath(playerid, killerid, reason)
    {


    new string[256], name[MAX_PLAYER_NAME];//wir erstellen 2 neue variablen
    GetPlayerName(killerid, name, sizeof(name));//name wird als der spielername angesehen
    format(string, sizeof(string), "%s hat einen Spieler umgebracht er ist ein BadBoy", name);//der "string", wobei das %s für den namen steht
    SendClientMessageToAll(rot, string);//wir senden die nachricht an alle



    new lstring[128], name[MAX_PLAYER_NAME];//wir erstellen 2 neue variablen
    GetPlayerName(playerid, name, sizeof(name));//name wird als der spielername angesehen
    format(lstring, sizeof(lstring), "%s hat dich getötet du LOOSER!");
    SendClientMessage(playerid, rot, lstring);//wir senden die nachricht an alle



    SendDeathMessage(killerid,playerid,reason);
    SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
    GivePlayerMoney(killerid, 10000);


    return 1;
    }


    wie währs so?^^
    versuchs mal

  • oder so?


    public OnPlayerDeath(playerid, killerid, reason)
    {


    new string[256], name[MAX_PLAYER_NAME];//wir erstellen 2 neue variablen
    GetPlayerName(killerid, name, sizeof(name));//name wird als der spielername angesehen
    format(string, sizeof(string), "%s hat einen Spieler umgebracht er ist ein BadBoy", name);//der "string", wobei das %s für den namen steht
    SendClientMessageToAll(rot, string);//wir senden die nachricht an alle



    new lstring[128], name[MAX_PLAYER_NAME];//wir erstellen 2 neue variablen
    GetPlayerName(playerid, name, sizeof(name));//name wird als der spielername angesehen
    format(lstring, sizeof(lstring), "%s hat dich getötet du LOOSER!");
    SendClientMessage(playerid, rot, lstring);//wir senden die nachricht an alle



    SendDeathMessage(killerid,playerid,reason);
    SetPlayerScore(killerid,+=1);
    GivePlayerMoney(killerid, 10000);


    return 1;
    }

  • ich würde es so machen



    public OnPlayerDeath(playerid, killerid, reason)
    {
    if(killerid == INVALID_PLAYER_ID)
    {
    new string[256], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof(string),"%s hat sich selbst umgebracht",name);
    SendClientMessageToAll(rot,string);
    }
    else
    {
    new str[256], string[256], name[MAX_PLAYER_NAME], killername[MAX_PLAYER_NAME];
    GetPlayerName(killerid, killername, sizeof(killername));
    GetPlayerName(playerid, name, sizeof(name));
    format(str, sizeof(str), "%s hat %s umgebracht, er ist nun ein BadBoy", killername, name);
    SendClientMessageToAll(rot, str);


    format(string, sizeof(string),"%s hat dich umgebracht.", killername);
    SendClientMessage(playerid, rot, string);


    SendDeathMessage(killerid,playerid,reason);
    SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
    GivePlayerMoney(killerid, 10000);
    }
    return true;
    }

    Einmal editiert, zuletzt von gompfy ()