onplayerdeath fehler

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
  • Hi, ich wollte machen wenn ein Spieler 3 Spieler killt ohne zu sterben, bekommt er eine sonderfertigkeit (luftschlag). Problem ist, wenn ein Spieler 3 mal gekillt wird ohne jemand andreres zu töten bekommt er den luftschlag.


    pwn code:



    public OnPlayerDeath(playerid, killerid, reason)
    {
    PlayerInfo[playerid][luftschlag] = 0;
    PlayerInfo[killerid][luftschlag] = PlayerInfo[killerid][luftschlag]+1;
    if(PlayerInfo[killerid][luftschlag] == 3)
    {
    SCM(killerid,GRÜN,"Luftschlag aktiviert! Markiere eine Stelle auf deiner Karte!");
    return 1;
    }
    return 1;
    }

  • public OnPlayerDeath(playerid, killerid, reason)
    {
    PlayerInfo[playerid][luftschlag] = 0;
    PlayerInfo[killerid][luftschlag] += 1; //Hier += heißt das es plus gerechnet wird
    if(PlayerInfo[killerid][luftschlag] == 3)
    {
    SCM(killerid,GRÜN,"Luftschlag aktiviert! Markiere eine Stelle auf deiner Karte!");
    return 1;
    }
    return 1;
    }
    Kannst du uns deinen luftschlag zeigen?

  • habe es jetzt so:



    public OnPlayerDeath(playerid, killerid, reason)
    {
    PlayerInfo[playerid][luftschlag] = 0;
    PlayerInfo[killerid][luftschlag] += 1;
    if(PlayerInfo[killerid][luftschlag] == 3)
    {
    SCM(killerid,GRÜN,"Luftschlag aktiviert! Markiere eine Stelle auf deiner Karte!");
    return 1;
    }
    return 1;
    }



    public OnPlayerClickMap(playerid, Float:fX, Float:fY, Float:fZ)
    {
    if(PlayerInfo[playerid][luftschlag] >= 3)
    {
    luftschlagbombe[playerid] = CreateObject(3786,fX,fY,250,0.0000,-90.0000,0.0000);
    MapAndreas_FindAverageZ(fX,fY,fZ);
    MoveObject(luftschlagbombe[playerid],fX,fY,fZ,50.0,0.0000,-90.0000,0.0000);
    PlayerInfo[playerid][luftschlag] = 0;
    }
    return 1;
    }



    public OnObjectMoved(objectid)
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(!IsObjectMoving(luftschlagbombe))
    {
    GetObjectPos(luftschlagbombe,x,y,z);
    DestroyObject(luftschlagbombe);
    CreateExplosion(x,y,z,7,100);
    CreateExplosion(x+5,y,z,7,100);
    CreateExplosion(x-5,y,z,7,100);
    CreateExplosion(x,y+5,z,7,100);
    CreateExplosion(x,y-5,z,7,100);
    CreateExplosion(x+5,y+5,z,7,100);
    CreateExplosion(x-5,y-5,z,7,100);
    CreateExplosion(x+5,y-5,z,7,100);
    CreateExplosion(x-5,y+5,z,7,100);
    return 1;
    }
    }
    return 1;
    }