Bekomme einige Fehler bei einem ocmd 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
  • Hi ich wollte einen Chat machen der nur für admins ist´, aber ich bekomme Fehler.
    Hier die Fehler C:\Users\Niklas\Desktop\GTA SERVER\gamemodes\rl.pwn(1831) : error 035: argument type mismatch (argument 1)
    C:\Users\Niklas\Desktop\GTA SERVER\gamemodes\rl.pwn(1831) : error 035: argument type mismatch (argument 1)
    C:\Users\Niklas\Desktop\GTA SERVER\gamemodes\rl.pwn(1832) : error 035: argument type mismatch (argument 2)


    Und hier die Zeilenocmd:a(playerid,params[])
    {
    new string;
    if(GetPVarInt(playerid,"Adminlevel")!=1)return SendClientMessage(playerid,Rot,"Du bist kein Admin");
    if(sscanf(params,"s",string))return SendClientMessage(playerid,Orange,"Benutze: /a[Text]");
    format(string,sizeof(string),string,string);<-------FEHLER 2 und FEHLER 1
    SendMessageToAdmin(Orange,string);<-------FEHLER 3
    return 1;
    }


    und dann habe ich noch eine kleine Frage. Woher weiß ich welche Zahlen hinter einen String müssen? Also z.B. new string[WOHER WEIß ICH WAS HIER REIN MUSS?];


    MFG Acrio

  • ocmd:a(playerid,params[])
    {
    new string[126]; //anzahl der Zeichen
    new name[MAX_PLAYER_NAME]; // Name vom Spieler
    GetPlayerName(playerid,name,sizeof(name));
    if(GetPVarInt(playerid,"Adminlevel") < 1)return SendClientMessage(playerid,Rot,"Du bist kein Admin.");
    if(sscanf(params,"s",string))return SendClientMessage(playerid,Orange,"Benutze: /a [Text]");
    format(string,sizeof(string),"%s: %s",name,string);
    SendMessageToAdmin(Orange,string);
    return 1;
    }

  • Ich habs jetzt auch mal versucht und habe es jetzt so
    ocmd:a(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,Rot,"Du bist kein Admin");
    new string[128],Absender[MAX_PLAYER_NAME],Text[128];
    if(sscanf(params,"uu",Absender,Text))return SendClientMessage(playerid,Orange,"Benutze: /a [Text]");
    GetPlayerName(playerid,Absender,sizeof(Absender));
    format(string,sizeof(string),"(( %s: %s ))",Absender,Text);
    SendMessageToAdmin(Orange,string);
    return 1;
    }
    geht das so oder wird es nicht funktionieren? (Ich bekomme keine Errors oder warnings).

  • Machs so
    ocmd:a(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,Rot,"Du bist kein Admin");
    new string[128],Absender[MAX_PLAYER_NAME],Text[128];
    if(sscanf(params,"us",Absender,Text))return SendClientMessage(playerid,Orange,"Benutze: /a [Text]");
    GetPlayerName(playerid,Absender,sizeof(Absender));
    format(string,sizeof(string),"(( %s: %s ))",Absender,Text);
    SendMessageToAdmin(Orange,string);
    return 1;
    }

    Mit unfreundlichen Grüßen
    Buschmensch