Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #pragma tabsize 0
- /*
- Simple irc echo filterscript
- Brought to you by [NB]Sneaky
- www.99BlaZed.com
- www.sneakyhost.net
- Player Commands:
- !imsg <send message to server>
- !igetid <get a players id based on nickname>
- Admin Commands:
- !iban <ban a player with optional reason>
- !ikick <kick a player with optional reason>
- !islap <slap a player with optional reason>
- !ikill <kill a player with optional reason>
- !isay <send message to the server as admin>
- !ipause <pause the echo, !pause again to unpause>
- DO NOT REMOVE CREDITS!
- That's all I ask.
- */
- #define irccmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (irccmd_%1(conn,channel,user,"")))||(((%3)[(%2) + 1] == 32) && (irccmd_%1(conn,channel,user,(%3)[(%2) + 2]))))) return 1
- // Setup settings here
- #define IRC_SERVER "irc.gtanet.com" // IRC Server (e.g irc.gtanet.com)
- #define IRC_PORT 6667 // Set the IRC port (default 6667)
- // Uncomment line 39 if you want to use 2 bots, uncomment line 40 if you want to use 3 bots
- #define IRC_AMOUNT1 true
- //#define IRC_AMOUNT2 true
- //#define IRC_AMOUNT3 true
- // Put the names of your irc bot's here (Note: not every bot can have the same name)
- #define IRC_ECHO_BOT1 "MatBot"
- #define IRC_ECHO_BOT2 "BotServer"
- #define IRC_ECHO_BOT3 "MatBot"
- // #channel is the channel you want to echo in game chat in, change it.
- #define IRC_ECHO_CHAN "#Matthias"
- // If your bot names are registered put a password here to identify them with
- #define IRC_PASSWORD "botnaam"
- // Set the IRC join delay (1000 = 1 second), set to 0 if you dont want to use it
- // (IF bot has a vHost then set this to 5000 ELSE it wont show the vHost on channel join)
- #define IRC_JOIN_DELAY 0
- // PRETTY SELF EXPLANARY
- #define IRC_QUIT_MSG "The server is going offline now"
- #define IRC_AUTH_MSG "The server is online now!"
- #define IRC_INTI_MSG1 "[Info] ------ ..::: Las Venturas Mayhem :::.. initializing ------"
- #define IRC_INTI_MSG2 "[Info] ----------------------------------------------------------"
- #define IRC_INTI_MSG3 "[Info] ------------- Server succesfully started------------------"
- #define IRC_INTI_MSG4 "[Info] ----------------------------------------------------------"
- #define IRC_INTI_MSG5 "[Info] ----------- Current IP: 209.250.250.179:7777 ------------"
- native ircGetUserLevel(conn, channel[], user[], dest[]);
- native ircGetUserList(conn, channel[], dest[], size);
- native ircSetMode(conn, channel[], modes[], nicks[]);
- native ircConnect(server[], port, user[]);
- native ircSay(conn, channel[], message[]);
- native ircSendRawData(conn, rawdata[]);
- native ircJoinChan(conn, channel[]);
- native ircPartChan(conn, channel[]);
- native ircDisconnect(conn);
- native ircPollEvents();
- forward ircOnUserSay(conn, channel[], user[], message[]);
- forward ircOnUserPart(conn, channel[], user[]);
- forward ircOnUserJoin(conn, channel[], user[]);
- forward Float:GetDistanceBetweenPlayers(p1,p2);
- forward EchoConnectionCheck();
- forward IrcPollEventsTimer();
- forward DelayedChannelJoin();
- forward ircOnConnect(conn);
- forward IrcSay(Message[]);
- stock
- EchoConnection[3],
- EchoBot = 0,
- ConnE,
- Echo_Paused = 0;
- // Simon
- new aWeaponNames[][32] = {
- {"Unarmed (Fist)"}, // 0
- {"Brass Knuckles"}, // 1
- {"Golf Club"}, // 2
- {"Night Stick"}, // 3
- {"Knife"}, // 4
- {"Baseball Bat"}, // 5
- {"Shovel"}, // 6
- {"Pool Cue"}, // 7
- {"Katana"}, // 8
- {"Chainsaw"}, // 9
- {"Purple Dildo"}, // 10
- {"Big White Vibrator"}, // 11
- {"Medium White Vibrator"}, // 12
- {"Small White Vibrator"}, // 13
- {"Flowers"}, // 14
- {"Cane"}, // 15
- {"Grenade"}, // 16
- {"Teargas"}, // 17
- {"Molotov"}, // 18
- {" "}, // 19
- {" "}, // 20
- {" "}, // 21
- {"Colt 45"}, // 22
- {"Colt 45 (Silenced)"}, // 23
- {"Desert Eagle"}, // 24
- {"Normal Shotgun"}, // 25
- {"Sawnoff Shotgun"}, // 26
- {"Combat Shotgun"}, // 27
- {"Micro Uzi (Mac 10)"}, // 28
- {"MP5"}, // 29
- {"AK47"}, // 30
- {"M4"}, // 31
- {"Tec9"}, // 32
- {"Country Rifle"}, // 33
- {"Sniper Rifle"}, // 34
- {"Rocket Launcher"}, // 35
- {"Heat-Seeking Rocket Launcher"}, // 36
- {"Flamethrower"}, // 37
- {"Minigun"}, // 38
- {"Satchel Charge"}, // 39
- {"Detonator"}, // 40
- {"Spray Can"}, // 41
- {"Fire Extinguisher"}, // 42
- {"Camera"}, // 43
- {"Night Vision Goggles"}, // 44
- {"Infrared Vision Goggles"}, // 45
- {"Parachute"}, // 46
- {"Fake Pistol"} // 47
- };
- new aDisconnectNames[][16] = {
- {"Timeout"}, // 0
- {"Leaving"}, // 1
- {"Kicked"} // 2
- };
- public OnFilterScriptInit()
- {
- print("\t============================================");
- print("\tIRC Filterscript");
- print("\tBy: Sneaky");
- print("\t-");
- print("\tLoaded..");
- print("\t============================================");
- #if defined IRC_AMOUNT1
- {
- EchoConnection[0] = ircConnect(IRC_SERVER, IRC_PORT, IRC_ECHO_BOT1);
- }
- #endif
- #if defined IRC_AMOUNT2
- {
- EchoConnection[1] = ircConnect(IRC_SERVER, IRC_PORT, IRC_ECHO_BOT2);
- }
- #endif
- #if defined IRC_AMOUNT3
- {
- EchoConnection[2] = ircConnect(IRC_SERVER, IRC_PORT, IRC_ECHO_BOT3);
- }
- #endif
- return 1;
- }
- public OnFilterScriptExit()
- {
- print("\t============================================");
- print("\tIRC Filterscript");
- print("\tBy: Sneaky");
- print("\t-");
- print("\tLoaded..");
- print("\t============================================");
- #if defined IRC_AMOUNT1
- {
- ircSendRawData(EchoConnection[0], "QUIT "IRC_QUIT_MSG"");
- }
- #endif
- #if defined IRC_AMOUNT2
- {
- ircSendRawData(EchoConnection[1], "QUIT "IRC_QUIT_MSG"");
- }
- #endif
- #if defined IRC_AMOUNT3
- {
- ircSendRawData(EchoConnection[2], "QUIT "IRC_QUIT_MSG"");
- }
- #endif
- return 1;
- }
- public ircOnConnect(conn)
- {
- SetTimer("DelayedChannelJoin",IRC_JOIN_DELAY,0);
- SetTimer("IrcPollEventsTimer", 500, 1);
- #if defined IRC_AMOUNT1
- {
- ircSendRawData(EchoConnection[0], "PRIVMSG NickServ :IDENTIFY "IRC_PASSWORD" ");
- }
- #endif
- #if defined IRC_AMOUNT2
- {
- ircSendRawData(EchoConnection[1], "PRIVMSG NickServ :IDENTIFY "IRC_PASSWORD" ");
- }
- #endif
- #if defined IRC_AMOUNT3
- {
- ircSendRawData(EchoConnection[2], "PRIVMSG NickServ :IDENTIFY "IRC_PASSWORD" ");
- }
- #endif
- return 1;
- }
- public IrcPollEventsTimer()
- {
- ircPollEvents();
- return 1;
- }
- public DelayedChannelJoin()
- {
- #if defined IRC_AMOUNT1
- {
- ircJoinChan(EchoConnection[0], IRC_ECHO_CHAN);
- ircJoinChan( EchoConnection[ 1 ] , "#Matthias" );
- ircJoinChan( EchoConnection[ 2 ] , "#GTA_Rules" );
- IrcSay("4"IRC_INTI_MSG1"");
- IrcSay("4"IRC_INTI_MSG2"");
- IrcSay("4"IRC_INTI_MSG3"");
- IrcSay("4"IRC_INTI_MSG4"");
- IrcSay("4"IRC_INTI_MSG5"");
- IrcSay("14Check !commands to see all commands!");
- IrcSay("10[Info] Scripted by Matthias - Hosted by Raymond - Host given by Barry");
- }
- #endif
- #if defined IRC_AMOUNT2
- {
- ircJoinChan(EchoConnection[1], IRC_ECHO_CHAN);
- }
- #endif
- #if defined IRC_AMOUNT3
- {
- ircJoinChan(EchoConnection[2], IRC_ECHO_CHAN);
- }
- #endif
- return 1;
- }
- public IrcSay(Message[]) return ircSay(BotSwitcher(), IRC_ECHO_CHAN, Message);
- public OnPlayerText(playerid, text[])
- {
- new
- tString[128],PlayerName[24];
- GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
- if(Echo_Paused == 0)
- {
- format(tString, sizeof(tString), "12[%d]7 %s:1 %s", playerid, PlayerName, text);
- IrcSay(tString);
- }
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- new
- tString[128],pName[128],kName[128];
- GetPlayerName(killerid, kName,sizeof(kName));
- GetPlayerName(playerid, pName,sizeof(pName));
- if(Echo_Paused == 0)
- {
- if(reason == 255)
- {
- format(tString,sizeof(tString),"3%s died.",pName);
- IrcSay(tString);
- }
- else
- {
- format(tString,sizeof(tString),"3%s was killed by %s (Weapon: %s - Distance: %.0f ft)",pName,kName,aWeaponNames[reason],GetDistanceBetweenPlayers(playerid,killerid));
- IrcSay(tString);
- }
- }
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new
- tString[64],PlayerName[24];
- GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
- if(Echo_Paused == 0)
- {
- format(tString, sizeof(tString), "3%s joined the server.", PlayerName);
- ircSay(EchoConnection[0], IRC_ECHO_CHAN, tString);
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- new
- tString[64],PlayerName[24];
- GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
- if(Echo_Paused == 0)
- {
- format(tString, sizeof(tString), "3%s has left the server. (%s)", PlayerName, aDisconnectNames[reason]);
- ircSay(EchoConnection[0], IRC_ECHO_CHAN, tString);
- }
- return 1;
- }
- stock BotSwitcher()
- {
- #if defined IRC_AMOUNT1
- {
- switch(EchoBot)
- {
- case 0:
- {
- ConnE = EchoConnection[0];
- EchoBot = 0;
- }
- }
- }
- #endif
- #if defined IRC_AMOUNT2
- {
- switch(EchoBot)
- {
- case 0:
- {
- ConnE = EchoConnection[0];
- EchoBot = 1;
- }
- case 1:
- {
- ConnE = EchoConnection[1];
- EchoBot = 0;
- }
- }
- }
- #endif
- #if defined IRC_AMOUNT3
- {
- switch(EchoBot)
- {
- case 0:
- {
- ConnE = EchoConnection[0];
- EchoBot = 1;
- }
- case 1:
- {
- ConnE = EchoConnection[1];
- EchoBot = 2;
- }
- case 2:
- {
- ConnE = EchoConnection[2];
- EchoBot = 0;
- }
- }
- }
- #endif
- return ConnE;
- }
- stock ircIsOp(conn,channel[],user[])
- {
- new
- ircLevel[4];
- ircGetUserLevel(conn, channel, user, ircLevel);
- if(!strcmp(ircLevel, "~", true,1) || !strcmp(ircLevel, "&", true,1) || !strcmp(ircLevel, "@", true,1)) return 1;
- return 0;
- }
- public ircOnUserSay(conn, channel[], user[], message[])
- {
- if(message[0] != '!') return 1;
- // Admin (+o / @ | +qo / ~ | +a / &) commands here
- irccmd(ipause,6,conn,channel,user,message);
- irccmd(ikick,5,conn,channel,user,message);
- irccmd(ikill,5,conn,channel,user,message);
- irccmd(iheal,5,conn,channel,user,message);
- irccmd(islap,5,conn,channel,user,message);
- irccmd(isay,4,conn,channel,user,message);
- irccmd(iban,4,conn,channel,user,message);
- irccmd(gmx,3, conn, channel, user, message);
- irccmd(players, 7, conn, channel, user, message);
- irccmd(explode, 7, conn, channel, user, message);
- irccmd(freeze, 6, conn, channel, user, message);
- irccmd(unfreeze, 8, conn, channel, user, message);
- // Player (N/A | +v | +h / %) commands here
- irccmd(imsg,4,conn,channel,user,message);
- irccmd(igetid,6,conn,channel,user,message);
- irccmd(commands,8,conn,channel,user,message);
- return 1;
- }
- // Player Commands
- irccmd_commands(conn, channel[], user[], params[])
- {
- #pragma unused params
- if(!ircIsOp(conn,channel,user)) return IrcSay(""IRC_AUTH_MSG"");
- IrcSay("10UserCommands: !imsg !igetid !commands ");
- IrcSay("10AdminCommands: !ikick / !iban / !ipause / !islap / !ikill / !isay /");
- IrcSay("!gmx / !freeze / !unfreeze / !iheal / ");
- return 1;
- }
- irccmd_imsg(conn, channel[], user[], params[])
- {
- #pragma unused conn,channel
- new
- tString[128];
- if(!strlen(params)) return IrcSay("USAGE: !imsg <message>");
- format(tString,sizeof(tString), ">> Player from IRC %s: %s", user, params);
- SendClientMessageToAll(0xFFFFFFAA, tString);
- IrcSay(tString);
- return 1;
- }
- irccmd_igetid(conn, channel[], user[], params[])
- {
- #pragma unused conn,channel,user
- new
- idx,tString[128],
- param[20], PlayerName[24];
- param = strtok(params, idx);
- if (!strlen(param))
- return IrcSay ("USAGE: !igetid <nickname>");
- new
- count = 0;
- for (new i=0; i<GetMaxPlayers() && count<10; i++)
- {
- if (IsPlayerConnected(i))
- {
- GetPlayerName(i, PlayerName, sizeof(PlayerName));
- for (new j=0, k=(strlen(PlayerName)-strlen(param)); j<=k; j++)
- {
- if (strcmp(param, PlayerName[j], true, strlen(param)) == 0)
- {
- format(tString, sizeof(tString), "%s%s(%d), ", tString, PlayerName, i);
- count++;
- break;
- }
- }
- }
- }
- if (strlen(tString))
- {
- format(tString, sizeof(tString), "Matches: %s", tString);
- tString[strlen(tString) - 2] = 0;
- }
- else
- {
- format(tString, sizeof(tString), "No matches for: %s", param);
- }
- IrcSay(tString);
- return 1;
- }
- // Admin Commands
- irccmd_freeze(conn, channel[], user[], message[])
- {
- new idx;
- new tmp[256];
- tmp = strtok(message, idx);
- if(ircIsOp(conn, channel, user) == 0) return ircSay(conn, channel, "You are not a channel admin");
- if(strlen(tmp) == 0) return ircSay(conn, channel, "You did not put in an id");
- if(IsPlayerConnected(strval(tmp)) == 0) return ircSay(conn, channel, "That player is not connected");
- TogglePlayerControllable(strval(tmp), 0);
- new oname[MAX_PLAYER_NAME];
- GetPlayerName(strval(tmp), oname, sizeof(oname));
- new string[256];
- format(string, sizeof(string), "\"%s\" has been frozen by IRC admin \"%s\"", oname, user);
- SendClientMessageToAll(0xFF0000AA, string);
- ircSay(conn, channel, string);
- return 1;
- }
- irccmd_unfreeze(conn, channel[], user[], message[])
- {
- new idx;
- new tmp[256];
- tmp = strtok(message, idx);
- if(ircIsOp(conn, channel, user) == 0) return ircSay(conn, channel, "You are not a channel admin");
- if(strlen(tmp) == 0) return ircSay(conn, channel, "You did not put in an id");
- if(IsPlayerConnected(strval(tmp)) == 0) return ircSay(conn, channel, "That player is not connected");
- TogglePlayerControllable(strval(tmp), 1);
- new oname[MAX_PLAYER_NAME];
- GetPlayerName(strval(tmp), oname, sizeof(oname));
- new string[256];
- format(string, sizeof(string), "\"%s\" has been unfrozen by IRC admin \"%s\"", oname, user);
- SendClientMessageToAll(0xFF0000AA, string);
- ircSay(conn, channel, string);
- return 1;
- }
- irccmd_explode(conn, channel[], user[], message[])
- {
- new idx;
- new tmp[256];
- tmp = strtok(message, idx);
- if(ircIsOp(conn, channel, user) == 0) return ircSay(conn, channel, "You are not a channel admin");
- if(strlen(tmp) == 0) return ircSay(conn, channel, "You did not put in an id");
- if(IsPlayerConnected(strval(tmp)) == 0) return ircSay(conn, channel, "That player is not connected");
- new Float:x, Float:y, Float:z;
- GetPlayerPos(strval(tmp), x, y, z);
- CreateExplosion(x, y, z, 20, 0);
- new oname[MAX_PLAYER_NAME];
- GetPlayerName(strval(tmp), oname, sizeof(oname));
- new string[256];
- format(string, sizeof(string), "\"%s\" has been exploded by IRC admin \"%s\"", oname, user);
- SendClientMessageToAll(0xFF0000AA, string);
- ircSay(conn, channel, string);
- return 1;
- }
- irccmd_players(conn, channel[], user[], params[]) //made by Grove, taken from CYS Echo Bot 1.2
- {
- new count, PlayerNames[512], string[256];
- for(new i=0; i<=MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- if(count == 0)
- {
- new PlayerName1[MAX_PLAYER_NAME];
- GetPlayerName(i, PlayerName1, sizeof(PlayerName1));
- format(PlayerNames, sizeof(PlayerNames),"2%s1", PlayerName1);
- count++;
- }
- else
- {
- new PlayerName1[MAX_PLAYER_NAME];
- GetPlayerName(i, PlayerName1, sizeof(PlayerName1));
- format(PlayerNames, sizeof(PlayerNames),"%s, 2%s1", PlayerNames, PlayerName1);
- count++;
- }
- }
- else { if(count == 0) format(PlayerNames, sizeof(PlayerNames), "1No Players Online!"); }
- }
- new counter = 0;
- for(new i=0; i<=MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i)) counter++;
- }
- format(string, 256, "6Connected Players[%d]:1 %s", counter, PlayerNames);
- ircSay(conn, channel, string);
- #pragma unused params,user
- return true;
- }
- irccmd_gmx(conn, channel[], user[], message[])
- {
- if(ircIsOp(conn, channel, user) == 0) return ircSay(conn, channel, "You are not a channel admin");
- new string[256];
- format(string, sizeof(string), "IRC admin \"%s\" has restarted the server.", user);
- SendClientMessageToAll(0xFF0000AA,string);
- SendRconCommand("gmx");
- ircSay(conn, channel, string);
- #pragma unused message
- return 1;
- }
- irccmd_isay(conn, channel[], user[], params[])
- {
- if(!ircIsOp(conn,channel,user)) return IrcSay(""IRC_AUTH_MSG"");
- new
- tString[128];
- if(!strlen(params)) return IrcSay("USAGE: !imsg <message>");
- format(tString,sizeof(tString), ">> Admin from IRC %s: %s", user, params);
- SendClientMessageToAll(0xFF0000AA, tString);
- format(tString,sizeof(tString), "1>> Admin from IRC %s: %s", user, params);
- IrcSay(tString);
- return 1;
- }
- irccmd_ipause(conn, channel[], user[], params[])
- {
- #pragma unused params
- if(!ircIsOp(conn,channel,user)) return IrcSay(""IRC_AUTH_MSG"");
- if(Echo_Paused == 0)
- {
- IrcSay("Paused.");
- Echo_Paused = 1;
- }
- else if(Echo_Paused == 1)
- {
- IrcSay("Unpaused.");
- Echo_Paused = 0;
- }
- return 1;
- }
- irccmd_iban(conn, channel[], user[], params[])
- {
- if(!ircIsOp(conn,channel,user)) return IrcSay(""IRC_AUTH_MSG"");
- new
- ID = strval(params),tString[128],
- Reason[64],PlayerName[24];
- GetPlayerName(ID,PlayerName,sizeof(PlayerName));
- if(!IsPlayerConnected(ID))
- return IrcSay ("USAGE: !iban <playerid> <reason>");
- if(sscanf(params, "dz", ID, Reason))
- return IrcSay ("USAGE: !iban <playerid> <reason>");
- format(tString,sizeof(tString),"Admin %s (ID: -1) banned %s (ID:%d) Reason: %s",user,PlayerName,ID,Reason);
- SendClientMessageToAll(0xFF0000AA, tString);
- IrcSay(tString);
- BanEx(ID, Reason);
- return 1;
- }
- irccmd_ikick(conn, channel[], user[], params[])
- {
- if(!ircIsOp(conn,channel,user)) return IrcSay(""IRC_AUTH_MSG"");
- new
- ID = strval(params),tString[128],
- Reason[64],PlayerName[24];
- GetPlayerName(ID,PlayerName,sizeof(PlayerName));
- if(!IsPlayerConnected(ID))
- return IrcSay ("USAGE: !ikick <playerid> <reason>");
- if(sscanf(params, "dz", ID, Reason))
- return IrcSay ("USAGE: !ikick <playerid> <reason>");
- format(tString,sizeof(tString),"Admin %s (ID: -1) kicked %s (ID:%d) Reason: %s",user,PlayerName,ID,Reason);
- SendClientMessageToAll(0xFF0000AA, tString);
- IrcSay(tString);
- Kick(ID);
- return 1;
- }
- irccmd_ikill(conn, channel[], user[], params[])
- {
- if(!ircIsOp(conn,channel,user)) return IrcSay(""IRC_AUTH_MSG"");
- new
- ID = strval(params),tString[128],
- Reason[64],PlayerName[24];
- GetPlayerName(ID,PlayerName,sizeof(PlayerName));
- if(!IsPlayerConnected(ID))
- return IrcSay ("USAGE: !ikill <playerid> <reason>");
- if(sscanf(params, "dz", ID, Reason))
- return IrcSay ("USAGE: !ikill <playerid> <reason>");
- format(tString,sizeof(tString),"Admin %s (ID: -1) killed %s (ID:%d) Reason: %s",user,PlayerName,ID,Reason);
- SendClientMessageToAll(0xFF0000AA, tString);
- IrcSay(tString);
- SetPlayerHealth(ID,0);
- return 1;
- }
- irccmd_iheal(conn, channel[], user[], params[])
- {
- if(!ircIsOp(conn,channel,user)) return IrcSay(""IRC_AUTH_MSG"");
- new
- ID = strval(params),tString[128],
- Reason[64],PlayerName[24];
- GetPlayerName(ID,PlayerName,sizeof(PlayerName));
- if(!IsPlayerConnected(ID))
- return IrcSay ("USAGE: !iheal <playerid> <reason>");
- if(sscanf(params, "dz", ID, Reason))
- return IrcSay ("USAGE: !iheal <playerid> <reason>");
- format(tString,sizeof(tString),"Admin %s (ID: -1) has healed %s (ID:%d) Reason: %s",user,PlayerName,ID,Reason);
- SendClientMessageToAll(0xFF0000AA, tString);
- IrcSay(tString);
- SetPlayerHealth(ID,100);
- SetPlayerArmour(ID,100);
- return 1;
- }
- irccmd_islap(conn, channel[], user[], params[])
- {
- if(!ircIsOp(conn,channel,user)) return IrcSay(""IRC_AUTH_MSG"");
- new
- ID = strval(params),tString[128],
- Reason[64],PlayerName[24];
- GetPlayerName(ID,PlayerName,sizeof(PlayerName));
- if(!IsPlayerConnected(ID))
- return IrcSay ("USAGE: !islap <playerid> <reason>");
- if(sscanf(params, "dz", ID, Reason))
- return IrcSay ("USAGE: !islap <playerid> <reason>");
- format(tString,sizeof(tString),"Admin %s (ID: -1) slapped %s (ID:%d) Reason: %s",user,PlayerName,ID,Reason);
- SendClientMessageToAll(0xFF0000AA, tString);
- IrcSay(tString);
- new Float:x,Float:y,Float:z;
- GetPlayerPos(ID, x, y, z);
- SetPlayerPos(ID, x, y, z+10);
- return 1;
- }
- stock sscanf(string[], format[], {Float,_}:...)
- {
- new
- formatPos = 0,
- stringPos = 0,
- paramPos = 2,
- paramCount = numargs();
- while (paramPos < paramCount && string[stringPos])
- {
- switch (format[formatPos++])
- {
- case '\0':
- {
- return false;
- }
- case 'i', 'd':
- {
- new
- neg = 1,
- num = 0,
- ch = string[stringPos];
- if (ch == '-')
- {
- neg = -1;
- ch = string[++stringPos];
- }
- do
- {
- stringPos++;
- if (ch >= '0' && ch <= '9')
- {
- num = (num * 10) + (ch - '0');
- }
- else
- {
- return true;
- }
- }
- while ((ch = string[stringPos]) && ch != ' ');
- setarg(paramPos, 0, num * neg);
- }
- case 'h', 'x':
- {
- new
- ch,
- num = 0;
- while ((ch = string[stringPos++]))
- {
- switch (ch)
- {
- case 'x', 'X':
- {
- num = 0;
- continue;
- }
- case '0' .. '9':
- {
- num = (num << 4) | (ch - '0');
- }
- case 'a' .. 'f':
- {
- num = (num << 4) | (ch - ('a' - 10));
- }
- case 'A' .. 'F':
- {
- num = (num << 4) | (ch - ('A' - 10));
- }
- case ' ':
- {
- break;
- }
- default:
- {
- return true;
- }
- }
- }
- setarg(paramPos, 0, num);
- }
- case 'c':
- {
- setarg(paramPos, 0, string[stringPos++]);
- }
- case 'f':
- {
- // Secret message, if you see this: HELLO!
- new tmp[25];
- strmid(tmp, string, stringPos, stringPos+sizeof(tmp)-2);
- setarg(paramPos, 0, _:floatstr(tmp));
- }
- case 's', 'z':
- {
- new
- i = 0,
- ch;
- if (format[formatPos])
- {
- while ((ch = string[stringPos++]) && ch != ' ')
- {
- setarg(paramPos, i++, ch);
- }
- if (!i) return true;
- }
- else
- {
- while ((ch = string[stringPos++]))
- {
- setarg(paramPos, i++, ch);
- }
- }
- stringPos--;
- setarg(paramPos, i, '\0');
- }
- default:
- {
- continue;
- }
- }
- while (string[stringPos] && string[stringPos] != ' ')
- {
- stringPos++;
- }
- while (string[stringPos] == ' ')
- {
- stringPos++;
- }
- paramPos++;
- }
- while (format[formatPos] == 'z') formatPos++;
- return format[formatPos];
- }
- strtok(const string[], &index)
- {
- new
- length = strlen(string);
- while ((index < length) && (string[index] <= ' '))
- {
- index++;
- }
- new
- offset = index,
- result[20];
- while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
- {
- result[index - offset] = string[index];
- index++;
- }
- result[index - offset] = EOS;
- return result;
- }
- public Float:GetDistanceBetweenPlayers(p1,p2)
- {
- new
- Float:Pos[6];
- if(!IsPlayerConnected(p1) || !IsPlayerConnected(p2))
- {
- return -1.00;
- }
- GetPlayerPos(p1,Pos[0],Pos[1],Pos[2]);
- GetPlayerPos(p2,Pos[3],Pos[4],Pos[5]);
- return floatsqroot(floatpower(floatabs(floatsub(Pos[3],Pos[0])),2)+floatpower(floatabs(floatsub(Pos[4],Pos[1])),2)+floatpower(floatabs(floatsub(Pos[5],Pos[2])),2));
- }
Advertisement
Add Comment
Please, Sign In to add comment