Probleme beim Zigarettenautomaten

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • Hallöchen


    also ich habe ein Problem mit meinen "Zigarettenautomaten"
    ich habe 14 punkte in ls verteilt die Zigarettenautomaten dar stellen sollen hab sie mit einem Pickup markiert


    nur wen ich dort bin kommt immer der text "Du bist nicht am Zigarettenautomat dabei hab ich es ja mit einem Pickup markiert
    manche punkte gehen manche nicht was hab ich falsch gemacht
    hier der Code
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"%s.datei",pname);
    if (strcmp("/packungkaufen", cmdtext, true, 10) == 0)
    {
    if (IsPlayerInRangeOfPoint(playerid,749.6010,-1046.2925,23.6326,100))//
    {
    SendClientMessage(playerid,COLOR_BLUE,"Du hast dir eine Packung Zigaretten gekauft.");
    Spieler[playerid][schachteln] +=1;
    dini_IntSet(accFormat,"schachteln",Spieler[playerid][schachteln]);
    }
    else if (IsPlayerInRangeOfPoint(playerid,620.6727,-1342.7429,13.5455,100))//
    {
    SendClientMessage(playerid,COLOR_BLUE,"Du hast dir eine Packung Zigaretten gekauft.");
    Spieler[playerid][schachteln] +=1;
    dini_IntSet(accFormat,"schachteln",Spieler[playerid][schachteln]);
    }
    else if (IsPlayerInRangeOfPoint(playerid,908.9162,-1641.5090,13.5469,100))//
    {
    SendClientMessage(playerid,COLOR_BLUE,"Du hast dir eine Packung Zigaretten gekauft.");
    Spieler[playerid][schachteln] +=1;
    dini_IntSet(accFormat,"schachteln",Spieler[playerid][schachteln]);
    }
    else if (IsPlayerInRangeOfPoint(playerid,1104.7010,-1765.9340,13.5513,100))//
    {
    SendClientMessage(playerid,COLOR_BLUE,"Du hast dir eine Packung Zigaretten gekauft.");
    Spieler[playerid][schachteln] +=1;
    dini_IntSet(accFormat,"schachteln",Spieler[playerid][schachteln]);
    }
    else if (IsPlayerInRangeOfPoint(playerid,1360.4352,-1744.2968,13.5469,100))//
    {
    SendClientMessage(playerid,COLOR_BLUE,"Du hast dir eine Packung Zigaretten gekauft.");
    Spieler[playerid][schachteln] +=1;
    dini_IntSet(accFormat,"schachteln",Spieler[playerid][schachteln]);
    }
    else if (IsPlayerInRangeOfPoint(playerid,1536.5137,-1660.6465,13.5469,100))//
    {
    SendClientMessage(playerid,COLOR_BLUE,"Du hast dir eine Packung Zigaretten gekauft.");
    Spieler[playerid][schachteln] +=1;
    dini_IntSet(accFormat,"schachteln",Spieler[playerid][schachteln]);
    }
    else if (IsPlayerInRangeOfPoint(playerid,1886.2523,-1473.1265,13.5469,100))//
    {
    SendClientMessage(playerid,COLOR_BLUE,"Du hast dir eine Packung Zigaretten gekauft.");
    Spieler[playerid][schachteln] +=1;
    dini_IntSet(accFormat,"schachteln",Spieler[playerid][schachteln]);
    }
    else if (IsPlayerInRangeOfPoint(playerid,2340.7795,-1309.5631,24.2219,100))//
    {
    SendClientMessage(playerid,COLOR_BLUE,"Du hast dir eine Packung Zigaretten gekauft.");
    Spieler[playerid][schachteln] +=1;
    dini_IntSet(accFormat,"schachteln",Spieler[playerid][schachteln]);
    }
    else if (IsPlayerInRangeOfPoint(playerid,2455.1240,-1739.3069,13.6323,100))//
    {
    SendClientMessage(playerid,COLOR_BLUE,"Du hast dir eine Packung Zigaretten gekauft.");
    Spieler[playerid][schachteln] +=1;
    dini_IntSet(accFormat,"schachteln",Spieler[playerid][schachteln]);
    }
    else if (IsPlayerInRangeOfPoint(playerid,2707.9500,-2064.4822,13.1274,100))//
    {
    SendClientMessage(playerid,COLOR_BLUE,"Du hast dir eine Packung Zigaretten gekauft.");
    Spieler[playerid][schachteln] +=1;
    dini_IntSet(accFormat,"schachteln",Spieler[playerid][schachteln]);
    }
    else if (IsPlayerInRangeOfPoint(playerid,2139.7993,-2341.4177,13.5469,100))//
    {
    SendClientMessage(playerid,COLOR_BLUE,"Du hast dir eine Packung Zigaretten gekauft.");
    Spieler[playerid][schachteln] +=1;
    dini_IntSet(accFormat,"schachteln",Spieler[playerid][schachteln]);
    }
    else if (IsPlayerInRangeOfPoint(playerid,1858.6582,-1239.6808,15.2944,100))//
    {
    SendClientMessage(playerid,COLOR_BLUE,"Du hast dir eine Packung Zigaretten gekauft.");
    Spieler[playerid][schachteln] +=1;
    dini_IntSet(accFormat,"schachteln",Spieler[playerid][schachteln]);
    }
    else if (IsPlayerInRangeOfPoint(playerid,2892.2200,-1504.5553,11.0570,100))//
    {
    SendClientMessage(playerid,COLOR_BLUE,"Du hast dir eine Packung Zigaretten gekauft.");
    Spieler[playerid][schachteln] +=1;
    dini_IntSet(accFormat,"schachteln",Spieler[playerid][schachteln]);
    }
    else if (IsPlayerInRangeOfPoint(playerid,2528.1340,-2383.9226,13.6250,100))
    {
    SendClientMessage(playerid,COLOR_BLUE,"Du hast dir eine Packung Zigaretten gekauft.");
    Spieler[playerid][schachteln] +=1;
    dini_IntSet(accFormat,"schachteln",Spieler[playerid][schachteln]);
    }
    else
    {
    SendClientMessage(playerid,COLOR_BLUE,"Du bist nicht am Zigarettenautomat.");
    }
    return 1;
    }
    bin für jede schlaue antwort dankbar

  • http://wiki.sa-mp.com/wiki/IsPlayerInRangeOfPoint


    (playerid, Float:range, Float:x, Float:y, Float:z)


    Du hast range hinten ran gesetzt anstelle nach playerid.


    Dennoch zu deinem Code zwei Tipps/Verbesserungen:


    Keine Indendation (macht z.B. mir Probleme auf einen Blick zu erkennen welche Klammer zu was gehören).


    Schlechter Stil:


    SendClientMessage(playerid,COLOR_BLUE,"Du hast dir eine Packung Zigaretten gekauft.");
    Spieler[playerid][schachteln] +=1;
    dini_IntSet(accFormat,"schachteln",Spieler[playerid][schachteln]);


    ... benötigst du prinzipiell nur einmal im Skrip wenn du es etwas sinnvoller Codest.

    GameMode / Filterscript / Plugin Development via
    - PAWN / C/C++
    - Database (mySQL) & Filebased - Systems


    Webdevelopment / Interfaces Webapplications - SA:MP Server via
    - HTML & CSS
    - PHP, JavaScript, Ajax


  • Spieler[playerid][schachteln] =+1; [/pwn]


    Spieler[playerid][schachteln] =+1; wäre das selbe wie Spieler[playerid][schachteln] = 1; (+ Zeichen redundant).

    GameMode / Filterscript / Plugin Development via
    - PAWN / C/C++
    - Database (mySQL) & Filebased - Systems


    Webdevelopment / Interfaces Webapplications - SA:MP Server via
    - HTML & CSS
    - PHP, JavaScript, Ajax

  • es geht viel einfacher wenn du die ganzen Positionen einmal definierst