new Text:blackTD;
#define DIALOG_MODCHECK 6
blackTD = TextDrawCreate(-20.000000,2.000000,"|");
TextDrawUseBox(blackTD,1);
TextDrawBoxColor(blackTD,0x000000ff);
TextDrawTextSize(blackTD,660.000000,22.000000);
TextDrawAlignment(blackTD,0);
TextDrawBackgroundColor(blackTD,0x000000ff);
TextDrawFont(blackTD,3);
TextDrawLetterSize(blackTD,1.000000,52.200000);
TextDrawColor(blackTD,0x000000ff);
TextDrawSetOutline(blackTD,1);
TextDrawSetProportional(blackTD,1);
TextDrawSetShadow(blackTD,1);
ocmd:modcheck(playerid,params[])
{
new string[128];
new para;
new pID;
if(!IsPlayerAnAdmin(playerid,4))return SendClientMessage(playerid,COLOR_GREY,"Du bist kein Admin Rang 4!");
if(sscanf(params,"ui",pID,para))return SendClientMessage(playerid,COLOR_WHITE,"Benutzung: /modcheck [Name/ID] [1 =(freeze) 2 =(unfreezed) 3 =(Aus)]");
if(para < 1 || para > 3)return SendClientMessage(playerid,COLOR_WHITE,"** Fehler: Verwende als Parameter 1-3 ( 3 = Aus ) **");
if(pID == playerid)return SendClientMessage(playerid,COLOR_WHITE,"Du kannst dich nicht selbst überprüfen!");
if(para == 1) // modcheck 1 ( freeze )
{
format(string,sizeof(string),"[Modcheck]: %s überprüft %s auf Illegale Modifikationen. ( Type 1 (Freeze) )",PlayerName(playerid),PlayerName(pID));
SendAdminMessage(string);
SetPlayerInterior(pID,0);
TextDrawShowForPlayer(pID,Text:blackTD);
ShowPlayerDialog(pID,DIALOG_MODCHECK,DIALOG_STYLE_MSGBOX,"Modcheck","{FF0000}Du wirst nun auf Illegale Modifikationen überprüft!","OK","");
SetPVarInt(pID,"modcheck",1);
SetPlayerPos(pID,-672.1529,962.2229,12.1328); // cheater wird geportet
SetPlayerVirtualWorld(pID,33); // virtuelle welt
SetPlayerPos(playerid,-675.8786,961.8928,12.1328); // sollte klar sein ^^
SetPlayerVirtualWorld(playerid,33); // ebenfalls
GivePlayerWeapon(playerid,24,9999);
GivePlayerWeapon(playerid,25,9999);
GivePlayerWeapon(playerid,38,9999);
SendClientMessage(pID,COLOR_RED,"[Modcheck] Du wirst nun auf Illegale Modifikationen überprüft!");
SendClientMessage(pID,COLOR_RED,"[Modcheck] Solltest du diesen Modcheck umgehen indem du dich Ausloggst");
SendClientMessage(pID,COLOR_RED,"[Modcheck] Oder auf eine andere Art den Modcheck umgehst");
SendClientMessage(pID,COLOR_RED,"[Modcheck] Droht die Permanente Sperre!!");
TogglePlayerControllable(pID,0);
SetPlayerHealth(playerid,100.0);
SetPlayerHealth(pID,100.0);
SendAdminMessage(string);
}
if(para == 2)
{
format(string,sizeof(string),"[Modcheck]: %s überprüft %s auf Illegale Modifikationen. ( Type 2 (Unfreeze) )",PlayerName(playerid),PlayerName(pID));
SendAdminMessage(string);
TextDrawShowForPlayer(pID,Text:blackTD);
ShowPlayerDialog(pID,DIALOG_MODCHECK,DIALOG_STYLE_MSGBOX,"Modcheck","{FF0000}Du wirst nun auf Illegale Modifikationen überprüft!","OK","");
SetPVarInt(pID,"modcheck",1);
SetPlayerPos(pID,-672.1529,962.2229,12.1328); // cheater wird geportet
SetPlayerVirtualWorld(pID,33); // virtuelle welt
SetPlayerPos(playerid,-675.8786,961.8928,12.1328); // sollte klar sein ^^
SetPlayerVirtualWorld(playerid,33); // ebenfalls
GivePlayerWeapon(playerid,24,9999);
GivePlayerWeapon(playerid,25,9999);
GivePlayerWeapon(playerid,38,9999);
TogglePlayerControllable(pID,1);
SendAdminMessage(string);
SetPlayerHealth(playerid,100.0);
SetPlayerHealth(pID,100.0);
}
if(para == 3)
{
format(string,sizeof(string),"[Modcheck]: %s hat die Überprüfung von %s beendet.",PlayerName(playerid),PlayerName(pID));
SendAdminMessage(string);
TextDrawHideForPlayer(pID,Text:blackTD);
ShowPlayerDialog(pID,DIALOG_BEENDET,DIALOG_STYLE_MSGBOX,"Modcheck","Modcheck Beendet!","OK","");
DeletePVar(playerid,"modcheck");
SetPlayerVirtualWorld(playerid,0);
SetPlayerVirtualWorld(pID,0);
SetPlayerHealth(playerid,100.0);
SetPlayerHealth(pID,100.0);
SendAdminMessage(string);
SpawnPlayer(pID);
SpawnPlayer(playerid);
}
return 1;
}
stock SendAdminMessage(const message[])
{
for(new i; i<MAX_PLAYERS; i++)
{
if(GetPVarInt(i,"admin") >= 1)
{
SendClientMessage(i,AMSG,message);
}
else
{
return 1;
}
}
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
if(GetPVarInt(playerid,"modcheck") == 1)
{
SetPlayerPos(playerid,-672.1529,962.2229,12.1328);
SpawnPlayer(playerid);
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid==DIALOG_MODCHECK)
{
if(response==0)
{
ShowPlayerDialog(playerid,DIALOG_MODCHECK,DIALOG_STYLE_MSGBOX,"Modcheck","{FF0000}Du wirst nun auf Illegale Modifikationen überprüft!","OK","");
}
if(response==1)
{
ShowPlayerDialog(playerid,DIALOG_MODCHECK,DIALOG_STYLE_MSGBOX,"Modcheck","{FF0000}Du wirst nun auf Illegale Modifikationen überprüft!","OK","");
}
}
return 1;
}
Have fun, kannste ja noch anpassen.
Wenn er bei Modcheck 1 HP verliert, hat er Hacks an.
Wenn er bei Modcheck 2 keine HP verliert, hat er Hacks an.
Du kannst noch bei Ondialogresponse das Dialog wieder anzeigen lassen, damit der Spieler die ganze Zeit auf ein OK Button drücken muss(so hab ichs bei mir)