Beiträge von marcel97p

    Firefan? Kann er das, ja? Ohne Pawn-Kenntnisse? Alles klar.


    Dann ist es halt ein "Verbotene-Waffen-Erkenn-System", mein Gott.. Es bannt jedenfalls Spieler die eine verbotene Waffe trägt - und SPieler die verbotenes machen werden gebannt.

    Meine Herren...
    jetzt zofft euch nicht wegen diese dummen OnPlayerUpdate...
    Ich habe oben das mit der englischen Sprache gelesen - ja, das habe ich mit Absicht so gemacht. Einen plausiblen Grund habe ich nicht, allerdings muss ich doch nicht rechtfertigen warum ich da englisch nehm? Ich kann ja auch französich nehmen ^^


    Das mit dem "ercheaten" - das kann man wirklich besser machen, aber so finde ich es in Ordnung.

    Danke für das Feedback bis jetzt.


    OnPlayerUpdate ist meines Wissens nach dafür geeignet^^


    Ein Timer verbraucht recht viele Ressourcen, besonders wenn er jede sekunde abgerufen wird.

    Hallo Com.,


    ich habe soeben ein Antiwaffensystem geschrieben.
    Es ist ein Ressourcen-Sparendes Filterscript, das Anticheat an sich ist im Callback "OnPlayerUpdate" geschrieben und läuft nicht über einen ressourcenfressenden Timer.


    Es verfügt über das AntiCheat und über einen Befehl um die Waffen eines Spieler zu resetten: /disarm [playerid]. Der Befehl funktioniert nur, wenn der ausführende Spieler als RCON Admin eingeloggt ist.


    Das Filterscript wurde zuletzt mit den SAMP0.3e -Includes compiled [siehe .rar-Paket: Pawno: Includes]
    Pastebin:
    http://pastebin.de/26155


    .rar-Paket im Anhang.


    Liebe Grüße :)

    Hallo Com.,


    ich schreibe grade ein Filterscript rund um Waffen - AntiCheat etc.


    Jetzt habe ich aber ein Problem bei folgendem Befehl: /disarm.
    Ich bekomme 6 Errors, die ich zwar verstehe, aber nicht weiß wie ich sie beseitigen soll.


    Ich stelle die Frage jetzt mal an euch :)


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new cmd[30];
    new idx;
    cmd = strtok(cmdtext, idx);


    if(strcmp(cmd, "/disarm", true) == 0)
    {
    new tmp[30];
    tmp = strtok(cmdtext, idx);

    new giveplayer = strval(tmp);


    if(IsPlayerAdmin(playerid))
    {
    if(IsPlayerConnected(giveplayer))
    {
    new str[128], sendername[MAX_PLAYER_NAME], giveplayername[MAX_PLAYER_NAME];


    GetPlayerName(playerid, sendername, sizeof(sendername));
    GetPlayerName(giveplayer, giveplayername, sizeof(giveplayername));
    format(str, sizeof(str), "AdmCmd:%s have been disarmed by %s!", giveplayername, sendername);


    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerAdmin(i))
    {
    SendClientMessage(i, 0xFFFF00AA, str);
    }
    }

    ResetPlayerWeapons(giveplayer);
    SendClientMessage(giveplayer, 0xFFFF00AA, "AdmCmd: You have been disarmed by an Admin!");
    }
    return 1;
    }
    else { SendClientMessage(playerid, 0xFFFF00AA, "You aren´t logged in as an Admin!"); }
    }
    return 1;
    }


    Errors:
    C:\Users\Marcel\Desktop\GameCide[WINDOWS]\filterscripts\anticheat.pwn(65) : error 017: undefined symbol "strtok"
    C:\Users\Marcel\Desktop\GameCide[WINDOWS]\filterscripts\anticheat.pwn(65) : error 033: array must be indexed (variable "cmd")
    C:\Users\Marcel\Desktop\GameCide[WINDOWS]\filterscripts\anticheat.pwn(70) : error 017: undefined symbol "strtok"
    C:\Users\Marcel\Desktop\GameCide[WINDOWS]\filterscripts\anticheat.pwn(70) : error 033: array must be indexed (variable "tmp")
    C:\Users\Marcel\Desktop\GameCide[WINDOWS]\filterscripts\anticheat.pwn(64) : warning 203: symbol is never used: "idx"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

    Jup ;D


    Kein Problem.


    Nochmal kurz zur Erklärung:

    AddStaticVehicle(522, x, y, z, 0.0, 1, 1); //<-- Heißt:
    AddStaticVehicle(VehicleID, position X, position Y, postion Z, facingangle(in welche Richtung das Vehicle ausgerichtet ist), colour 1, colour2);

    Auch auf die Dateiendung geachtet? Bei Windows ist es einfach nur der Pluginname und bei Linux ist es "beispiel.so".

    Quatsch! Dann ist da ja eine Klammer zu viel. So wie der Warning es besagt ist der Stock wirklich am falschen Platz 8|


    Mit dem Server startet nicht: Alle Plugins da? Scriptfiles da? Die Plugins in der server.cfg eingetragen [bei Linux mit

    Code
    plugins beispiel.so

    ?

    Ich könnte Dir jetzt einen Codeschnipsel posten, aber dann lernst du daraus ja nix.


    Ich liste Dir aber auf was du alles brauchst:


    Die Floats / Koordinaten wo das Auto hin soll
    (new Float:x, Float:y, Float:z;)


    Das Parameter erstellen (welches Auto soll geportet werden? Bspw. vID 1).


    Die Spielerkoordinaten auslesen lassen (mit GetPlayerPos(playerid, x, y, z);)
    Dann die Funktion "SetVehiclePos" (Argumente: Welches Auto?, Pos X, Pos Y, Pos Z)


    Verstanden? ;)