/suspect und /clear

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 fragen wie ich die Commands /suspect (Wanteds geben) und /clear (Wanteds löschen) machen kann.
    Ich habe bereits gesucht aber nichts passendes gefunden. Am besten wäre es dann noch wenn die Wanteds gespeichert werden und beim nächsten Login wieder da sind :)


    Ich habe ein selfmade, kein Godfather!



    Danke im Vorraus.
    MfG Zaziki

  • Hier ist ein kleines von mir

    // Ganz Oben Wanted[MAX_PLAYERS]; und static gTeam[MAX_PLAYERS]; und #define COPS 0 <- muss aber nicht sein, kannst auch weglassen
    if(strcmp("/wanted",cmdtext,false,7)==0)
    {
    new tmp[130];
    tmp = zcmd(1,cmdtext);
    new tmp2[130];
    tmp2 = zcmd(2,cmdtext);
    new DeinLevel = strval(tmp2);
    new ID = strval(tmp);// Damit du statt nur ID auch Name oder ID eingeben kannst, bräuchtest ReturnUser
    if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid,rot,"Verwende /wanted ID LEVEL!");
    if(gTeam[playerid] != COPS) return SendClientMessage(playerid,rot,"Du bist kein COpMember");
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid,rot,"ID icht online");
    if(DeinLevel >= 7 || DeinLevel <= 0) return SendClientMessage(playerid,rot,"Level muss zwischen 1 und 6 liegen!");
    SetPlayerWantedLevel(ID,DeinLevel);
    Wanted[ID] += DeinLevel;// Nicht unbedingt nötig,gbit GetPlayerWantedLevel
    SendClientMessage(playerid,rot,"Wanted Level verändert!");
    SendClientMessage(ID,rot,"Du wurdest Wanted gesetzt");
    return 1;
    }
    if(strcmp("/clear",cmdtext,false,6)==0)
    {
    new tmp[128];
    tmp = zcmd(1,cmdtext);
    new ID = strval(tmp);
    if(!strlen(tmp)) return SendClientMessage(playerid,rot,"Verwende /clear ID");
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid,rot," Angegebene ID nicht on!");
    Wanted[ID] = 0;
    SetPlayerWantedLevel(ID,0);
    SendClientMessage(playerid,rot,"Wanted gelöscht!");
    SendClientMessage(ID,rot,"Wanted gelöscht vom Cop");
    return 1;
    }


    // Dazu brauchst du den zcmd Code (kann es auch umschreiben in strtok,dcmd oder was du auch immer hast)
    zcmd(param, cmdtext[])
    {
    new string[128], pos, var;
    format(string, sizeof(string), "%s ", cmdtext);


    while((pos = strfind(string, " ", true)) != -1)
    {
    if(var == param) return string;
    var++;


    strdel(string, 0, pos + 1);
    if(strcmp(string, " ", true, pos) == 0) goto end;
    }


    end:
    string[0] = '\0';
    return string;
    }

    Teste einfach

    Einmal editiert, zuletzt von KornChief ()

  • Cool danke!


    Jetzt hatte ich ein paat Fehler, habe alle bis auf 2 beheben können:

    Zitat


    C:\Games\ALLESA~1\AKTUEL~1.(AN\GAMEMO~1\Reallife.pwn(1201) : warning 219: local variable "ID" shadows a variable at a preceding level
    C:\Games\ALLESA~1\AKTUEL~1.(AN\GAMEMO~1\Reallife.pwn(1218) : warning 219: local variable "ID" shadows a variable at a preceding level
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Warnings.


    Zeile 1201: new ID = strval(tmp);


    1218: new ID = strval(tmp);