Einzelnen Preis pro Ware beim Verkaufen festlegen?

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
  • Hey Breadfishler,


    Ich habe mal wieder ein Problem ich vergesse ständig wie ich einen Preis von irgendwas festlege, was heißt ich vergesse es ich verstehe nicht wie ich es später nocheinmal
    auslese da ich in einem Befehl Waren kaufe:


    ocmd:buywaren(playerid,params[])
    {
    if(!IsPlayerInRangeOfPoint(playerid,10.0,1894.9570,-2631.3894,13.5469))return SendClientMessage(playerid,ROT,"Du bist nicht in der Nähe vom Punkt.");
    new Truckwaren;
    if(sscanf(params, "d", Truckwaren))return SendClientMessage(playerid,GELB,"Verwendung: /buywaren [Anzahl an Waren]");
    new string [128];
    if(Truckwaren < 0 || Truckwaren > 1500) { SendClientMessage(playerid, ROT, "* Die Waren dürfen nicht unter 0 und über 1500 sein."); return 1; }
    if(Truckwaren + Truckkwaren[playerid] < 1501)
    {
    new preis = Truckwaren*25;
    Truckkwaren[playerid] += Truckwaren;
    GivePlayerMoney(playerid,-preis);
    format(string,sizeof(string), "Du hast dir %d Waren für %d$ gekauft!",Truckwaren,preis);
    SendClientMessage(playerid,GREEN,string);
    SetPlayerCheckpoint(playerid,-1243.9681,-95.5739,14.1484,5.5);
    SendClientMessage(playerid,GELB,"Fliege nun zum SF Airport um deine Waren für hochwertigere Waren umzutauschen um mehr Profit zu erlangen!");
    sSpieler[playerid][Truckticket] = 1;
    }
    else if(Truckwaren + Truckkwaren[playerid] > 300)
    {
    SendClientMessage(playerid,ROT,"Die Maximale Kapazität beträgt 1500.");
    }
    return 1;
    }


    so nun möchte ich die in einem anderen Befehl verkaufe der sieht mittlerweile leider nur so aus:


    ocmd:sellwaren(playerid)
    {
    if(sSpieler[playerid][Truckticket] == 1)return SendClientMessage(playerid,ROT,"Du hast keine Waren
    SendClientMessage(playerid,GREEN,"Du hast deine Waren für 80,000$ verkauft! Fahre wieder zum Truckdepot");
    SetPlayerCheckpoint(playerid,2042.2635,-2593.5862,13.5469,5.5);
    GivePlayerMoney(playerid,80000);
    return 1;
    }


    aber nun ist es ja so das wenn die Person 1 Ware kauft sogesagt 80,000$ bekommen würde wie kann ich das machen das wenn er 1 Ware hat auch nur den Preis von einer Ware bekommt ^^


    Vielen Dank im vorraus ! :D
    ^^

  • Du speicherst ja in Truckkwaren[playerid] deine Warenanzahl, diese multiplizierst du einfach mit einem Wert und gibst diesen Wert dann dem Spieler. Danach setzt du die Variable (Truckkwaren) wieder auf 0, damit er die nicht wieder verkaufen kann.