/su befehl buggt, Params falsch?

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 hab noch ein kleines Problem, da zerbrech ich mir jetzt sicher schon 2 Wochen den Kopf.(Ich habs mit Params nicht so am Hut)



    ocmd:su(playerid,params[])
    {
    new text[128];
    new text2[128];
    new ID;
    new WLVL;
    new GRD;
    new NWLVL = GetPlayerWantedLevel(ID);
    if(!IstSpielerInFraktion(playerid,1)) return SendClientMessage(playerid,COLOR_SERVER,"Du bist kein Cop/S.W.A.T!");
    if(sscanf(params,"uis",ID,WLVL,GRD)) return SendClientMessage(playerid,COLOR_SERVER,"Benutze /su [ID] [WANTEDS] [GRUND]");
    format(text,sizeof(text),"Verbrecher: %s - Wanteds: %d - Grund: %s - Cop: %s",SpielerName(ID),WLVL,GRD,SpielerName(playerid));
    format(text2,sizeof(text2),"Du hast vom Cop %s , %d Wanteds bekommen!",SpielerName(playerid),WLVL);
    SetPlayerWantedLevel(ID,NWLVL+WLVL);
    SendClientMessage(playerid,COLOR_BLUE,text);
    SendClientMessage(ID,COLOR_BLUE,text2);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IstSpielerInFraktion(i,1))
    {
    SendClientMessage(i,COLOR_BLUE,text);
    }
    if(IstSpielerInFraktion(i,2))
    {
    SendClientMessage(i,COLOR_BLUE,text);
    }
    }
    }
    return 1;
    }



    Doch der wenn ich z.B: eingebe /su 2 2 Buuhuhuhu (SpielerID2 bin ich Black_Mamba) dann steht nacher im Chat: Verbecher: Wanteds: 101 Grund:Buhuhu Cop:Black_Mamba oder Verbecher: BUS Wanteds: 101 Grund:Buhuhu Cop:Black_Mamba


    liegt das an der Falschen besetzung der Params?


    //Edit: Die Wanteds bekomme ich auch nicht :(





    Grüsse Black_Mamba

  • Hallo!
    Ich bin vom Handy online, sehe also leider nur einen Teil vom Code.
    Aber verwende mal beim format() statt SpielerName(ID) einfach "GetPlayerName(ID)
    Das löst schonmal das Namensproblem.
    LG FlasH

    Professioneller Webentwickler.

  • Kann mir denn niemand Helfen? Ist mein Anliegen so schwer zu lösen? Es gibt hier sicher Leute die was von Params verstehen, ist ja ein SAMP Forum und wir sind hier im Bereich Scripting Base :P


    Bitte, ich dreh durch, hab par sachen schon Probiert, aber keine hat etwas gebracht.



    Grüsse
    Black_Mamba

  • Hey, ich habe hier mal ein paar kleine Fehler überarbeitet ich hoffe das ist die Lösung.



    ocmd:su(playerid,params[])
    {
    new text[128];
    new text2[128];
    new ID;
    new WLVL;
    new GRD;
    new NWLVL = GetPlayerWantedLevel(ID);
    new SpielerName[MAX_PLAYER_NAME],SpielerCop[MAX_PLAYER_NAME];
    if(!IstSpielerInFraktion(playerid,1)) return SendClientMessage(playerid,COLOR_SERVER,"Du bist kein Cop/S.W.A.T!");
    if(sscanf(params,"uds",ID,WLVL,GRD)) return SendClientMessage(playerid,COLOR_SERVER,"Benutze /su [ID] [WANTEDS] [GRUND]");
    GetPlayerName(ID,SpielerName,sizeof(SpielerName));GetPlayerName(playerid,SpielerCop,sizeof(SpielerCop));
    format(text,sizeof(text),"Verbrecher: %s - Wanteds: %d - Grund: %s - Cop: %s",SpielerName,WLVL,GRD,SpielerCop);
    format(text2,sizeof(text2),"Du hast vom Cop %s , %d Wanteds bekommen!",SpielerCop,WLVL);
    SetPlayerWantedLevel(ID,NWLVL+WLVL);
    SendClientMessage(playerid,COLOR_BLUE,text);
    SendClientMessage(ID,COLOR_BLUE,text2);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IstSpielerInFraktion(i,1))
    {
    SendClientMessage(i,COLOR_BLUE,text);
    }
    if(IstSpielerInFraktion(i,2))
    {
    SendClientMessage(i,COLOR_BLUE,text);
    }
    }
    }
    return 1;
    }