How to make /event start an actual event
#1

Hay i have /start event and / sop event and / lock event but they dont load a mini game but keep the normal game mode running heres what i have

pawn Code:
if(strcmp(cmd, "/startevent", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if (PlayerInfo[playerid][pAdmin] >= 5 && (!EventStarted))
            {
                EventStarted = 1;
                EventLocked = 0;
                GetPlayerPos(playerid,ex,ey,ez);
                GetPlayerVirtualWorld(playerid);
                GetPlayerInterior(playerid);
                BroadCast(COLOR_LIGHTBLUE, "** Notice: An Event has started, use /joinevent.");
            }
            else if (PlayerInfo[playerid][pAdmin] >= 5 && (EventStarted))
            {
                EventStarted = 0;
            }
            else
            {
                SendClientMessage(playerid, COLOR_GRAD1, "   you are not authorized to use that command!");
            }
        }
        return 1;
    }
    if(strcmp(cmd, "/joinevent", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(EventStarted == 0)
            {
                  SendClientMessage(playerid, COLOR_LIGHTBLUE, " ** An Event has not Started.");
                  return 1;
            }
            else if(EventLocked == 1)
            {
                  SendClientMessage(playerid, COLOR_RED, "** The event is locked.");
                  return 1;
            }
            new EJoin = strval(tmp);
            new vw = GetPlayerVirtualWorld(playerid);
            SetPlayerPos(playerid,ex,ey,ez);
            SetPlayerVirtualWorld(playerid,vw);
            SetPlayerInterior(playerid,EventInfo[EJoin][EInterior]);
            PlayerInfo[playerid][pInt] = EventInfo[EJoin][EInterior];
        }
        return 1;
    }
    if(strcmp(cmd, "/lockevent", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if (PlayerInfo[playerid][pAdmin] >= 5)
            {
                EventLocked = 1;
                BroadCast(COLOR_YELLOW, "** Notice: The event has been locked by a Admin **");
            }
            else
            {
                SendClientMessage(playerid, COLOR_GRAD1, "   you are not authorized to use that command!");
            }
        }
        return 1;
    }
Could i edit this one or somthing so if i do /startevent 1 it loads the event ive named 1 or /startevent name of event ive seen this on other servers but i have no idea of how to do it with out switching gamemodes and i cant switch gamemodes because i need the rp script to still run so i might need to go if respone the the differnt things to load game modes im not sure #
Reply
#2

Yes, it is possible.
Reply
#3

Ye but how can i do it?
Reply
#4

I would suggesst you to use sscanf and zcmd for that.
Reply
#5

i know how to do comands i want to load the event but not close currant GM
Reply
#6

so you want to load filterscript while gamemode is still running?
Reply
#7

I dont get you very well, but something like this?

pawn Code:
new Events;
new Float:Event[3];

COMMAND:startevent(playerid, params[])
{
    if (PlayerInfo[playerid][pAdmin] >= 5)
    {
        BroadCast(COLOR_LIGHTBLUE, "** Notice: An Event has started, use /joinevent.");
        if(Events == 1) return SendClientMessage(playerid,-1,"There is already an event created");
        GetPlayerPos(playerid,Float:Event[0],Float:Event[1],Float:Event[2]);
        Events = 1;
    } else if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid, COLOR_GRAD1, "   you are not authorized to use that command!");
    return 1;
}
COMMAND:joinevent(playerid, params[])
{
    if(Events == 0) return SendClientMessage(playerid, COLOR_LIGHTBLUE, "An Event has not Started.");
    SetPlayerPos(playerid,Float:Event[0],Float:Event[1],Float:Event[2]);
    return 1;
}
COMMAND:lockevent(playerid, params[])
{
    if (PlayerInfo[playerid][pAdmin] >= 5)
    {
        BroadCast(COLOR_YELLOW, "** Notice: The event has been locked by a Admin **");
        if(Events == 0) return SendClientMessage(playerid, Red, "No event has been created");
        Events = 0;
    } else if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid, COLOR_GRAD1, "   you are not authorized to use that command!");
    return 1;
}
Convert to strcmp if you want
Reply
#8

sorry for late reply n yh i can see where i can do it now and im thinking of doing it in dialog thanks mate
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)