Hab ich gemacht, hat sich nichts verändert.
Beiträge von LeonMrBonnie
-
-
ACChecks()
{
new iString[160];
foreach(new i : Player)
{
if(IsPlayerConnected(i) && Player[i][Spawned] == true)
{
/*
//animationnew animlib[32];
new animname[32];
GetAnimationName(GetPlayerAnimationIndex(i),animlib,32,animname,32);
format(iString, sizeof(iString), "Animation: %s %s --- %d", animlib, animname, GetPlayerAnimationIndex(i));
SendACWarning(i, iString);
*///jetpack
if(Player[i][SafeJetpack] == false && GetPlayerSpecialAction(i) == SPECIAL_ACTION_USEJETPACK)
{
SendACWarning(i, "Jetpack");
}//weaponhacks
new weaponid = GetPlayerWeapon(i);
if(Player[i][SafeGun] == false && weaponid != 0 && weaponid != DEAGLE && weaponid != SHOTGUN && weaponid != SPAS && weaponid != MP5 && weaponid != AK47 && weaponid != M4 && weaponid != RIFLE && weaponid != SNIPER && weaponid != GRENADE)
{
format(iString, sizeof(iString), "Waffen Hack: %s", WeaponNames[weaponid]);
SendACWarning(i, iString);
}//ammohack
new Weapon[13], Ammo[13];
for(new k = 0; k < 13; k++) GetPlayerWeaponData(i, k, Weapon[k], Ammo[k]);
if(Player[i][VIP] == 1 && Player[i][SafeGun] == false)
{
if(Ammo[2] > 200 || Ammo[3] > 200 || Ammo[4] > 200 || Ammo[5] > 400 || Ammo[6] > 200 || Ammo[8] > 2)
{
SendACWarning(i, "Ammo Hack");
}
}
else if(Player[i][VIP] == 0 && Player[i][SafeGun] == false)
{
if(Ammo[2] > 100 || Ammo[3] > 100 || Ammo[4] > 100 || Ammo[5] > 200 || Ammo[6] > 100 || Ammo[8] > 1)
{
SendACWarning(i, "Munitions Hack");
}
}//armorhack
new Float:AP;
GetPlayerArmour(i, AP);
if(AP > 25)
{
SendACWarning(i, "Rüstungs Hack");
}//airbreak
if(GetPlayerAnimationIndex(i) == 958 || GetPlayerAnimationIndex(i) == 959 || GetPlayerAnimationIndex(i) == 961 || GetPlayerAnimationIndex(i) == 962)
{
SendACWarning(i, "Airbreak");
}//speedhack
new Float:V[3], Float:SumV;
GetPlayerVelocity(i, V[0], V[1], V[2]);
if(V[0] > 0 && V[1] > 0) SumV = V[0] + V[1];
if(V[0] < 0 && V[1] < 0) SumV = V[0] + V[1];
if(V[0] > 0 && V[1] < 0) SumV = V[0] - V[1];
if(V[0] < 0 && V[1] > 0) SumV = V[1] - V[0];
if(SumV > 0.44 || SumV < -0.44)
{
format(iString, sizeof(iString), "Speedhack/Macros/Slidebug -- Geschwindigkeit: %.5f", SumV);
SendACWarning(i, iString);
}
}
}
} -
Ja, ich arbeite nur mit zcmd. Alle anderen Befehle funktionieren.
-
CMD:toggleanticheat(playerid,params[])
{
if(Player[playerid][Level] < 4) return SendErrorMessage(playerid,"Du musst ein Serverleiter sein um diesen Command zu benutzen.");
new iString[64];
printf("AntiCheat Status: %s", AntiCheatActive);if(AntiCheatActive == true)
{
AntiCheatActive = false;
printf("AntiCheat Status: %s", AntiCheatActive);
SendClientMessage(playerid, COLOR_GREEN, "Du hast das AntiCheat erfolgreich deaktiviert.");
SendClientMessageToAll(COLOR_RED,"|____________{ANTI CHEAT NACHRICHT}____________|");
SendClientMessageToAll(COLOR_RED,"");
format(iString, sizeof(iString), "{101080}%s hat das komplette AntiCheat deaktiviert.", GetName(playerid));
SendClientMessageToAll(COLOR_RED, iString);
SendClientMessageToAll(COLOR_RED,"");
SendClientMessageToAll(COLOR_RED,"|____________{ANTI CHEAT NACHRICHT}____________|");
printf("[warning] %s deaktiviert das Anticheat.",GetName(playerid));
}else if(AntiCheatActive == false)
{
AntiCheatActive = true;
printf("AntiCheat Status: %s", AntiCheatActive);
SendClientMessage(playerid, COLOR_GREEN, "Du hast AntiCheat erfolgreich aktiviert.");
SendClientMessageToAll(COLOR_GREEN,"|____________{ANTI CHEAT NACHRICHT}____________|");
SendClientMessageToAll(COLOR_GREEN,"");
format(iString, sizeof(iString), "{101080}%s hat das komplette AntiCheat aktivert.", GetName(playerid));
SendClientMessageToAll(COLOR_GREEN, iString);
SendClientMessageToAll(COLOR_GREEN,"");
SendClientMessageToAll(COLOR_GREEN,"|____________{ANTI CHEAT NACHRICHT}____________|");
printf("[warning] %s aktiviert das Anticheat.",GetName(playerid));
}
else
{
SendClientMessage(playerid, COLOR_RED, "Es ist ein Fehler aufgetreten.");
}
return 1;
} -
Hab schon bei OnGameModeInit "AntiCheatActive = true;" das macht doch das gleiche wie hinter dem bool noch "= true" machen, oder nicht?
Es ist egal was ich dem Befehl hinzufüge es wird nicht angezeigt. Auch das printf konnte ich nicht sehen.
-
Auch eine SendClientMessage wird mir nicht ausgegeben...
EDIT:
Ich weiß nicht obs damit zu tun hat aber ich habe einen Timer der jede Sekunden "OnScriptUpdate" aufruft und bei OnScriptUpdate steht:
forward OnScriptUpdate();
public OnScriptUpdate()
{
if(AntiCheatActive == true)
{
ACChecks();
}
......
...... -
Bei mir funktioniert es auch nicht wenn ich die Admin Abfrage raus nehme.
-
ehm hey
ist AntiCheatActive mit ein new definiert also so?
new AntiCheatActive;
wenn ja gibts bei mir warnings ich muss mit true zu 1 und fals als 0 angeben also so dann
if(AntiCheatActive == 1) { AntiCheatActive = 0; SendClientMessageToAll(COLOR_RED,"|____________{ANTI CHEAT NACHRICHT}____________|"); SendClientMessageToAll(COLOR_RED,""); format(iString, sizeof(iString), "{101080}%s hat das komplette AntiCheat deaktiviert.", GetName(playerid)); SendClientMessageToAll(COLOR_RED, iString); SendClientMessageToAll(COLOR_RED,""); SendClientMessageToAll(COLOR_RED,"|____________{ANTI CHEAT NACHRICHT}____________|"); printf("[warning] %s deaktiviert das Anticheat.",GetName(playerid)); } else if(AntiCheatActive == 0) { AntiCheatActive = 1; SendClientMessageToAll(COLOR_GREEN,"|____________{ANTI CHEAT NACHRICHT}____________|"); SendClientMessageToAll(COLOR_GREEN,""); format(iString, sizeof(iString), "{101080}%s hat das komplette AntiCheat aktivert.", GetName(playerid)); SendClientMessageToAll(COLOR_GREEN, iString); SendClientMessageToAll(COLOR_GREEN,""); SendClientMessageToAll(COLOR_GREEN,"|____________{ANTI CHEAT NACHRICHT}____________|"); printf("[warning] %s aktiviert das Anticheat.",GetName(playerid)); } return 1;}Ich habe AntiCheatActive definiert, aber mit einem bool also ist true und false richtig. new bool:AntiCheatActive;
-
Hallo,
ich habe einen Befehl erstellt um das AntiCheat des Servers zu de/aktivieren. Wenn ich den Befehl ausführe passiert GARNIX, keine Nachricht im Chat, nichts im Server Log und auch keine Errors oder Warnings in PAWN./toggleanticheat Befehl:
CMD:toggleanticheat(playerid,params[])
{
if(Player[playerid][Level] < 4 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid,"Du musst ein Serverleiter sein um diesen Command zu benutzen.");
new iString[64];if(AntiCheatActive == true)
{
AntiCheatActive = false;
SendClientMessageToAll(COLOR_RED,"|____________{ANTI CHEAT NACHRICHT}____________|");
SendClientMessageToAll(COLOR_RED,"");
format(iString, sizeof(iString), "{101080}%s hat das komplette AntiCheat deaktiviert.", GetName(playerid));
SendClientMessageToAll(COLOR_RED, iString);
SendClientMessageToAll(COLOR_RED,"");
SendClientMessageToAll(COLOR_RED,"|____________{ANTI CHEAT NACHRICHT}____________|");
printf("[warning] %s deaktiviert das Anticheat.",GetName(playerid));
}else if(AntiCheatActive == false)
{
AntiCheatActive = true;
SendClientMessageToAll(COLOR_GREEN,"|____________{ANTI CHEAT NACHRICHT}____________|");
SendClientMessageToAll(COLOR_GREEN,"");
format(iString, sizeof(iString), "{101080}%s hat das komplette AntiCheat aktivert.", GetName(playerid));
SendClientMessageToAll(COLOR_GREEN, iString);
SendClientMessageToAll(COLOR_GREEN,"");
SendClientMessageToAll(COLOR_GREEN,"|____________{ANTI CHEAT NACHRICHT}____________|");
printf("[warning] %s aktiviert das Anticheat.",GetName(playerid));
}
return 1;
}Wo ist der Fehler?
-
Kick(playerid);
Zeile 12 -
Rust ist nicht gerade gut optimiert und schluckt somit ordentlich Leistung, die GTX 560 TI kann da nicht mithalten.
-
GTX 560 TI? 200€? GTA V und Rust kannste vergessen. Spar lieber mehr und hol dir einen richtigen.
-
Warst du nicht bis gestern noch Supporter?
Das ist korrekt, ich habe mich als erstes nur als Supporter beworben, habe mich dann aber kurze Zeit später auch als Scripter beworben.
-
Bei der Projektleitung nicht oderwas?
Du bist 15 Jahre und machst ein SA:MP Projekt oder möchtest eins starten.
Naja ich seh darin keinerlei Zukunft sowie das das ein 08/15 Projekt wird. Trotzalledem viel Glück.Mit freundlichen Grüßen,
NoticeGuten Tag,
ich bin mir ziemlich sicher dass dieses Projekt kein 0815 Projekt wird, der Scripter (Ich) arbeitet täglich mehrere Stunden am Script und entwickelt dieses weiter, auf Userideen wird natürlich auch geachtet. Wir haben ein nettes Adminteam mit dem niemand Probleme haben sollte; und wenn doch, meldet man sich bei mir oder Syntation.
LG -
Hallo,
ich versuche grad über OnPlayerClickPlayer ein Admin Menü für Admins zu machen, aber bei meinem Versuch damit jemanden ins CP Prison zu stecken scheitert es.
Wenn ich im Admin Menü "Spieler ins CP Prison stecken" gewählt habe erscheint das richtige Textfenster in dem nach den CPs gefragt wird, aber nachdem ich dort egal was eingebe schließt sich der Dialog und nichts passiert. In der Serverlog steht nichts.Admin Menü:
if(dialogid == 1337)
{
if(!response) return SendClientMessage(playerid, 0xFF0C29FF,"Auswahl abgebrochen.");
else
{
if(listitem == 0) return ShowPlayerDialog(playerid, 1338, DIALOG_STYLE_INPUT, "Spieler kicken", "Gib den Kickgrund ein", "Kicken", "Abbrechen");
if(listitem == 1) return ShowPlayerDialog(playerid, 1339, DIALOG_STYLE_INPUT, "Spieler muten", "Gib den Mutegrund ein", "Muten", "Abbrechen");
if(listitem == 2) return ShowPlayerDialog(playerid, 1444, DIALOG_STYLE_INPUT, "Spieler ins CP Prison stecken", "Gib die gewünschten Checkpoints ein", "CPs setzen", "Abbrechen");
if(listitem == 3) return ShowPlayerDialog(playerid, 1343, DIALOG_STYLE_INPUT, "Nachricht versenden", "Gib deine Nachricht ein", "Versenden", "Abbrechen");
if(listitem == 4) return ShowPlayerDialog(playerid, 1340, DIALOG_STYLE_INPUT, "Spieler bannen", "Gib den Banngrund ein", "Bannen", "Abbrechen");
if(listitem == 5) return ShowPlayerDialog(playerid, 1341, DIALOG_STYLE_INPUT, "Spieler IP bannen", "Gib den IP Banngrund ein", "IP bannen", "Abbrechen");
if(listitem == 6) return ShowPlayerDialog(playerid, 1342, DIALOG_STYLE_INPUT, "Rang ändern", "Gib den gewünschten Rang ein", "Rang setzen", "Abbrechen");}
}Dialog 1344 (CP Prison):
if(dialogid == 1344)
{
SavedText[playerid] = inputtext[playerid];
if(SavedText[playerid] > 99 || SavedText[playerid] < 5) return ShowPlayerDialog(playerid, 1444, DIALOG_STYLE_INPUT, "Spieler ins CP Prison stecken", "Gib die gewünschten Checkpoints ein", "CPs setzen", "Abbrechen");
if(!response) return SendClientMessage(playerid, 0xff0c29ff, "Auswahl abgebrochen.");
else
{
ShowPlayerDialog(playerid, -1, 0, "", "", "","");
ShowPlayerDialog(playerid, 1345, DIALOG_STYLE_INPUT, "Spieler ins CP Prison stecken", "Gib den gewünschten Grund ein", "Grund angeben", "Abbrechen");
return 1;
}
}Dialog 1345(Grund):
if(dialogid == 1345)
{
new target,str[140], reason[64], cps;
target = ClickedPlayer[playerid];
reason[playerid] = inputtext[playerid];
cps = SavedText[playerid];
if(!response) return SendClientMessage(playerid, 0xff0c29ff, "Auswahl abgebrochen.");
else
{if(pJailed[target] == true)
{
return SendErrorMessage(playerid, "Der Spieler befindet sich bereits im CP Prison.");
}MaxCheckPoints[target] = cps;
//Save Old Data
SaveOldData(target);//Let's Jail
ResetPlayerWeapons(target);
ShowCPTextDraws(target);
format(str, sizeof(str), "PRISON: {FFFFFF}%s {FFFF00}hat {FFFFFF}%s {FFFF00}mit CP Jail(%d CPs) bestraft. [Grund: {FFFFFF}%s{FFFF00}]", GetName(playerid), GetName(target), cps,reason);
SendClientMessageToAll(COLOR_YELLOW, str);
SetPlayerPos(target, -1398.103515,937.631164,1036.479125);
SetPlayerInterior(target, 15);
SetPlayerVirtualWorld(target, 77);
pJailed[target] = true;
RandomCheckPointCreate(target);
printf("[warning] %s hat %s für %d CP's ins CP Prison gesteckt.",GetName(playerid),GetName(target),cps);
return 1;
}
} -
Wird schwer wenn der User was eingeben muss
Eine ganze Tastatur als Textdraw machen?
-
welcher Code wird denn abgerufen wenn du dich einloggst?
-
Hallo,
ich erstelle momentan eine Liste bei OnPlayerClickPlayer wenn ein Teamitglied ein Spieler anklickt kriegt er ein Dialog indem er den Spieler bestrafen kann etc. Wenn man das Adminlevel 4 hat kriegt man die Auswahlmöglichkeit "Räng ändern" hinzu, diese funktioniert aber nicht, weil die in der Textbox eingegebene Zahl als 0 ausgegeben wird egal was man reinschreibt.OnPlayerClickPlayer:
if(Player[playerid][Level] == 4)
{
ShowPlayerDialog(playerid, 1337, DIALOG_STYLE_LIST, "{FFFF00}Admin Menü", "{FFFF00}Spieler kicken\n{15ff00}Spieler muten\n{FF0000}Spieler bannen\n{ff7400}Spieler IP bannen\n{FFCC00}Rang ändern", "Auswählen", "Abbrechen");
ClickedPlayer[playerid] = clickedplayerid;
}OnDialogResponse:
if(dialogid == 1337)
{
if(!response) return SendClientMessage(playerid, 0xFF0C29FF,"Auswahl abgebrochen.");
else
{
if(listitem == 0) return ShowPlayerDialog(playerid, 1338, DIALOG_STYLE_INPUT, "Spieler kicken", "Gib den Kickgrund ein", "Kicken", "Abbrechen");
if(listitem == 1) return ShowPlayerDialog(playerid, 1339, DIALOG_STYLE_INPUT, "Spieler muten", "Gib den Mutegrund ein", "Muten", "Abbrechen");
if(listitem == 2) return ShowPlayerDialog(playerid, 1340, DIALOG_STYLE_INPUT, "Spieler bannen", "Gib den Banngrund ein", "Bannen", "Abbrechen");
if(listitem == 3) return ShowPlayerDialog(playerid, 1341, DIALOG_STYLE_INPUT, "Spieler IP bannen", "Gib den IP Banngrund ein", "IP bannen", "Abbrechen");
if(listitem == 4) return ShowPlayerDialog(playerid, 1342, DIALOG_STYLE_INPUT, "Rang ändern", "Gib den gewünschten Rang ein", "Rang setzen", "Abbrechen");
}
}if(dialogid == 1342)
{
new string[128], target, level;
ClickedPlayer[playerid] = target;
inputtext[playerid] = level;
if(!response) return SendClientMessage(playerid, 0xff0c29ff,"Auswahl abgebrochen.");
if(isnull(inputtext) || !IsNumeric(inputtext) || level > 4) return ShowPlayerDialog(playerid, 1342, DIALOG_STYLE_INPUT, "Rang ändern", "Gib den gewünschten Rang ein", "Rang setzen", "Abbrechen");
else
{
Player[target][Level] = level;
SavePlayer(target);
format(string,sizeof(string),"%s hat %s's Rang geändert zu: %s",GetName(playerid),GetName(target),GetRang(target));
SendAdminMessage(1,string);
printf("[warning] %s ändert das Adminlevel von %s auf %s(%d)",GetName(playerid),GetName(target),GetRang(target),level);
return 1;
}
}
Wo ist der Fehler? -
Hast du /prisonlist auch mal mit mehr als 1 Spieler im Prison ausprobiert? Wird nämlich nicht korrekt funktionieren.
Mit meiner Methode funktionierts.
-
Benutze das Script jetzt auch auf meinem Server, funktioniert wirklich gut, danke!
EDIT:
Ich hätte noch eine Idee fürs Script, undzwar wenn niemand im CP Prison ist und man /prisonlist eingibt passiert nichts, wie wäre es wenn man da eine Nachricht im Chat kriegt dass niemand im CP Prison ist?EDIT2:
Hier mal ne Idee wie man das umsetzen könnte:
CMD:prisonlist(playerid)
{
new cQuery[1024];
if(Player[playerid][Level] < 1) return SendErrorMessage(playerid,"Du musst ein Supporter sein um diesen Befehl zu benutzen.");
foreach(new i: Player)
{
if(pJailed[i] == true)
{
format(cQuery, sizeof(cQuery),"{FFFF00}%s {FFFFFF}|| Verbleibende CP's: {FFFF00}%d\n", GetName(i), MaxCheckPoints[i]-CheckPointCounter[i]);
ShowPlayerDialog(playerid, D_PRISONLIST, DIALOG_STYLE_MSGBOX, "Spieler im CP Prison", cQuery, "Schliessen", "");
}
}
if(strlen(cQuery) < 1) ShowPlayerDialog(playerid,D_PRISONLIST,DIALOG_STYLE_MSGBOX,"{FFFF00}Spieler im CP Prison", "Es ist niemand im CP Prison.","Schliessen","");return 1;
}