SA-MP Forums

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

 
 
Thread Tools Display Modes
Old 01/08/2010, 02:04 AM   #1
Dudits
Big Clucker
 
Join Date: Jun 2009
Posts: 180
Reputation: 0
Default [HELP] Event System

I'm trying to make an event system, everything is working fine but this.
I cannot enter anything after the "/setevent weapons" because for some reason it doesn't read it...

pawn Code:
CMD:setevent(playerid, params[])
{
    if(IsPlayerConnected(playerid))
    {
        if(EventInfo[eStarted]) return SendClientMessage(playerid, COLOR_GRAD1, "You have already started the event.");
        new eventrelated[24];
        new slot[4];
        new gunid;
        new message[32];
        if(sscanf(params, "s", eventrelated)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setevent [position - weapons]");
        if(!strcmp(eventrelated, "position", true))
        {
            EventInfo[eInt] = GetPlayerInterior(playerid);
            GetPlayerPos(playerid, EventInfo[eX], EventInfo[eY], EventInfo[eZ]);
            SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have set the event's starting position.");
        }
        else if(!strcmp(eventrelated, "weapons", true))
        {
            if(sscanf(params, "sii", eventrelated, gunid, slot)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setevent weapons [gun id] [slot(1-3)]");
            if(!strcmp(slot, "1", true))
            {
                EventInfo[eSlot1] = gunid;
                format(message, sizeof(message), "You have set the event's slot 1 gun to %s", gunid);
                SendClientMessage(playerid, COLOR_LIGHTBLUE, message);
            }
            else if(!strcmp(slot, "2", true))
            {
                EventInfo[eSlot2] = gunid;
                format(message, sizeof(message), "You have set the event's slot 2 gun to %s", gunid);
                SendClientMessage(playerid, COLOR_LIGHTBLUE, message);
            }
            else if(!strcmp(slot, "3", true))
            {
                EventInfo[eSlot3] = gunid;
                format(message, sizeof(message), "You have set the event's slot 3 gun to %s", gunid);
                SendClientMessage(playerid, COLOR_LIGHTBLUE, message);
            }
        }
    }
    return 1;
}

Note: It doesn't even send the ClientMessage of the slot
__________________
Dudits is offline  
Old 01/08/2010, 05:00 AM   #2
Dudits
Big Clucker
 
Join Date: Jun 2009
Posts: 180
Reputation: 0
Default Re: [HELP] Event System

Still need help.
Dudits is offline  
Old 01/08/2010, 12:11 PM   #3
Dudits
Big Clucker
 
Join Date: Jun 2009
Posts: 180
Reputation: 0
Default Re: [HELP] Event System

Bumpz0rz
Dudits is offline  
Old 01/08/2010, 01:24 PM   #4
Vince
Godfather
 
Vince's Avatar
 
Join Date: Sep 2007
Location: Belgium
Posts: 6,599
Reputation: 1719
Default Re: [HELP] Event System

if(slot == 1) or switch(slot) should work. Don't use stringcompare for integers.
__________________

Vince is offline  
Old 02/08/2010, 12:55 AM   #5
Dudits
Big Clucker
 
Join Date: Jun 2009
Posts: 180
Reputation: 0
Default Re: [HELP] Event System

Quote:
Originally Posted by Vince View Post
if(slot == 1) or switch(slot) should work. Don't use stringcompare for integers.
Still same problem, doesn't do anything when I enter the gunid.
I also tried switching between gunid & slot but nothing happens.
Simply nothing happens when I enter anything after /setevent weapons

pawn Code:
CMD:setevent(playerid, params[])
{
    if(IsPlayerConnected(playerid))
    {
        if(EventInfo[eStarted]) return SendClientMessage(playerid, COLOR_GRAD1, "You have already started the event.");
        new eventrelated[24];
        new slot;
        new gunid;
        new message[32];
        if(sscanf(params, "s", eventrelated)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setevent [position - weapons]");
        if(!strcmp(eventrelated, "position", true))
        {
            EventInfo[eInt] = GetPlayerInterior(playerid);
            GetPlayerPos(playerid, EventInfo[eX], EventInfo[eY], EventInfo[eZ]);
            SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have set the event's starting position.");
        }
        else if(!strcmp(eventrelated, "weapons", true))
        {
            if(sscanf(params, "sii", eventrelated, gunid, slot)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setevent weapons [gun id] [slot(1-3)]");
            if(slot == 1)
            {
                EventInfo[eSlot1] = gunid;
                format(message, sizeof(message), "You have set the event's slot 1 gun to %s", gunid);
                SendClientMessage(playerid, COLOR_LIGHTBLUE, message);
            }
            else if(slot == 2)
            {
                EventInfo[eSlot2] = gunid;
                format(message, sizeof(message), "You have set the event's slot 2 gun to %s", gunid);
                SendClientMessage(playerid, COLOR_LIGHTBLUE, message);
            }
            else if(slot == 3)
            {
                EventInfo[eSlot3] = gunid;
                format(message, sizeof(message), "You have set the event's slot 3 gun to %s", gunid);
                SendClientMessage(playerid, COLOR_LIGHTBLUE, message);
            }
        }
    }
    return 1;
}

@ Daren: Well, I appreciate that but I don't really like your system :S
Dudits is offline  
Old 01/08/2010, 02:53 PM   #6
Daren_Jacobson
Huge Clucker
 
Join Date: Jun 2008
Posts: 441
Reputation: 6
Default Re: [HELP] Event System

I made this about a year back.
pawn Code:
new Float:eventx, Float:eventy, Float:eventz, Float:Eventteamx[10], Float:Eventteamy[10], Float:Eventteamz[10], Event[MAX_PLAYERS], Eventwep, Eventammo, eventteam[MAX_PLAYERS], Float:eventoldposx[MAX_PLAYERS], Float:eventoldposy[MAX_PLAYERS], Float:eventoldposz[MAX_PLAYERS], eventneedplace[MAX_PLAYERS];

OnPlayerDeath(playerid, killerid)
{
if (Event[playerid] == 1)
    {
        Event[playerid] = 0;
        eventteam[playerid] = 0;
        SendClientMessage(playerid, 0xFFFFFFFF, "You have died, you are out of the event");
        eventneedplace[playerid] = 1;
    }
    if (Event[killerid] == 1)
    {
        SendClientMessage(killerid, 0xFFFFFFFF, "good, another down");
        return 1;
    }
}

OnPlayerSpawn(playerid)
{
    if (eventneedplace[playerid] == 1)
    {
        SetPlayerPos(playerid, eventoldposx[playerid], eventoldposy[playerid], eventoldposz[playerid]);
    }
}

new eventreward, eventhealth, eventarmor, eventvehicles, eventadmin[MAX_PLAYERS];

CMD:event(playerid, params[])
{
    new type[128], opt[128], num, pid;
    if ((PlayerInfo[playerid][pAdmin] < 1)) return 1;
    if (sscanf(params, "sz", type, opt))
    {
        SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /event [name]");
        SendClientMessage(playerid, 0xFFFFFFFF, "Available Names: new, join, kick, team, setteam, startwep, start, end");
        SendClientMessage(playerid, 0xFFFFFFFF, "Available Names: reward, givereward, giveteamreward, health, armour, vehicles");
    }
    else if (!strcmp(type, "new", true, 3))
    {
        GetPlayerPos(playerid, eventx, eventy, eventz);
        SendClientMessage(playerid, 0xFFFFFFFF, "You have set your current pos as the event pos");
        eventadmin[playerid] = 1;
    }
    else if (eventx == 0.0) SendClientMessage(playerid, 0xFFFFFFFF, "You have to create the event first!");
    else if (!strcmp(type, "join", true, 4))
    {
        if (sscanf(opt, "u", pid)) SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /event join [playerid]");
        else
        {
            GetPlayerPos(pid, eventoldposx[pid], eventoldposy[pid], eventoldposz[pid]);
            if((IsPlayerInAnyVehicle(pid)) && (eventvehicles == 1))
            {
                SetVehiclePos(GetPlayerVehicleID(pid), eventx, eventy, eventz);
            }
            else
            {
            SetPlayerPos(pid, eventx, eventy, eventz);
            }
            SendClientMessage(playerid, 0xFFFFFFFF, "You have Invited the player");
            SendClientMessage(pid, 0xFFFFFFFF, "You have been invited to the event!");
            SendClientMessage(pid, 0xFFFFFFFF, "Use /e to talk to others in the event");
            Event[pid] = 1;
        }
    }
    else if (!strcmp(type, "kick", true, 4))
    {
        if (sscanf(opt, "u", pid)) SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /event kick [playerid]");
        else if (eventoldposx[pid] == 0.0) SendClientMessage(playerid, 0xFFFFFFFF, "they aren't in the event...");
        else
        {
            SetPlayerPos(pid, eventoldposx[pid], eventoldposy[pid], eventoldposz[pid]);
            SendClientMessage(playerid, 0xFFFFFFFF, "You have kicked the player from the event");
            SendClientMessage(pid, 0xFFFFFFFF, "You have been kicked from the event!");
            Event[pid] = 0;
            eventteam[pid] = 0;
        }
    }
    else if (!strcmp(type, "setteam", true, 7))
    {
        if (sscanf(opt, "i", num)) SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /event setteam [teamnumber]");
        else
        {
            GetPlayerPos(playerid, Eventteamx[num], Eventteamy[num], Eventteamz[num]);
            SendClientMessage(playerid, 0xFFFFFFFF, "You have set this teams pos to your pos");
        }
    }
    else if (!strcmp(type, "team", true, 4))
    {
        if (sscanf(opt, "iu", num, pid)) SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /event team [teamid] [playerid]");
        else if (Eventteamx[num] == 0) SendClientMessage(playerid, 0xFFFFFFFF, "You have not set a pos for this team");
        else
        {
            SetPlayerPos(pid, Eventteamx[num], Eventteamy[num], Eventteamz[num]);
            eventteam[pid] = num;
            new string[128];
            format(string, 128, "You have set the player onto team %i", num);
            SendClientMessage(playerid, 0xFFFFFFFF, string);
            format(string, 128, "You have been set to team %i", num);
            SendClientMessage(pid, 0xFFFFFFFF, string);
        }
    }
    else if (!strcmp(type, "startwep", true, 8))
    {
        if (sscanf(opt, "ii", num, pid)) SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /event startwep [wepid] [ammo]");
        else if (num > 45 || num < 0 || pid > 1000) SendClientMessage(playerid, 0xFFFFFFFF, "Your loco");
        else
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "Weapon and ammo set");
            Eventwep = num;
            Eventammo = pid;
        }
    }
    else if (!strcmp(type, "start", true, 5))
    {
        SendClientMessageToAll(0xFFFFFFFF, "The event has been started!");
        if (Eventwep == 0) return 1;
        else
        {
            for(new i; i < 200; i++)
            {
                if (Event[i] == 1)
                {
                    if (eventhealth != 0)
                    {
                        SetPlayerHealth(i, eventhealth);
                    }
                    SetPlayerArmour(i, eventarmor);
                    PlayerInfo[i][pArmour] = eventarmor;
                    GivePlayerWeapon(i, Eventwep, Eventammo);
                    if (eventteam[i] != 0) SetPlayerPos(playerid, Eventteamx[eventteam[i]], Eventteamy[eventteam[i]], Eventteamz[eventteam[i]]);
                }
            }
        }
    }
    else if (!strcmp(type, "end", true, 3))
    {
        for(new i; i < 200; i++)
        {
            if (Event[i] == 1)
            {
                Event[i] = 0;
                eventteam[i] = 0;
                eventx = 0.0;
                SetPlayerPos(i, eventoldposx[i], eventoldposy[i], eventoldposz[i]);
            }
        }
        SendClientMessageToAll(0xFFFFFFFF, "Event has been ended!");
    }
    else if (!strcmp(type, "reward", true, 6))
    {
        if (sscanf(opt, "i", num)) SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /event reward [amount]");
        else if (num < 1 || num > 50000) SendClientMessage(playerid, 0xFFFFFFFF, "you are loco");
        else
        {
            eventreward = num;
            SendClientMessage(playerid, 0xFFFFFFFF, "reward set");
        }
    }
    else if (!strcmp(type, "giveteamreward", true, 14))
    {
        if (sscanf(opt, "i", num)) SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /event giveteamreward [teamid]");
        else if (num > 0 || num < 10) SendClientMessage(playerid, 0xFFFFFFFF, "invalid team id");
        else if (eventreward == 0) SendClientMessage(playerid, 0xFFFFFFFF, "No reward set");
        else
        {
            for(new i; i < 200; i++)
            {
                if(IsPlayerConnected(i))
                {
                    if (eventteam[i] == num)
                    {
                        GivePlayerMoneyKrayzie(i, eventreward);
                        SendClientMessage(i, 0xFFFFFFFF, "you have recived the team reward");
                    }
                }
            }
            SendClientMessage(playerid, 0xFFFFFFFF, "You have given the team the reward");
        }
    }
    else if(!strcmp(type, "givereward", true, 10))
    {
        if (sscanf(opt, "i", pid)) SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /event givereward [playerid]");
        else if (!IsPlayerConnected(pid)) SendClientMessage(playerid, 0xFFFFFFFF, "User not connected");
        else if (eventreward == 0) SendClientMessage(playerid, 0xFFFFFFFF, "No reward set");
        else
        {
            GivePlayerMoneyKrayzie(pid, eventreward);
            SendClientMessage(playerid, 0xFFFFFFFF, "You have given the reward");
            SendClientMessage(pid, 0xFFFFFFFF, "You have received the reward");
        }
    }
    else if(!strcmp(type, "health", true, 6))
    {
        if(sscanf(opt, "i", num)) SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /event health [health amount]");
        else if (num < 1 || num > 10000) SendClientMessage(playerid, 0xFFFFFFFF, "loco maniac, trying to kill them?");
        else
        {
            eventhealth = num;
            SendClientMessage(playerid, 0xFFFFFFFF, "Event health set");
        }
       
    }
    else if(!strcmp(type, "armour", true, 6))
    {
        if(sscanf(opt, "i", num)) SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /event armor [armor amount]");
        else if (num < 0) SendClientMessage(playerid, 0xFFFFFFFF, "you can't do that...");
        else
        {
            eventarmor = num;
            SendClientMessage(playerid, 0xFFFFFFFF, "Event armor set");
        }
    }
    else if (!strcmp(type, "vehicles", true, 8))
    {
        if (sscanf(opt, "i", num)) SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /event vehicles [disable(0), enable(1)]");
        else
        {
            eventvehicles = num;
            SendClientMessage(playerid, 0xFFFFFFFF, "vehicles allowed or disallowed, note: no teams allowed");
        }
    }
    return 1;
}

CMD:e(playerid, params[])
{
    new textmsg[128], msg[128];
    if (PlayerInfo[playerid][pAdmin] >= 1)
    {
        if (sscanf(params, "s", textmsg)) SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /e [text]");
        format(msg, sizeof(msg), "Event Admin %s: %s", pName[playerid], textmsg);
        for(new i; i < 200; i++)
        {
            if(Event[i] == 1 || eventadmin[i] == 1)
            {
                SendClientMessage(i, 0x00FFFFFF, msg);
            }
        }
    }
    else
    {
        if (sscanf(params, "s", textmsg)) SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /e [text]");
        if (Event[playerid] == 0) return 1;
        format(msg, sizeof(msg), "Event %s: %s", pName[playerid], textmsg);
        for(new i; i < 200; i++)
        {
            if(Event[i] == 1 || eventadmin[i] == 1)
            {
                if (eventteam[playerid] == eventteam[i])
                {
                    SendClientMessage(i, 0x80FFFFFF, msg);
                }
            }
        }
    }
    return 1;
}

it is old so it uses old sscanf
__________________
Daren_Jacobson is offline  
Old 02/08/2010, 01:04 AM   #7
PotH3Ad
Huge Clucker
 
Join Date: Jul 2008
Location: Westside - CA
Posts: 290
Reputation: 5
Default Re: [HELP] Event System

Try this

pawn Code:
CMD:setevent(playerid, params[])
{
    if(IsPlayerConnected(playerid))
    {
        if(EventInfo[eStarted]) return SendClientMessage(playerid, COLOR_GRAD1, "You have already started the event.");
        new eventrelated[24];
        new slot[4];
        new gunid;
        new message[32];
        if(sscanf(params, "s", eventrelated)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setevent [position - weapons]");
        if(!strcmp(eventrelated, "position", true, 8))
        {
            EventInfo[eInt] = GetPlayerInterior(playerid);
            GetPlayerPos(playerid, EventInfo[eX], EventInfo[eY], EventInfo[eZ]);
            SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have set the event's starting position.");
        }
        else if(!strcmp(eventrelated, "weapons", true, 7))
        {
            if(sscanf(params, "sii", eventrelated, gunid, slot)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setevent weapons [gun id] [slot(1-3)]");
            if(!strcmp(slot, "1", true, 1))
            {
                EventInfo[eSlot1] = gunid;
                format(message, sizeof(message), "You have set the event's slot 1 gun to %s", gunid);
                SendClientMessage(playerid, COLOR_LIGHTBLUE, message);
            }
            else if(!strcmp(slot, "2", true, 1))
            {
                EventInfo[eSlot2] = gunid;
                format(message, sizeof(message), "You have set the event's slot 2 gun to %s", gunid);
                SendClientMessage(playerid, COLOR_LIGHTBLUE, message);
            }
            else if(!strcmp(slot, "3", true, 1))
            {
                EventInfo[eSlot3] = gunid;
                format(message, sizeof(message), "You have set the event's slot 3 gun to %s", gunid);
                SendClientMessage(playerid, COLOR_LIGHTBLUE, message);
            }
        }
    }
    return 1;
}
PotH3Ad is offline  
Old 02/08/2010, 01:09 AM   #8
Dudits
Big Clucker
 
Join Date: Jun 2009
Posts: 180
Reputation: 0
Default Re: [HELP] Event System

Quote:
Originally Posted by PotH3Ad View Post
Try this

pawn Code:
CMD:setevent(playerid, params[])
{
    if(IsPlayerConnected(playerid))
    {
        if(EventInfo[eStarted]) return SendClientMessage(playerid, COLOR_GRAD1, "You have already started the event.");
        new eventrelated[24];
        new slot[4];
        new gunid;
        new message[32];
        if(sscanf(params, "s", eventrelated)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setevent [position - weapons]");
        if(!strcmp(eventrelated, "position", true, 8))
        {
            EventInfo[eInt] = GetPlayerInterior(playerid);
            GetPlayerPos(playerid, EventInfo[eX], EventInfo[eY], EventInfo[eZ]);
            SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have set the event's starting position.");
        }
        else if(!strcmp(eventrelated, "weapons", true, 7))
        {
            if(sscanf(params, "sii", eventrelated, gunid, slot)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setevent weapons [gun id] [slot(1-3)]");
            if(!strcmp(slot, "1", true, 1))
            {
                EventInfo[eSlot1] = gunid;
                format(message, sizeof(message), "You have set the event's slot 1 gun to %s", gunid);
                SendClientMessage(playerid, COLOR_LIGHTBLUE, message);
            }
            else if(!strcmp(slot, "2", true, 1))
            {
                EventInfo[eSlot2] = gunid;
                format(message, sizeof(message), "You have set the event's slot 2 gun to %s", gunid);
                SendClientMessage(playerid, COLOR_LIGHTBLUE, message);
            }
            else if(!strcmp(slot, "3", true, 1))
            {
                EventInfo[eSlot3] = gunid;
                format(message, sizeof(message), "You have set the event's slot 3 gun to %s", gunid);
                SendClientMessage(playerid, COLOR_LIGHTBLUE, message);
            }
        }
    }
    return 1;
}
I can enter the gunid now, but nothing happens when I enter the slot
Edit: I removed the ! and it sent the message, lemme test if this works.
2x Edit: Yup works, <3
3x Edit: Well it only adds weapons to slot 1 when the !'s are removed, here's my code.

pawn Code:
CMD:setevent(playerid, params[])
{
    if(IsPlayerConnected(playerid))
    {
        if(EventInfo[eStarted]) return SendClientMessage(playerid, COLOR_GRAD1, "You have already started the event.");
        new eventrelated[24];
        new slot[4];
        new gunid;
        new message[128];
        if(sscanf(params, "s", eventrelated)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setevent [position - weapons]");
        if(!strcmp(eventrelated, "position", true, 8))
        {
            EventInfo[eInt] = GetPlayerInterior(playerid);
            GetPlayerPos(playerid, EventInfo[eX], EventInfo[eY], EventInfo[eZ]);
            SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have set the event's starting position.");
        }
        else if(!strcmp(eventrelated, "weapons", true, 7))
        {
            if(sscanf(params, "sii", eventrelated, gunid, slot)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setevent weapons [gun id] [slot(1-3)]");
            if(!strcmp(slot, "1", true, 1))
            {
                EventInfo[eSlot1] = gunid;
                format(message, sizeof(message), "You have set the event's slot 1 gun to %s", gunid);
                SendClientMessage(playerid, COLOR_LIGHTBLUE, message);
            }
            else if(!strcmp(slot, "2", true, 1))
            {
                EventInfo[eSlot2] = gunid;
                format(message, sizeof(message), "You have set the event's slot 2 gun to %s", gunid);
                SendClientMessage(playerid, COLOR_LIGHTBLUE, message);
            }
            else if(!strcmp(slot, "3", true, 1))
            {
                EventInfo[eSlot3] = gunid;
                format(message, sizeof(message), "You have set the event's slot 3 gun to %s", gunid);
                SendClientMessage(playerid, COLOR_LIGHTBLUE, message);
            }
        }
    }
    return 1;
}

Last edited by Dudits; 02/08/2010 at 02:43 AM.
Dudits is offline  
Old 02/08/2010, 02:44 AM   #9
Dudits
Big Clucker
 
Join Date: Jun 2009
Posts: 180
Reputation: 0
Default Re: [HELP] Event System

Bump, still need help.
Dudits is offline  
Old 02/08/2010, 05:59 AM   #10
Dudits
Big Clucker
 
Join Date: Jun 2009
Posts: 180
Reputation: 0
Default Re: [HELP] Event System

Bumpz0rz
Dudits 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
Problem with /event cmd Razvann Help Archive 9 23/01/2011 03:28 PM
Event! ColdXX Help Archive 5 29/05/2010 01:35 PM
help on event [SF]RobMob Help Archive 1 12/03/2010 11:46 AM
Fast Event DokerJr Help Archive 9 30/01/2010 08:29 PM


All times are GMT. The time now is 09:14 AM.


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