/setfbankmats Befehl?

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
  • Hallo,
    ich möche ein befehl namens /setfbankmats machen, er soll die Materialen der FraktionsBank setten.
    Aber ich weis nicht wie.


    //matslager
    format(query,sizeof(query),"SELECT Wert FROM state WHERE Variable='%s'","matslager");
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_field("Wert",data);
    matslager = strval(data);
    mysql_free_result();


    mysql_fetch_field("mats",data);
    Fbank[i][Mats]=strval(data);


    Hier habe ich noch einen stock gefunden.
    stock giveFbankMats(playerid,betrag)
    {
    new fID=SpielerInfo[playerid][Frakt];
    for(new i=0; i<maxfbanken; i++)
    {
    if(Fbank[i][Fraktion]==fID)
    {
    Fbank[i][Mats]+=betrag;
    SaveFbank(i);
    return 1;
    }
    }
    return 1;
    }


    stock getFbankMats(playerid)
    {
    new fID=SpielerInfo[playerid][Frakt];
    for(new i=0; i<maxfbanken; i++)
    {
    if(Fbank[i][Fraktion]==fID)
    {
    return Fbank[i][Mats];
    }
    }
    return 1;
    }


    Hier ein befehl wo man einen Spieler Materialien geben kann
    ocmd:amake(playerid,params[])
    {
    admincheck(6);
    logOCMDCommand(playerid,"amake",params);
    new item[256],betrag;
    if(sscanf(params,"s[17]i",item,betrag))return ErrorMsg(playerid,"INFO: /amake [LSD/Hanf/Mats/C4/Koks] [betrag]");
    if(betrag<1||betrag>999999)return ErrorMsg(playerid,"Ungültiger Betrag. (1-999999)");


    if(!strcmp(item,"LSD",true))
    {
    SpielerInfo[playerid][lsd]+=betrag;
    format(string,sizeof(string),"AdmCmd: %s hat sich %i LSD gegeben.",SpielerName(playerid),betrag);
    SendAdminMessage(COLOR_BLUE,string);
    return 1;
    }
    if(!strcmp(item,"Koks",true))
    {
    SpielerInfo[playerid][koks]+=betrag;
    format(string,sizeof(string),"AdmCmd: %s hat sich %i Koks gegeben.",SpielerName(playerid),betrag);
    SendAdminMessage(COLOR_BLUE,string);
    return 1;
    }
    if(!strcmp(item,"Hanf",true))
    {
    SpielerInfo[playerid][phanf]+=betrag;
    format(string,sizeof(string),"AdmCmd: %s hat sich %i Hanf gegeben.",SpielerName(playerid),betrag);
    SendAdminMessage(COLOR_BLUE,string);
    return 1;
    }
    if(!strcmp(item,"Mats",true))
    {
    SpielerInfo[playerid][Mats]+=betrag;
    format(string,sizeof(string),"AdmCmd: %s hat sich %i Mats gegeben.",SpielerName(playerid),betrag);
    SendAdminMessage(COLOR_BLUE,string);
    return 1;
    }
    if(!strcmp(item,"C4",true))
    {
    SpielerInfo[playerid][C4]+=betrag;
    format(string,sizeof(string),"AdmCmd: %s hat sich %i C4 gegeben.",SpielerName(playerid),betrag);
    SendAdminMessage(COLOR_BLUE,string);
    return 1;
    }
    return 1;
    }


    Wie kann ich den befehl machen?
    /setfbankmats


    Mfg

  • Das könnte so aussehen:
    ocmd:setfbankmats(playerid,params[])
    {
    admincheck(6);
    logOCMDCommand(playerid,"setfbankmats",params);
    new betrag, fID;
    if(sscanf(params,"ii",fID, betrag))return ErrorMsg(playerid,"INFO: /setfbankmats [frak] [betrag]");
    if(betrag<1||betrag>999999)return ErrorMsg(playerid,"Ungültiger Betrag. (1-999999)");


    for(new i=0; i<maxfbanken; i++)
    {
    if(Fbank[i][Fraktion]==fID)
    {
    Fbank[i][Mats]+=betrag;
    format(string,sizeof(string),"AdmCmd: %s hat der Fraktion %i %i Mats gegeben.",SpielerName(playerid),fID,betrag);
    SendAdminMessage(COLOR_BLUE,string);
    SaveFbank(i);
    return 1;
    }
    }
    return 1;
    }