Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <sscanf2>
- #include <YSI/y_ini>
- #include <YSI\y_commands>
- #include <streamer>
- #include <foreach>
- #pragma tabsize 0
- #define SCM SendClientMessage
- #define COLOR_RED 0xD62F4E
- #define COL_LIGHTBLUE "{1BD3E0}"
- #define COL_RED "{D62F4E}"
- #define COL_ORANGE "{E09B1B}"
- #define COL_WHITE "{FFFFFF}"
- #define DIALOG_EVENT 1093
- #define EVENT_FILE "Events/%d.ini"
- #define MAX_EVENTS 20
- #define MAX_CP 50
- #define MAX_TIME 15
- new bool:False = false, _S_T_R_[128];
- #define SendFormatMSG(%0,%1,%2,%3)\
- do{\
- format(_S_T_R_, sizeof (_S_T_R_), (%2), %3);\
- SendClientMessage((%0),(%1), _S_T_R_);\
- }\
- while (False)
- #define SendFormatMSGToAll(%1,%2,%3)\
- do{\
- format(_S_T_R_, sizeof (_S_T_R_), (%2), %3);\
- SendClientMessageToAll((%1), _S_T_R_);\
- }\
- while (False)
- #define randomEx(%0,%1) (random((%1) - (%0)) + (%0))
- new
- EventName[MAX_PLAYERS][64],
- EventCP[MAX_PLAYERS],
- EventID[MAX_PLAYERS],
- PlayerCP[MAX_PLAYERS],
- EventVehID[MAX_PLAYERS],
- PlayerVeh[MAX_PLAYERS],
- bool:PlayerWork[MAX_PLAYERS],
- bool:PlayerCreateEvent[MAX_PLAYERS],
- bool:EventWithVeh[MAX_PLAYERS],
- bool:EventWithWep[MAX_PLAYERS],
- EventWeapID[MAX_PLAYERS],
- Text:Event0[MAX_PLAYERS],
- StartedEvent,
- Timer,
- StartedEventTime,
- Position,
- WithWeap[MAX_PLAYERS],
- PlayerTime[MAX_PLAYERS],
- Float:PlayerPos[MAX_PLAYERS][3],
- PlayerPosInt[MAX_PLAYERS],
- PlayerPosVW[MAX_PLAYERS];
- enum jo
- {
- Float:TCPX,
- Float:TCPY,
- Float:TCPZ,
- Float:TCPA,
- Name[64],
- VehID,
- MaxCP,
- WeapID
- }
- new Event[MAX_EVENTS][jo];
- enum ev
- {
- Float:CPX,
- Float:CPY,
- Float:CPZ,
- }
- new CheckPoint[MAX_EVENTS][MAX_CP][ev];
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" HAVE FUN WITH THIS FS!");
- print("--------------------------------------\n");
- SetTimer("Time",1000,true);
- for(new i = 1; i<=MAX_EVENTS;i++)
- {
- new gFile[35];
- format(gFile, 35, EVENT_FILE ,i);
- INI_ParseFile(gFile, "LoadEvent", .bExtra = true, .extra = i);
- }
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- main()
- {
- print("\n----------------------------------");
- print(" HAVE FUN WITH THIS FS!");
- print("----------------------------------\n");
- }
- public OnGameModeInit()
- {
- return 1;
- }
- public OnGameModeExit()
- {
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- Event0[playerid] = TextDrawCreate(55.000000, 247.000000, "~Time: 2:50:3~n~CP: ~r~1/50");
- TextDrawBackgroundColor(Event0[playerid], 255);
- TextDrawFont(Event0[playerid], 2);
- TextDrawLetterSize(Event0[playerid], 0.210000, 1.099999);
- TextDrawColor(Event0[playerid], -16711681);
- TextDrawSetOutline(Event0[playerid], 1);
- TextDrawSetProportional(Event0[playerid], 1);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- TextDrawDestroy(Event0[playerid]);
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- return 1;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- return 1;
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- new cpid = PlayerCP[playerid];
- new nextcpid = PlayerCP[playerid]+1;
- new eventid = StartedEvent;
- if(cpid >= 2)
- {
- if(GetPlayerVehicleID(playerid) == PlayerVeh[playerid])
- {
- PlayerCP[playerid]++;
- if(CheckPoint[eventid][nextcpid][CPX] == 0.0 && CheckPoint[eventid][nextcpid][CPY] == 0)//Last Checkpoint
- {
- new string[128],Price;
- Position++;
- switch(Position)
- {
- case 1: Price = randomEx(7000,9000);
- case 2: Price = randomEx(5000,7000);
- case 3: Price = randomEx(3000,5000);
- }
- GivePlayerMoney(playerid,Price);
- format(string,128,"%s hat das Rennen beendet und hat $%d bekommen.",GetName(playerid),Position,Price);
- SendClientMessageToAll(-1,string);
- PlayerCP[playerid] = 0;
- DestroyVehicle(PlayerVeh[playerid]);
- DisablePlayerRaceCheckpoint(playerid);
- PlayerWork[playerid] = false;
- SetPlayerPos(playerid,PlayerPos[playerid][0],PlayerPos[playerid][1],PlayerPos[playerid][2]);
- SetPlayerInterior(playerid,PlayerPosInt[playerid]);
- SetPlayerVirtualWorld(playerid,PlayerPosVW[playerid]);
- TextDrawHideForPlayer(playerid,Event0[playerid]);
- if(Position == 3)
- {
- foreach(Player, i)
- {
- if(PlayerCP[i] > 0)
- {
- PlayerCP[i] = 0;
- DestroyVehicle(PlayerVeh[i]);
- DisablePlayerRaceCheckpoint(i);
- StartedEvent = 0;
- SetPlayerPos(i,PlayerPos[i][0],PlayerPos[i][1],PlayerPos[i][2]);
- SetPlayerInterior(i,PlayerPosInt[i]);
- SetPlayerVirtualWorld(i,PlayerPosVW[i]);
- TextDrawHideForPlayer(i,Event0[i]);
- }
- }
- }
- return 1;
- }
- if(nextcpid != Event[eventid][MaxCP]) SetPlayerRaceCheckpoint(playerid,0,CheckPoint[eventid][nextcpid][CPX],CheckPoint[eventid][nextcpid][CPY],CheckPoint[eventid][nextcpid][CPZ],CheckPoint[eventid][nextcpid+1][CPX],CheckPoint[eventid][nextcpid+1][CPY],CheckPoint[eventid][nextcpid+1][CPZ],5.0);
- else SetPlayerRaceCheckpoint(playerid,1,CheckPoint[eventid][nextcpid][CPX],CheckPoint[eventid][nextcpid][CPY],CheckPoint[eventid][nextcpid][CPZ],CheckPoint[eventid][nextcpid][CPX],CheckPoint[eventid][nextcpid][CPY],CheckPoint[eventid][nextcpid][CPZ],5.0);
- }
- }
- return 1;
- }
- public OnPlayerLeaveRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnRconCommand(cmd[])
- {
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- return 1;
- }
- public OnObjectMoved(objectid)
- {
- return 1;
- }
- public OnPlayerObjectMoved(playerid, objectid)
- {
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- return 1;
- }
- public OnVehicleMod(playerid, vehicleid, componentid)
- {
- return 1;
- }
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
- {
- return 1;
- }
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- return 1;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- return 1;
- }
- public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
- {
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if(newkeys == KEY_FIRE)
- {
- if(PlayerCreateEvent[playerid] && EventWithVeh[playerid])
- {
- if(EventCP[playerid] == 1)
- {
- new dFile[32],Float:Pos[4];
- GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
- GetPlayerFacingAngle(playerid,Pos[3]);
- format(dFile, 35, EVENT_FILE, EventID[playerid]);
- new
- INI:File = INI_Open(dFile);
- INI_WriteString(File, "Name", EventName[playerid]);
- INI_WriteFloat(File, "TCPX", Pos[0]);
- INI_WriteFloat(File, "TCPY", Pos[1]);
- INI_WriteFloat(File, "TCPZ", Pos[2]);
- INI_WriteFloat(File, "TCPA", Pos[3]);
- INI_WriteInt(File, "Cars", EventVehID[playerid]);
- INI_WriteInt(File, "Waffen", 0);
- INI_Close(File);
- format(Event[EventID[playerid]][Name],64,"%s",EventName[playerid]);
- Event[EventID[playerid]][TCPX] = Pos[0];
- Event[EventID[playerid]][TCPY] = Pos[1];
- Event[EventID[playerid]][TCPZ] = Pos[2];
- Event[EventID[playerid]][TCPA] = Pos[3];
- Event[EventID[playerid]][VehID] = EventVehID[playerid];
- Event[EventID[playerid]][WeapID] = 0;
- EventCP[playerid]++;
- }
- else if(EventCP[playerid] > 1)
- {
- new dFile[32],Float:Pos[3],string[6];
- GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
- format(dFile, 35, EVENT_FILE, EventID[playerid]);
- new
- INI:File = INI_Open(dFile);
- format(string,6,"CPX%d",EventCP[playerid]);
- INI_WriteFloat(File, string, Pos[0]);
- CheckPoint[EventID[playerid]][EventCP[playerid]][CPX] = Pos[0];
- format(string,6,"CPY%d",EventCP[playerid]);
- INI_WriteFloat(File, string, Pos[1]);
- CheckPoint[EventID[playerid]][EventCP[playerid]][CPY] = Pos[1];
- format(string,6,"CPZ%d",EventCP[playerid]);
- INI_WriteFloat(File, string, Pos[2]);
- CheckPoint[EventID[playerid]][EventCP[playerid]][CPZ] = Pos[2];
- INI_Close(File);
- EventCP[playerid]++;
- }
- }
- //==============DM EVent
- if(PlayerCreateEvent[playerid])
- {
- if(PlayerCreateEvent[playerid] && EventWithWep[playerid])
- {
- if(EventCP[playerid] == 1)
- {
- new dFile[32],Float:Pos[4];
- GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
- GetPlayerFacingAngle(playerid,Pos[3]);
- format(dFile, 35, EVENT_FILE, EventID[playerid]);
- new
- INI:File = INI_Open(dFile);
- INI_WriteString(File, "Name", EventName[playerid]);
- INI_WriteInt(File, "Waffe", EventWeapID[playerid]);
- INI_Close(File);
- format(Event[EventID[playerid]][Name],64,"%s",EventName[playerid]);
- Event[EventID[playerid]][WeapID] = EventWeapID[playerid];
- EventCP[playerid]++;
- }
- if(EventCP[playerid] > 1)
- {
- new dFile[32],Float:Pos[3],string[6];
- GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
- format(dFile, 35, EVENT_FILE, EventID[playerid]);
- new
- INI:File = INI_Open(dFile);
- format(string,6,"CPX%d",EventCP[playerid]);
- INI_WriteFloat(File, string, Pos[0]);
- CheckPoint[EventID[playerid]][EventCP[playerid]][CPX] = Pos[0];
- format(string,6,"CPY%d",EventCP[playerid]);
- INI_WriteFloat(File, string, Pos[1]);
- CheckPoint[EventID[playerid]][EventCP[playerid]][CPY] = Pos[1];
- format(string,6,"CPZ%d",EventCP[playerid]);
- INI_WriteFloat(File, string, Pos[2]);
- CheckPoint[EventID[playerid]][EventCP[playerid]][CPZ] = Pos[2];
- INI_Close(File);
- EventCP[playerid]++;
- }
- }
- }
- }
- return 1;
- }
- public OnRconLoginAttempt(ip[], password[], success)
- {
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- return 1;
- }
- public OnPlayerStreamIn(playerid, forplayerid)
- {
- return 1;
- }
- public OnPlayerStreamOut(playerid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamOut(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch(dialogid)
- {
- case DIALOG_EVENT:
- {
- if(!response) return 1;
- switch(listitem)
- {
- case 0://Sa
- {
- SCM(playerid,-1,"Du hast das Race-Event gewählt.");
- ShowPlayerDialog(playerid,DIALOG_EVENT+1,DIALOG_STYLE_INPUT,"Event Name","Event Name","Ok","Schliessen");
- EventWithVeh[playerid] = true;
- }
- case 1://DM
- {
- SCM(playerid,-1,"Du hast das DM/Waffen Event gewählt.");
- ShowPlayerDialog(playerid,DIALOG_EVENT+1,DIALOG_STYLE_INPUT,"Event Name","Event Name","Ok","Schliessen");
- EventWithWep[playerid] = true;
- }
- }
- }
- case DIALOG_EVENT+1:
- {
- if(!response) return 1;
- if(EventWithVeh[playerid])
- {
- format(EventName[playerid],64,"%s",inputtext);
- ShowPlayerDialog(playerid,DIALOG_EVENT+2,DIALOG_STYLE_INPUT,"Event Fahrzeug","Fahrzeug ID","Ok","Schliessen");
- }
- if(EventWithWep[playerid])
- {
- format(EventName[playerid],64,"%s",inputtext);
- ShowPlayerDialog(playerid,DIALOG_EVENT+3,DIALOG_STYLE_INPUT,"Event Waffe","Waffen ID","Ok","Schliessen");
- }
- }
- case DIALOG_EVENT+2:
- {
- if(!response) return 1;
- if(EventWithVeh[playerid])
- {
- EventCP[playerid] = 1;
- EventVehID[playerid] = strval(inputtext);
- SCM(playerid,-1,"Benutze >LINKS-KLICK< um einen Checkpoint zu erstellen. Wenn du fertig bist, nutze: /finishcevent");
- }
- }
- case DIALOG_EVENT+3:
- {
- if(!response) return 1;
- EventWeapID[playerid] = strval(inputtext);
- EventCP[playerid] = 1;
- SCM(playerid,-1,"Benutze >LINKS-KLICK< um den Event-Spawn zu setzen. Wenn du fertig bist, nutze: /finishcevent");
- new dFile[32];
- format(dFile, 35, EVENT_FILE, EventID[playerid]);
- new
- INI:File = INI_Open(dFile);
- INI_WriteString(File, "Name", EventName[playerid]);
- INI_WriteInt(File, "Weapon", EventWeapID[playerid]);
- INI_Close(File);
- format(Event[EventID[playerid]][Name],64,"%s",EventName[playerid]);
- Event[EventID[playerid]][WeapID] = EventWeapID[playerid];
- EventCP[playerid]++;
- }
- case DIALOG_EVENT+4:
- {
- if(!response) return 1;
- StartedEvent = strval(inputtext);
- StartedEventTime = MAX_TIME;
- SendFormatMSGToAll(-1,"Ein %s Event wurde gestartet, Du hast %d Sekunden um beizutreten. Benutze: /join",Event[strval(inputtext)][Name],MAX_TIME);
- Timer = SetTimer("EventTime",1000,true);
- }
- }
- return 1;
- }
- forward EventTime();
- public EventTime()
- {
- StartedEventTime--;
- if(StartedEventTime == MAX_TIME/2) SendFormatMSGToAll(-1,"Du hast noch %d Sekunden um dem Event beizutreten!",MAX_TIME/2);
- if(StartedEventTime == 5)
- {
- SendClientMessageToAll(-1,"Das Event beginnt in 5 Sekunden!");
- }
- if(StartedEventTime == 0)
- {
- foreach(Player, i)
- {
- if(PlayerCP[i] > 0)
- {
- new string[128];
- PlayerTime[i] = 0;
- SetPlayerRaceCheckpoint(i,0,CheckPoint[StartedEvent][PlayerCP[i]][CPX],CheckPoint[StartedEvent][PlayerCP[i]][CPY],CheckPoint[StartedEvent][PlayerCP[i]][CPZ],CheckPoint[StartedEvent][PlayerCP[i]+1][CPX],CheckPoint[StartedEvent][PlayerCP[i]+1][CPY],CheckPoint[StartedEvent][PlayerCP[i]+1][CPZ],5.0);
- TogglePlayerControllable(i,true);
- GameTextForPlayer(i,"~g~LOS! LOS! LOS!!!",3000,0);
- format(string,sizeof(string),"Zeit: 00:00~n~CP: ~r~%d/%d",PlayerCP[i]-1,Event[StartedEvent][MaxCP]);
- TextDrawSetString(Event0[i],string);
- PutPlayerInVehicle(i,PlayerVeh[i],0);
- KillTimer(Timer);
- }
- if(Event[StartedEvent][WeapID] != 0 && WithWeap[i] == 1)
- {
- GameTextForPlayer(i,"~g~GO GO GO!!!",3000,0);
- TogglePlayerControllable(i,true);
- KillTimer(Timer);
- }
- }
- }
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- YCMD:createevent(playerid,params[],help)
- {
- #pragma unused help
- #pragma unused params
- new dFile[32];
- if(!IsPlayerAdmin(playerid)) return SCM(playerid,COLOR_RED,"ERROR: "COL_WHITE"Du musst als RCON-Admin eingeloggt sein!");
- if(PlayerCreateEvent[playerid]) return SCM(playerid,COLOR_RED,"ERROR: "COL_WHITE"Du machst derzeit schon ein Event!");
- ShowPlayerDialog(playerid,DIALOG_EVENT,DIALOG_STYLE_LIST,"Event-Menu","Mit Fahrzeugen\nDM Event mit Waffen","Waehlen","Schliessen");
- PlayerCreateEvent[playerid] = true;
- EventID[playerid] = 1;
- for(new id = 1; id <= MAX_EVENTS;id++)
- {
- format(dFile, 35, EVENT_FILE, id);
- if(fexist(dFile)) EventID[playerid]++;
- if(EventID[playerid] > MAX_EVENTS) return SCM(playerid,-1,"Change MAX_EVENTS in FS.");
- }
- return 1;
- }
- YCMD:finishcevent(playerid,params[],help)
- {
- #pragma unused help
- #pragma unused params
- new dFile[32];
- if(!IsPlayerAdmin(playerid)) return SCM(playerid,COLOR_RED,"ERROR: "COL_WHITE"Du musst als RCON-Admin eingeloggt sein!");
- if(!PlayerCreateEvent[playerid]) return SCM(playerid,COLOR_RED,"ERROR: "COL_WHITE"Du erstellst derzeit kein Event!");
- SCM(playerid,-1,"Du hast das Event fertiggestellt.");
- PlayerCreateEvent[playerid] = false;
- if(EventWithVeh[playerid] || EventWithWep[playerid])
- {
- format(dFile, 32, EVENT_FILE, EventID[playerid]);
- new
- INI:File = INI_Open(dFile);
- INI_WriteInt(File, "MaxCP", EventCP[playerid]-1);
- Event[EventID[playerid]][MaxCP] = EventCP[playerid]-1;
- INI_Close(File);
- }
- return 1;
- }
- YCMD:finishdmevent(playerid,params[],help)
- {
- #pragma unused help
- #pragma unused params
- if(!IsPlayerAdmin(playerid)) return SCM(playerid,COLOR_RED,"ERROR: "COL_WHITE"Du musst als RCON-Admin eingeloggt sein!");
- if(StartedEvent == 0) return SCM(playerid,COLOR_RED,"Derzeit ist kein Event in Planung.");
- if(Event[StartedEvent][WeapID] == 0) return SCM(playerid,COLOR_RED,"ERROR: "COL_WHITE"Es wurde kein Deathmatch-Event gestartet!");
- foreach(Player, i)
- {
- if(WithWeap[i] == 1)
- {
- WithWeap[i] = 0;
- SetPlayerAmmo(i,Event[StartedEvent][WeapID],0);
- SetPlayerPos(i,PlayerPos[i][0],PlayerPos[i][1],PlayerPos[i][2]);
- SetPlayerInterior(i,PlayerPosInt[i]);
- SetPlayerVirtualWorld(i,PlayerPosVW[i]);
- }
- }
- StartedEvent = 0;
- return 1;
- }
- YCMD:join(playerid,params[],help)
- {
- #pragma unused help
- #pragma unused params
- new string[128];
- if(StartedEvent == 0) return SCM(playerid,COLOR_RED,"Derzeit ist kein Event in Planung.");
- if(StartedEventTime == 0) return SCM(playerid,COLOR_RED,"Die Zeit zum beitreten des Event's ist vorbei!");
- new Float:Pos[3]; GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
- if(Event[StartedEvent][WeapID] == 0)
- {
- Event[StartedEvent][TCPX] -= (6 * floatsin(-Event[StartedEvent][TCPA], degrees));
- Event[StartedEvent][TCPY] -= (6 * floatcos(-Event[StartedEvent][TCPA], degrees));
- printf("%f",Event[StartedEvent][TCPX]);
- PlayerCP[playerid] = 2;
- PlayerTime[playerid] = 0;
- if(Event[StartedEvent][VehID] != 0) { PlayerVeh[playerid] = CreateVehicle(Event[StartedEvent][VehID],Event[StartedEvent][TCPX],Event[StartedEvent][TCPY],Event[StartedEvent][TCPZ],Event[StartedEvent][TCPA],random(128),random(128),3600);}
- SetPlayerPos(playerid,Event[StartedEvent][TCPX],Event[StartedEvent][TCPY],Event[StartedEvent][TCPZ]);
- PutPlayerInVehicle(playerid,PlayerVeh[playerid],0);
- PlayerPos[playerid][0] = Pos[0];
- PlayerPos[playerid][1] = Pos[1];
- PlayerPos[playerid][2] = Pos[2];
- PlayerPosInt[playerid] = GetPlayerInterior(playerid);
- PlayerPosVW[playerid] = GetPlayerVirtualWorld(playerid);
- format(string,sizeof(string),"Time: 00:00~n~CP: ~r~%d/%d",PlayerCP[playerid]-1,Event[StartedEvent][MaxCP]);
- TextDrawSetString(Event0[playerid],string);
- TextDrawShowForPlayer(playerid,Event0[playerid]);
- TogglePlayerControllable(playerid,false);
- }
- if(Event[StartedEvent][WeapID] != 0)
- {
- new cp = randomEx(2,Event[StartedEvent][MaxCP]);
- SetPlayerPos(playerid,CheckPoint[StartedEvent][cp][CPX],CheckPoint[StartedEvent][cp][CPY],CheckPoint[StartedEvent][cp][CPZ]);
- GivePlayerWeapon(playerid,Event[StartedEvent][WeapID],999);
- PlayerPos[playerid][0] = Pos[0];
- PlayerPos[playerid][1] = Pos[1];
- PlayerPos[playerid][2] = Pos[2];
- PlayerPosInt[playerid] = GetPlayerInterior(playerid);
- PlayerPosVW[playerid] = GetPlayerVirtualWorld(playerid);
- TogglePlayerControllable(playerid,false);
- WithWeap[playerid] = 1;
- }
- return 1;
- }
- YCMD:startevent(playerid,params[],help)
- {
- #pragma unused help
- #pragma unused params
- if(!IsPlayerAdmin(playerid)) return SCM(playerid,COLOR_RED,"ERROR: "COL_WHITE"Du musst als RCON-Admin eingeloggt sein!");
- new exist[32],string[256],e[2];
- for(new i = 1; i <= MAX_EVENTS; i++)
- {
- format(exist, sizeof(exist), EVENT_FILE, i);
- if(fexist(exist))
- {
- new a[12];
- valstr(a, i);
- strcat(string, a);
- strcat(string, ") ID: ");
- format(e,2,"%d",i);
- strcat(string, e);
- strcat(string, " | ");
- strcat(string, Event[i][Name]);
- strcat(string, "\n");
- }
- }
- ShowPlayerDialog(playerid,DIALOG_EVENT+4,DIALOG_STYLE_INPUT,"Event-Menu",string,"Auswaehlen","Schliessen");
- return 1;
- }
- stock GetName(playerid)
- {
- new
- pName[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
- return pName;
- }
- //Load
- forward LoadEvent(id, name[], value[]);
- public LoadEvent(id, name[], value[])
- {
- new string[6];
- INI_String("Name", Event[id][Name],64);
- INI_Float("TCPX", Event[id][TCPX]);
- INI_Float("TCPY", Event[id][TCPY]);
- INI_Float("TCPZ", Event[id][TCPZ]);
- INI_Float("TCPA", Event[id][TCPA]);
- INI_Int("Veh", Event[id][VehID]);
- INI_Int("Weapon", Event[id][WeapID]);
- for(new i = 2;i <= MAX_CP;i++)
- {
- format(string,6,"CPX%d",i);
- INI_Float(string, CheckPoint[id][i][CPX]);
- format(string,6,"CPY%d",i);
- INI_Float(string, CheckPoint[id][i][CPY]);
- format(string,6,"CPZ%d",i);
- INI_Float(string, CheckPoint[id][i][CPZ]);
- }
- INI_Int("MaxCP", Event[id][MaxCP]);
- return 1;
- }
- forward Time();
- public Time()
- {
- foreach(Player, i)
- {
- if(PlayerCP[i] > 0 && StartedEventTime == 0)
- {
- PlayerTime[i]++;
- new Min=floatround(PlayerTime[i]/60);
- new Sec=PlayerTime[i]-(Min*60);
- new string[128];
- format(string,sizeof(string),"Zeit: %02d:%02d~n~CP: ~r~%d/%d",Min,Sec,PlayerCP[i]-1,Event[StartedEvent][MaxCP]);
- TextDrawSetString(Event0[i],string);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement