OnPlayerWeaponShot funz 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
  • Hallo,


    und zwar lasse ich gerade random ein Checkpoint sezten und wenn er durch checkpoint geht bekommt er eine variable. Dann frage ich bei OnPlayerWeaponShot ab ob er sie hat dann soll er gefreezt werden. Aber das funktioniert nicht...
    new BaumKannRunterGehen[MAX_PLAYERS];
    public OnPlayerEnterCheckpoint(playerid)
    {
    if(baummch[playerid])
    {
    BaumKannRunterGehen[playerid] = 1;
    DisablePlayerCheckpoint(playerid);
    }
    return 1;
    }


    public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
    {
    //JOB ABFRAGE
    // if(weaponid == 9)
    // {
    if(BaumKannRunterGehen[playerid] == 1)
    {
    if(IsPlayerInRangeOfPoint(playerid,3.0,2286.3760,-606.9227))
    {
    //Baum muss runter gehen baum[6]
    FreezePlayer(playerid);
    MoveObject(baum[6], 2287.30566, -606.79260, 129.95563,5.0,90.200);
    }
    else if(IsPlayerInRangeOfPoint(playerid,1.0,2290.4712,-616.1971))
    {


    }
    }
    // }
    return 1;
    }



    stock GoHolz(playerid)
    {
    new rand = random(sizeof(baumch));
    globalVar[playerid][0] = baumch[rand][0];
    globalVar[playerid][1] = baumch[rand][1];
    globalVar[playerid][2] = baumch[rand][2];
    baummch[playerid] = SetPlayerCheckpoint(playerid,globalVar[playerid][0],globalVar[playerid][1],globalVar[playerid][2],1.0);
    }

  • Das wird mit einer Kettensäge nicht funktionieren.


    Dann muss er abgfragen ob der Spieler die Feuertaste gedrückt hat und ob er die Chainsaw in der Hand hat.


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(newkeys == KEY_FIRE)
    {
    //Bla Bla GetPlayerWeaponId & IfInRangeOfPoint
    }


    }

  • Beitrag von Maurice. ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Funktioniert immer noch nicht..


    //Holzfäller
    if(newkeys == KEY_FIRE)
    {
    //Bla Bla GetPlayerWeaponId & IfInRangeOfPoint
    if(GetPlayerWeapon(playerid) == 9)
    {
    if(BaumKannRunterGehen[playerid] == 1)
    {
    if(IsPlayerInRangeOfPoint(playerid,3.0,2286.3760,-606.9227))
    {
    //Baum muss runter gehen baum[6]
    FreezePlayer(playerid);
    MoveObject(baum[6], 2287.30566, -606.79260, 129.95563,5.0,90.200);
    }
    else if(IsPlayerInRangeOfPoint(playerid,1.0,2290.4712,-616.1971))
    {


    }
    }


    }
    }

  • Versuch mal die X, Y, Z werte im IsPlayerInRangeOfPoint du hast nur X und Y angeben.
    Weiß gerade nicht ob Z relevant ist.
    Falls du auf einem Berg sein solltest sind das z.b z = 10 und wenn du z nicht zuweist sind es z = 0 + 3 range = zmaxdist = 3.0.




    if(newkeys == KEY_FIRE)
    {
    if(GetPlayerWeapon(playerid) == 9)
    {
    if(BaumKannRunterGehen[playerid] == 1)
    {
    if(IsPlayerInRangeOfPoint(playerid, 3.0, x, y, z))
    {
    SendClientMessage(playerid, -1, "Baum gefällt!");
    }
    }
    }

    2 Mal editiert, zuletzt von Warren ()

  • Ok, es lag an der Z koordinate. Nur jezte geht der Baum nicht runter. Ich möchte das der Baum schräg runter geht sprich R-X. Objekt:
    baum[6] = CreateObject(685, 2287.30566, -606.79260, 129.95563, 0.00000, 0.00000, 0.00000);


    Und hier ist bei Onplayerkeystate das moveObject:
    MoveObject(baum[6], 2287.30566, -606.79260, 129.95563,5.0,90.200);