Hilfe mit Respektpunkte system

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 Community!
    Schon wieder brauche ich Hilfe weil ich mit das eine nicht klar komme.
    Ich habe den Befehl /giverespekt gemacht == Respektpunkte geben.
    Doch wenn ich /giverespekt ID/NAME Respektpunkt mache dann Gibt er den Respektpunkt nicht.
    Es geht nur bis /giverespekt ID/NAME


    ocmd:giverespekt(playerid,params[])
    {
    if(IsPlayerAnAdmin(playerid,1337))
    {
    new pID,reason[128],string[128];
    if(sscanf(params,"ui",pID,reason))return SendClientMessage(playerid,GRAU,"Verwendung: /giverespekt [playerid] [Respektpunkte]");
    if(IsPlayerConnected(pID))
    {
    format(string,sizeof(string),"Admin %s hat dir %i Respektpunkt/e gegeben",SpielerName(playerid),reason);
    SetPVarInt(pID,"Respektpunkt",playerid);
    SpielerSpeichern(pID);
    }
    else
    {
    SendClientMessage(playerid,ROT,"Spieler ist Offline!");
    }
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Adminstrator!");
    }
    return 1;
    }

  • Du hast da irgendwie alles durcheinander, oder sehe ich das falsch, siehe hier:
    SetPVarInt(pID,"Respektpunkt",playerid);


    Du setzt in der Datei für den Spieler "pID" in Respektpunkt die playerid vom Spieler "playerid"? ^^

  • Du hast da irgendwie alles durcheinander, oder sehe ich das falsch, siehe hier:



    SetPVarInt(pID,"Respektpunkt",playerid);


    Du setzt in der Datei für den Spieler "pID" in Respektpunkt die playerid vom Spieler "playerid"? ^^


    @BaRkS:
    Das stimmt schon, nur darf er reason nicht als string definieren.
    also statt



    reason[128]
    //zu
    reason


    und die sscanf abfrage bleibt so


    Ich bin noch Anfänger und lerne erst gerade das scripten ;)..
    So habe das gemacht von reason[128] zu reason
    Geht immer noch nicht :O

  • Außerdem empfehle ich dir die Variable umzubenennen, da du sonst später den Fehler bei anderen Befehlen machst.
    reason = grund und hat in der Hinsicht nichts mit den Respektpunkten zu tun.


    Was ich damit sagen will ist, dass es dich beim rüberschauen des Codes einfach verwirrt.
    Es ist zwar nicht falsch und der Befehl wird richtig ausgegeben, aber das ist nachher für dich besser.
    Nenne es also bspw. respektpunkte.

  • ocmd:giverespekt(playerid,params[])
    {
    if(IsPlayerAnAdmin(playerid,1337))
    {
    new pID,reason,string[128];
    if(sscanf(params,"ui",pID,reason))return SendClientMessage(playerid,GRAU,"Verwendung: /giverespekt [playerid] [Respektpunkte]");
    if(IsPlayerConnected(pID))
    {
    format(string,sizeof(string),"Admin %s hat dir %d Respektpunkt/e gegeben",SpielerName(playerid),reason);
    SetPVarInt(pID,"Respektpunkt",GetPVarInt(playerid,"Respektpunkt")+reason);
    SpielerSpeichern(pID);
    }
    else
    {
    SendClientMessage(playerid,ROT,"Spieler ist Offline!");
    }
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Adminstrator!");
    }
    return 1;
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Außerdem empfehle ich dir die Variable umzubenennen, da du sonst später den Fehler bei anderen Befehlen machst.
    reason = grund und hat in der Hinsicht nichts mit den Respektpunkten zu tun.


    Was ich damit sagen will ist, dass es dich beim rüberschauen des Codes einfach verwirrt.
    Es ist zwar nicht falsch und der Befehl wird richtig ausgegeben, aber das ist nachher für dich besser.
    Nenne es also bspw. respektpunkte.

    Da hast du wohl recht ich werde das dann absofort machen Danke für die Info :)


    Geht immer noch nicht


    ocmd:giverespekt(playerid,params[])
    {
    if(IsPlayerAnAdmin(playerid,1337))
    {
    new pID,respektpunkter,string[128];
    if(sscanf(params,"ui",pID,respektpunkter))return SendClientMessage(playerid,GRAU,"Verwendung: /giverespekt [playerid] [Respektpunkte]");
    if(IsPlayerConnected(pID))
    {
    format(string,sizeof(string),"Admin %s hat dir %d Respektpunkt/e gegeben",SpielerName(playerid),respektpunkter);
    SendClientMessage(pID,HBLAU,string);
    SetPVarInt(pID,"Respektpunkt",GetPVarInt(playerid,"Respekpunkt")+respektpunkter);
    SpielerSpeichern(pID);
    }
    else
    {
    SendClientMessage(playerid,ROT,"Spieler ist Offline!");
    }
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Adminstrator!");
    }
    return 1;
    }