/su (suspect) Hilfe

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,


    Ich habe folgendes Problem bei meinem /su Command um Wanteds zu vergeben:
    mein Befehl lautet wie folgt:


    /su [Id/Name][Grund]


    Ich möchte z.B.: ID 0 soll Wanteds bekommen - Wegen Grund 1 (Beamtenbeleidigung)


    Also sollte man folgendes im Chat eingeben:
    /su 0 1


    Leider nimmt er aber immer Grund 0 (Zollflucht) egal was man macht...


    Hoffe mir kann jemand Helfen :)
    Danke im Vorraus :)


    Hier nun der Code


    ocmd:su(playerid,params[])
    {
    if(isPlayerInFrakt(playerid,1))
    {
    new PID,Grund[24];
    if(sscanf(params,"us",PID,Grund))return SendClientMessage(playerid,-1,"{FF3034}Server: {FFFFFF}/su [Id/Name][Grund]");
    {
    if(IsPlayerConnected(playerid))
    {
    new name[128];
    GetPlayerName(playerid,name,sizeof(name));
    new string1[128];
    new name2[128];
    GetPlayerName(playerid,name2,sizeof(name2));

    if(sscanf(params,"s",Grund) == 0)
    {
    format(string1,sizeof(string1),"Du hast %s 1 Wanted gegeben. Grund: Zollflucht",name2,Grund);
    SendClientMessage(playerid,BLAU,string1);
    SetPlayerWantedLevel(PID,GetPlayerWantedLevel(PID) +1);
    }
    else if(sscanf(params,"s",Grund) == 1)
    {
    format(string1,sizeof(string1),"Du hast %s Wanted gegeben. Grund: Beamtenbeleidigung",name2,Grund);
    SendClientMessage(playerid,BLAU,string1);
    SetPlayerWantedLevel(PID,GetPlayerWantedLevel(PID) +1);
    }
    else if(sscanf(params,"s",Grund) == 2)
    {
    format(string1,sizeof(string1),"Du hast %s Wanted gegeben. Grund: Verweigerung",name2,Grund);
    SendClientMessage(playerid,BLAU,string1);
    SetPlayerWantedLevel(PID,GetPlayerWantedLevel(PID) +1);
    }
    else if(sscanf(params,"s",Grund) == 4)
    {
    format(string1,sizeof(string1),"Du hast %s Wanted gegeben. Grund: Flucht",name2,Grund);
    SendClientMessage(playerid,BLAU,string1);
    SetPlayerWantedLevel(PID,GetPlayerWantedLevel(PID) +1);
    }
    }
    }
    }
    return 1;
    }



    Mit freundlichen Grüßen,
    TheFirstRush

  • Hoffe mir kann jemand Helfen


    Hier, schreib mal den ganze Command so:


    ocmd:su(playerid,params[]) {
    if(!isPlayerInFrakt(playerid,1)) return SendClientMessage(playerid,-1,"{FF3034}Du bist kein Cop!");
    new pID,Grund,name2[MAX_PLAYER_NAME],string[128];
    if(sscanf(params,"ud",pID,Grund))return SendClientMessage(playerid,-1,"{FF3034}Server: {FFFFFF}/su [Id/Name][Grund]");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,-1,"{FF3034}Ein Spieler mit dieser ID ist nicht online!");
    GetPlayerName(pID,name2,sizeof(name2));
    switch(Grund) {
    case 0: format(string,sizeof(string),"Du hast %s 1 Wanted gegeben. Grund: Zollflucht",name2);
    case 1: format(string,sizeof(string),"Du hast %s 1 Wanted gegeben. Grund: Beamtenbeleidigung",name2);
    case 2: format(string,sizeof(string),"Du hast %s 1 Wanted gegeben. Grund: Verweigerung",name2);
    case 3: format(string,sizeof(string),"Du hast %s 1 Wanted gegeben. Grund: Flucht",name2);
    }
    return SetPlayerWantedLevel(pID,GetPlayerWantedLevel(pID) +1),SendClientMessage(playerid,BLAU,string);
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Ich danke dir ganz doll :)
    Habe mich auch gerade gefragt warum ich überhaupt eine Abfrage von name und name2, wenn ich nur name2 verwende :D


    Auf jeden Fall klappts jetzt :) Danke nochmal :3


    Ich änder nur noch case:



    switch(Grund)
    {
    case 0:
    {
    format(string,sizeof(string),"Du hast %s 1 Wanted gegeben. Grund: Zollflucht",name2);
    SetPlayerWantedLevel(pID,GetPlayerWantedLevel(pID) +1),SendClientMessage(playerid,BLAU,string);
    }
    }
    return 1;



    weil ich noch mehr einbauen möchte, wofür man dann zB auch zwei Wanteds bekommt :) Danke dir :)


    Mit freundlichen Grüßen,
    TheFirstRush