Wenn nicht genügend Mats dann SCM...

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 ich habe meinen /verkaufewaffe Befehl fast fertig doch man kann ins Minus bei den Mats:


    Hier mein Befehl :
    dcmd_verkaufewaffe(playerid,params[]){
    new
    pID = strval(params),
    waffe[64],
    name[MAX_PLAYER_NAME],
    gname[MAX_PLAYER_NAME],
    string[128],
    string2[128];


    if(sscanf(params, "us",pID,waffe)) {
    SendClientMessage(playerid,rot,"/verkaufewaffe [playerid] [waffe]");
    return SendClientMessage(playerid,rot,"Waffen: Deagle(200),MP5(250),9MM (150),M4(500),AK47(500),Rifle(500)");}

    GetPlayerName(playerid,name,sizeof(name));
    GetPlayerName(pID,gname,sizeof(gname));


    if(Spieler[playerid][job] == 1){


    if(!strcmp(waffe,"Deagle",true)) {
    GivePlayerWeapon(pID,24,50);
    format(string,sizeof(string),"Du hast %s eine Deagle verkauft",gname);
    SendClientMessage(playerid,hellblau,string);
    format(string2,sizeof(string),"%s hat dir eine Deagle verkauft",name);
    SendClientMessage(playerid,hellblau,string2);
    Spieler[playerid][mats] -= 200;
    }
    else if(!strcmp(waffe,"MP5",true)) {
    GivePlayerWeapon(pID,29,150);
    format(string,sizeof(string),"Du hast %s eine MP5 verkauft",gname);
    SendClientMessage(playerid,hellblau,string);
    format(string2,sizeof(string),"%s hat dir eine MP5 verkauft",name);
    SendClientMessage(playerid,hellblau,string2);
    Spieler[playerid][mats] -= 250;
    }
    return 1;
    }
    return 0;
    }
    Wie kann ich nun verhindern dass ich mit den Mats ins Minus komme ?
    Vielen Dank im vorraus.


    mfg SiriiuzZ

  • du fragst ab wieviele mats er hat.


    if(Spieler[playerid][job] == 1)
    {
    if(!strcmp(waffe,"Deagle",true))
    {
    if(Spieler[playerid][mats] >= 200)
    {
    GivePlayerWeapon(pID,24,50);
    format(string,sizeof(string),"Du hast %s eine Deagle verkauft",gname);
    SendClientMessage(playerid,hellblau,string);
    format(string2,sizeof(string),"%s hat dir eine Deagle verkauft",name);
    SendClientMessage(playerid,hellblau,string2);
    Spieler[playerid][mats] -= 200;
    }
    }
    }



  • Omg hätte ich auch selber drauf kommen können *Kopf gegen Wand hau*.
    Aber eigentlich meinte ich das wenn man nicht genug hat SendClientMessage(blabla"Du hast nicht genug Mats"); .
    Aber danke schonmal :).
    // EDIT hat sich doch nicht erledigt.
    Die else nachricht erscheint irgendwie nicht 0.o .
    if(Spieler[playerid][job] == 1){
    if(Spieler[playerid][mats] >= 200){
    if(!strcmp(waffe,"Deagle",true)) {
    GivePlayerWeapon(pID,24,50);
    format(string,sizeof(string),"Du hast %s eine Deagle verkauft",gname);
    SendClientMessage(playerid,hellblau,string);
    format(string2,sizeof(string),"%s hat dir eine Deagle verkauft",name);
    SendClientMessage(playerid,hellblau,string2);
    Spieler[playerid][mats] -= 200;
    }
    else if(Spieler[playerid][mats] < 200) { SendClientMessage(playerid,rot,"Du hast nicht genug Materialien"); }
    }


    mfg SiriiuzZ

    Einmal editiert, zuletzt von CyronZ ()

  • // Code...........
    if(Spieler[playerid][job] == 1)
    {
    if(sscanf(params..................
    {
    // bla bla
    }
    if(Spieler[playerid][mats] <200)
    {
    return SendClientMessage(playerid,0xFFFFFFFF,"AdnaN sagt du hast nicht genug mats.");
    }
    else
    {
    // Wen er doch
    }
    }
    // Code.............


    So sollte es funktionieren.
    Ungetestet!

  • ja sollte gehen... du musst die klammer der abfrage mit den mats schließen und danach ein else machen also:


    //
    if(genug mats blablabla)
    {
    //bekommt er waffe, mats werden abgezogen
    }
    else
    {
    //du hast net genug mats...
    }
    //