Hilfe bei 2 DCMD CMDs mit Parametern

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
  • Hi Leute:


    Folgendes Problem.


    /weapon funzt nicht. Ich bekomme die Meldung, die Waffenid gäbe es nicht.
    Außerdem würde ich gerne "ein Spieler" mit Spielerid und/oder Namen ersetzen.


    Code von /weapon:


    dcmd_weapon(playerid,params[]) {
    if(IsPlayerAdmin(playerid))
    {
    if(!strlen(params)) {
    return SendClientMessage(playerid,rot,"USAGE: /weapon [playerid] [Waffe] [Munnition]");
    }
    new
    pID=strval(params),
    wID=strval(params),
    mID=strval(params);
    if(!IsPlayerConnected(pID)) {
    return SendClientMessage(playerid,rot,"Kein Spieler mit angegebener ID Online");
    }
    if(wID <= 1, wID >= 46)
    {
    GivePlayerWeapon(pID,wID,mID);
    SendClientMessage(playerid,gelb,"Ein Spieler bekam eine neue Waffe.");
    SendClientMessage(pID,gelb,"Du hast eine Waffe erhalten.");
    }
    else
    {
    SendClientMessage(playerid, rot, "Es gibt keine solche Waffe.");
    }
    }
    return 1;
    }


    2. Problem:


    /givecash funzt zwar prima, aber der 2. Parameter ist aus irgenteinem Grund immer 1, unabhängig was ich eingebe. Sprich bei /givecash 1 1000 zieht der mir 1$ ab und gibt ID 1 1$.
    Außerdem brauche ich wie oben den Namen der Person der ich Sende und den Namen der Person DIE sendet (also Playerid)


    dcmd_givecash(playerid,params[]) {


    if(!strlen(params)) {
    return SendClientMessage(playerid,rot,"USAGE: /givecash [playerid] [Mänge]");
    }
    new
    pID=strval(params),
    gID=strval(params);
    if(!IsPlayerConnected(pID)) {
    return SendClientMessage(playerid,rot,"Kein Spieler mit angegebener ID Online");
    }
    GivePlayerMoney(pID, gID);
    GivePlayerMoney(playerid, -gID);
    GetPlayerName(playerid, pname, sizeof(pname));
    SendClientMessage(playerid,gelb,"Du hast einem Mitspieler erfolgreich Geld gegeben.");
    SendClientMessage(pID, gelb, "Du hast Geld erhalten.");


    return 1;
    }


    Hilfe wäre Nett, denn ich brauch es wirklich dringend.

  • Du brauchst sscanf ;) schau mal in meiner Signatur, da gibts ein Tutorial von Goldkiller

  • Jetzt spielt IG alles verrückt. Ich bekomme die 10.000 Startgeld nicht und spawne unter der großen Farm bei Fleischbrg.


    Der /skin CMD:
    dcmd_skin(playerid,params[]) {
    if(IsPlayerAdmin(playerid)) {
    new
    sID,
    pID;
    if(sscanf(params, "us",pID,sID)) {


    return SendClientMessage(playerid,rot,"USAGE: /skin [playerid] [Skinid]");
    }
    if(!IsPlayerConnected(pID)) {
    return SendClientMessage(playerid,rot,"Kein Spieler mit angegebener ID Online");
    }
    if(sID <= 1, sID >= 299)
    {
    SetPlayerSkin(pID,sID);
    GetPlayerName(playerid, pname, sizeof(pname));
    SendClientMessage(pID,gelb,"Du bekamst einen neuen Skin.");
    SendClientMessage(playerid,gelb,"Ein Spieler bekam einen neuen Skin.");
    }
    }
    return 1;
    }

  • Von mir, musst du allerdings anpassen!
    ocmd:setskin(playerid,params[])
    {
    if(Player[playerid][admin] < 2){
    return SendClientMessage (playerid,COLOR_RED,"Dazu musst du mindestens Super Supporter sein!");
    }
    new pID,skinid;
    if(sscanf(params,"ud",pID,skinid)){
    return SendClientMessage(playerid,COLOR_RED,"USAGE: /setskin [playerid] [skinID(0-299!)]*");
    }
    if(!IsPlayerConnected(pID)){
    return SendClientMessage(playerid,COLOR_RED,"Niemand online mit dieser ID!");
    }
    if(skinid < 0){
    return SendClientMessage(playerid,COLOR_RED,"INVALID ID!");
    }
    if(skinid > 299){
    return SendClientMessage(playerid,COLOR_RED,"INVALID ID!");
    }
    if(Player[playerid][admin] < Player[pID][admin]){
    return SendClientMessage(playerid,COLOR_RED,"Du kannst keine Befehle an Rank höheren Admins anwenden!");
    }
    new string[128],string2[128],aname[MAX_PLAYER_NAME],name[MAX_PLAYER_NAME];
    SetPlayerSkin(pID,skinid);
    GetPlayerName(playerid,aname,sizeof(aname));
    GetPlayerName(pID,name,sizeof(name));
    format(string,sizeof(string),"Du setztest den Skin von %s auf %d",name,skinid);
    format(string2,sizeof(string2),"Admin %s setzte deinen Skin auf ID %d",aname,skinid);
    SendClientMessage(playerid,COLOR_GREEN,string);
    SendClientMessage(pID,COLOR_GREEN,string2);
    return 1;
    }