Fehler im Coins Shop

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

  • C:\Users\****\Desktop\selfmade.pwn(65701) : error 029: invalid expression, assumed zero
    C:\Users\****\Desktop\selfmade.pwn(65701) : warning 215: expression has no effect
    C:\Users\****\Desktop\selfmade.pwn(65709) : warning 211: possibly unintended assignment
    C:\Users\****\Desktop\selfmade.pwn(65709) : error 036: empty statement
    C:\Users\****\Desktop\selfmade.pwn(65717) : warning 211: possibly unintended assignment
    C:\Users\****\Desktop\selfmade.pwn(65717) : error 001: expected token: ")", but found ";"
    C:\Users\****\Desktop\selfmade.pwn(65717) : error 036: empty statement
    C:\Users\****\Desktop\selfmade.pwn(65752) : warning 216: nested comment
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.







    case COIN_SHOP:
    {
    if(response == 0)return 1;
    else
    {
    switch(listitem)
    {
    case 0:
    {
    //if(gettime() < Spieler[playerid][pPremium])return SendClientMessage(playerid,GRAU,"Du hast noch einen Donator Status offen. Dein Donator Status muss erst ablaufen, um dir einen neuen zu kaufen!");
    if(Spieler[playerid][pCoins] < 200)return SendClientMessage(playerid,GRAU,"Du hast dir soeben 1 Level gekauft.");
    if(Spieler[playerid][pLevel] >== 1; // Hier ist der Fehler!
    Spieler[playerid][pCoins] -= 200;
    SendClientMessage(playerid, HELLBLAU, "Viel Spaß mit dem Level.");
    }
    case 1:
    {
    //if( Spieler[playerid][pRespektFromPayday] = 3;)return SendClientMessage(playerid,GRAU,"Du hast noch einen Donator Status offen. Dein Donator Status muss erst ablaufen, um dir einen neuen zu kaufen!");
    if(Spieler[playerid][pCoins] < 50)return SendClientMessage(playerid,GRAU,"Du hast dir soeben 5 Respektpunkte gekauft.");
    if(Spieler[playerid][pRespektFromPayday] = 3); // Hier ist glaube auch ein Fehler
    Spieler[playerid][pCoins] -= 50;
    SendClientMessage(playerid, HELLBLAU, "Viel Spaß mit den 5 Respektpunkten.");
    }
    case 2:
    {
    if(gettime() < Spieler[playerid][pPremium])return SendClientMessage(playerid,GRAU,"Du hast noch einen Donator Status offen. Dein Donator Status muss erst ablaufen, um dir einen neuen zu kaufen!");
    if(Spieler[playerid][pCoins] < 200)return SendClientMessage(playerid,GRAU,"Du hast nicht genügend Coins (mind. 200 Coins)");
    if(Spieler[playerid][pPremium] = (Spieler[playerid][pPremium]+(gettime() + (60*60*24*14))); // Hier ist der Fehler
    Spieler[playerid][pCoins] -= 200;
    SendClientMessage(playerid, HELLBLAU, "Viel Spaß mit dein 2 wöchigen Premium.");
    }



    Danke im vor raus.

  • Du hast in den betroffenen Zeilen Klammern vergessen bzw. die falschen Operatoren verwendet.
    Ich kann deinem Code leider nicht ganz folgen, da ich das Ziel und den Kontext nicht kenne.

    Ich empfehle dir aber mal kurz die Scripting-Basics durchzulesen, damit du dir selber helfen kannst.
    Hier würden die Bedingungen in Frage kommen.


    L.G.

  • Die Fehlerquellen hast du ja bereits erkannt.


    if(Spieler[playerid][pLevel] >== 1; // Hier ist der Fehler!
    Spieler[playerid][pCoins] -= 200;
    SendClientMessage(playerid, HELLBLAU, "Viel Spaß mit dem Level.");
    Zum einen fehlt in der markierten Zeile eine Klammer zu und zum anderen darfst du nach einer if Bedingung nie ein Semikolon setzen.


    Mach das zu
    if(Spieler[playerid][pLevel] >= 1) // Hier ist der Fehler!
    {
    Spieler[playerid][pCoins] -= 200;
    SendClientMessage(playerid, HELLBLAU, "Viel Spaß mit dem Level.");
    }


    Das Selbe bei den anderen markierten Stellen.



    DJ Deagle: Danke, hab ich übersehen.

    3HZXdYd.png

    2 Mal editiert, zuletzt von Jeffry ()


  • if(Spieler[playerid][pLevel] >= 1) // Hier ist der Fehler!
    {
    Spieler[playerid][pCoins] -= 200;
    SendClientMessage(playerid, HELLBLAU, "Viel Spaß mit dem Level.");
    }


    So ist es richtig.
    "Größergleichgleich".. Tolle Bedingung :D


    Kleiner Schönheitsfehler^^


    lg :thumbup:

  • So ist es richtig.
    "Größergleichgleich".. Tolle Bedingung


    Jeffry: ?


    Wie mache ich das den mit dem Premium..?



    case 2:
    {
    if(gettime() < Spieler[playerid][pPremium])return SendClientMessage(playerid,GRAU,"Du hast noch einen Donator Status offen. Dein Donator Status muss erst ablaufen, um dir einen neuen zu kaufen!");
    if(Spieler[playerid][pCoins] < 200)return SendClientMessage(playerid,GRAU,"Du hast nicht genügend Coins (mind. 200 Coins)");
    if(Spieler[playerid][pPremium] = (Spieler[playerid][pPremium]+(gettime() + (60*60*24*14))); // Hier ist der Fehler
    Spieler[playerid][pCoins] -= 200;
    SendClientMessage(playerid, HELLBLAU, "Viel Spaß mit dein 2 wöchigen Premium.");
    }

  • Ich nehme an du willst die Zeit setzen, also so:
    case 2:
    {
    if(gettime() < Spieler[playerid][pPremium]) return SendClientMessage(playerid,GRAU,"Du hast noch einen Donator Status offen. Dein Donator Status muss erst ablaufen, um dir einen neuen zu kaufen!");
    if(Spieler[playerid][pCoins] < 200) return SendClientMessage(playerid,GRAU,"Du hast nicht genügend Coins (mind. 200 Coins)");
    Spieler[playerid][pPremium] = (Spieler[playerid][pPremium]+(gettime() + (60*60*24*14)));
    Spieler[playerid][pCoins] -= 200;
    SendClientMessage(playerid, HELLBLAU, "Viel Spaß mit dein 2 wöchigen Premium.");
    }


  • Ja für 2 Wochen...