Geld abziehen sobald spieler bei einer bestimmten Pos ist.

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
  • kommt drauf an ob du es command machen willst.
    wenn ja dann halt

    if(!strcmp(cmdtext, "/abziehen", true))
    {
    if(IsPlayerInRangeOfPoint(playerid,radius,PosX,PosY,PosZ)){
    new Geld = GetPlayerMoney(playerid);
    SetPlayerMoney(Geld - deine Menge an Geld);
    }
    return 1;
    }

  • forward Timer(playerid);


    public OnPlayerSpawn(playerid)
    {
    SetTimerEx("Timer", 1000, true, "i", playerid);
    return 1;
    }


    public Timer(playerid)
    {
    if(!IsPlayerInRangeOfPoint(playerid,radius,x,y,z))return 1;
    SetPlayerMoney(playerid,GetPlayerMoney(playerid)-anzahl);
    return 1;
    }


    @Madd_Johnson
    Er möchte es 1. Ohne command und 2. eine Variable dafür zu erstellen ist unötig

  • public OnPlayerSpawn(playerid)


    So wie du das machst, ist das suboptimal, da immer ein neuer Timer für den Spieler erstellt wird sobald er spawnt.
    Wenn er 1x spawnt pro sek 1x-anzahl..beim 2.x spawnen 2x-anzahl...beim 3.x spawnen 3x-anzahl usw...


    Somit ist man irgendwann instant im negativen Bereich, wenn man diese Fläche betritt :D


    Somit solltest du den Timer unter OnPlayerConnect starten lassen, da dieser Callback (im Normalfall) nur 1x für den Spieler aufgerufen wird ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


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