Großes Problem mit 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
  • Hab es genau so drin wie du es mir geschrieben hast, Beavis.





    new str[64];
    if(isPlayerInFrakt(killerid,1) || isPlayerInFrakt(killerid,2) || isPlayerInFrakt(killerid,3) && GetPVarInt(playerid,"Wanteds") >= 1)
    if(GetPVarInt(playerid,"Wanteds") != 0)
    {
    format(str,sizeof(str),"HQ: %s hat den Gesuchten %s getötet!",SpielerName(killerid),SpielerName(playerid));
    if(killerid == INVALID_PLAYER_ID)goto noSchleife;
    for(new i = 0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(killerid,1) || isPlayerInFrakt(killerid,2) || isPlayerInFrakt(killerid,3))
    {
    SendClientMessage(i,0x548598FF,"|---| Der Gesuchte %s wurde getötet |---|");
    SendClientMessage(i,0x00489184,str);
    }
    }
    }
    noSchleife:
    TextDrawHideForPlayer(playerid,WantedStern[playerid]);
    TextDrawHideForPlayer(playerid,WantedAnzahl[playerid]);
    SetPlayerPos(playerid,2799.8767,2757.6726,10.8203);
    format(str,sizeof str,"~w~Gesuchten getötet ~g~+%i",(GetPVarInt(playerid,"Wanteds")*150));
    if(killerid != INVALID_PLAYER_ID){GameTextForPlayer(killerid,str,3000,1);}
    SetPVarInt(playerid,"Wanteds",0);
    }



    aber server schmiert immer noch weg ..


  • mach die Zeile da oben weg

    Die Zeilen dort brauche ich doch um abzufragen ob der Spieler der ihn gekillt hat ein Polizist ist wenn ja wird das alles ausgeführt ..



    nun, mein Code sieht nun wie folgt aus:



    new str[64];
    if(GetPVarInt(playerid,"Wanteds") != 0)
    {
    format(str,sizeof(str),"HQ: %s hat den Gesuchten %s getötet!",SpielerName(killerid),SpielerName(playerid));
    if(killerid == INVALID_PLAYER_ID)goto noSchleife;
    for(new i = 0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(killerid,1) || isPlayerInFrakt(killerid,2) || isPlayerInFrakt(killerid,3))
    {
    SendClientMessage(i,0x548598FF,"|---| Der Gesuchte %s wurde getötet |---|");
    SendClientMessage(i,0x00489184,str);
    }
    }
    }
    noSchleife:
    TextDrawHideForPlayer(playerid,WantedStern[playerid]);
    TextDrawHideForPlayer(playerid,WantedAnzahl[playerid]);
    SetPlayerPos(playerid,2799.8767,2757.6726,10.8203);
    SetPVarInt(playerid,"Wanteds",0);
    }

  • Du hast da nen kleinen Fehler noch
    Teste das nochmal
    new str[64];
    if(GetPVarInt(playerid,"Wanteds") != 0)
    {
    if(killerid == INVALID_PLAYER_ID)goto noSchleife;
    format(str,sizeof(str),"HQ: %s hat den Gesuchten %s getötet!",SpielerName(killerid),SpielerName(playerid));
    for(new i = 0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(killerid,1) || isPlayerInFrakt(killerid,2) || isPlayerInFrakt(killerid,3))
    {
    SendClientMessage(i,0x548598FF,"|---| Der Gesuchte %s wurde getötet |---|");
    SendClientMessage(i,0x00489184,str);
    }
    }
    }
    noSchleife:
    TextDrawHideForPlayer(playerid,WantedStern[playerid]);
    TextDrawHideForPlayer(playerid,WantedAnzahl[playerid]);
    SetPlayerPos(playerid,2799.8767,2757.6726,10.8203);
    SetPVarInt(playerid,"Wanteds",0);
    }

    All in all it's just another brick in the wall

  • Ich hau mich weg, hat eigentlich irgendjemand den ersten Post gelesen? Ihm geht es doch gar nicht darum, dass der Server abstürzt wenn ihn NIEMAND tötet, sondern wenn ihn JEMAND tötet, bzw. wenn er jemanden tötet. Einen Bitte: Lest doch bitte den ersten Post.



    Der Fehler ist doch ganz klar ersichtlich:
    SendClientMessage(i,0x548598FF,"|---| Der Gesuchte %s wurde getötet |---|");
    Leerer Platzhalter in SendClientMessage, der gehört da nicht hin.


    Ich hab deinen Code auch gleich mal etwas schöner gemacht:
    public OnPlayerDeath(playerid, killerid, reason)
    {
    if(killerid != INVALID_PLAYER_ID)
    {
    if(isPlayerInFrakt(killerid,1) || isPlayerInFrakt(killerid,2) || isPlayerInFrakt(killerid,3) && GetPVarInt(playerid,"Wanteds") >= 1)
    {
    new wanted = GetPVarInt(playerid,"Wanteds");
    if(wanted > 0 && wanted <= 20)
    {
    new tmp[128];
    format(tmp, sizeof(tmp), "~w~Gesuchten getötet ~g~+%d $", wanted*150);
    GameTextForPlayer(killerid,tmp,3000,1);
    TextDrawHideForPlayer(playerid,WantedStern[playerid]);
    TextDrawHideForPlayer(playerid,WantedAnzahl[playerid]);
    SetPVarInt(playerid,"Wanteds",0);
    SetPlayerPos(playerid,2799.8767,2757.6726,10.8203);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(i,1) || isPlayerInFrakt(i,2) || isPlayerInFrakt(i,3))
    {
    new string[128];
    format(string,sizeof(string),"|---| Der Gesuchte %s wurde getötet |---|",SpielerName(killerid));
    SendClientMessage(i,0x548598FF,string);
    format(string,sizeof(string),"HQ: %s hat den Gesuchten %s getötet!",SpielerName(killerid),SpielerName(playerid));
    SendClientMessage(i,0x00489184,string);
    }
    }
    }
    }
    }
    }
    return 1;
    }


    Ich hoffe es tut so. :)

  • Ich habe sein Anliegen schon gelesen, mir ging es viel mehr darum den Code erst einmal logischer zu gestalten. Zum Teil "abstürzen", hab ich übersehen, bei dem durcheinander ist dies kein Wunder :)

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • Sollte der Server immer noch abstürzen, lade dir Crashdetect und compile mit -d3 (oder so).
    Dann zeigt dir der Server log sogar die Zeile an, bei der das Problem liegt

  • Ich bedanke mich an euch allen das ihr mir gerade helfen tut,
    aber das Problem ist jetzt gerad, ich hab gerad keinen der es mit mir testen tut ..
    erst nacher kann ich es mit einem Testen, es sei den einer würde sich bereit erklären eben in mein Hamachi Netzwerk zu joinen und es mit mir testen ^^



    Grüße

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • So, der Server schmiert nun nicht mehr weg habe diese Zeile hier:


    SendClientMessage(i,0x548598FF,"|---| Der Gesuchte %s wurde getötet |---|");

    Raus genommen und seit dem geht er wieder, nur das Problem ist die Funktionen die dort drin stehen werden zum teil nicht richtig aufgerufen,
    Also die Position wird gesetzt aber er ist halt tot und dann respawnt er direkt an seinem Spawn..


    Jetziger Code:



    if(isPlayerInFrakt(killerid,1) || isPlayerInFrakt(killerid,2) || isPlayerInFrakt(killerid,3) && GetPVarInt(playerid,"Wanteds") >= 1)
    {
    if(GetPVarInt(playerid,"Wanteds") == 1)
    {
    new string[128];
    format(string,sizeof(string),"HQ: %s hat den Gesuchten %s getötet!",SpielerName(killerid),SpielerName(playerid));
    GameTextForPlayer(killerid,"~w~Gesuchten gekillt~g~+150 $",3000,1);
    TextDrawHideForPlayer(playerid,WantedStern[playerid]);
    TextDrawHideForPlayer(playerid,WantedAnzahl[playerid]);
    SetPVarInt(playerid,"Wanteds",0);
    SetPlayerPos(playerid,2799.8767,2757.6726,10.8203);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(killerid,1) || isPlayerInFrakt(killerid,2) || isPlayerInFrakt(killerid,3))
    {
    SendClientMessage(i,0x548598FFf,string);
    }
    }
    }
    return 1;
    }
    if(GetPVarInt(playerid,"Wanteds") == 2)
    {
    new string[128];
    format(string,sizeof(string),"HQ: %s hat den Gesuchten %s getötet!",SpielerName(killerid),SpielerName(playerid));
    GameTextForPlayer(killerid,"~w~Gesuchten gekillt ~g~+300 $",3000,1);
    TextDrawHideForPlayer(playerid,WantedStern[playerid]);
    TextDrawHideForPlayer(playerid,WantedAnzahl[playerid]);
    SetPVarInt(playerid,"Wanteds",0);
    SetPlayerPos(playerid,2799.8767,2757.6726,10.8203);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(killerid,1) || isPlayerInFrakt(killerid,2) || isPlayerInFrakt(killerid,3))
    {


    SendClientMessage(i,0x00489184,string);
    }
    }
    }
    return 1;
    }
    if(GetPVarInt(playerid,"Wanteds") == 3)
    {
    new string[128];
    format(string,sizeof(string),"HQ: %s hat den Gesuchten %s getötet!",SpielerName(killerid),SpielerName(playerid));
    GameTextForPlayer(killerid,"~w~Gesuchten gekillt ~g~+450 $",3000,1);
    TextDrawHideForPlayer(playerid,WantedStern[playerid]);
    TextDrawHideForPlayer(playerid,WantedAnzahl[playerid]);
    SetPVarInt(playerid,"Wanteds",0);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(killerid,1) || isPlayerInFrakt(killerid,2) || isPlayerInFrakt(killerid,3))
    {


    SendClientMessage(i,0x00489184,string);
    }
    }
    }
    return 1;
    }
    if(GetPVarInt(playerid,"Wanteds") == 4)
    {
    new string[128];
    format(string,sizeof(string),"HQ: %s hat den Gesuchten %s getötet!",SpielerName(killerid),SpielerName(playerid));
    GameTextForPlayer(killerid,"~w~Gesuchten gekillt ~g~+600 $",3000,1);
    TextDrawHideForPlayer(playerid,WantedStern[playerid]);
    TextDrawHideForPlayer(playerid,WantedAnzahl[playerid]);
    SetPVarInt(playerid,"Wanteds",0);
    SetPlayerPos(playerid,2799.8767,2757.6726,10.8203);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(killerid,1) || isPlayerInFrakt(killerid,2) || isPlayerInFrakt(killerid,3))
    {


    SendClientMessage(i,0x00489184,string);
    }
    }
    }
    return 1;
    }
    if(GetPVarInt(playerid,"Wanteds") == 5)
    {
    new string[128];
    format(string,sizeof(string),"HQ: %s hat den Gesuchten %s getötet!",SpielerName(killerid),SpielerName(playerid));
    GameTextForPlayer(killerid,"~w~Gesuchten gekillt ~g~+750 $",3000,1);
    TextDrawHideForPlayer(playerid,WantedStern[playerid]);
    TextDrawHideForPlayer(playerid,WantedAnzahl[playerid]);
    SetPVarInt(playerid,"Wanteds",0);
    SetPlayerPos(playerid,2799.8767,2757.6726,10.8203);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(killerid,1) || isPlayerInFrakt(killerid,2) || isPlayerInFrakt(killerid,3))
    {


    SendClientMessage(i,0x00489184,string);
    }
    }
    }
    return 1;
    }
    if(GetPVarInt(playerid,"Wanteds") == 6)
    {
    new string[128];
    format(string,sizeof(string),"HQ: %s hat den Gesuchten %s getötet!",SpielerName(killerid),SpielerName(playerid));
    GameTextForPlayer(killerid,"~w~Gesuchten gekillt ~g~+900 $",3000,1);
    TextDrawHideForPlayer(playerid,WantedStern[playerid]);
    TextDrawHideForPlayer(playerid,WantedAnzahl[playerid]);
    SetPVarInt(playerid,"Wanteds",0);
    SetPlayerPos(playerid,2799.8767,2757.6726,10.8203);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(killerid,1) || isPlayerInFrakt(killerid,2) || isPlayerInFrakt(killerid,3))
    {


    SendClientMessage(i,0x00489184,string);
    }
    }
    }
    return 1;
    }
    if(GetPVarInt(playerid,"Wanteds") == 7)
    {
    new string[128];
    format(string,sizeof(string),"HQ: %s hat den Gesuchten %s getötet!",SpielerName(killerid),SpielerName(playerid));
    GameTextForPlayer(killerid,"~w~Gesuchten gekillt ~g~+1050 $",3000,1);
    TextDrawHideForPlayer(playerid,WantedStern[playerid]);
    TextDrawHideForPlayer(playerid,WantedAnzahl[playerid]);
    SetPVarInt(playerid,"Wanteds",0);
    SetPlayerPos(playerid,2799.8767,2757.6726,10.8203);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(killerid,1) || isPlayerInFrakt(killerid,2) || isPlayerInFrakt(killerid,3))
    {
    SendClientMessage(i,0x00489184,string);
    }
    }
    }
    return 1;
    }
    if(GetPVarInt(playerid,"Wanteds") == 8)
    {
    new string[128];
    format(string,sizeof(string),"HQ: %s hat den Gesuchten %s getötet!",SpielerName(killerid),SpielerName(playerid));
    GameTextForPlayer(killerid,"~w~Gesuchten gekillt ~g~+1200 $",3000,1);
    TextDrawHideForPlayer(playerid,WantedStern[playerid]);
    TextDrawHideForPlayer(playerid,WantedAnzahl[playerid]);
    SetPVarInt(playerid,"Wanteds",0);
    SetPlayerPos(playerid,2799.8767,2757.6726,10.8203);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(killerid,1) || isPlayerInFrakt(killerid,2) || isPlayerInFrakt(killerid,3))
    {
    SendClientMessage(i,0x00489184,string);
    }
    }
    }
    return 1;
    }
    if(GetPVarInt(playerid,"Wanteds") == 9)
    {
    new string[128];
    format(string,sizeof(string),"HQ: %s hat den Gesuchten %s getötet!",SpielerName(killerid),SpielerName(playerid));
    GameTextForPlayer(killerid,"~w~Gesuchten gekillt ~g~+1350 $",3000,1);
    TextDrawHideForPlayer(playerid,WantedStern[playerid]);
    TextDrawHideForPlayer(playerid,WantedAnzahl[playerid]);
    SetPVarInt(playerid,"Wanteds",0);
    SetPlayerPos(playerid,2799.8767,2757.6726,10.8203);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(killerid,1) || isPlayerInFrakt(killerid,2) || isPlayerInFrakt(killerid,3))
    {
    SendClientMessage(i,0x00489184,string);
    }
    }
    }
    return 1;
    }
    if(GetPVarInt(playerid,"Wanteds") == 10)
    {
    new string[128];
    format(string,sizeof(string),"HQ: %s hat den Gesuchten %s getötet!",SpielerName(killerid),SpielerName(playerid));
    GameTextForPlayer(killerid,"~w~Gesuchten gekillt ~g~+1500 $",3000,1);
    TextDrawHideForPlayer(playerid,WantedStern[playerid]);
    TextDrawHideForPlayer(playerid,WantedAnzahl[playerid]);
    SetPVarInt(playerid,"Wanteds",0);
    SetPlayerPos(playerid,2799.8767,2757.6726,10.8203);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(killerid,1) || isPlayerInFrakt(killerid,2) || isPlayerInFrakt(killerid,3))
    {
    SendClientMessage(i,0x00489184,string);
    }
    }
    }
    return 1;
    }
    if(GetPVarInt(playerid,"Wanteds") == 11)
    {
    new string[128];
    format(string,sizeof(string),"HQ: %s hat den Gesuchten %s getötet!",SpielerName(killerid),SpielerName(playerid));
    GameTextForPlayer(killerid,"~w~Gesuchten gekillt ~g~+1650 $",3000,1);
    TextDrawHideForPlayer(playerid,WantedStern[playerid]);
    TextDrawHideForPlayer(playerid,WantedAnzahl[playerid]);
    SetPVarInt(playerid,"Wanteds",0);
    SetPlayerPos(playerid,2799.8767,2757.6726,10.8203);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(killerid,1) || isPlayerInFrakt(killerid,2) || isPlayerInFrakt(killerid,3))
    {
    SendClientMessage(i,0x00489184,string);
    }
    }
    }
    return 1;
    }
    if(GetPVarInt(playerid,"Wanteds") == 12)
    {
    new string[128];
    format(string,sizeof(string),"HQ: %s hat den Gesuchten %s getötet!",SpielerName(killerid),SpielerName(playerid));
    GameTextForPlayer(killerid,"~w~Gesuchten gekill ~g~+1800 $",3000,1);
    TextDrawHideForPlayer(playerid,WantedStern[playerid]);
    TextDrawHideForPlayer(playerid,WantedAnzahl[playerid]);
    SetPVarInt(playerid,"Wanteds",0);
    SetPlayerPos(playerid,2799.8767,2757.6726,10.8203);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(killerid,1) || isPlayerInFrakt(killerid,2) || isPlayerInFrakt(killerid,3))
    {
    SendClientMessage(i,0x00489184,string);
    }
    }
    }
    return 1;
    }
    if(GetPVarInt(playerid,"Wanteds") == 13)
    {
    new string[128];
    format(string,sizeof(string),"HQ: %s hat den Gesuchten %s getötet!",SpielerName(killerid),SpielerName(playerid));
    GameTextForPlayer(killerid,"~w~Gesuchten gekillt ~g~+1950 $",3000,1);
    TextDrawHideForPlayer(playerid,WantedStern[playerid]);
    TextDrawHideForPlayer(playerid,WantedAnzahl[playerid]);
    SetPVarInt(playerid,"Wanteds",0);
    SetPlayerPos(playerid,2799.8767,2757.6726,10.8203);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(killerid,1) || isPlayerInFrakt(killerid,2) || isPlayerInFrakt(killerid,3))
    {
    SendClientMessage(i,0x00489184,string);
    }
    }
    }
    return 1;
    }
    if(GetPVarInt(playerid,"Wanteds") == 14)
    {
    new string[128];
    format(string,sizeof(string),"HQ: %s hat den Gesuchten %s getötet!",SpielerName(killerid),SpielerName(playerid));
    GameTextForPlayer(killerid,"~w~Gesuchten gekillt ~g~+2050 $",3000,1);
    TextDrawHideForPlayer(playerid,WantedStern[playerid]);
    TextDrawHideForPlayer(playerid,WantedAnzahl[playerid]);
    SetPVarInt(playerid,"Wanteds",0);
    SetPlayerPos(playerid,2799.8767,2757.6726,10.8203);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(killerid,1) || isPlayerInFrakt(killerid,2) || isPlayerInFrakt(killerid,3))
    {
    SendClientMessage(i,0x00489184,string);
    }
    }
    }
    return 1;
    }
    if(GetPVarInt(playerid,"Wanteds") == 15)
    {
    new string[128];
    format(string,sizeof(string),"HQ: %s hat den Gesuchten %s getötet!",SpielerName(killerid),SpielerName(playerid));
    GameTextForPlayer(killerid,"~w~Gesuchten gekillt ~g~+2200 $",3000,1);
    TextDrawHideForPlayer(playerid,WantedStern[playerid]);
    TextDrawHideForPlayer(playerid,WantedAnzahl[playerid]);
    SetPVarInt(playerid,"Wanteds",0);
    SetPlayerPos(playerid,2799.8767,2757.6726,10.8203);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(killerid,1) || isPlayerInFrakt(killerid,2) || isPlayerInFrakt(killerid,3))
    {
    SendClientMessage(i,0x00489184,string);
    }
    }
    }
    return 1;
    }
    if(GetPVarInt(playerid,"Wanteds") == 16)
    {
    new string[128];
    format(string,sizeof(string),"HQ: %s hat den Gesuchten %s getötet!",SpielerName(killerid),SpielerName(playerid));
    GameTextForPlayer(killerid,"~w~Gesuchten gekillt~g~+2350 $",3000,1);
    TextDrawHideForPlayer(playerid,WantedStern[playerid]);
    TextDrawHideForPlayer(playerid,WantedAnzahl[playerid]);
    SetPVarInt(playerid,"Wanteds",0);
    SetPlayerPos(playerid,2799.8767,2757.6726,10.8203);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(killerid,1) || isPlayerInFrakt(killerid,2) || isPlayerInFrakt(killerid,3))
    {
    SendClientMessage(i,0x00489184,string);
    }
    }
    }
    return 1;
    }
    if(GetPVarInt(playerid,"Wanteds") == 17)
    {
    new string[128];
    format(string,sizeof(string),"HQ: %s hat den Gesuchten %s getötet!",SpielerName(killerid),SpielerName(playerid));
    GameTextForPlayer(killerid,"~w~Gesuchten gekillt ~g~+2500 $",3000,1);
    TextDrawHideForPlayer(playerid,WantedStern[playerid]);
    TextDrawHideForPlayer(playerid,WantedAnzahl[playerid]);
    SetPVarInt(playerid,"Wanteds",0);
    SetPlayerPos(playerid,2799.8767,2757.6726,10.8203);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(killerid,1) || isPlayerInFrakt(killerid,2) || isPlayerInFrakt(killerid,3))
    {
    SendClientMessage(i,0x00489184,string);
    }
    }
    }
    return 1;
    }
    if(GetPVarInt(playerid,"Wanteds") == 18)
    {
    new string[128];
    format(string,sizeof(string),"HQ: %s hat den Gesuchten %s getötet!",SpielerName(killerid),SpielerName(playerid));
    GameTextForPlayer(killerid,"~w~Gesuchten gekillt ~g~+2650 $",3000,1);
    TextDrawHideForPlayer(playerid,WantedStern[playerid]);
    TextDrawHideForPlayer(playerid,WantedAnzahl[playerid]);
    SetPVarInt(playerid,"Wanteds",0);
    SetPlayerPos(playerid,2799.8767,2757.6726,10.8203);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(killerid,1) || isPlayerInFrakt(killerid,2) || isPlayerInFrakt(killerid,3))
    {
    SendClientMessage(i,0x00489184,string);
    }
    }
    }
    return 1;
    }
    if(GetPVarInt(playerid,"Wanteds") == 19)
    {
    new string[128];
    format(string,sizeof(string),"HQ: %s hat den Gesuchten %s getötet!",SpielerName(killerid),SpielerName(playerid));
    GameTextForPlayer(killerid,"~w~Gesuchten gekillt ~g~+2800 $",3000,1);
    TextDrawHideForPlayer(playerid,WantedStern[playerid]);
    TextDrawHideForPlayer(playerid,WantedAnzahl[playerid]);
    SetPVarInt(playerid,"Wanteds",0);
    SetPlayerPos(playerid,2799.8767,2757.6726,10.8203);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(killerid,1) || isPlayerInFrakt(killerid,2) || isPlayerInFrakt(killerid,3))
    {
    SendClientMessage(i,0x00489184,string);
    }
    }
    }
    return 1;
    }
    if(GetPVarInt(playerid,"Wanteds") == 20)
    {
    new string[128];
    format(string,sizeof(string),"HQ: %s hat den Gesuchten %s getötet!",SpielerName(killerid),SpielerName(playerid));
    GameTextForPlayer(killerid,"~w~Gesuchten gekillt ~g~+2950 $",3000,1);
    TextDrawHideForPlayer(playerid,WantedStern[playerid]);
    TextDrawHideForPlayer(playerid,WantedAnzahl[playerid]);
    SetPVarInt(playerid,"Wanteds",0);
    SetPlayerPos(playerid,2799.8767,2757.6726,10.8203);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(killerid,1) || isPlayerInFrakt(killerid,2) || isPlayerInFrakt(killerid,3))
    {
    SendClientMessage(i,0x00489184,string);
    }
    }
    }
    }
    }
    return 1;
    }

  • Du musst nicht 20 mal den gleichen Teil hinschreiben, ich hab dir das doch so gemacht:
    public OnPlayerDeath(playerid, killerid, reason)
    {
    if(killerid != INVALID_PLAYER_ID)
    {
    if(isPlayerInFrakt(killerid,1) || isPlayerInFrakt(killerid,2) || isPlayerInFrakt(killerid,3) && GetPVarInt(playerid,"Wanteds") >= 1)
    {
    new wanted = GetPVarInt(playerid,"Wanteds");
    if(wanted > 0 && wanted <= 20)
    {
    new tmp[128];
    format(tmp, sizeof(tmp), "~w~Gesuchten getötet ~g~+%d $", wanted*150);
    GameTextForPlayer(killerid,tmp,3000,1);
    TextDrawHideForPlayer(playerid,WantedStern[playerid]);
    TextDrawHideForPlayer(playerid,WantedAnzahl[playerid]);
    SetPVarInt(playerid,"Wanteds",0);
    SpawnPlayer(playerid); //Eingefügt
    SetPlayerPos(playerid,2799.8767,2757.6726,10.8203);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(i,1) || isPlayerInFrakt(i,2) || isPlayerInFrakt(i,3))
    {
    new string[128];
    format(string,sizeof(string),"|---| Der Gesuchte %s wurde getötet |---|",SpielerName(killerid));
    SendClientMessage(i,0x548598FF,string);
    format(string,sizeof(string),"HQ: %s hat den Gesuchten %s getötet!",SpielerName(killerid),SpielerName(playerid));
    SendClientMessage(i,0x00489184,string);
    }
    }
    }
    }
    }
    }
    return 1;
    }
    Hab jetzt noch SpawnPlayer eingefügt, das sollte dann tun.

  • Ich habe es nun so drine Jeffry,
    Man Spawn kurz im knast und ist auch direkt wieder raus und spawn an seinem Fraktion Spawn ..



    public OnPlayerDeath(playerid, killerid, reason)
    {
    if(killerid != INVALID_PLAYER_ID)
    {
    if(isPlayerInFrakt(killerid,1) || isPlayerInFrakt(killerid,2) || isPlayerInFrakt(killerid,3) && GetPVarInt(playerid,"Wanteds") >= 1)
    {
    new wanted = GetPVarInt(playerid,"Wanteds");
    if(wanted > 0 && wanted <= 20)
    {
    new tmp[128];
    format(tmp, sizeof(tmp), "~w~Gesuchten getötet ~g~+%d $", wanted*150);
    GameTextForPlayer(killerid,tmp,3000,1);
    TextDrawHideForPlayer(playerid,WantedStern[playerid]);
    TextDrawHideForPlayer(playerid,WantedAnzahl[playerid]);
    SetPVarInt(playerid,"Wanteds",0);
    SpawnPlayer(playerid); //Eingefügt
    SetPlayerPos(playerid,2799.8767,2757.6726,10.8203);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(i,1) || isPlayerInFrakt(i,2) || isPlayerInFrakt(i,3))
    {
    new string[128];
    format(string,sizeof(string),"|---| Der Gesuchte %s wurde getötet |---|",SpielerName(killerid));
    SendClientMessage(i,0x548598FF,string);
    format(string,sizeof(string),"HQ: %s hat den Gesuchten %s getötet!",SpielerName(killerid),SpielerName(playerid));
    SendClientMessage(i,0x00489184,string);
    }
    }
    }
    }
    }
    }
    return 1;
    }

  • Dann erstell zudem noch eine Spielervariable, die du zu 1 setzt, und bei deinem Fraktionsspawn überprüfst du, ob diese 1 ist. Ist das der Fall, wird der Fraktionsspawn nicht aufgerufen, und die Variable wird dann wieder zu 0 gesetzt.


    @[SoA]TheBester:
    SpawnPlayer(playerid); ist benötigt, damit die Health wieder voll ist.


    Man kann es auch weglassen, dann würde ich aber ganz darauf verzichten, die Position bei OnPlayerDeath zu ändern, sonder es erst mit der Variable bei OnPlayerSpawn machen.


    Equ: Verstanden wie ich meine? SpielerVariable: Wenn 1, dann spawn im Knast, wenn 0 dann spawn an der Fraktion.

  • Habe das so gemacht:


    OnPlayerDeath:


    SetPVarInt(playerid,"KnastTot",1);




    Bei OnPlayerSpawn:


    if(GetPVarInt(playerid,"KnastTot") != 1)
    {
    SetPlayerPos(playerid,2799.8767,2757.6726,10.8203);
    }




    nur es funktz immer noch nicht ..