SA-MP Forums Archive
irc.amx load but NOTHING happends - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: irc.amx load but NOTHING happends (/showthread.php?tid=367228)



irc.amx load but NOTHING happends - JEkvall95 - 09.08.2012

here is the pawn file please help

why NOTHING happends? O_o please help

pawn Код:
#include <a_samp>
// irc.inc from this package
#include <irc>
// sscanf2.inc from the sscanf plugin
#include <sscanf2>

// Name that everyone will see
#define BOT_1_NICKNAME "[BOT]Charlie Sheen"
// Name that will only be visible in a whois
#define BOT_1_REALNAME "Charlie the bot"
// Name that will be in front of the hostname (username@hostname)
#define BOT_1_USERNAME "bot"

#define BOT_2_NICKNAME "SERVER"
#define BOT_2_REALNAME "SA-MP Bot"
#define BOT_2_USERNAME "bot"

#define IRC_SERVER "irc.geekshed.net"
#define IRC_PORT (6667)
#define IRC_CHANNEL "#Julius95"

// Maximum number of bots in the filterscript
#define MAX_BOTS (2)

#define PLUGIN_VERSION "1.4.3"

new botIDs[MAX_BOTS], groupID;

/*
        When the filterscript is loaded, two bots will connect and a group will be
        created for them.
*/


public OnFilterScriptInit()
{
        // Connect the first bot
        botIDs[0] = IRC_Connect(IRC_SERVER, IRC_PORT, BOT_1_NICKNAME, BOT_1_REALNAME, BOT_1_USERNAME);
        // Set the connect delay for the first bot to 20 seconds
        IRC_SetIntData(botIDs[0], E_IRC_CONNECT_DELAY, 20);
        // Connect the second bot
        botIDs[1] = IRC_Connect(IRC_SERVER, IRC_PORT, BOT_2_NICKNAME, BOT_2_REALNAME, BOT_2_USERNAME);
        // Set the connect delay for the second bot to 30 seconds
        IRC_SetIntData(botIDs[1], E_IRC_CONNECT_DELAY, 30);
        // Create a group (the bots will be added to it upon connect)
        groupID = IRC_CreateGroup();
}

/*
        When the filterscript is unloaded, the bots will disconnect, and the group
        will be destroyed.
*/


public OnFilterScriptExit()
{
        // Disconnect the first bot
        IRC_GroupSay(groupID, IRC_CHANNEL, "Server is restarting/shutting down");
        IRC_Quit(botIDs[0], "Filterscript exiting");
        // Disconnect the second bot
        IRC_Quit(botIDs[1], "Filterscript exiting");
        // Destroy the group
        IRC_DestroyGroup(groupID);
}

/*
        The standard SA-MP callbacks are below. We will echo a few of them to the
        IRC channel.
*/


public OnPlayerConnect(playerid)
{
        new joinMsg[128], name[MAX_PLAYER_NAME];
        GetPlayerName(playerid, name, sizeof(name));
        format(joinMsg, sizeof(joinMsg), "02[%d] 03*** %s has joined the server.", playerid, name);
        IRC_GroupSay(groupID, IRC_CHANNEL, joinMsg);
        return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
        new leaveMsg[128], name[MAX_PLAYER_NAME], reasonMsg[8];
        switch(reason)
        {
                case 0: reasonMsg = "Timeout";
                case 1: reasonMsg = "Leaving";
                case 2: reasonMsg = "Kicked";
        }
        GetPlayerName(playerid, name, sizeof(name));
        format(leaveMsg, sizeof(leaveMsg), "02[%d] 03*** %s has left the server. (%s)", playerid, name, reasonMsg);
        IRC_GroupSay(groupID, IRC_CHANNEL, leaveMsg);
        return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
        new msg[128], killerName[MAX_PLAYER_NAME], reasonMsg[32], playerName[MAX_PLAYER_NAME];
        GetPlayerName(killerid, killerName, sizeof(killerName));
        GetPlayerName(playerid, playerName, sizeof(playerName));
        if (killerid != INVALID_PLAYER_ID)
        {
                switch (reason)
                {
                        case 0: reasonMsg = "Unarmed";
                        case 1: reasonMsg = "Brass Knuckles";
                        case 2: reasonMsg = "Golf Club";
                        case 3: reasonMsg = "Night Stick";
                        case 4: reasonMsg = "Knife";
                        case 5: reasonMsg = "Baseball Bat";
                        case 6: reasonMsg = "Shovel";
                        case 7: reasonMsg = "Pool Cue";
                        case 8: reasonMsg = "Katana";
                        case 9: reasonMsg = "Chainsaw";
                        case 10: reasonMsg = "Dildo";
                        case 11: reasonMsg = "Dildo";
                        case 12: reasonMsg = "Vibrator";
                        case 13: reasonMsg = "Vibrator";
                        case 14: reasonMsg = "Flowers";
                        case 15: reasonMsg = "Cane";
                        case 22: reasonMsg = "Pistol";
                        case 23: reasonMsg = "Silenced Pistol";
                        case 24: reasonMsg = "Desert Eagle";
                        case 25: reasonMsg = "Shotgun";
                        case 26: reasonMsg = "Sawn-off Shotgun";
                        case 27: reasonMsg = "Combat Shotgun";
                        case 28: reasonMsg = "MAC-10";
                        case 29: reasonMsg = "MP5";
                        case 30: reasonMsg = "AK-47";
                        case 31: reasonMsg = "M4";
                        case 32: reasonMsg = "TEC-9";
                        case 33: reasonMsg = "Country Rifle";
                        case 34: reasonMsg = "Sniper Rifle";
                        case 37: reasonMsg = "Fire";
                        case 38: reasonMsg = "Minigun";
                        case 41: reasonMsg = "Spray Can";
                        case 42: reasonMsg = "Fire Extinguisher";
                        case 49: reasonMsg = "Vehicle Collision";
                        case 50: reasonMsg = "Vehicle Collision";
                        case 51: reasonMsg = "Explosion";
                        default: reasonMsg = "Unknown";
                }
                format(msg, sizeof(msg), "04*** %s killed %s. (%s)", killerName, playerName, reasonMsg);
        }
        else
        {
                switch (reason)
                {
                        case 53: format(msg, sizeof(msg), "04*** %s died. (Drowned)", playerName);
                        case 54: format(msg, sizeof(msg), "04*** %s died. (Collision)", playerName);
                        default: format(msg, sizeof(msg), "04*** %s died.", playerName);
                }
        }
        IRC_GroupSay(groupID, IRC_CHANNEL, msg);
        return 1;
}

public OnPlayerText(playerid, text[])
{
        new name[MAX_PLAYER_NAME], ircMsg[256];
        GetPlayerName(playerid, name, sizeof(name));
        format(ircMsg, sizeof(ircMsg), "02[%d] 07%s: %s", playerid, name, text);
        IRC_GroupSay(groupID, IRC_CHANNEL, ircMsg);
        return 1;
}

/*
        The IRC callbacks are below. Many of these are simply derived from parsed
        raw messages received from the IRC server. They can be used to inform the
        bot of new activity in any of the channels it has joined.
*/


/*
        This callback is executed whenever a bot successfully connects to an IRC
        server.
*/


public IRC_OnConnect(botid, ip[], port)
{
        printf("*** IRC_OnConnect: Bot ID %d connected to %s:%d", botid, ip, port);
        // Join the channel
        IRC_JoinChannel(botid, IRC_CHANNEL);
        // Add the bot to the group
        IRC_AddToGroup(groupID, botid);
        return 1;
}

/*
        This callback is executed whenever a current connection is closed. The
        plugin may automatically attempt to reconnect per user settings. IRC_Quit
        may be called at any time to stop the reconnection process.
*/


public IRC_OnDisconnect(botid, ip[], port, reason[])
{
        printf("*** IRC_OnDisconnect: Bot ID %d disconnected from %s:%d (%s)", botid, ip, port, reason);
        // Remove the bot from the group
        IRC_RemoveFromGroup(groupID, botid);
        return 1;
}

/*
        This callback is executed whenever a connection attempt begins. IRC_Quit may
        be called at any time to stop the reconnection process.
*/


public IRC_OnConnectAttempt(botid, ip[], port)
{
        printf("*** IRC_OnConnectAttempt: Bot ID %d attempting to connect to %s:%d...", botid, ip, port);
        return 1;
}

/*
        This callback is executed whenever a connection attempt fails. IRC_Quit may
        be called at any time to stop the reconnection process.
*/


public IRC_OnConnectAttemptFail(botid, ip[], port, reason[])
{
        printf("*** IRC_OnConnectAttemptFail: Bot ID %d failed to connect to %s:%d (%s)", botid, ip, port, reason);
        return 1;
}

/*
        This callback is executed whenever a bot joins a channel.
*/


public IRC_OnJoinChannel(botid, channel[])
{
        printf("*** IRC_OnJoinChannel: Bot ID %d joined channel %s", botid, channel);
        return 1;
}

/*
        This callback is executed whenevever a bot leaves a channel.
*/


public IRC_OnLeaveChannel(botid, channel[], message[])
{
        printf("*** IRC_OnLeaveChannel: Bot ID %d left channel %s (%s)", botid, channel, message);
        return 1;
}

/*
        This callback is executed whenevever a bot is invited to a channel.
*/


public IRC_OnInvitedToChannel(botid, channel[], invitinguser[], invitinghost[])
{
        printf("*** IRC_OnInvitedToChannel: Bot ID %d invited to channel %s by %s (%s)", botid, channel, invitinguser, invitinghost);
        IRC_JoinChannel(botid, channel);
        return 1;
}

/*
        This callback is executed whenevever a bot is kicked from a channel. If the
        bot cannot immediately rejoin the channel (in the event, for example, that
        the bot is kicked and then banned), you might want to set up a timer here
        for rejoin attempts.
*/


public IRC_OnKickedFromChannel(botid, channel[], oppeduser[], oppedhost[], message[])
{
        printf("*** IRC_OnKickedFromChannel: Bot ID %d kicked by %s (%s) from channel %s (%s)", botid, oppeduser, oppedhost, channel, message);
        IRC_JoinChannel(botid, channel);
        return 1;
}

public IRC_OnUserDisconnect(botid, user[], host[], message[])
{
        printf("*** IRC_OnUserDisconnect (Bot ID %d): User %s (%s) disconnected (%s)", botid, user, host, message);
        return 1;
}

public IRC_OnUserJoinChannel(botid, channel[], user[], host[])
{
        printf("*** IRC_OnUserJoinChannel (Bot ID %d): User %s (%s) joined channel %s", botid, user, host, channel);
        return 1;
}

public IRC_OnUserLeaveChannel(botid, channel[], user[], host[], message[])
{
        printf("*** IRC_OnUserLeaveChannel (Bot ID %d): User %s (%s) left channel %s (%s)", botid, user, host, channel, message);
        return 1;
}

public IRC_OnUserKickedFromChannel(botid, channel[], kickeduser[], oppeduser[], oppedhost[], message[])
{
        printf("*** IRC_OnUserKickedFromChannel (Bot ID %d): User %s kicked by %s (%s) from channel %s (%s)", botid, kickeduser, oppeduser, oppedhost, channel, message);
}

public IRC_OnUserNickChange(botid, oldnick[], newnick[], host[])
{
        printf("*** IRC_OnUserNickChange (Bot ID %d): User %s (%s) changed his/her nick to %s", botid, oldnick, host, newnick);
        return 1;
}

public IRC_OnUserSetChannelMode(botid, channel[], user[], host[], mode[])
{
        printf("*** IRC_OnUserSetChannelMode (Bot ID %d): User %s (%s) on %s set mode: %s", botid, user, host, channel, mode);
        return 1;
}

public IRC_OnUserSetChannelTopic(botid, channel[], user[], host[], topic[])
{
        printf("*** IRC_OnUserSetChannelTopic (Bot ID %d): User %s (%s) on %s set topic: %s", botid, user, host, channel, topic);
        return 1;
}

public IRC_OnUserSay(botid, recipient[], user[], host[], message[])
{
        printf("*** IRC_OnUserSay (Bot ID %d): User %s (%s) sent message to %s: %s", botid, user, host, recipient, message);
        // Someone sent the first bot a private message
        if (!strcmp(recipient, BOT_1_NICKNAME))
        {
                IRC_Say(botid, user, "You sent me a PM!");
        }
        return 1;
}

public IRC_OnUserNotice(botid, recipient[], user[], host[], message[])
{
        printf("*** IRC_OnUserNotice (Bot ID %d): User %s (%s) sent notice to %s: %s", botid, user, host, recipient, message);
        // Someone sent the second bot a notice (probably a network service)
        if (!strcmp(recipient, BOT_2_NICKNAME))
        {
                IRC_Notice(botid, user, "You sent me a notice!");
        }
        return 1;
}

public IRC_OnUserRequestCTCP(botid, user[], host[], message[])
{
        printf("*** IRC_OnUserRequestCTCP (Bot ID %d): User %s (%s) sent CTCP request: %s", botid, user, host, message);
        // Someone sent a CTCP VERSION request
        if (!strcmp(message, "VERSION"))
        {
                IRC_ReplyCTCP(botid, user, "VERSION SA-MP IRC Plugin v" #PLUGIN_VERSION "");
        }
        return 1;
}

public IRC_OnUserReplyCTCP(botid, user[], host[], message[])
{
        printf("*** IRC_OnUserReplyCTCP (Bot ID %d): User %s (%s) sent CTCP reply: %s", botid, user, host, message);
        return 1;
}

/*
        This callback is useful for logging, debugging, or catching error messages
        sent by the IRC server.
*/


public IRC_OnReceiveRaw(botid, message[])
{
        new File:file;
        if (!fexist("irc_log.txt"))
        {
                file = fopen("irc_log.txt", io_write);
        }
        else
        {
                file = fopen("irc_log.txt", io_append);
        }
        if (file)
        {
                fwrite(file, message);
                fwrite(file, "\r\n");
                fclose(file);
        }
        return 1;
}

/*
        Some examples of channel commands are here. You can add more very easily;
        their implementation is identical to that of ZeeX's zcmd.
*/


IRCCMD:say(botid, channel[], user[], host[], params[])
{
        // Check if the user has at least voice in the channel
        if (IRC_IsVoice(botid, channel, user))
        {
                // Check if the user entered any text
                if (!isnull(params))
                {
                        new msg[128];
                        // Echo the formatted message
                        format(msg, sizeof(msg), "02*** %s on IRC: %s", user, params);
                        IRC_GroupSay(groupID, channel, msg);
                        format(msg, sizeof(msg), "*** %s on IRC: %s", user, params);
                        SendClientMessageToAll(0x0000FFFF, msg);
                }
        }
        return 1;
}

IRCCMD:kick(botid, channel[], user[], host[], params[])
{
        // Check if the user is at least a halfop in the channel
        if (IRC_IsHalfop(botid, channel, user))
        {
                new playerid, reason[64];
                // Check if the user at least entered a player ID
                if (sscanf(params, "dS(No reason)[64]", playerid, reason))
                {
                        return 1;
                }
                // Check if the player is connected
                if (IsPlayerConnected(playerid))
                {
                        // Echo the formatted message
                        new msg[128], name[MAX_PLAYER_NAME];
                        GetPlayerName(playerid, name, sizeof(name));
                        format(msg, sizeof(msg), "02*** %s has been kicked by %s on IRC. (%s)", name, user, reason);
                        IRC_GroupSay(groupID, channel, msg);
                        format(msg, sizeof(msg), "*** %s has been kicked by %s on IRC. (%s)", name, user, reason);
                        SendClientMessageToAll(0x0000FFFF, msg);
                        // Kick the player
                        Kick(playerid);
                }
        }
        return 1;
}

IRCCMD:ban(botid, channel[], user[], host[], params[])
{
        // Check if the user is at least an op in the channel
        if (IRC_IsOp(botid, channel, user))
        {
                new playerid, reason[64];
                // Check if the user at least entered a player ID
                if (sscanf(params, "dS(No reason)[64]", playerid, reason))
                {
                        return 1;
                }
                // Check if the player is connected
                if (IsPlayerConnected(playerid))
                {
                        // Echo the formatted message
                        new msg[128], name[MAX_PLAYER_NAME];
                        GetPlayerName(playerid, name, sizeof(name));
                        format(msg, sizeof(msg), "02*** %s has been banned by %s on IRC. (%s)", name, user, reason);
                        IRC_GroupSay(groupID, channel, msg);
                        format(msg, sizeof(msg), "*** %s has been banned by %s on IRC. (%s)", name, user, reason);
                        SendClientMessageToAll(0x0000FFFF, msg);
                        // Ban the player
                        BanEx(playerid, reason);
                }
        }
        return 1;
}

IRCCMD:rcon(botid, channel[], user[], host[], params[])
{
        // Check if the user is at least an op in the channel
        if (IRC_IsOp(botid, channel, user))
        {
                // Check if the user entered any text
                if (!isnull(params))
                {
                        // Check if the user did not enter any invalid commands
                        if (strcmp(params, "exit", true) != 0 && strfind(params, "loadfs irc", true) == -1)
                        {
                                // Echo the formatted message
                                new msg[128];
                                format(msg, sizeof(msg), "RCON command %s has been executed.", params);
                                IRC_GroupSay(groupID, channel, msg);
                                // Send the command
                                SendRconCommand(params);
                        }
                }
        }
        return 1;
}



Re: irc.amx load but NOTHING happends - [FSaF]Jarno - 09.08.2012

I don't have any idea about irc things, but bumping your help topics is forbidden. If there's something you want to add just edit the first post instead of making a new post


Re: irc.amx load but NOTHING happends - [GO]Hardstyle - 09.08.2012

What's the problem?


Re: irc.amx load but NOTHING happends - JEkvall95 - 09.08.2012

Quote:
Originally Posted by [GO]Hardstyle
Посмотреть сообщение
What's the problem?
The problem is that NOTHING happends.

bots should connect but they doesn't


Re: irc.amx load but NOTHING happends - denNorske - 09.08.2012

got the same problem earlier. register the bot names in ur irc,then define the password. it should work then.

and be sure u got the latest irc plugin.


Re: irc.amx load but NOTHING happends - shaniyal - 09.08.2012

Quote:
Originally Posted by JEkvall95
Посмотреть сообщение
here is the pawn file please help

why NOTHING happends? O_o please help

pawn Код:
#include <a_samp>
// irc.inc from this package
#include <irc>
// sscanf2.inc from the sscanf plugin
#include <sscanf2>

// Name that everyone will see
#define BOT_1_NICKNAME "[BOT]Charlie Sheen"
// Name that will only be visible in a whois
#define BOT_1_REALNAME "Charlie the bot"
// Name that will be in front of the hostname (username@hostname)
#define BOT_1_USERNAME "bot"

#define BOT_2_NICKNAME "SERVER"
#define BOT_2_REALNAME "SA-MP Bot"
#define BOT_2_USERNAME "bot"

#define IRC_SERVER "irc.geekshed.net"
#define IRC_PORT (6667)
#define IRC_CHANNEL "#Julius95"

// Maximum number of bots in the filterscript
#define MAX_BOTS (2)

#define PLUGIN_VERSION "1.4.3"

new botIDs[MAX_BOTS], groupID;

/*
        When the filterscript is loaded, two bots will connect and a group will be
        created for them.
*/


public OnFilterScriptInit()
{
        // Connect the first bot
        botIDs[0] = IRC_Connect(IRC_SERVER, IRC_PORT, BOT_1_NICKNAME, BOT_1_REALNAME, BOT_1_USERNAME);
        // Set the connect delay for the first bot to 20 seconds
        IRC_SetIntData(botIDs[0], E_IRC_CONNECT_DELAY, 20);
        // Connect the second bot
        botIDs[1] = IRC_Connect(IRC_SERVER, IRC_PORT, BOT_2_NICKNAME, BOT_2_REALNAME, BOT_2_USERNAME);
        // Set the connect delay for the second bot to 30 seconds
        IRC_SetIntData(botIDs[1], E_IRC_CONNECT_DELAY, 30);
        // Create a group (the bots will be added to it upon connect)
        groupID = IRC_CreateGroup();
}

/*
        When the filterscript is unloaded, the bots will disconnect, and the group
        will be destroyed.
*/


public OnFilterScriptExit()
{
        // Disconnect the first bot
        IRC_GroupSay(groupID, IRC_CHANNEL, "Server is restarting/shutting down");
        IRC_Quit(botIDs[0], "Filterscript exiting");
        // Disconnect the second bot
        IRC_Quit(botIDs[1], "Filterscript exiting");
        // Destroy the group
        IRC_DestroyGroup(groupID);
}

/*
        The standard SA-MP callbacks are below. We will echo a few of them to the
        IRC channel.
*/


public OnPlayerConnect(playerid)
{
        new joinMsg[128], name[MAX_PLAYER_NAME];
        GetPlayerName(playerid, name, sizeof(name));
        format(joinMsg, sizeof(joinMsg), "02[%d] 03*** %s has joined the server.", playerid, name);
        IRC_GroupSay(groupID, IRC_CHANNEL, joinMsg);
        return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
        new leaveMsg[128], name[MAX_PLAYER_NAME], reasonMsg[8];
        switch(reason)
        {
                case 0: reasonMsg = "Timeout";
                case 1: reasonMsg = "Leaving";
                case 2: reasonMsg = "Kicked";
        }
        GetPlayerName(playerid, name, sizeof(name));
        format(leaveMsg, sizeof(leaveMsg), "02[%d] 03*** %s has left the server. (%s)", playerid, name, reasonMsg);
        IRC_GroupSay(groupID, IRC_CHANNEL, leaveMsg);
        return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
        new msg[128], killerName[MAX_PLAYER_NAME], reasonMsg[32], playerName[MAX_PLAYER_NAME];
        GetPlayerName(killerid, killerName, sizeof(killerName));
        GetPlayerName(playerid, playerName, sizeof(playerName));
        if (killerid != INVALID_PLAYER_ID)
        {
                switch (reason)
                {
                        case 0: reasonMsg = "Unarmed";
                        case 1: reasonMsg = "Brass Knuckles";
                        case 2: reasonMsg = "Golf Club";
                        case 3: reasonMsg = "Night Stick";
                        case 4: reasonMsg = "Knife";
                        case 5: reasonMsg = "Baseball Bat";
                        case 6: reasonMsg = "Shovel";
                        case 7: reasonMsg = "Pool Cue";
                        case 8: reasonMsg = "Katana";
                        case 9: reasonMsg = "Chainsaw";
                        case 10: reasonMsg = "Dildo";
                        case 11: reasonMsg = "Dildo";
                        case 12: reasonMsg = "Vibrator";
                        case 13: reasonMsg = "Vibrator";
                        case 14: reasonMsg = "Flowers";
                        case 15: reasonMsg = "Cane";
                        case 22: reasonMsg = "Pistol";
                        case 23: reasonMsg = "Silenced Pistol";
                        case 24: reasonMsg = "Desert Eagle";
                        case 25: reasonMsg = "Shotgun";
                        case 26: reasonMsg = "Sawn-off Shotgun";
                        case 27: reasonMsg = "Combat Shotgun";
                        case 28: reasonMsg = "MAC-10";
                        case 29: reasonMsg = "MP5";
                        case 30: reasonMsg = "AK-47";
                        case 31: reasonMsg = "M4";
                        case 32: reasonMsg = "TEC-9";
                        case 33: reasonMsg = "Country Rifle";
                        case 34: reasonMsg = "Sniper Rifle";
                        case 37: reasonMsg = "Fire";
                        case 38: reasonMsg = "Minigun";
                        case 41: reasonMsg = "Spray Can";
                        case 42: reasonMsg = "Fire Extinguisher";
                        case 49: reasonMsg = "Vehicle Collision";
                        case 50: reasonMsg = "Vehicle Collision";
                        case 51: reasonMsg = "Explosion";
                        default: reasonMsg = "Unknown";
                }
                format(msg, sizeof(msg), "04*** %s killed %s. (%s)", killerName, playerName, reasonMsg);
        }
        else
        {
                switch (reason)
                {
                        case 53: format(msg, sizeof(msg), "04*** %s died. (Drowned)", playerName);
                        case 54: format(msg, sizeof(msg), "04*** %s died. (Collision)", playerName);
                        default: format(msg, sizeof(msg), "04*** %s died.", playerName);
                }
        }
        IRC_GroupSay(groupID, IRC_CHANNEL, msg);
        return 1;
}

public OnPlayerText(playerid, text[])
{
        new name[MAX_PLAYER_NAME], ircMsg[256];
        GetPlayerName(playerid, name, sizeof(name));
        format(ircMsg, sizeof(ircMsg), "02[%d] 07%s: %s", playerid, name, text);
        IRC_GroupSay(groupID, IRC_CHANNEL, ircMsg);
        return 1;
}

/*
        The IRC callbacks are below. Many of these are simply derived from parsed
        raw messages received from the IRC server. They can be used to inform the
        bot of new activity in any of the channels it has joined.
*/


/*
        This callback is executed whenever a bot successfully connects to an IRC
        server.
*/


public IRC_OnConnect(botid, ip[], port)
{
        printf("*** IRC_OnConnect: Bot ID %d connected to %s:%d", botid, ip, port);
        // Join the channel
        IRC_JoinChannel(botid, IRC_CHANNEL);
        // Add the bot to the group
        IRC_AddToGroup(groupID, botid);
        return 1;
}

/*
        This callback is executed whenever a current connection is closed. The
        plugin may automatically attempt to reconnect per user settings. IRC_Quit
        may be called at any time to stop the reconnection process.
*/


public IRC_OnDisconnect(botid, ip[], port, reason[])
{
        printf("*** IRC_OnDisconnect: Bot ID %d disconnected from %s:%d (%s)", botid, ip, port, reason);
        // Remove the bot from the group
        IRC_RemoveFromGroup(groupID, botid);
        return 1;
}

/*
        This callback is executed whenever a connection attempt begins. IRC_Quit may
        be called at any time to stop the reconnection process.
*/


public IRC_OnConnectAttempt(botid, ip[], port)
{
        printf("*** IRC_OnConnectAttempt: Bot ID %d attempting to connect to %s:%d...", botid, ip, port);
        return 1;
}

/*
        This callback is executed whenever a connection attempt fails. IRC_Quit may
        be called at any time to stop the reconnection process.
*/


public IRC_OnConnectAttemptFail(botid, ip[], port, reason[])
{
        printf("*** IRC_OnConnectAttemptFail: Bot ID %d failed to connect to %s:%d (%s)", botid, ip, port, reason);
        return 1;
}

/*
        This callback is executed whenever a bot joins a channel.
*/


public IRC_OnJoinChannel(botid, channel[])
{
        printf("*** IRC_OnJoinChannel: Bot ID %d joined channel %s", botid, channel);
        return 1;
}

/*
        This callback is executed whenevever a bot leaves a channel.
*/


public IRC_OnLeaveChannel(botid, channel[], message[])
{
        printf("*** IRC_OnLeaveChannel: Bot ID %d left channel %s (%s)", botid, channel, message);
        return 1;
}

/*
        This callback is executed whenevever a bot is invited to a channel.
*/


public IRC_OnInvitedToChannel(botid, channel[], invitinguser[], invitinghost[])
{
        printf("*** IRC_OnInvitedToChannel: Bot ID %d invited to channel %s by %s (%s)", botid, channel, invitinguser, invitinghost);
        IRC_JoinChannel(botid, channel);
        return 1;
}

/*
        This callback is executed whenevever a bot is kicked from a channel. If the
        bot cannot immediately rejoin the channel (in the event, for example, that
        the bot is kicked and then banned), you might want to set up a timer here
        for rejoin attempts.
*/


public IRC_OnKickedFromChannel(botid, channel[], oppeduser[], oppedhost[], message[])
{
        printf("*** IRC_OnKickedFromChannel: Bot ID %d kicked by %s (%s) from channel %s (%s)", botid, oppeduser, oppedhost, channel, message);
        IRC_JoinChannel(botid, channel);
        return 1;
}

public IRC_OnUserDisconnect(botid, user[], host[], message[])
{
        printf("*** IRC_OnUserDisconnect (Bot ID %d): User %s (%s) disconnected (%s)", botid, user, host, message);
        return 1;
}

public IRC_OnUserJoinChannel(botid, channel[], user[], host[])
{
        printf("*** IRC_OnUserJoinChannel (Bot ID %d): User %s (%s) joined channel %s", botid, user, host, channel);
        return 1;
}

public IRC_OnUserLeaveChannel(botid, channel[], user[], host[], message[])
{
        printf("*** IRC_OnUserLeaveChannel (Bot ID %d): User %s (%s) left channel %s (%s)", botid, user, host, channel, message);
        return 1;
}

public IRC_OnUserKickedFromChannel(botid, channel[], kickeduser[], oppeduser[], oppedhost[], message[])
{
        printf("*** IRC_OnUserKickedFromChannel (Bot ID %d): User %s kicked by %s (%s) from channel %s (%s)", botid, kickeduser, oppeduser, oppedhost, channel, message);
}

public IRC_OnUserNickChange(botid, oldnick[], newnick[], host[])
{
        printf("*** IRC_OnUserNickChange (Bot ID %d): User %s (%s) changed his/her nick to %s", botid, oldnick, host, newnick);
        return 1;
}

public IRC_OnUserSetChannelMode(botid, channel[], user[], host[], mode[])
{
        printf("*** IRC_OnUserSetChannelMode (Bot ID %d): User %s (%s) on %s set mode: %s", botid, user, host, channel, mode);
        return 1;
}

public IRC_OnUserSetChannelTopic(botid, channel[], user[], host[], topic[])
{
        printf("*** IRC_OnUserSetChannelTopic (Bot ID %d): User %s (%s) on %s set topic: %s", botid, user, host, channel, topic);
        return 1;
}

public IRC_OnUserSay(botid, recipient[], user[], host[], message[])
{
        printf("*** IRC_OnUserSay (Bot ID %d): User %s (%s) sent message to %s: %s", botid, user, host, recipient, message);
        // Someone sent the first bot a private message
        if (!strcmp(recipient, BOT_1_NICKNAME))
        {
                IRC_Say(botid, user, "You sent me a PM!");
        }
        return 1;
}

public IRC_OnUserNotice(botid, recipient[], user[], host[], message[])
{
        printf("*** IRC_OnUserNotice (Bot ID %d): User %s (%s) sent notice to %s: %s", botid, user, host, recipient, message);
        // Someone sent the second bot a notice (probably a network service)
        if (!strcmp(recipient, BOT_2_NICKNAME))
        {
                IRC_Notice(botid, user, "You sent me a notice!");
        }
        return 1;
}

public IRC_OnUserRequestCTCP(botid, user[], host[], message[])
{
        printf("*** IRC_OnUserRequestCTCP (Bot ID %d): User %s (%s) sent CTCP request: %s", botid, user, host, message);
        // Someone sent a CTCP VERSION request
        if (!strcmp(message, "VERSION"))
        {
                IRC_ReplyCTCP(botid, user, "VERSION SA-MP IRC Plugin v" #PLUGIN_VERSION "");
        }
        return 1;
}

public IRC_OnUserReplyCTCP(botid, user[], host[], message[])
{
        printf("*** IRC_OnUserReplyCTCP (Bot ID %d): User %s (%s) sent CTCP reply: %s", botid, user, host, message);
        return 1;
}

/*
        This callback is useful for logging, debugging, or catching error messages
        sent by the IRC server.
*/


public IRC_OnReceiveRaw(botid, message[])
{
        new File:file;
        if (!fexist("irc_log.txt"))
        {
                file = fopen("irc_log.txt", io_write);
        }
        else
        {
                file = fopen("irc_log.txt", io_append);
        }
        if (file)
        {
                fwrite(file, message);
                fwrite(file, "\r\n");
                fclose(file);
        }
        return 1;
}

/*
        Some examples of channel commands are here. You can add more very easily;
        their implementation is identical to that of ZeeX's zcmd.
*/


IRCCMD:say(botid, channel[], user[], host[], params[])
{
        // Check if the user has at least voice in the channel
        if (IRC_IsVoice(botid, channel, user))
        {
                // Check if the user entered any text
                if (!isnull(params))
                {
                        new msg[128];
                        // Echo the formatted message
                        format(msg, sizeof(msg), "02*** %s on IRC: %s", user, params);
                        IRC_GroupSay(groupID, channel, msg);
                        format(msg, sizeof(msg), "*** %s on IRC: %s", user, params);
                        SendClientMessageToAll(0x0000FFFF, msg);
                }
        }
        return 1;
}

IRCCMD:kick(botid, channel[], user[], host[], params[])
{
        // Check if the user is at least a halfop in the channel
        if (IRC_IsHalfop(botid, channel, user))
        {
                new playerid, reason[64];
                // Check if the user at least entered a player ID
                if (sscanf(params, "dS(No reason)[64]", playerid, reason))
                {
                        return 1;
                }
                // Check if the player is connected
                if (IsPlayerConnected(playerid))
                {
                        // Echo the formatted message
                        new msg[128], name[MAX_PLAYER_NAME];
                        GetPlayerName(playerid, name, sizeof(name));
                        format(msg, sizeof(msg), "02*** %s has been kicked by %s on IRC. (%s)", name, user, reason);
                        IRC_GroupSay(groupID, channel, msg);
                        format(msg, sizeof(msg), "*** %s has been kicked by %s on IRC. (%s)", name, user, reason);
                        SendClientMessageToAll(0x0000FFFF, msg);
                        // Kick the player
                        Kick(playerid);
                }
        }
        return 1;
}

IRCCMD:ban(botid, channel[], user[], host[], params[])
{
        // Check if the user is at least an op in the channel
        if (IRC_IsOp(botid, channel, user))
        {
                new playerid, reason[64];
                // Check if the user at least entered a player ID
                if (sscanf(params, "dS(No reason)[64]", playerid, reason))
                {
                        return 1;
                }
                // Check if the player is connected
                if (IsPlayerConnected(playerid))
                {
                        // Echo the formatted message
                        new msg[128], name[MAX_PLAYER_NAME];
                        GetPlayerName(playerid, name, sizeof(name));
                        format(msg, sizeof(msg), "02*** %s has been banned by %s on IRC. (%s)", name, user, reason);
                        IRC_GroupSay(groupID, channel, msg);
                        format(msg, sizeof(msg), "*** %s has been banned by %s on IRC. (%s)", name, user, reason);
                        SendClientMessageToAll(0x0000FFFF, msg);
                        // Ban the player
                        BanEx(playerid, reason);
                }
        }
        return 1;
}

IRCCMD:rcon(botid, channel[], user[], host[], params[])
{
        // Check if the user is at least an op in the channel
        if (IRC_IsOp(botid, channel, user))
        {
                // Check if the user entered any text
                if (!isnull(params))
                {
                        // Check if the user did not enter any invalid commands
                        if (strcmp(params, "exit", true) != 0 && strfind(params, "loadfs irc", true) == -1)
                        {
                                // Echo the formatted message
                                new msg[128];
                                format(msg, sizeof(msg), "RCON command %s has been executed.", params);
                                IRC_GroupSay(groupID, channel, msg);
                                // Send the command
                                SendRconCommand(params);
                        }
                }
        }
        return 1;
}
first compile it and fix the error


Re: irc.amx load but NOTHING happends - JEkvall95 - 11.08.2012

I don't get any errors... and actually you don't have to register the bots name. It should work by itself. but NOTHING at all happends...please help


Re: irc.amx load but NOTHING happends - P<3TS - 12.08.2012

Get the latest version of irc and then it will connect.


IRC ECHo why it won't work? - JEkvall95 - 12.08.2012

Код:
----------
Loaded log file: "server_log.txt".
----------

SA-MP Dedicated Server
----------------------
v0.3e-R2, ©2005-2012 SA-MP Team

[10:34:43] 
[10:34:43] Server Plugins
[10:34:43] --------------
[10:34:43]  Loading plugin: irc
[10:34:43] 

*** IRC Plugin v1.4.3 by Incognito loaded ***

[10:34:43]   Loaded.
[10:34:43]  Loaded 1 plugins.

[10:34:43] 
[10:34:43] Filterscripts
[10:34:44] ---------------
[10:34:44]   Loading filterscript 'gl_actions.amx'...
[10:34:44]   Loading filterscript 'gl_property.amx'...
[10:34:44] 
-----------------------------------
[10:34:44] Grand Larceny Property Filterscript		
[10:34:44] -----------------------------------

[10:34:44]   Loading filterscript 'gl_realtime.amx'...
[10:34:44]   Loading filterscript 'gl_mapicon.amx'...
[10:34:44]   Loading filterscript 'ls_elevator.amx'...
[10:34:44]   Loading filterscript 'test_cmds.amx'...
[10:34:44]   Loading filterscript 'ls_mall.amx'...
[10:34:44]   Loading filterscript 'attachments.amx'...
[10:34:44]   Loading filterscript 'irc.amx'...
[10:34:44]   Loaded 9 filterscripts.

[10:34:44] Loaded 3 vehicles from: vehicles/trains.txt
[10:34:44] Loaded 3 vehicles from: vehicles/pilots.txt
[10:34:44] Loaded 15 vehicles from: vehicles/lv_law.txt
[10:34:44] Loaded 39 vehicles from: vehicles/lv_airport.txt
[10:34:44] Loaded 255 vehicles from: vehicles/lv_gen.txt
[10:34:44] Loaded 38 vehicles from: vehicles/sf_law.txt
[10:34:44] Loaded 35 vehicles from: vehicles/sf_airport.txt
[10:34:44] Loaded 353 vehicles from: vehicles/sf_gen.txt
[10:34:44] Loaded 24 vehicles from: vehicles/ls_law.txt
[10:34:44] Loaded 37 vehicles from: vehicles/ls_airport.txt
[10:34:44] Loaded 98 vehicles from: vehicles/ls_gen_inner.txt
[10:34:44] Loaded 389 vehicles from: vehicles/ls_gen_outer.txt
[10:34:44] Loaded 71 vehicles from: vehicles/whetstone.txt
[10:34:44] Loaded 168 vehicles from: vehicles/bone.txt
[10:34:44] Loaded 61 vehicles from: vehicles/flint.txt
[10:34:44] Loaded 96 vehicles from: vehicles/tierra.txt
[10:34:44] Loaded 96 vehicles from: vehicles/red_county.txt
[10:34:44] Total vehicles from files: 1781
[10:34:44] Reading File: blank
[10:34:44] Reading File: properties/houses.txt
[10:34:44] Reading File: properties/businesses.txt
[10:34:44] Reading File: properties/banks.txt
[10:34:44] Reading File: properties/police.txt
[10:34:44] 
---------------------------------------
[10:34:44] Running Grand Larceny - by the SA-MP team

[10:34:44] ---------------------------------------

[10:34:44] Number of vehicle models: 173
server.cfg
Код:
echo Executing Server Config...
lanmode 0
rcon_password *****
maxplayers 500
port 7777
hostname SA-MP 0.3 Server
gamemode0 grandlarc
filterscripts gl_actions gl_property gl_realtime gl_mapicon ls_elevator test_cmds ls_mall attachments irc
plugins irc
announce 0
query 1
weburl www.sa-mp.com
onfoot_rate 40
incar_rate 40
weapon_rate 40
stream_distance 300.0
stream_rate 1000
maxnpc 10
logtimeformat [%H:%M:%S]
Gamemode code
pawn Код:
//----------------------------------------------------------
//
//  GRAND LARCENY  1.0
//  A freeroam gamemode for SA-MP 0.3
//
//----------------------------------------------------------

#include <a_samp>
#include <core>
#include <float>
#include "../include/gl_common.inc"
#include "../include/gl_spawns.inc"

#pragma tabsize 0

//----------------------------------------------------------

#define COLOR_WHITE         0xFFFFFFFF
#define COLOR_NORMAL_PLAYER 0xFFBB7777

#define CITY_LOS_SANTOS     0
#define CITY_SAN_FIERRO     1
#define CITY_LAS_VENTURAS   2

new total_vehicles_from_files=0;

// Class selection globals
new gPlayerCitySelection[MAX_PLAYERS];
new gPlayerHasCitySelected[MAX_PLAYERS];
new gPlayerLastCitySelectionTick[MAX_PLAYERS];

new Text:txtClassSelHelper;
new Text:txtLosSantos;
new Text:txtSanFierro;
new Text:txtLasVenturas;

new thisanimid=0;
new lastanimid=0;

//----------------------------------------------------------

main()
{
    print("\n---------------------------------------");
    print("Running Grand Larceny - by the SA-MP team\n");
    print("---------------------------------------\n");
}

//----------------------------------------------------------

public OnPlayerConnect(playerid)
{
    GameTextForPlayer(playerid,"~w~Grand Larceny",3000,4);
    SendClientMessage(playerid,COLOR_WHITE,"Welcome to {88AA88}G{FFFFFF}rand {88AA88}L{FFFFFF}arceny");
   
    // class selection init vars
    gPlayerCitySelection[playerid] = -1;
    gPlayerHasCitySelected[playerid] = 0;
    gPlayerLastCitySelectionTick[playerid] = GetTickCount();

    //SetPlayerColor(playerid,COLOR_NORMAL_PLAYER);
   
    /*
    Removes vending machines
    RemoveBuildingForPlayer(playerid, 1302, 0.0, 0.0, 0.0, 6000.0);
    RemoveBuildingForPlayer(playerid, 1209, 0.0, 0.0, 0.0, 6000.0);
    RemoveBuildingForPlayer(playerid, 955, 0.0, 0.0, 0.0, 6000.0);
    RemoveBuildingForPlayer(playerid, 1775, 0.0, 0.0, 0.0, 6000.0);
    RemoveBuildingForPlayer(playerid, 1776, 0.0, 0.0, 0.0, 6000.0);
    */

   
    /*
    new ClientVersion[32];
    GetPlayerVersion(playerid, ClientVersion, 32);
    printf("Player %d reports client version: %s", playerid, ClientVersion);*/


    return 1;
}

//----------------------------------------------------------

public OnPlayerSpawn(playerid)
{
    if(IsPlayerNPC(playerid)) return 1;
   
    new randSpawn = 0;
   
    SetPlayerInterior(playerid,0);
    TogglePlayerClock(playerid,0);
    ResetPlayerMoney(playerid);
    GivePlayerMoney(playerid, 30000);

    if(CITY_LOS_SANTOS == gPlayerCitySelection[playerid]) {
        randSpawn = random(sizeof(gRandomSpawns_LosSantos));
        SetPlayerPos(playerid,
         gRandomSpawns_LosSantos[randSpawn][0],
         gRandomSpawns_LosSantos[randSpawn][1],
         gRandomSpawns_LosSantos[randSpawn][2]);
        SetPlayerFacingAngle(playerid,gRandomSpawns_LosSantos[randSpawn][3]);
    }
    else if(CITY_SAN_FIERRO == gPlayerCitySelection[playerid]) {
        randSpawn = random(sizeof(gRandomSpawns_SanFierro));
        SetPlayerPos(playerid,
         gRandomSpawns_SanFierro[randSpawn][0],
         gRandomSpawns_SanFierro[randSpawn][1],
         gRandomSpawns_SanFierro[randSpawn][2]);
        SetPlayerFacingAngle(playerid,gRandomSpawns_SanFierro[randSpawn][3]);
    }
    else if(CITY_LAS_VENTURAS == gPlayerCitySelection[playerid]) {
        randSpawn = random(sizeof(gRandomSpawns_LasVenturas));
        SetPlayerPos(playerid,
         gRandomSpawns_LasVenturas[randSpawn][0],
         gRandomSpawns_LasVenturas[randSpawn][1],
         gRandomSpawns_LasVenturas[randSpawn][2]);
        SetPlayerFacingAngle(playerid,gRandomSpawns_LasVenturas[randSpawn][3]);
    }

    //SetPlayerColor(playerid,COLOR_NORMAL_PLAYER);
   
    SetPlayerSkillLevel(playerid,WEAPONSKILL_PISTOL,200);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_PISTOL_SILENCED,200);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_DESERT_EAGLE,200);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_SHOTGUN,200);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_SAWNOFF_SHOTGUN,200);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_SPAS12_SHOTGUN,200);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_MICRO_UZI,200);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_MP5,200);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_AK47,200);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_M4,200);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_SNIPERRIFLE,200);
   
    GivePlayerWeapon(playerid,WEAPON_COLT45,100);
    //GivePlayerWeapon(playerid,WEAPON_MP5,100);
    TogglePlayerClock(playerid, 0);

    return 1;
}

//----------------------------------------------------------

public OnPlayerDeath(playerid, killerid, reason)
{
    new playercash;
   
    // if they ever return to class selection make them city
    // select again first
    gPlayerHasCitySelected[playerid] = 0;
   
    if(killerid == INVALID_PLAYER_ID) {
        ResetPlayerMoney(playerid);
    } else {
        playercash = GetPlayerMoney(playerid);
        if(playercash > 0)  {
            GivePlayerMoney(killerid, playercash);
            ResetPlayerMoney(playerid);
        }
    }
    return 1;
}

//----------------------------------------------------------

ClassSel_SetupCharSelection(playerid)
{
    if(gPlayerCitySelection[playerid] == CITY_LOS_SANTOS) {
        SetPlayerInterior(playerid,11);
        SetPlayerPos(playerid,508.7362,-87.4335,998.9609);
        SetPlayerFacingAngle(playerid,0.0);
        SetPlayerCameraPos(playerid,508.7362,-83.4335,998.9609);
        SetPlayerCameraLookAt(playerid,508.7362,-87.4335,998.9609);
    }
    else if(gPlayerCitySelection[playerid] == CITY_SAN_FIERRO) {
        SetPlayerInterior(playerid,3);
        SetPlayerPos(playerid,-2673.8381,1399.7424,918.3516);
        SetPlayerFacingAngle(playerid,181.0);
        SetPlayerCameraPos(playerid,-2673.2776,1394.3859,918.3516);
        SetPlayerCameraLookAt(playerid,-2673.8381,1399.7424,918.3516);
    }
    else if(gPlayerCitySelection[playerid] == CITY_LAS_VENTURAS) {
        SetPlayerInterior(playerid,3);
        SetPlayerPos(playerid,349.0453,193.2271,1014.1797);
        SetPlayerFacingAngle(playerid,286.25);
        SetPlayerCameraPos(playerid,352.9164,194.5702,1014.1875);
        SetPlayerCameraLookAt(playerid,349.0453,193.2271,1014.1797);
    }
   
}

//----------------------------------------------------------
// Used to init textdraws of city names

ClassSel_InitCityNameText(Text:txtInit)
{
    TextDrawUseBox(txtInit, 0);
    TextDrawLetterSize(txtInit,1.25,3.0);
    TextDrawFont(txtInit, 0);
    TextDrawSetShadow(txtInit,0);
    TextDrawSetOutline(txtInit,1);
    TextDrawColor(txtInit,0xEEEEEEFF);
    TextDrawBackgroundColor(txtClassSelHelper,0x000000FF);
}

//----------------------------------------------------------

ClassSel_InitTextDraws()
{
    // Init our observer helper text display
    txtLosSantos = TextDrawCreate(10.0, 380.0, "Los Santos");
    ClassSel_InitCityNameText(txtLosSantos);
    txtSanFierro = TextDrawCreate(10.0, 380.0, "San Fierro");
    ClassSel_InitCityNameText(txtSanFierro);
    txtLasVenturas = TextDrawCreate(10.0, 380.0, "Las Venturas");
    ClassSel_InitCityNameText(txtLasVenturas);

    // Init our observer helper text display
    txtClassSelHelper = TextDrawCreate(10.0, 415.0,
       " Press ~b~~k~~GO_LEFT~ ~w~or ~b~~k~~GO_RIGHT~ ~w~to switch cities.~n~ Press ~r~~k~~PED_FIREWEAPON~ ~w~to select.");
    TextDrawUseBox(txtClassSelHelper, 1);
    TextDrawBoxColor(txtClassSelHelper,0x222222BB);
    TextDrawLetterSize(txtClassSelHelper,0.3,1.0);
    TextDrawTextSize(txtClassSelHelper,400.0,40.0);
    TextDrawFont(txtClassSelHelper, 2);
    TextDrawSetShadow(txtClassSelHelper,0);
    TextDrawSetOutline(txtClassSelHelper,1);
    TextDrawBackgroundColor(txtClassSelHelper,0x000000FF);
    TextDrawColor(txtClassSelHelper,0xFFFFFFFF);
}

//----------------------------------------------------------

ClassSel_SetupSelectedCity(playerid)
{
    if(gPlayerCitySelection[playerid] == -1) {
        gPlayerCitySelection[playerid] = CITY_LOS_SANTOS;
    }
   
    if(gPlayerCitySelection[playerid] == CITY_LOS_SANTOS) {
        SetPlayerInterior(playerid,0);
        SetPlayerCameraPos(playerid,1630.6136,-2286.0298,110.0);
        SetPlayerCameraLookAt(playerid,1887.6034,-1682.1442,47.6167);
       
        TextDrawShowForPlayer(playerid,txtLosSantos);
        TextDrawHideForPlayer(playerid,txtSanFierro);
        TextDrawHideForPlayer(playerid,txtLasVenturas);
    }
    else if(gPlayerCitySelection[playerid] == CITY_SAN_FIERRO) {
        SetPlayerInterior(playerid,0);
        SetPlayerCameraPos(playerid,-1300.8754,68.0546,129.4823);
        SetPlayerCameraLookAt(playerid,-1817.9412,769.3878,132.6589);
       
        TextDrawHideForPlayer(playerid,txtLosSantos);
        TextDrawShowForPlayer(playerid,txtSanFierro);
        TextDrawHideForPlayer(playerid,txtLasVenturas);
    }
    else if(gPlayerCitySelection[playerid] == CITY_LAS_VENTURAS) {
        SetPlayerInterior(playerid,0);
        SetPlayerCameraPos(playerid,1310.6155,1675.9182,110.7390);
        SetPlayerCameraLookAt(playerid,2285.2944,1919.3756,68.2275);
       
        TextDrawHideForPlayer(playerid,txtLosSantos);
        TextDrawHideForPlayer(playerid,txtSanFierro);
        TextDrawShowForPlayer(playerid,txtLasVenturas);
    }
}

//----------------------------------------------------------

ClassSel_SwitchToNextCity(playerid)
{
    gPlayerCitySelection[playerid]++;
    if(gPlayerCitySelection[playerid] > CITY_LAS_VENTURAS) {
        gPlayerCitySelection[playerid] = CITY_LOS_SANTOS;
    }
    PlayerPlaySound(playerid,1052,0.0,0.0,0.0);
    gPlayerLastCitySelectionTick[playerid] = GetTickCount();
    ClassSel_SetupSelectedCity(playerid);
}

//----------------------------------------------------------

ClassSel_SwitchToPreviousCity(playerid)
{
    gPlayerCitySelection[playerid]--;
    if(gPlayerCitySelection[playerid] < CITY_LOS_SANTOS) {
        gPlayerCitySelection[playerid] = CITY_LAS_VENTURAS;
    }
    PlayerPlaySound(playerid,1053,0.0,0.0,0.0);
    gPlayerLastCitySelectionTick[playerid] = GetTickCount();
    ClassSel_SetupSelectedCity(playerid);
}

//----------------------------------------------------------

ClassSel_HandleCitySelection(playerid)
{
    new Keys,ud,lr;
    GetPlayerKeys(playerid,Keys,ud,lr);
   
    if(gPlayerCitySelection[playerid] == -1) {
        ClassSel_SwitchToNextCity(playerid);
        return;
    }

    // only allow new selection every ~500 ms
    if( (GetTickCount() - gPlayerLastCitySelectionTick[playerid]) < 500 ) return;
   
    if(Keys & KEY_FIRE) {
        gPlayerHasCitySelected[playerid] = 1;
        TextDrawHideForPlayer(playerid,txtClassSelHelper);
        TextDrawHideForPlayer(playerid,txtLosSantos);
        TextDrawHideForPlayer(playerid,txtSanFierro);
        TextDrawHideForPlayer(playerid,txtLasVenturas);
        TogglePlayerSpectating(playerid,0);
        return;
    }
   
    if(lr > 0) {
       ClassSel_SwitchToNextCity(playerid);
    }
    else if(lr < 0) {
       ClassSel_SwitchToPreviousCity(playerid);
    }
}

//----------------------------------------------------------

public OnPlayerRequestClass(playerid, classid)
{
    if(IsPlayerNPC(playerid)) return 1;

    if(gPlayerHasCitySelected[playerid]) {
        ClassSel_SetupCharSelection(playerid);
        return 1;
    } else {
        if(GetPlayerState(playerid) != PLAYER_STATE_SPECTATING) {
            TogglePlayerSpectating(playerid,1);
            TextDrawShowForPlayer(playerid, txtClassSelHelper);
            gPlayerCitySelection[playerid] = -1;
        }
    }
   
    return 0;
}

//----------------------------------------------------------

public OnGameModeInit()
{
    SetGameModeText("Grand Larceny");
    ShowPlayerMarkers(PLAYER_MARKERS_MODE_GLOBAL);
    ShowNameTags(1);
    SetNameTagDrawDistance(40.0);
    EnableStuntBonusForAll(0);
    DisableInteriorEnterExits();
    SetWeather(2);
    SetWorldTime(11);

    //UsePlayerPedAnims();
    //ManualVehicleEngineAndLights();
    //LimitGlobalChatRadius(300.0);
   
    ClassSel_InitTextDraws();

    // Player Class
    AddPlayerClass(281,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(282,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(283,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(284,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(285,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(286,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(287,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(288,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(289,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(265,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(266,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(267,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(268,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(269,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(270,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(1,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(2,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(3,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(4,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(5,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(6,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(8,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(42,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(65,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    //AddPlayerClass(74,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(86,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(119,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(149,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(208,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(273,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(289,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
   
    AddPlayerClass(47,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(48,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(49,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(50,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(51,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(52,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(53,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(54,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(55,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(56,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(57,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(58,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(68,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(69,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(70,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(71,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(72,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(73,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(75,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(76,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(78,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(79,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(80,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(81,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(82,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(83,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(84,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(85,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(87,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(88,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(89,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(91,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(92,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(93,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(95,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(96,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(97,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(98,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
    AddPlayerClass(99,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);

    // SPECIAL
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/trains.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/pilots.txt");

    // LAS VENTURAS
     total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/lv_law.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/lv_airport.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/lv_gen.txt");
   
    // SAN FIERRO
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/sf_law.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/sf_airport.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/sf_gen.txt");
   
    // LOS SANTOS
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_law.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_airport.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_gen_inner.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_gen_outer.txt");
   
    // OTHER AREAS
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/whetstone.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/bone.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/flint.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/tierra.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/red_county.txt");

    printf("Total vehicles from files: %d",total_vehicles_from_files);

    return 1;
}

//----------------------------------------------------------

public OnPlayerUpdate(playerid)
{
    if(!IsPlayerConnected(playerid)) return 0;
    if(IsPlayerNPC(playerid)) return 1;

    // changing cities by inputs
    if( !gPlayerHasCitySelected[playerid] &&
        GetPlayerState(playerid) == PLAYER_STATE_SPECTATING ) {
        ClassSel_HandleCitySelection(playerid);
        return 1;
    }
   
    // No weapons in interiors
    if(GetPlayerInterior(playerid) != 0 && GetPlayerWeapon(playerid) != 0) {
        SetPlayerArmedWeapon(playerid,0); // fists
        return 0; // no syncing until they change their weapon
    }
   
    // Don't allow minigun
    if(GetPlayerWeapon(playerid) == WEAPON_MINIGUN) {
        Kick(playerid);
        return 0;
    }
   
    /* No jetpacks allowed
    if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK) {
        Kick(playerid);
        return 0;
    }*/


    /* For testing animations
    new msg[128+1];
    new animlib[32+1];
    new animname[32+1];

    thisanimid = GetPlayerAnimationIndex(playerid);
    if(lastanimid != thisanimid)
    {
        GetAnimationName(thisanimid,animlib,32,animname,32);
        format(msg, 128, "anim(%d,%d): %s %s", lastanimid, thisanimid, animlib, animname);
        lastanimid = thisanimid;
        SendClientMessage(playerid, 0xFFFFFFFF, msg);
    }*/


    return 1;
}

//----------------------------------------------------------
I've followed this tutorioal to 100% https://sampforum.blast.hk/showthread.php?tid=241674

I have added all the files from this plugin to the folders

http://www.solidfiles.com/d/ee8d87e4e2/

NOTHING want to work NO bots try to connect.. you still talk ingame. not to irc. whats wrong?


Re: IRC ECHo why it won't work? - denNorske - 12.08.2012

make sure irc plugin and irc script are one of the files placed first at the lines in the cfg. then, wait for the bots to connect within a minute or so.