OnPlayerDeath Läd glaube ich nicht

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
  • 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

  • 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

    Main: CPU: Intel Core i5-4440 @ 3,10 GHz | CPU-Cooling: Matterhorn -PURE- | RAM: 16GB Crucial Ballistix Sport DDR3-1600 DIMM CL9-9-9-24 |
    Motherboard: ASRock B85M Pro4 | GPU: Sapphire Radeon R9 390X Nitro 8GB GDDR5 |

    SSD: Samsung SSD 840 Evo 500GB | Power Supply: 550 Watt Corsair CS Series Modular 80+ Gold | Case: beQuiet! Silent Base 800


    As I walk through the valley of the shadow of death
    I take a look at my life and realize there's nothin' left.

  • (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. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Kaliber
    INVALID_PLAYER_ID wird auch übermittelt, wenn man sich selber umbringt,
    habs selber so im Script stehen ;)


    Zitat

    // 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 unten ;)


    LG

    Main: CPU: Intel Core i5-4440 @ 3,10 GHz | CPU-Cooling: Matterhorn -PURE- | RAM: 16GB Crucial Ballistix Sport DDR3-1600 DIMM CL9-9-9-24 |
    Motherboard: ASRock B85M Pro4 | GPU: Sapphire Radeon R9 390X Nitro 8GB GDDR5 |

    SSD: Samsung SSD 840 Evo 500GB | Power Supply: 550 Watt Corsair CS Series Modular 80+ Gold | Case: beQuiet! Silent Base 800


    As I walk through the valley of the shadow of death
    I take a look at my life and realize there's nothin' left.

  • 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

    Main: CPU: Intel Core i5-4440 @ 3,10 GHz | CPU-Cooling: Matterhorn -PURE- | RAM: 16GB Crucial Ballistix Sport DDR3-1600 DIMM CL9-9-9-24 |
    Motherboard: ASRock B85M Pro4 | GPU: Sapphire Radeon R9 390X Nitro 8GB GDDR5 |

    SSD: Samsung SSD 840 Evo 500GB | Power Supply: 550 Watt Corsair CS Series Modular 80+ Gold | Case: beQuiet! Silent Base 800


    As I walk through the valley of the shadow of death
    I take a look at my life and realize there's nothin' left.