Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define FILTERSCRIPT
- #include <a_samp>
- #include <zcmd>
- #include <sscanf2>
- #include <Ldudb>
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print("~'BlueSeas'['EventSystem']'");
- print("--------------------------------------\n");
- return 1;
- }
- enum pInfo {
- pEventor,
- pE,
- };
- new PlayerInfo[MAX_PLAYERS][pInfo];
- new eheadline[50];
- new ereward;
- new eweapx;
- new PlayerEventWatching[MAX_PLAYERS];
- new eammox;
- new eavailable=0;
- new sevent=0;
- new targetid;
- new bool:InEvent[MAX_PLAYERS];
- new PlayerParticipated[MAX_PLAYERS]=0;
- #define COLOR_RED 0x0000BBAA
- public OnPlayerConnect(playerid)
- {
- InEvent[playerid] = 0;
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- SetPlayerScore(killerid, GetPlayerScore(killerid)+1);
- SetPlayerScore(playerid, GetPlayerScore(killerid)-1);
- SetPlayerPos(playerid,-1662.9398,-163.1523,15.8525);
- ResetPlayerWeapons(playerid);
- SetPlayerVirtualWorld(playerid, 0);
- return 1;
- }
- CMD:ewinner(playerid,params[])
- {
- if(PlayerInfo[playerid][pEventor])
- {
- if(eavailable==0) return SendClientMessage(playerid,COLOR_RED,"[ServerBoT]:{FFFFFF}There's no event in the current time!");
- if(PlayerParticipated[targetid]==0) return SendClientMessage(playerid,COLOR_RED,"[ServerBoT]:{FFFFFF}This player you mentioned wasnt even in the event!");
- if(sscanf(params,"u",targetid)) return SendClientMessage(playerid,COLOR_RED,"[Context]:{FFFFFF} /ewinner [ID/PlayerName].");
- if(targetid==INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED,"[ServerBoT]:{FFFFFF}There's no such player in the server! ");
- else
- {
- new a7a[MAX_PLAYER_NAME];
- GetPlayerName(playerid,a7a,MAX_PLAYER_NAME);
- new str[128];
- format(str,128,"[Event]{FFFFFF}'%s' has won the event '%s' and received $%d!",a7a,eheadline,ereward);
- SendClientMessageToAll(COLOR_RED,str);
- SendClientMessage(targetid,COLOR_RED,"[Event]{FFFFFF}Congratulations, you have earned your prize now, thanks for participating!");
- new string[64];
- format(string,64,"Congratulations!",eheadline);
- GameTextForPlayer(targetid,string,5,5000);
- GivePlayerMoney(targetid,ereward);
- eavailable=0;
- new st[128];
- format(st,128,"[Event]{FFFFFF}The event '%s' is ended!",eheadline);
- SendClientMessageToAll(COLOR_RED,st);
- SetPlayerPos(playerid,-1662.9398,-163.1523,15.8525);
- SetPlayerPos(targetid,-1662.9398,-163.1523,15.8525);
- ResetPlayerWeapons(playerid);
- ResetPlayerWeapons(targetid);
- SetPlayerInterior(playerid, 0);
- }
- }
- return 1;
- }
- forward CountDown(playerid, seconds);
- public CountDown(playerid, seconds)
- {
- new string[256];
- if(seconds > 0)
- {
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(playerid, X, Y, Z);
- PlayerPlaySound(playerid, 1056, X, Y, Z);
- format(string, sizeof(string), "~R~%d", seconds);
- GameTextForPlayer(playerid, string, 1000, 3);
- seconds = seconds -1;
- SetTimerEx("CountDown", 1000, 0, "ii", playerid, seconds);
- return 1;
- }
- if(seconds == 0)
- {
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(playerid, X, Y, Z);
- PlayerPlaySound(playerid, 1057, X, Y, Z);
- GameTextForPlayer(playerid, "~G~Start!!!", 1000, 3);
- TogglePlayerControllable(playerid, 1);
- return 1;
- }
- return 1;
- }
- CMD:eannounce(playerid,params[])
- {
- if(PlayerInfo[playerid][pEventor])
- {
- new string[128];
- if(InEvent[playerid] == 1)
- {
- SendClientMessage(playerid,COLOR_RED,"[ServerBoT]{FFFFFF}Event has already started!");
- return 1;
- }
- if(eavailable==0) return SendClientMessage(playerid,COLOR_RED,"[ServerBoT]{FFFFFF}There's/'re no events running now!");
- else
- {
- format(string,128,"[Event]{FFFFFF}'%s' event is going to start! Try /ejoin to join the event and have fun [Reward is: '%d']",eheadline,ereward);
- SendClientMessageToAll(COLOR_RED,string);
- }
- }
- return 1;
- }
- CMD:cevent(playerid,params[])
- {
- if(PlayerInfo[playerid][pEventor])
- {
- new string[128]; new sstring[128];
- if(eavailable==1) return SendClientMessage(playerid,COLOR_RED,"[ServerBoT]{FFFFFF}There is already an event running right now!");
- if(sscanf(params,"s[128]iiiiii",eheadline,eweapx,eammox,ereward))
- return SendClientMessage(playerid,COLOR_RED,"[Context]:{FFFFFF} /cevent [Event name] [Weapon] [Ammo] [Reward]");
- if(eweapx > 39 || eweapx < 0) return SendClientMessage(playerid,COLOR_RED,"[ServerBoT]{FFFFFF}You've to put a valid weapon id (0/38)! ");
- else
- {
- format(string,128,"'%s' has been started as an event! Use /ejoin to join the fun!",eheadline);
- format(sstring,128,"~n~%s ~w~has been started!~w~Use ~g~/join to join the fun!",eheadline);
- SendClientMessageToAll(COLOR_RED,string);
- GameTextForAll(sstring,5000,5);
- eavailable=1;
- new Float:p1; new Float:p2; new Float:p3;
- GetPlayerPos(playerid,p1,p2,p3);
- SetPVarFloat(playerid,"locx",p1);
- SetPVarFloat(playerid,"locy",p2);
- SetPVarFloat(playerid,"locz",p3);
- SetPlayerVirtualWorld(playerid, 3);
- }
- }
- return 1;
- }
- CMD:ejoin(playerid,params[])
- {
- new string[128];
- if(eavailable==0) return SendClientMessage(playerid,COLOR_RED,"[ServerBoT]{FFFFFF}There's/'re no events running now!");
- if(sevent==1)
- {
- format(string,128,"[ServerBoT]{FFFFFF}Event is already started, very late!");
- SendClientMessage(playerid,COLOR_RED,string);
- return 1;
- }
- if(PlayerParticipated[playerid]==1) return SendClientMessage(playerid,COLOR_RED,"[ServerBoT]{FFFFFF}You've already joined the event!");
- if (IsPlayerConnected(playerid))
- {
- SetPlayerPos(playerid,GetPVarFloat(playerid, "locx"),GetPVarFloat(playerid, "locy"),GetPVarFloat(playerid, "locz"));
- new a7a[MAX_PLAYER_NAME];
- GetPlayerName(playerid,a7a,MAX_PLAYER_NAME);
- format(string,128,"[Event]{FFFFFF}'%s' has joined the event '%s'!",a7a,eheadline);
- SendClientMessageToAll(COLOR_RED,string);
- PlayerParticipated[playerid]=1;
- SetPlayerVirtualWorld(playerid, 3);
- PlayerInfo[playerid][pE];
- ResetPlayerWeapons(targetid);
- }
- return 1;
- }
- CMD:sevent(playerid,params[]) {
- if(PlayerInfo[playerid][pEventor])
- {
- new eid = PlayerInfo[playerid][pE], string[128];
- if(eavailable==0) return SendClientMessage(playerid,COLOR_RED,"[ServerBoT]{FFFFFF}There is no event currently!");
- else
- {
- GivePlayerWeapon(playerid,eweapx,eammox);
- SetPlayerHealth(playerid, 100);
- SetPlayerArmour(playerid, 100);
- SetPlayerHealth(eid, 100);
- SetPlayerArmour(eid, 100);
- TogglePlayerControllable(playerid, 0);
- TogglePlayerControllable(eid, 0);
- CountDown(playerid, 3);
- CountDown(eid, 3);
- InEvent[playerid] = true;
- format(string,128,"[Event]{FFFFFF}'%s' event has been started now!!",eheadline);
- SendClientMessageToAll(COLOR_RED,string);
- }
- }
- return 1;
- }
- CMD:eventors(playerid, params[])
- {
- SendClientMessage(playerid, COLOR_RED, " ");
- SendClientMessage(playerid, COLOR_RED, "{000033}___________ |- {FFFFFF}Events Management{000033} -| ___________");
- SendClientMessage(playerid, COLOR_RED, " ");
- new count = 0;
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(!IsPlayerConnected(i)) continue;
- if(!PlayerInfo[i][pEventor]) continue;
- new string[128], playername[MAX_PLAYER_NAME];
- GetPlayerName(i, playername, sizeof(playername));
- switch(PlayerInfo[i][pEventor])
- {
- case 1: format(string, sizeof(string), "{00FFFF}%s (ID:%i) - Rank: %d | Events Planner |", playername, i, PlayerInfo[i][pEventor]);
- case 2: format(string, sizeof(string), "{CC33CC}%s (ID:%i) - Rank: %d | Events Supervisor |", playername, i, PlayerInfo[i][pEventor]);
- case 3: format(string, sizeof(string), "{FF0066}%s (ID:%i) - Rank: %d | Events Manager |", playername, i, PlayerInfo[i][pEventor]);
- default: continue;
- }
- SendClientMessage(playerid, COLOR_RED, string);
- count++;
- }
- if(!count) SendClientMessage(playerid, COLOR_RED, " {FFFFFF}No online events management!");
- SendClientMessage(playerid, COLOR_RED, "{000033}_____________________________________________");
- return 1;
- }
- CMD:seteventor(playerid,params[])
- {
- if(PlayerInfo[playerid][pEventor] >= 3 || IsPlayerAdmin(playerid)) {
- new tmp [256];
- new tmp2[256];
- new Index;
- new targetid;
- new level;
- tmp = strtok(params,Index);
- tmp2 = strtok(params,Index);
- if(sscanf(params, "ig", targetid, level)) return ShowPlayerDialog(playerid, 5, DIALOG_STYLE_MSGBOX, "-Syntax", "/Seteventor [Playerid] [Rank (1/3)] \n Function: Changing the player's Event rank status from a value to another", "Exit", "");
- new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
- player1 = strval(tmp);
- if(sscanf(params, "ig", targetid, level)) return ShowPlayerDialog(playerid, 5, DIALOG_STYLE_MSGBOX, "-Syntax", " /Seteventor [Playerid] [Rank (1/3)] \n\n Function: Changing the player's Event rank status from a value to another", "Exit", "");
- level = strval(tmp2);
- if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
- if(level > 3) return SendClientMessage(playerid,COLOR_RED,"ERROR: Incorrect Rank");
- if(level == PlayerInfo[player1][pEventor]) return ShowPlayerDialog(playerid, 5, DIALOG_STYLE_MSGBOX, "Error", "That player has the same rank, try another one", "Exit", "");
- GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
- new year,month,day; getdate(year, month, day); new hour,minute,second; gettime(hour,minute,second);
- if(level > 0) format(string,sizeof(string),"{CC0000}[News]:{00CCFF} Event's manager %s has set your Event rank Status to Rank %d",adminname, level);
- else format(string,sizeof(string),"{CC0000}[News]:{00CCFF} Event's manager %s has set your Event rank Status to Rank %d",adminname, level);
- SendClientMessage(player1,COLOR_RED,string);
- if(level > PlayerInfo[player1][pEventor]) GameTextForPlayer(player1,"~g~Promoted", 2000, 3);
- else GameTextForPlayer(player1,"~g~Demoted", 2000, 3);
- format(string,sizeof(string),"{CC0000}[INFO]: {00CCFF}You have changed %s's Rank status to %d/%d/%d at %d:%d:%d Successfuly", playername, level, day, month, year, hour, minute, second); SendClientMessage(playerid,COLOR_RED,string);
- format(string,sizeof(string),"Event's manager %s has made %s Rank %d on %d/%d/%d at %d:%d:%d = = =",adminname, playername, level, day, month, year, hour, minute, second);
- PlayerInfo[player1][pEventor] = level;
- return PlayerPlaySound(player1,1057,0.0,0.0,0.0);
- }
- else return ShowPlayerDialog(playerid, 333, DIALOG_STYLE_MSGBOX, "-Error", "|- You ain't commissioned to use this command, please be careful -|", "Exit", "");
- }
- CMD:eventlist(playerid,params[])
- {
- new count = 0, string[2500], a7a[MAX_PLAYER_NAME];
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if (GetPlayerName(i, a7a,sizeof(a7a)))
- {
- if(InEvent[i] == 1)
- {
- format(string, sizeof(string), "%sPlayer: {FF0000}%s, {FF0000}ID: {FFFFFF}%d\n",
- string, a7a, i);
- count++;
- }
- }
- }
- if (count == 0)
- {
- SendClientMessage(playerid, COLOR_RED, "[ServerBoT]{FFFFFF} There's no any current event!");
- }
- else ShowPlayerDialog(playerid,837,DIALOG_STYLE_LIST,"-Event List",string,"Exit","");
- return 1;
- }
- //Blue Seas Event's System, v.1, Wait v.2 sooner!
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement