Drogen Hilfe ( in Gta ^^ )

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
  • Hy leute,


    Ich habe ein befehl mit dem Man Mats nehmen kann aber ich will das man Maximum 25 mats mehmen kann wie geht das denn?



    //GET
    dcmd_get(playerid, params[])
    {
    new form[100];
    new mat = strval(params);
    if(!strlen(params))
    {
    SendClientMessage(playerid,GELB,"Verwende: /get [AMMOUNT]");
    return 1;
    }
    if(!PlayerToPoint(5.0,playerid,1958.33, 1343.12, 15.36))//Deine Koords
    {
    SendClientMessage(playerid,ROT,"Du bist nicht am Drogen Ort");
    return 1;
    }
    if(Dealer[playerid] == 1)
    {
    ApplyAnimation(playerid,"DEALER","DEALER_DEAL",4.1,1,1,1,1,1);
    mats[playerid] += mat;
    GivePlayerMoney(playerid,-500);
    format(form,sizeof form,"Du hast %d Drogen erworben",mat);
    SendClientMessage(playerid,BLAU,form);


    {
    if(mats[playerid] > 25)
    SendClientMessage(playerid,ROT,"Du kannst nicht mehr als 25 Mats bei dir tragen");
    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Dealer");
    return 1;
    }}


    Danke für eure Hilfe


    MFg

    < Beatboxen ist leicht > Beatboxen & Singen/Rappen ist schwerer >


  • dcmd_get(playerid, params[])
    {
    new form[100];
    new mat = strval(params);
    if(!strlen(params))
    {
    SendClientMessage(playerid,GELB,"Verwende: /get [AMMOUNT]");
    return 1;
    }
    if(!PlayerToPoint(5.0,playerid,1958.33, 1343.12, 15.36))//Deine Koords
    {
    SendClientMessage(playerid,ROT,"Du bist nicht am Drogen Ort");
    return 1;
    }
    if(mats[playerid] >= 25)
    {
    SendClientMessage(playerid,ROT,"Du kannst nicht mehr als 25 Mats bei dir tragen");
    return 1;
    }
    if(Dealer[playerid] == 1)
    {
    ApplyAnimation(playerid,"DEALER","DEALER_DEAL",4.1,1,1,1,1,1);
    mats[playerid] += mat;
    GivePlayerMoney(playerid,-500);
    format(form,sizeof form,"Du hast %d Drogen erworben",mat);
    SendClientMessage(playerid,BLAU,form);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Dealer");
    }
    return 1;
    }


    puhh.. dcmd -.-

  • Danke für deine Hilfe! Aber trotzdem habe ich NOCH ein Problem.
    Wenn ich 25 Mats nehme und mehr nehmen will dann kommt logischer weise..."Du kannst nicht mehr als 25 mats ..."
    bis da ist es ja noch gut , wenn ich aber dann die 25 mats verbrauche ..zb. 5.. und wieder 5 holen gehen will dann steht da immer noch..
    "Du kannst nicht mehr als 25 mats bei dirtragen"... ???? Ihr die beiden befehle..



    dcmd_deal(playerid,params[])
    {


    new form[100];
    new playa;
    new mat;
    if(sscanf(params,"dd",playa,mat))
    {
    SendClientMessage(playerid,GELB,"Verwende: /deal [ID] [DROGENANZAHL]");
    return 1;
    }
    if(mat > mats[playerid])
    {
    SendClientMessage(playerid,BLAU,"So viele drogen hast du nicht !");
    return 1;
    }
    if(!IsPlayerConnected(playa))
    {
    SendClientMessage(playerid,BLAU,"Angegebener User nicht online!");
    return 1;
    }
    if(Dealer[playerid] == 1)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playa,name,sizeof name);
    new name2[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name2,sizeof name2);
    format(form,sizeof form,"Du hast %s %d Drogen gegeben und ihn damit auch geheilt",name,mat);
    SendClientMessage(playerid,GELB,form);
    new Float:h;
    GetPlayerHealth(playa,h);
    SetPlayerHealth(playerid,h+mat);
    new form2[100];
    format(form2,sizeof form2,"Du hast von %s %d Drogen erhalten",name2,mat);
    SendClientMessage(playa,GELB,form2);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,BLAU,"Du bist kein Dealer");
    return 1;
    }
    }


    //GET
    dcmd_get(playerid, params[])
    {
    new form[100];
    new mat = strval(params);
    if(!strlen(params))
    {
    SendClientMessage(playerid,GELB,"Verwende: /get [AMMOUNT]");
    return 1;
    }
    if(!PlayerToPoint(5.0,playerid,-2160.1877,-236.5921,36.5156)) //Deine Koords
    {
    SendClientMessage(playerid,ROT,"Du bist nicht am Drogen Ort");
    return 1;
    }
    if(mats[playerid] >= 25)
    {
    SendClientMessage(playerid,ROT,"Du kannst nicht mehr als 25 Mats bei dir tragen");
    return 1;
    }
    if(Dealer[playerid] == 1)
    {
    ApplyAnimation(playerid,"DEALER","DEALER_DEAL",4.1,1,1,1,1,1);
    mats[playerid] += mat;
    GivePlayerMoney(playerid,-500);
    format(form,sizeof form,"Du hast %d Drogen erworben",mat);
    SendClientMessage(playerid,BLAU,form);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Dealer");
    }
    return 1;
    }


    Danke für eure Hilfe..

    < Beatboxen ist leicht > Beatboxen & Singen/Rappen ist schwerer >

  • Ok danke dir..:)


    Noch eine frage jetzt habe ich ein command erstellen wollen mit dem ich schauen kann wie viel mats ich noch habe ....


    dcmd_mats(playerid,params[])
    {


    wie muss es weiter gehen?


    Danke

    < Beatboxen ist leicht > Beatboxen & Singen/Rappen ist schwerer >

  • Danke dir noch eine Frage...


    Also wenn ich /get mache und die anzahl dann kann er doch eigentlich nicht mehr als 25 mats nehmen ne.. aber das tut er, doch nur beim ersten mal das heiß


    ich geh dahin mache /get 50 dann bekomme ich 50 Mats.. und dann amche ich nocheinmal /get 50 und ERST dann kommt "du kannst nicht mehr als 25 mats.."


    Hier der command wieder:



    dcmd_get(playerid, params[])
    {
    new form[100];
    new mat = strval(params);
    if(!strlen(params))
    {
    SendClientMessage(playerid,GELB,"Verwende: /get [AMMOUNT]");
    return 1;
    }
    if(!PlayerToPoint(5.0,playerid,-2160.1877,-236.5921,36.5156)) //Deine Koords
    {
    SendClientMessage(playerid,ROT,"Du bist nicht am Drogen Ort");
    return 1;
    }
    if(mats[playerid] >= 25)
    {
    SendClientMessage(playerid,ROT,"Du kannst nicht mehr als 25 Mats bei dir tragen");
    return 1;
    }
    if(mats[playerid] >= 25)
    {
    SendClientMessage(playerid,ROT,"Du kannst nicht mehr als 25 Mats bei dir tragen");
    }



    if(Dealer[playerid] == 1)
    {
    ApplyAnimation(playerid,"DEALER","DEALER_DEAL",4.1,1,1,1,1,1);
    mats[playerid] += mat;
    GivePlayerMoney(playerid,-500);
    format(form,sizeof form,"Du hast %d Drogen erworben",mat);
    SendClientMessage(playerid,BLAU,form);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Dealer");
    }
    return 1;
    }



    Achja.. nicht das ich dann wieder frage.. wie mache ich das dass hier :



    if(pickupid == Drogen)
    {
    SendClientMessage(playerid,GELB,"===== Drogen-Lager =====");
    SendClientMessage(playerid,GRAU,"Verwende: /get [1-25] = Kosten: 500$");
    SendClientMessage(playerid,GELB,"===== Drogen-Lager =====");
    SetTimer("Drogen",60000,1);
    return 1;
    }


    return 0;
    }


    Nicht jede 5-10 sekunden kommt wenn ich bei dem Icon stehe sondern nur jede 5 minuten oder so, du kannst ja sehen mit dem Timer hat es leider auch nicht funktioniert :(


    Danke für die Hilfe der 2 Frage :)

    < Beatboxen ist leicht > Beatboxen & Singen/Rappen ist schwerer >

  • du hast 2 mal if(mats[playerid] >= 25)
    {
    SendClientMessage(playerid,ROT,"Du kannst nicht mehr als 25 Mats bei dir tragen");
    return 1;
    }
    if(mats[playerid] >= 25)
    {
    SendClientMessage(playerid,ROT,"Du kannst nicht mehr als 25 Mats bei dir tragen");
    }


    in deinem command. Mach aus dem 1. das hier if(mat >= 25)
    {
    SendClientMessage(playerid,ROT,"Du kannst nicht mehr als 25 Mats bei dir tragen");
    return 1;
    }


    und zu dem SetTimer: Poste mal das "Drogen"-Callback von dem Timer

  • Leuchte,kannst den Timer nicht direkt auf ein Pickup beziehen :D
    Du kannst da zwar Variabel usw reinhauen aber das is eigentlich unnötig...
    Naja wers braucht:

    Spoiler anzeigen


    //ganz oben
    waratdrogenp[MAX_PLAYERS];
    //onplayerconnect
    waratdrogenp[playerid] = 0;
    //--------------
    if(pickupid == Drogen)
    {
    if(waratdrogenp[playerid] == 0){
    SendClientMessage(playerid,GELB,"===== Drogen-Lager =====");
    SendClientMessage(playerid,GRAU,"Verwende: /get [1-25] = Kosten: 500$");
    SendClientMessage(playerid,GELB,"===== Drogen-Lager =====");
    SetTimer("Drogen",60000,1);
    waratdrogenp[playerid] = 1;}
    else{}
    return 1;
    }
    forward Drogen();
    public Drogen();
    {
    for-schleife mit i und MAX_PLAYERS//bin at schule grad kein bock eine zu machenxD
    {
    if(waratdrogenp[i] == 1)
    {
    waratdrogenp[i] = 0;
    }}}

    Spoiler anzeigen

    Sollte gehn,ich schau zuhause nochmal drüber ;)

  • Oktabius:
    Wieso puuh dcmd xD
    Ich hab nicht ma ne ahnung wozu die sind oder was die machen weil der command kann genauso mit if unter OnPlayerCommandtext oder nicht ?

  • Sry war ne weile nicht da...


    habe jetzt das problem beim dealen wenn ich /get 25 mache kriege ich 25 mats.. ist auch gut so..
    dann mache ich nochmal /get 25 und kriege wider 25 Mats... ist nicht gut :(
    und erst beim dritten mal kommt die meldung das man nicht mehr als 25 mats bei sich tragen darf...



    dcmd_get(playerid, params[])
    {
    new form[100];
    new mat = strval(params);
    if(!strlen(params))
    {
    SendClientMessage(playerid,GELB,"Verwende: /get [Anzahl]");
    return 1;
    }
    if(!PlayerToPoint(5.0,playerid,-2160.1877,-236.5921,36.5156)) //Deine Koords
    {
    SendClientMessage(playerid,ROT,"Du bist nicht am Drogen Ort");
    return 1;
    }


    if(mat >= 26)
    {
    SendClientMessage(playerid,ROT,"Du kannst nicht mehr als 25 Mats nehmen");
    return 1;
    }


    if(mats [playerid] >= 26)
    {
    SendClientMessage(playerid,ROT,"Du kannst nicht mehr als 25 Mats bei dir tragen");
    return 1;
    }


    if(Dealer[playerid] == 1)
    {
    ApplyAnimation(playerid,"DEALER","DEALER_DEAL",4.1,1,1,1,1,1);
    mats[playerid] += mat;
    GivePlayerMoney(playerid,-500);
    format(form,sizeof form,"Du hast %d Drogen erworben",mat);
    SendClientMessage(playerid,BLAU,form);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Dealer");
    }


    return 1;
    }


    Danke für eure hilfe..




    Ps: Kann keiner Helfen?

    < Beatboxen ist leicht > Beatboxen & Singen/Rappen ist schwerer >

    3 Mal editiert, zuletzt von Rapfabrik ()