Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define FILTERSCRIPT
- #include <a_samp>
- #include <zcmd>
- #include <sscanf2>
- 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 eammox;
- new eavailable=0;
- //new sevent=0;
- new bool:InEvent[MAX_PLAYERS];
- new PlayerParticipated[MAX_PLAYERS]=0;
- #define COLOR_RED 0x0000BBAA
- /*strtok(const string[], &index)
- {
- new length = strlen(string);
- while ((index < length) && (string[index] <= ' '))
- {
- index++;
- }
- new offset = index;
- new result[20];
- while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
- {
- result[index - offset] = string[index];
- index++;
- }
- result[index - offset] = EOS;
- return result;
- }*/
- public OnPlayerConnect(playerid)
- {
- InEvent[playerid] = false;
- 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])
- {
- new targetid;
- if(eavailable==0) return SendClientMessage(playerid,COLOR_RED,"[ServerBoT]:{FFFFFF}There's no event in the current time!");
- if(sscanf(params,"u",targetid)) return SendClientMessage(playerid,COLOR_RED,"[Context]:{FFFFFF} /ewinner [ID/PlayerName].");
- if(PlayerParticipated[targetid]==0) return SendClientMessage(playerid,COLOR_RED,"[ServerBoT]:{FFFFFF}This player you mentioned wasnt even in the event!");
- if(targetid==INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED,"[ServerBoT]:{FFFFFF}There's no such player in the server! ");
- 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] == true)
- {
- 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!");
- 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,"smth");
- }
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement