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.
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
Danke Dir.
Braucht man das immer? Kann mich nicht erinnern das schonmal benutzt zu haben.
Wohin damit? Als Stock, in OPCT rein oder wo?
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);
Ja, das ist doch gut
Nur mach das so:
AddStaticVehicle(522, X, Y, Z, 0.0, 1, 1);
Aber den Code hast du gut gemacht. Und pbrigens: Die ID einer NRG ist 522 ;D
Na in dem Befehl wo du das Auto zu dir porten willst?
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?
Das kann eigentlich nur ein Mod sein
Müsste. Versuch es doch einfach? xD Das klingt mir so aber plausibel und logisch(er).
Mach einfach mal nur:
new money; //Nicht: new money[120];
Mit dem ersten und dritten: Schau mal hier im Showroom - da findest du 2 passende Filterscripts.
Oben in der Browserleiste steht bei dir auch "www.gtaservers.de/panel"
Zitatund alles was dazugehört