Problem mit Drogendealer Job

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 ich hab ein kleines problem.. also wenn ein Drogendealer seine Ware kauft ist das skill abhängig.. angenommen skill 1 = 6 gramm. So er kauft aber die 6Gramm für 0€ und dazu kommt dass er sie immerwieder kaufen kann aber am ende trotzdem nur 6gramm auf der Hand hat. Woran liegt das?


    if(strcmp(cmd,"/get",true)==0)
    {
    if(IsPlayerConnected(playerid))
    {
    new x_job[256];
    x_job = strtok(cmdtext, idx);


    if(!strlen(x_job)) {
    SendClientMessage(playerid, COLOR_TUTBLAU, "|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|");
    SendClientMessage(playerid, WHITE, "Benutze: /get [name]");
    SendClientMessage(playerid, COLOR_GREY, "Befehle: drogen, Kanister");
    SendClientMessage(playerid, COLOR_TUTBLAU, "|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|");
    return 1;
    }
    if(strcmp(x_job,"drogen",true) == 0)
    {
    if(PlayerToPoint(5.0, playerid,321.9684,1124.2134,1083.8828))
    {
    if(PlayerInfo[playerid][pDrugs] > 15)
    {
    format(string, sizeof(string), " Du hast schon %d gramm Drogen, verkaufe sie zuerst !", PlayerInfo[playerid][pDrugs]); SendClientMessage(playerid, COLOR_GREY, string);
    return 1;
    }
    new tel;
    new price = 210;
    new ammount;
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /get drugs [Betrag]");
    return 1;
    }
    new level = PlayerInfo[playerid][pDrugsSkill];
    ammount = strval(tmp);
    price = ammount * tel;
    if(level >= 0 && level <= 50)
    { tel = 200; if(ammount < 1 || ammount > 6) { SendClientMessage(playerid, COLOR_GREY, " Mit deinem Skill kannst du Maximal 6 gramm Drogen tragen!!"); return 1; } }
    else if(level >= 51 && level <= 100)
    { tel = 150; if(ammount < 1 || ammount > 12) { SendClientMessage(playerid, COLOR_GREY, " Mit deinem Skill kannst du Maxima 12 gramm Drogen tragen!!"); return 1; } }
    else if(level >= 101 && level <= 200)
    { tel = 100; if(ammount < 1 || ammount > 20) { SendClientMessage(playerid, COLOR_GREY, "Mit deinem Skill kannst du Maximal 20 gramm Drogen tragen!"); return 1; } }
    else if(level >= 201 && level <= 400)
    { tel = 50; if(ammount < 1 || ammount > 30) { SendClientMessage(playerid, COLOR_GREY, "Mit deinem Skill kannst du Maximal 30 gramm Drogen tragen!"); return 1; } }
    else if(level >= 401)
    { tel = 10; if(ammount < 1 || ammount > 99) { SendClientMessage(playerid, COLOR_GREY, " Mit deinem Skill kannst du Maximal 99 gramm Drogen tragen!"); return 1; } }
    if(GetPlayerMoney(playerid) > price)
    {
    format(string, sizeof(string), "* Du hast %d gramm Drogen für €%d erworben.", ammount, price);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    GivePlayerMoney(playerid, -price);
    PlayerInfo[playerid][pDrugs] = ammount;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Du kannst die Drogen nicht anfordern !");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD1,"* Du bist nicht in der Crackhöle!");
    }
    }

  • mach da sganze mal so


    if(strcmp(cmd,"/get",true)==0)
    {
    if(IsPlayerConnected(playerid))
    {
    new x_job[256];
    x_job = strtok(cmdtext, idx);


    if(!strlen(x_job)) {
    SendClientMessage(playerid, COLOR_WHITE, "|__________________ Get __________________|");
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /get [name]");
    SendClientMessage(playerid, COLOR_GREY, "Befehle: Drugs");
    SendClientMessage(playerid, COLOR_GREEN, "|_________________________________________|");
    return 1;
    }


    if(strcmp(x_job,"drugs",true) == 0)
    {
    if(PlayerInfo[playerid][pDrugs] > 15)
    {
    format(string, sizeof(string), " Du hast schon %d gramm Drogen, verkaufe sie zuerst !", PlayerInfo[playerid][pDrugs]); SendClientMessage(playerid, COLOR_GREY, string);
    return 1;
    }
    new tel;
    new price;
    new ammount;
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /get drugs [Betrag]");
    return 1;
    }
    new level = PlayerInfo[playerid][pDrugsSkill];
    ammount = strval(tmp);
    if(level >= 0 && level <= 50)
    { tel = 200; if(ammount < 1 || ammount > 6) { SendClientMessage(playerid, COLOR_GREY, " Mit deinem Skill kannst du Maximal 6 gramm Drogen tragen!!"); return 1; } }
    else if(level >= 51 && level <= 100)
    { tel = 150; if(ammount < 1 || ammount > 12) { SendClientMessage(playerid, COLOR_GREY, " Mit deinem Skill kannst du Maxima 12 gramm Drogen tragen!!"); return 1; } }
    else if(level >= 101 && level <= 200)
    { tel = 100; if(ammount < 1 || ammount > 20) { SendClientMessage(playerid, COLOR_GREY, " Mit deinem Skill kannst du Maximal 20 gramm Drogen tragen!"); return 1; } }
    else if(level >= 201 && level <= 400)
    { tel = 50; if(ammount < 1 || ammount > 30) { SendClientMessage(playerid, COLOR_GREY, " Mit deinem Skill kannst du Maximal 30 gramm Drogen tragen!"); return 1; } }
    else if(level >= 401)
    { tel = 10; if(ammount < 1 || ammount > 99) { SendClientMessage(playerid, COLOR_GREY, " Mit deinem Skill kannst du Maximal 99 gramm Drogen tragen!"); return 1; } }
    if (PlayerInfo[playerid][pJob] == 4 && IsPlayerInRangeOfPoint(playerid,3.0, 323.0342,1118.5804,1083.8828))
    {
    price = ammount * tel;
    if(GetPlayerMoney(playerid) > price)
    {
    format(string, sizeof(string), "* Du hast %d gramm Drogen für $%d erworben.", ammount, price);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    GivePlayerMoney(playerid, -price);
    PlayerInfo[playerid][pDrugs] = ammount;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Du kannst die drogen nicht anfordern !");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist kein Drogendealer oder nicht im Crack Haus!");
    return 1;
    }
    }
    }
    return 1;
    }


    ungetestet sollte aber gehen :)

  • pack das dazu


    if(PlayerToPoint(5.0, playerid,321.9684,1124.2134,1083.8828))

  • zeige mir mal wie das dialog gescriptet ist also wo er es aufruft

  • also das is eig bei allen befehlen dass es jetzt laggt .. aber es könnte daran liegen dass du ja mit /get einma Drugs und einmal Kanister bekommst ich zeig dir einfach den ganzen code


    if(strcmp(cmd,"/get",true)==0)
    {
    if(IsPlayerConnected(playerid))
    {
    new x_job[256];
    x_job = strtok(cmdtext, idx);


    if(!strlen(x_job)) {
    SendClientMessage(playerid, WHITE, "|__________________ Get __________________|");
    SendClientMessage(playerid, WHITE, "Benutze: /get [name]");
    SendClientMessage(playerid, COLOR_GREY, "Befehle: Drugs");
    SendClientMessage(playerid, COLOR_GREEN, "|_________________________________________|");
    return 1;
    }


    if(strcmp(x_job,"drugs",true) == 0)
    {
    if(PlayerInfo[playerid][pDrugs] > 15)
    {
    format(string, sizeof(string), " Du hast schon %d gramm Drogen, verkaufe sie zuerst !", PlayerInfo[playerid][pDrugs]); SendClientMessage(playerid, COLOR_GREY, string);
    return 1;
    }
    new tel;
    new price;
    new ammount;
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /get drugs [Betrag]");
    return 1;
    }
    new level = PlayerInfo[playerid][pDrugsSkill];
    ammount = strval(tmp);
    if(level >= 0 && level <= 50)
    { tel = 200; if(ammount < 1 || ammount > 6) { SendClientMessage(playerid, COLOR_GREY, " Mit deinem Skill kannst du Maximal 6 gramm Drogen tragen!!"); return 1; } }
    else if(level >= 51 && level <= 100)
    { tel = 150; if(ammount < 1 || ammount > 12) { SendClientMessage(playerid, COLOR_GREY, " Mit deinem Skill kannst du Maxima 12 gramm Drogen tragen!!"); return 1; } }
    else if(level >= 101 && level <= 200)
    { tel = 100; if(ammount < 1 || ammount > 20) { SendClientMessage(playerid, COLOR_GREY, " Mit deinem Skill kannst du Maximal 20 gramm Drogen tragen!"); return 1; } }
    else if(level >= 201 && level <= 400)
    { tel = 50; if(ammount < 1 || ammount > 30) { SendClientMessage(playerid, COLOR_GREY, " Mit deinem Skill kannst du Maximal 30 gramm Drogen tragen!"); return 1; } }
    else if(level >= 401)
    { tel = 10; if(ammount < 1 || ammount > 99) { SendClientMessage(playerid, COLOR_GREY, " Mit deinem Skill kannst du Maximal 99 gramm Drogen tragen!"); return 1; } }
    if(PlayerToPoint(5.0, playerid,321.9684,1124.2134,1083.8828))
    if (PlayerInfo[playerid][pJob] == 4 && IsPlayerInRangeOfPoint(playerid,3.0,321.9684,1124.2134,1083.8828))
    {
    price = ammount * tel;
    if(GetPlayerMoney(playerid) > price)
    {
    format(string, sizeof(string), "* Du hast %d gramm Drogen für $%d erworben.", ammount, price);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    GivePlayerMoney(playerid, -price);
    PlayerInfo[playerid][pDrugs] = ammount;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Du kannst die drogen nicht anfordern !");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist kein Drogendealer oder nicht im Crack Haus!");
    return 1;
    }
    }
    else if(strcmp(x_job,"kanister",true) == 0)
    {
    if(IsAtGasStation(playerid))
    {
    new price = 20 * SPRITPREIS;
    format(string, sizeof(string), "* Du hast dir einen Benzinkanister für €%d gekauft.(20 Liter)",price);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    PlayerInfo[playerid][pFuel] = 20;
    GivePlayerMoney(playerid, - price);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_GREY," Du bist an keiner Tankstelle!");
    return 1;
    }
    }
    else { return 1; }
    }
    return 1;
    }


    //edit: Also die laggs werden nun immer heftiger.. schätze es hat was mit dem Server zu tun. Falls du doch noch ne Idee hast würds mich freuen.
    //edit2: Es liegt wirklich am server . hab alles nochmal rückgängig gemacht immernoch die selben laggs. Danke für deine Hilfe :) /close pls

    2 Mal editiert, zuletzt von [SoC]RuleZ ()