Mein Befehl getprods macht Probleme

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
  • Guten Tag,
    wieder einmal brauche ich eure Hilfe.
    Mein Code sieht folgend aus...
    enum CreateFahrzeug
    {
    Zug1,
    Zug2,
    Zug3,
    Zug4,
    Zug5,
    Zug6,
    Zug7
    };
    new AllVehicle[CreateFahrzeug];
    enum tempSpielerDaten
    {
    Ladung
    };
    new tempSpielerInfo[MAX_PLAYERS][tempSpielerDaten];


    ocmd:getprods(playerid,params[])
    {
    new aprods, string[128],money;
    if(GetPlayerVehicleID(playerid) == AllVehicle[Zug1] && AllVehicle[Zug2] && AllVehicle[Zug3] && AllVehicle[Zug4] && AllVehicle[Zug5] && AllVehicle[Zug6] && AllVehicle[Zug7]) return SendClientMessage(playerid,Grey,"Du sitzt nicht in einem Güterzug.");
    if(!IsPlayerInRangeOfPoint(playerid,5,2137.5142,-1953.7500,15.3495)) return SendClientMessage(playerid,Grey,"Du bist nicht in der Nähe des Checkpoints.");
    if(sscanf(params,"i",aprods)) return SendClientMessage(playerid,Grey,"Nutze: /getprods [Anzahl]");
    if(aprods<1||aprods>10) return SendClientMessage(playerid,Grey,"Du kannst dir maximal 10kg oder minimal 1kg kaufen.");
    if(tempSpielerInfo[playerid][Ladung]>10) return SendClientMessage(playerid,Grey,"Du kannst nur maximal 10kg liefern.");
    if(aprods=1)
    {
    money=500;
    GivePlayerMoney(playerid,-money);
    }
    else if(aprods=2)
    {
    money=1000;
    GivePlayerMoney(playerid,-money);
    }
    else if(aprods=3)
    {
    money=1500;
    GivePlayerMoney(playerid,-money);
    }
    else if(aprods=4)
    {
    money=2000;
    GivePlayerMoney(playerid,-money);
    }
    else if(aprods=5)
    {
    money=2500;
    GivePlayerMoney(playerid,-money);
    }
    else if(aprods=6)
    {
    money=3000;
    GivePlayerMoney(playerid,-money);
    }
    else if(aprods=7)
    {
    money=3500;
    GivePlayerMoney(playerid,-money);
    }
    else if(aprods=8)
    {
    money=4000;
    GivePlayerMoney(playerid,-money);
    }
    else if(aprods=9)
    {
    money=4500;
    GivePlayerMoney(playerid,-money);
    }
    else if(aprods=10)
    {
    money=5000;
    GivePlayerMoney(playerid,-money);
    }
    tempSpielerInfo[playerid][Ladung] = aprods;
    format(string,128,"Du hast dir %ikg für %i gekauft. Bringe sie zum Abgabepunkt.",aprods,money);
    SendClientMessage(playerid,LightYellow,string);
    return 1;
    }
    Dazu kommen diese Warnings, aber glaube ich auch, dass es so nicht funktioniert.
    warning 211: possibly unintended assignment
    warning 211: possibly unintended assignment
    warning 211: possibly unintended assignment
    warning 211: possibly unintended assignment
    warning 211: possibly unintended assignment
    warning 211: possibly unintended assignment
    warning 211: possibly unintended assignment
    warning 211: possibly unintended assignment
    warning 211: possibly unintended assignment
    warning 211: possibly unintended assignment
    Wo alle "else if" bezeichnet.
    Könnt ihr mir weiterhelfen?


    MfG

  • Welche Fehlerzeile(n)?


    //E: Ach und diese Zeile ist falsch:


    if(GetPlayerVehicleID(playerid) == AllVehicle[Zug1] && AllVehicle[Zug2] && AllVehicle[Zug3] && AllVehicle[Zug4] && AllVehicle[Zug5] && AllVehicle[Zug6] && AllVehicle[Zug7]) return SendClientMessage(playerid,Grey,"Du sitzt nicht in einem Güterzug.");

    Sie muss folgendermaßen lauten:


    if(GetPlayerVehicleID(playerid) == AllVehicle[Zug1] && GetPlayerVehicleID(playerid) == Allvehicle[Zug2] && ...

  • Du hast statt eines Vergleichsoperators (==) nur einen Zuweisungsoperator (=) verwendet.


    Ach und schau mal in meinen letzten Post, habe noch was reineditiert.


    Schon verbessert was du editiert hattest.
    Habe aus "=" "==" gemacht und gibt keine Warnings.
    Danke dafür, jedoch bezweifle ich dass es so funktioniert wie ich will, trotzdem herzlichen Dank.


  • Wäre es nicht einfacher folgendes zu schreiben:


    GivePlayerMoney(playerid,-(aprods*500));


    mfg. :thumbup:

    ast2ufdyxkb1.png


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