Kleine Frage zu befehlen

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
  • Ich habe rumprobiert gesucht aba irgendwie nichts gefunden was ich brauchen könnte.
    Also mein Problem ist ich möchte z.B. einen Befehl: /setmoney playerid Geld
    Da ich noch nicht viel mit c++ oda desgeleichen (außer vbs, kann man aba nicht wirklich zählen da es sehr einfach ist) gemacht habe, wollte ich wissen wie ich das schreiben müsste damit die id und dann das geld aus dem befehl erkannt und übernommen wird.
    könnte mir einer von euch ein beispiel schreiben mit erklärung von den funktionen?


    Mfg scooby


    PS: Ist ein bisschen wirsch geschrieben nur ich weiß nich wirklich wie ich mein problem beschreiben soll, hoffe es versteht einer^^

  • wieso nimmst du nich einfach den ausm gf?
    ich mein du bistn anfänger was besseres gibts für dich nich :D
    hier der command mit erklärungen
    if(strcmp(cmd, "/money", true) == 0)
    {
    if(IsPlayerConnected(playerid)) //Wenn der Spieler mit dem Server verbunden ist
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) //Erklärung der funktion, wenn keine passenden variablen gefunden wurden
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: /money [SpielerID/Namen] [geld]");//Erklärung der funktion, wenn keine passenden variablen gefunden wurden
    return 1;
    }
    new playa;
    new money;
    playa = ReturnUser(tmp); //playa = abkürzung für Spieler. Wird dort definiert
    tmp = strtok(cmdtext, idx);
    money = strval(tmp); //Definiert das Geld welches du oben eingegeben hast
    if (PlayerInfo[playerid][pAdmin] >= 4) //Wenn der Spieler über Admin Stufe 4 ist(bei Godfather)
    {
    if(IsPlayerConnected(playa))
    {
    if(playa != INVALID_PLAYER_ID) //playa = Spieler muss eine echte ID haben dafür das "INVALID_PLAYER_ID"
    {
    ResetPlayerMoney(playa); //Nimmt alles Geld von "playa" weg
    ConsumingMoney[playa] = 1; //Keine Ahnung xD
    GivePlayerMoney(playa, money); //Gibt das oben definierte Geld (money) zu (playa).
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Dir ist es nicht erlaubt, diesen Befehl zu benutzen!");
    }
    }
    return 1;
    }
    ich schmeiß ja mit fachausdrücken rum wie sonst was xD

    Wenn Ihr noch einen Scripter braucht dann meldet euch bin noch frei!

  • Danke für die hilfe :)
    Nur zum verständnis was genau ist tmp? was macht strtok genau?was ist idx? und bei
    if(!strlen(tmp)) das "!" was bedeutet das?
    Sry das ich so dumm frage^^ aber die befehle hatte ich auch schon gefunden nur wusste nicht was sie machen auch nach googln somit wusste ich auch nicht wie sie anzuwenden sind :)
    wieso nimmst du nich einfach den ausm gf? ... gf?^^


    Danke DarkRaver für die große hilfe :)


    Edit: hat sich erledigt

    Einmal editiert, zuletzt von scooby ()

  • {
    new cmd [256];
    new tmp [256];
    new i, a, b;
    i=0;
    a=1;
    b=2;
    cmd = strtok(cmdtext, i);
    {
    if(strcmp(cmd,"/givemoney",true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, a);
    new spieler;
    new money;
    spieler = strval(tmp);
    tmp = strtok(cmdtext, b);
    money = strval(tmp);
    if(IsPlayerAdmin(playerid))
    {
    if(IsPlayerConnected(spieler))
    {
    GivePlayerMoney(spieler, money);
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid,0x33CCFFAA, "Du bist kein Admin!");
    }
    return 1;
    }
    }


    Er zeigt keinen Fehler und ingame Passiert einfach garnichts was ist daran falsch?
    Sry 4 Doppelpost

    Einmal editiert, zuletzt von scooby ()