SA-MP Forums

Go Back   SA-MP Forums > SA-MP Scripting and Plugins > Scripting Help > Help Archive

 
 
Thread Tools Display Modes
Old 08/07/2010, 01:33 PM   #1
OmarEco
Huge Clucker
 
OmarEco's Avatar
 
Join Date: Jun 2010
Location: Egypt
Posts: 292
Reputation: 0
Question help edit

in this filterscript (it'a admin script)
there on player press tap and click any player show pm dialog and send message and there reply command down
Code:
// AdminClick v1.3.2
// by biltong 2010

//This filterscript allows server admins to use common commands like ban or kick at the click of the mouse.
//Original SA:MP Post: http://forum.sa-mp.com/index.php?topic=162374.0 <-- ALL releases will be there.
/*Copyright (C) 2010  biltong

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.*/

#define FILTERSCRIPT

#include <a_samp>
//#define MAX_PLAYERS 500
//==============================================================================
//CONFIG
//==============================================================================
//#define MAX_PLAYERS 500 //NB!!!!! You MUST uncomment and change the number after MAX_PLAYERS to the amount of players your server has! This script will NOT function if you do not change this!
#define LOG_CONNECTS //comment this to stop logging when a player connects.
#define LOG_DISCONNECTS //comment this to stop logging when a player disconnects.
//#define LOG_PMS //comment this to stop logging PMs between players. (OFF BY DEFAULT)
#define LOG_DEATHS //comment this to stop logging deaths.
#define LOG_ADMINS //comment this to stop logging when an admin logs in. (RCON ONLY)

//==============================================================================

new Float:x[MAX_PLAYERS];
new Float:y[MAX_PLAYERS];
new Float:z[MAX_PLAYERS];
new Interior[MAX_PLAYERS];
new Float:RandomJail[3][3] =
{
	{197.35707092285, 173.41456604004, 1002.672668457},
	{192.8564453125, 173.4140625, 1002.672668457},
	{188.6064453125, 173.4140625, 1002.672668457}
};
new File:LogFile;
#if defined LOG_PMS
new File:PMLogFile;
#endif
new ClickedPlayer[MAX_PLAYERS];
new Wired[MAX_PLAYERS];
new Godmode[MAX_PLAYERS];
new Jailed[MAX_PLAYERS];
new Spectating[MAX_PLAYERS];
new LastPlayerReceivedFrom[MAX_PLAYERS];
new Cage0[MAX_PLAYERS], Cage1[MAX_PLAYERS], Cage2[MAX_PLAYERS], Cage3[MAX_PLAYERS];
new Caged[MAX_PLAYERS];
new HasPlayerLeftTimer[MAX_PLAYERS];
new HasPlayerDisconnected[MAX_PLAYERS];


forward WriteToLogFile(string[]);
forward Unwire(playerid);
forward Uncage(playerid);
forward HasPlayerLeft(playerid);

public OnFilterScriptInit()
{
	print("\n =========================================");
	print(" =========AdminClick v1.3.2 loaded!=========");
	print(" =========================================\n");
	
	new year, month, day, hour, minute, second;
	gettime(hour, minute, second);
	getdate(year, month, day);
	if(!fexist("ACLog.txt"))
	{
	    LogFile = fopen("ACLog.txt", io_write);
	    WriteToLogFile("");
		WriteToLogFile("========================================================");
		WriteToLogFile("Log File Created");
		WriteToLogFile("========================================================");
		WriteToLogFile("");
		fclose(LogFile);
		print("\n[ADMINCLICK] Log file not found, creating...\n");
		printf("[ADMINCLICK] Log file created on %02d-%02d-%02d at %02d:%02d:%02d", year, month, day, hour, minute, second);
	}
	if(fexist("ACLog.txt"))
	{
	    WriteToLogFile("");
		WriteToLogFile("========================================================");
		WriteToLogFile("Log file opened");
		WriteToLogFile("========================================================");
		WriteToLogFile("");
		printf("[ADMINCLICK] Log file opened on %02d-%02d-%02d at %02d:%02d:%02d", year, month, day, hour, minute, second);
	}
	for(new i; i < MAX_PLAYERS; i++) { LastPlayerReceivedFrom[i] = -1; }
	#if defined LOG_PMS
	if(!fexist("ACLog_PMs.txt"))
	{
        PMLogFile = fopen("ACLog_PMs.txt", io_write);
	    WriteToPMLogFile("");
		WriteToPMLogFile("========================================================");
		WriteToPMLogFile("PM Log File Created");
		WriteToPMLogFile("========================================================");
		WriteToPMLogFile("");
		fclose(PMLogFile);
		print("\n[ADMINCLICK] PM Log file not found, creating...\n");
		printf("[ADMINCLICK] PM Log file created on %02d-%02d-%02d at %02d:%02d:%02d", year, month, day, hour, minute, second);
	}
	if(!fexist("ACLog_PMs.txt"))
	{
	    WriteToPMLogFile("");
		WriteToPMLogFile("========================================================");
		WriteToPMLogFile("PM Log File Opened");
		WriteToPMLogFile("========================================================");
		WriteToPMLogFile("");
		fclose(PMLogFile);
		printf("[ADMINCLICK] PM Log file opened on %02d-%02d-%02d at %02d:%02d:%02d", year, month, day, hour, minute, second);
	}
	#endif
	return 1;
}

public OnPlayerText(playerid, text[])
{
	if(Wired[playerid] == 1)
	{
	    SendClientMessage(playerid, 0xFF3333AA, "You are wired and may not speak!");
	    return 0;
	}
	else return 1;
}

public OnPlayerConnect(playerid)
{
	#if defined LOG_CONNECTS
	new string[64], name[MAX_PLAYER_NAME];
	GetPlayerName(playerid, name, sizeof(name));
	format(string, sizeof(string), "%s connected.", name);
	WriteToLogFile(string);
	#endif
	HasPlayerDisconnected[playerid] = 0;
	return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
	Wired[playerid] = -1;
	Jailed[playerid] = -1;
	Godmode[playerid] = -1;
	ClickedPlayer[playerid] = -1;
	Spectating[playerid] = -1;
	#if defined LOG_DISCONNECTS
	new string[96], name[MAX_PLAYER_NAME], reasons[16];
	GetPlayerName(playerid, name, sizeof(name));
	switch(reason)
	{
	    case 0: format(reasons, sizeof(reasons), "(Timeout)");
	    case 1: format(reasons, sizeof(reasons), "(Left)");
	    case 2: format(reasons, sizeof(reasons), "(Kicked/banned)");
	}
	format(string, sizeof(string), "%s disconnected. %s", name, reasons);
	WriteToLogFile(string);
	#endif
	HasPlayerDisconnected[playerid] = 1;
	KillTimer(HasPlayerLeftTimer[playerid]);
	return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	new name[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME];
	GetPlayerName(ClickedPlayer[playerid], name, sizeof(name));
	GetPlayerName(playerid, adminname, sizeof(adminname));
	
	if(dialogid == 0 && response)
	{
	    if(ClickedPlayer[playerid] == playerid) return SendClientMessage(playerid, 0xFF33AA, "ERROR: You can't PM yourself!");
	    else
	    {
     		if(!strlen(inputtext)) SendClientMessage(playerid, 0xFF0000AA, "ERROR: Invalid message.");
	    	else
	    	{
				new string[128];
				format(string, sizeof(string), inputtext);
				new string2[64], sendername[MAX_PLAYER_NAME], sentname[MAX_PLAYER_NAME], string3[64], gtstring[64];
				GetPlayerName(playerid, sendername, sizeof(sendername));
				GetPlayerName(ClickedPlayer[playerid], sentname, sizeof(sentname));
				format(string2, sizeof(string2), "Message sent to %s.", sentname);
				SendClientMessage(playerid, 0xFFD700AA, string2);
				format(string3, sizeof(string3), "New PM from %s:", sendername);
				format(gtstring, sizeof(gtstring), "New ~y~PM ~w~from ~y~%s", sendername);
				SendClientMessage(ClickedPlayer[playerid], 0xFFD700AA, string3);
				SendClientMessage(ClickedPlayer[playerid], 0xFFD700AA, string);
				GameTextForPlayer(ClickedPlayer[playerid], gtstring, 3000, 5);
				LastPlayerReceivedFrom[ClickedPlayer[playerid]] = playerid;
				#if defined LOG_PMS
				new logstring[256];
				format(logstring, sizeof(logstring), "%s sent %s a PM: %s", sendername, sentname, string);
				WriteToPMLogFile(logstring);
				#endif
				return 1;
			}
		}
		return 1;
	}
	
	if(dialogid == 1 && response)
	{
	    switch(listitem)
	    {
	        case 0:	ShowPlayerDialog(playerid, 4, DIALOG_STYLE_INPUT, "Personal Message", "Type your message:                            ", "Send", "Cancel");
			case 1: ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "AdminClick - Kick", "Reason? (Optional, just click accept for no reason)", "Accept", "Cancel");
			case 2: ShowPlayerDialog(playerid, 3, DIALOG_STYLE_INPUT, "AdminClick - Ban", "Reason? (Optional, just click accept for no reason)", "Accept", "Cancel");
			case 3:
			{
			    TogglePlayerControllable(ClickedPlayer[playerid], false);
			    new string[128];
			    format(string, sizeof(string), "Administrator %s has frozen %s.", adminname, name);
			    SendClientMessageToAll(0x0BBF6AA, string);
			    GameTextForPlayer(ClickedPlayer[playerid], "You are ~b~FROZEN~w~!", 2000, 5);
			    return 1;
			}
			case 4:
			{
			    TogglePlayerControllable(ClickedPlayer[playerid], true);
			    new string[128];
			    format(string, sizeof(string), "Administrator %s has unfrozen %s.", adminname, name);
			    SendClientMessageToAll(0x0BBF6AA, string);
			    GameTextForPlayer(ClickedPlayer[playerid], "You are now ~g~unfrozen~w~.", 2000, 5);
			    return 1;
			}
			case 5:
			{
			    ShowPlayerDialog(ClickedPlayer[playerid], 6, DIALOG_STYLE_INPUT, "AdminClick - Wire", "How long (in minutes) do you want to wire the player for? \nClicking forever will wire the player until you unwire him/her.", "Accept", "Forever");
				return 1;
			}
			case 6:
			{
			    if(Wired[ClickedPlayer[playerid]] == 1)
			    {
			        Wired[ClickedPlayer[playerid]] = 0;
			        SendClientMessage(ClickedPlayer[playerid], 0xFF9900AA, "You have been unwired.");
			        GameTextForPlayer(ClickedPlayer[playerid], "You are now ~g~unwired~w~.", 2000, 5);
			        return 1;
				}
				else return SendClientMessage(playerid, 0xFF0000AA, "ERROR: That player isn't wired!");
			}
			case 7:
			{
			    new rand = random(2);
				GetPlayerPos(ClickedPlayer[playerid], x[ClickedPlayer[playerid]], y[ClickedPlayer[playerid]], z[ClickedPlayer[playerid]]);
				Interior[ClickedPlayer[playerid]] = GetPlayerInterior(ClickedPlayer[playerid]);
			    Jailed[ClickedPlayer[playerid]] = 1;
			    SetPlayerPos(ClickedPlayer[playerid], RandomJail[rand][0], RandomJail[rand][1], RandomJail[rand][2]);
			    SetPlayerInterior(ClickedPlayer[playerid], 3);
			    ResetPlayerWeapons(ClickedPlayer[playerid]);
			    new string[128];
			    format(string, sizeof(string), "Administrator %s has jailed %s.",adminname, name);
			    SendClientMessageToAll(0xFF3300AA, string);
			    GameTextForPlayer(ClickedPlayer[playerid], "You have been ~r~JAILED~w~!", 2000, 5);
			    HasPlayerLeftTimer[ClickedPlayer[playerid]] = SetTimerEx("HasPlayerLeft", 1000, true, "i", ClickedPlayer[playerid]);
			    return 1;
			}
			case 8:
			{
			    if(Jailed[ClickedPlayer[playerid]] == 1)
			    {
			    	SetPlayerInterior(ClickedPlayer[playerid], 0);
			        SetPlayerPos(ClickedPlayer[playerid], x[ClickedPlayer[playerid]], y[ClickedPlayer[playerid]], z[ClickedPlayer[playerid]]);
					new string[128];
					format(string, sizeof(string), "Administrator %s has unjailed %s", adminname, name);
					SendClientMessageToAll(0xFF3300AA, string);
					GameTextForPlayer(ClickedPlayer[playerid], "You have been ~g~set free~w~.", 2000, 5);
					KillTimer(HasPlayerLeftTimer[ClickedPlayer[playerid]]);
					return 1;
				}
				else SendClientMessage(playerid, 0xFF3300AA, "ERROR: That player isn't jailed!");
				return 1;
			}
			case 9:
			{
			    SetPlayerHealth(ClickedPlayer[playerid], 0.0);
			    new string[64], string1[64];
			    format(string, sizeof(string), "You force-killed %s", name);
			    format(string1, sizeof(string1), "Administrator %s force-killed you.", adminname);
			    SendClientMessage(ClickedPlayer[playerid], 0xFF3300AA, string1);
			    SendClientMessage(playerid, 0xFF3300AA, string);
			    return 1;
			}
			case 10:
			{
			    if(playerid == ClickedPlayer[playerid]) return SendClientMessage(playerid, 0xFF3300AA, "ERROR: You can't spectate yourself!");
			    TogglePlayerSpectating(playerid, true);
			    PlayerSpectatePlayer(playerid, ClickedPlayer[playerid]);
			    Spectating[playerid] = 1;
			    return 1;
			}
			case 11:
			{
			    SetPlayerHealth(ClickedPlayer[playerid], 0.0);
			    ForceClassSelection(ClickedPlayer[playerid]);
			    new string[64], string2[64];
			    format(string, sizeof(string), "Administrator %s has forced you to class selection.",adminname);
			    SendClientMessage(ClickedPlayer[playerid], 0xFFFFFFAA, string);
			    format(string2, sizeof(string2), "You forced %s to class selection.", name);
			    SendClientMessage(playerid, 0xFFFFFFAA, string2);
			    return 1;
			}
			case 12:
			{
			    Godmode[ClickedPlayer[playerid]] = 1;
			    SetPlayerHealth(ClickedPlayer[playerid], 10000000.0);
			    new string[64], string2[64];
			    format(string, sizeof(string), "Administrator %s has given you Godmode!", adminname);
			    SendClientMessage(ClickedPlayer[playerid], 0x33FF33AA, string);
			    format(string, sizeof(string), "You have given %s Godmode!", name);
			    SendClientMessage(playerid, 0x33FF33AA, string2);
			    return 1;
			}
			case 13:
			{
			    if(Godmode[ClickedPlayer[playerid]] == 1)
			    {
			        SetPlayerHealth(ClickedPlayer[playerid], 100.0);
			        Godmode[ClickedPlayer[playerid]] = 1;
			        new string[64], string2[64];
			        format(string, sizeof(string), "Administrator %s has taken away your Godmode!", adminname);
			    	SendClientMessage(ClickedPlayer[playerid], 0xFF3300AA, string);
			    	format(string, sizeof(string), "You have taken %s's Godmode away!", name);
			    	SendClientMessage(playerid, 0xFF3300AA, string2);
			    	return 1;
				}
				else return SendClientMessage(playerid, 0xFF3300AA, "ERROR: That player doesn't have godmode!");
			}
			case 14:
			{
				ResetPlayerWeapons(ClickedPlayer[playerid]);
				new string[64], string2[64];
				format(string, sizeof(string), "Your weapons were reset by Administrator ~y~%s~w~.",adminname);
				SendClientMessage(ClickedPlayer[playerid], 0xFF3300AA, string);
				format(string2, sizeof(string2), "You reset %s's weapons.",name);
				SendClientMessage(playerid, 0xFF3300AA, string2);
			    return 1;
			}
			case 15:
			{
			    if(IsPlayerInAnyVehicle(ClickedPlayer[playerid]))
			    {
			        SendClientMessage(playerid, 0xFF6600AA, "Player Ejected~w~!");
			        KickFromVehicle(ClickedPlayer[playerid]);
			        new string[64];
			        format(string, sizeof(string), "Administrator %s ejected you from your vehicle.", adminname);
			        SendClientMessage(ClickedPlayer[playerid], 0xFF3300AA, string);
			        return 1;
				}
				else return SendClientMessage(playerid, 0xFF3300AA, "ERROR: That player is not in a vehicle!");
			}
			case 16:
			{
			    SetPlayerHealth(ClickedPlayer[playerid], 100.0);
			    new string[64];
			    format(string, sizeof(string), "Administrator %s has healed you.", adminname);
			    GameTextForPlayer(playerid, "~g~Healed~", 2000, 5);
			    SendClientMessage(ClickedPlayer[playerid], 0x33FF33AA, string);
			    return 1;
			}
			case 17:
			{
			    new Float:X, Float:Y, Float:Z;
			    GetPlayerPos(playerid, X, Y, Z);
			    SetPlayerPos(ClickedPlayer[playerid], X+1, Y+1, Z);
			    new string[64];
			    format(string, sizeof(string), "Administrator %s has teleported you to him/her.", adminname);
			    SendClientMessage(ClickedPlayer[playerid], 0xFFFFFFFF, string);
				return 1;
			}
			case 18:
			{
			    new Float:X, Float:Y, Float:Z;
			    GetPlayerPos(ClickedPlayer[playerid], X, Y, Z);
			    SetPlayerPos(playerid, X+1, Y+1, Z);
			    GameTextForPlayer(playerid, "~g~Teleported.", 2000, 5);
				return 1;
			}
			case 19:
			{
			    SetPlayerArmour(ClickedPlayer[playerid], 100.0);
				new string[64], string2[64];
				format(string, sizeof(string), "Administrator %s has given you armour.", adminname);
				format(string2, sizeof(string2), "You gave %s armour.", name);
				SendClientMessage(ClickedPlayer[playerid], 0x0BBF6AA, string);
				SendClientMessage(playerid, 0x0BBF6AA, string2);
				return 1;
			}
			case 20:
			{
			    ShowPlayerDialog(playerid, 5, DIALOG_STYLE_INPUT, "AdminClick - Cage", "How long(in minutes) do you want to cage the player for? (Required)", "Accept", "Cancel");
			    TogglePlayerControllable(playerid, 0);
			    return 1;
			}
			case 21:
			{
			    GetPlayerPos(ClickedPlayer[playerid], x[ClickedPlayer[playerid]], y[ClickedPlayer[playerid]], z[ClickedPlayer[playerid]]);
			    CreateExplosion(x[ClickedPlayer[playerid]], y[ClickedPlayer[playerid]], z[ClickedPlayer[playerid]], 11, 2.0);
			    new string[96];
			    format(string, sizeof(string), "Administrator %s has exploded you.", adminname);
			    SendClientMessage(ClickedPlayer[playerid], 0xFF3300FF, string);
			    GameTextForPlayer(playerid, "~r~Exploded~w~!", 2000, 5);
			    return 1;
			}
		}
	}
	if(dialogid == 2 && response)
	{
	    new reason[128], kickstring[128];
	    format(reason, sizeof(reason), inputtext);
	    if(!strlen(reason))
		{
			format(kickstring, sizeof(kickstring), "%s has been kicked by %s.", name, adminname);
			WriteToLogFile(kickstring);
		}
	    else
		{
			format(kickstring, sizeof(kickstring), "%s has been kicked by %s. Reason: %s", name, adminname, reason);
			WriteToLogFile(kickstring);
		}
	    SendClientMessageToAll(0xFF3300AA, kickstring);
	    Kick(ClickedPlayer[playerid]);
	    return 1;
 	}
	if(dialogid == 3 && response)
	{
		new reason[128], banstring[128];
	    format(reason, sizeof(reason), inputtext);
	    if(!strlen(reason))
		{
		    new IP[17];
		    GetPlayerIp(ClickedPlayer[playerid], IP, sizeof(IP));
			format(banstring, sizeof(banstring), "%s has been banned by %s.", name, adminname);
			SendClientMessageToAll(0xFF3300AA, banstring);
			format(banstring, sizeof(banstring), "%s has been banned by %s. IP: %s", name, adminname, IP);
			WriteToLogFile(banstring);
			Ban(ClickedPlayer[playerid]);
		}
	    else
		{
		    new IP[17];
		    GetPlayerIp(ClickedPlayer[playerid], IP, sizeof(IP));
			format(banstring, sizeof(banstring), "%s has been banned by %s. Reason: %s", name, adminname, reason);
			SendClientMessageToAll(0xFF3300AA, banstring);
			format(banstring, sizeof(banstring), "%s has been banned by %s. Reason: %s IP: IP: %s", name, adminname, reason, IP);
			WriteToLogFile(banstring);
			BanEx(ClickedPlayer[playerid], reason);
	    }
	    return 1;
 	}
	if(dialogid == 4 && response)
	{
     	if(ClickedPlayer[playerid] == playerid) return SendClientMessage(playerid, 0xFF3300AA, "ERROR: You can't PM yourself!");
	    else
	    {
	    	if(!strlen(inputtext)) SendClientMessage(playerid, 0xFF0000AA, "Invalid message.");
			else
	    	{
				new string[128];
				format(string, sizeof(string), inputtext);
				new string2[64], sendername[MAX_PLAYER_NAME], sentname[MAX_PLAYER_NAME], string3[64], gtstring[64];
				GetPlayerName(playerid, sendername, sizeof(sendername));
				GetPlayerName(ClickedPlayer[playerid], sentname, sizeof(sentname));
				format(string2, sizeof(string2), "Message sent to %s.", sentname);
				SendClientMessage(playerid, 0xFFD700AA, string2);
				format(string3, sizeof(string3), "New PM from Administrator %s:", sendername);
				format(gtstring, sizeof(gtstring), "New ~y~PM ~w~from ~g~Administrator ~y~%s", sendername);
				SendClientMessage(ClickedPlayer[playerid], 0xFFD700AA, string3);
				SendClientMessage(ClickedPlayer[playerid], 0xFFD700AA, string);
				GameTextForPlayer(ClickedPlayer[playerid], gtstring, 3000, 5);
				LastPlayerReceivedFrom[ClickedPlayer[playerid]] = playerid;
				#if defined LOG_PMS
				new logstring[256];
				format(logstring, sizeof(logstring), "Administrator %s sent %s a PM: %s", sendername, sentname, string);
				WriteToPMLogFile(logstring);
				#endif
				return 1;
			}
		}
	}
	if(dialogid == 5)
	{
	    if(response)
	    {
	    	GetPlayerPos(ClickedPlayer[playerid], x[ClickedPlayer[playerid]], y[ClickedPlayer[playerid]], z[ClickedPlayer[playerid]]);
			Cage0[ClickedPlayer[playerid]] = CreateObject(985, x[ClickedPlayer[playerid]], y[ClickedPlayer[playerid]]+4, z[ClickedPlayer[playerid]], 0.0, 0.0, 0.0);
        	Cage1[ClickedPlayer[playerid]] = CreateObject(985, x[ClickedPlayer[playerid]]+4, y[ClickedPlayer[playerid]], z[ClickedPlayer[playerid]], 0.0, 0.0, 90.0);
    		Cage2[ClickedPlayer[playerid]] = CreateObject(985, x[ClickedPlayer[playerid]]-4, y[ClickedPlayer[playerid]], z[ClickedPlayer[playerid]], 0.0, 0.0, 270.0);
    		Cage3[ClickedPlayer[playerid]] = CreateObject(985, x[ClickedPlayer[playerid]], y[ClickedPlayer[playerid]]-4, z[ClickedPlayer[playerid]], 0.0, 0.0, 180.0);
    		Caged[playerid] = 1;
    		new time = strval(inputtext);
    		SetTimerEx("Uncage", 60000*time, false, "i", playerid);
    		HasPlayerLeftTimer[ClickedPlayer[playerid]] = SetTimerEx("HasPlayerLeft", 1000, true, "i", playerid);
    		TogglePlayerControllable(playerid, 1);
			new string[128];
			format(string, sizeof(string), "Administrator %s has caged %s for %d minutes.", adminname, name, time);
			return 1;
		}
		if(!response) ShowPlayerDialog(playerid, 5, DIALOG_STYLE_INPUT, "AdminClick - Cage", "How long(in minutes) do you want to cage the player for? (Required)", "Accept", "Cancel");
		return 1;
		    
	}
	if(dialogid == 6)
	{
	    if(response)
	    {
	        new time = strval(inputtext);
	    	SetTimerEx("Unwire", 60000*time, false, "i", playerid);
	    	Wired[ClickedPlayer[playerid]] = 1;
			new string[128];
			format(string, sizeof(string), "Administrator %s has wired %s",adminname, name);
			SendClientMessageToAll(0xFF9900AA, string);
			GameTextForPlayer(ClickedPlayer[playerid], "You are ~r~wired~w~!", 2000, 5);
			new string2[32];
			format(string2, sizeof(string2), "You will be unwired in %d minutes.", inputtext);
			return 1;
		}
		if(!response)
		{
  			Wired[ClickedPlayer[playerid]] = 1;
			new string[128];
			format(string, sizeof(string), "Administrator %s has wired %s",adminname, name);
			SendClientMessageToAll(0xFF9900AA, string);
			GameTextForPlayer(ClickedPlayer[playerid], "You are ~r~wired~w~!", 2000, 5);
			return 1;
		}
	}
	return 1;
}
public Unwire(playerid)
{
	if(Wired[playerid] == 1)
	{
		Wired[playerid] = 0;
		SendClientMessage(playerid, 0x33FF33FF, "You have been unwired. Be careful next time.");
		GameTextForPlayer(playerid, "You have been ~g~Unwired~w~!", 2000, 5);
	}
}
public Uncage(playerid)
{
	Cage0[playerid] = DestroyObject(Cage0[playerid]);
	Cage1[playerid] = DestroyObject(Cage1[playerid]);
	Cage2[playerid] = DestroyObject(Cage2[playerid]);
	Cage3[playerid] = DestroyObject(Cage3[playerid]);
	GameTextForPlayer(playerid, "You have been ~g~set free~w~!", 2000, 5);
	KillTimer(HasPlayerLeftTimer[playerid]);
	Caged[playerid] = 0;
}
public HasPlayerLeft(playerid)
{
	if(Jailed[playerid])
	{
		if(!IsPlayerInRangeOfPoint(playerid, 12, 197.35707092285, 173.41456604004, 1002.672668457))
		{
			new name[MAX_PLAYER_NAME];
			GetPlayerName(playerid, name, sizeof(name));
			printf("Player %s tried to escape from jail, putting him/her back.", name);
			new rand = random(2);
			SetPlayerPos(playerid, RandomJail[rand][0], RandomJail[rand][1], RandomJail[rand][2]);
			SetPlayerInterior(playerid, 3);
			SendClientMessage(playerid, 0xFF3300FF, "You can't escape from jail!");
		}
	}
	else if(Caged[playerid])
	{
	    if(!IsPlayerInRangeOfPoint(playerid, 4, x[playerid], y[playerid], z[playerid]))
	    {
	        new name[MAX_PLAYER_NAME];
			GetPlayerName(playerid, name, sizeof(name));
			printf("Player %s tried to escape from his/her cage, putting him/her back.", name);
			SetPlayerPos(playerid, x[playerid], y[playerid], z[playerid]);
			SetPlayerInterior(playerid, Interior[playerid]);
			SendClientMessage(playerid, 0xFF3300FF, "You can't escape from your cage!");
		}
	}
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	if(!strcmp("/specoff", cmdtext, false, 9))
	{
	    if(IsPlayerAdmin(playerid))
	    {
	        if(Spectating[playerid] == 1)
	        {
	            TogglePlayerSpectating(playerid, 0);
	            SendClientMessage(playerid, 0xFFFFFFAA, "You stopped spectating.");
	            return 1;
			}
			else return SendClientMessage(playerid, 0xFF3300AA, "ERROR: You aren't spectating anyone!");
		}
		return 1;
	}
	if(!strcmp("/reply", cmdtext, false, 3))
	{
	    if(!HasPlayerDisconnected[LastPlayerReceivedFrom[playerid]])
	    {
	    	if(LastPlayerReceivedFrom[playerid] != -1)
	    	{
	    		ClickedPlayer[playerid] = LastPlayerReceivedFrom[playerid];
	    		ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Personal message", "Type your message:", "Send", "Cancel");
	    		return 1;
			}
			else return SendClientMessage(playerid, 0xFF3300FF, "ERROR: Nobody has sent you a PM yet!");
		}
		else
		{
		    LastPlayerReceivedFrom[playerid] = -1;
			SendClientMessage(playerid, 0xFF3300FF, "ERROR: That player has disconnected since he/she sent you a message!");
			return 1;
		}
	}
	return 0;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
    ClickedPlayer[playerid] = clickedplayerid;
	if(!IsPlayerAdmin(playerid)) ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Personal message", "Type your message:                         ", "Send", "Cancel");
	else
	{
	    new name[MAX_PLAYER_NAME], string[96];
	    GetPlayerName(clickedplayerid, name, sizeof(name));
	    format(string, sizeof(string), "AdminClick - What do you want to do with %s?", name);
		ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, string, "\nPM \nKick \nBan \nFreeze \nUnfreeze \nWire \nUnwire \nJail \nUnjail \nKill \nSpectate \nForce \nGodmode \nGodmode off \nConfiscate guns \nEject \nHeal \nTeleport to me \nGoto \nGive Armour \nCage \nExplode", "Accept", "Cancel");
		ClickedPlayer[playerid] = clickedplayerid;
	}
	return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
	#if defined LOG_DEATHS
	new logstring[128], killedname[MAX_PLAYER_NAME];
	GetPlayerName(playerid, killedname, sizeof(killedname));
	if(killerid != INVALID_PLAYER_ID)
	{
	    new killername[MAX_PLAYER_NAME];
	    GetPlayerName(killerid, killername, sizeof(killername));
		format(logstring, sizeof(logstring), "DEATH: %s(%d) killed %s(%d). Cause: %d", killedname, playerid, killername, killerid, reason);
	}
	else format(logstring, sizeof(logstring), "DEATH: %s(%d) died. Cause: %d", killedname, playerid, reason);
	WriteToLogFile(logstring);
	#endif
	return 1;
}
public OnRconLoginAttempt(ip[], password[], success)
{
	#if defined LOG_ADMINS
	new logstring[64];
	new IP[17];
 	format(IP, sizeof(IP), ip);
	if(success)
	{
	    for(new i=0; i < MAX_PLAYERS; i++)
	    {
	        if(IsPlayerConnected(i))
	        {
	        	new plrip[17];
	        	GetPlayerIp(i, plrip, sizeof(plrip));
	        	if(!strcmp(IP, plrip, false, 17))
	        	{
	        	    new name[MAX_PLAYER_NAME];
	        	    GetPlayerName(i, name, sizeof(name));
	        	    format(logstring, sizeof(logstring), "RCON: Player %s(ID %d, IP: %s) logged in.", name, i, IP);
				}
				else format(logstring, sizeof(logstring), "RCON: IP %s logged in.", IP);
			}
		}
		WriteToLogFile(logstring);
	}
	if(!success)
	{
	    for(new i=0; i < MAX_PLAYERS; i++)
	    {
	        if(IsPlayerConnected(i))
	        {
	        	new plrip[17];
	        	GetPlayerIp(i, plrip, sizeof(plrip));
	        	if(!strcmp(IP, plrip, false, 17))
	        	{
	        	    new name[MAX_PLAYER_NAME];
	        	    GetPlayerName(i, name, sizeof(name));
	        	    format(logstring, sizeof(logstring), "RCON: Player %s(ID %d, IP: %s) tried to login as RCON, but failed.", name, i, IP);
				}
				else format(logstring, sizeof(logstring), "RCON: IP %s tried to login as RCON, but failed.", IP);
			}
		}
		WriteToLogFile(logstring);
 	}
 	#endif
 	return 1;
}
	
public OnFilterScriptExit()
{
	print("\n =========================================");
	print(" ========AdminClick v1.3.2 unloaded!========");
	print(" =========================================\n");
	WriteToLogFile("");
	WriteToLogFile("========================================================");
 	WriteToLogFile("Log file closed");
 	WriteToLogFile("========================================================");
 	WriteToLogFile("");
 	#if defined LOG_PMS
 	WriteToPMLogFile("");
	WriteToPMLogFile("========================================================");
 	WriteToPMLogFile("PM Log file closed");
 	WriteToPMLogFile("========================================================");
 	WriteToPMLogFile("");
 	#endif
 	return 1;
}


stock KickFromVehicle(playerid)
{
	new Float:posx, Float:posy, Float:posz;
	GetPlayerPos(playerid, posx, posy, posz);
	SetPlayerPos(playerid, posx, posy, posz+1);
}

WriteToLogFile(string[])
{
	new Hour, Minute, Second, Year, Month, Day;
	getdate(Year, Month, Day);
	gettime(Hour, Minute, Second);
	LogFile = fopen("ACLog.txt", io_append);
	new logstring[256];
	format(logstring, sizeof(logstring), "[%02d-%02d-%02d at %02d:%02d:%02d]%s\r\n", Year, Month, Day, Hour, Minute, Second, string);
	fwrite(LogFile, logstring);
	fclose(LogFile);
}
#if defined LOG_PMS
WriteToPMLogFile(string[])
{
    new Hour, Minute, Second, Year, Month, Day;
	getdate(Year, Month, Day);
	gettime(Hour, Minute, Second);
	PMLogFile = fopen("ACLog_PMs.txt", io_append);
	new logstring[256];
	format(logstring, sizeof(logstring), "[%02d-%02d-%02d at %02d:%02d:%02d]%s\r\n", Year, Month, Day, Hour, Minute, Second, string);
	fwrite(PMLogFile, logstring);
	fclose(PMLogFile);
}
#endif
i have the best script of this but i need dialog pm i try do that in new filterscript but it's not work there's many errors i copied ondialogrespand ,onplayerclicked and reply command and dosent work please any one can edit it help me
OmarEco is offline  
Old 08/07/2010, 01:52 PM   #2
OmarEco
Huge Clucker
 
OmarEco's Avatar
 
Join Date: Jun 2010
Location: Egypt
Posts: 292
Reputation: 0
Default Re: help edit

help me any one view the topic
OmarEco is offline  
Old 08/07/2010, 01:57 PM   #3
OmarEco
Huge Clucker
 
OmarEco's Avatar
 
Join Date: Jun 2010
Location: Egypt
Posts: 292
Reputation: 0
Default Re: help edit

there's no help
OmarEco is offline  
Old 08/07/2010, 01:59 PM   #4
CAR
Huge Clucker
 
Join Date: Feb 2009
Posts: 478
Reputation: 4
Default Re: help edit

You send 3 messages in half an hour, I don't want to help, you can only bump in 12 hour..
CAR is offline  
Old 08/07/2010, 02:13 PM   #5
OmarEco
Huge Clucker
 
OmarEco's Avatar
 
Join Date: Jun 2010
Location: Egypt
Posts: 292
Reputation: 0
Default Re: help edit

ok but i can't script and need help
OmarEco is offline  
 

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
What is gf edit? manunited1878 General 7 10/11/2009 12:20 AM
Edit? heineken Server Support 3 14/08/2009 07:14 PM
please say me how y can edit a map from sa-mp rat Help Archive 2 12/08/2009 07:01 PM
Can someone help me edit this? killdahobo99 Help Archive 3 23/06/2009 12:07 PM
[GameMode] [GM] New GF--Edit FreeSoul Gamemode Scripts 6 30/04/2009 10:44 PM


All times are GMT. The time now is 05:11 AM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.