08.01.2017, 06:59
so I was working again on my event system from my server but this time with dialogs and to be hownest I faced so many problems in making this event system and this one of them that I couldn't fix so when I enable the event and the player join the event when he do /leaveevent he should get back to his last location and it work but the problem is if some one else joined the event and I didi leaveevent when he do leave event it don't tp him baack and some times it tp me to my last location before joining the event I hop u help me fix it here is the code
every thing working fine just the players bug I hop u help me.
Код:
enum E_INFO { EventEnabled1, EventEnabled2 } new EventInfo[E_INFO]; new RconInfo[R_INFO]; new Eventr[MAX_PLAYERS]; new Eventd[MAX_PLAYERS]; btw every thing working fine exept the location and the 2 player get fucked up with the other location if(dialogid==Events) { if(!response) return 1; switch(listitem) { case 0: { ShowPlayerDialog(playerid,Event1,DIALOG_STYLE_LIST,"Fast And Furious","Join\nCMDS","Select","Close"); } case 1: { ShowPlayerDialog(playerid,Event2,DIALOG_STYLE_LIST,"Missioniary","Join Team 1\nJoin Team 2","Select","Close"); } } return 1; } if(dialogid==Event2) { if(!response) return 1; switch(listitem) { case 0: { new pos[132]; new name[MAX_PLAYER_NAME], string[23 + MAX_PLAYER_NAME]; new Float:X, Float:Y, Float:Z; new color; new skind; GetPlayerName(playerid, name, sizeof(name)); GetPlayerColor(playerid, color); GetPlayerSkin(playerid, skind); GetPlayerPos(playerid, Float:X, Float:Y, Float:Z); if(PlayerInfo[playerid][pEban] == 1) return SendClientMessage(playerid, 0xAA3333AA, "{6EF83C}[ERROR]: You Are Event Banned!!"); if(EventInfo[EventEnabled2] == 0) return SendClientMessage(playerid, 0xAA3333AA, "{6EF83C}[ERROR]: This Event Is Disabled!!"); SetPlayerPos(playerid, -1298.76, 490.54, 11.19); SetPlayerColor(playerid, BLUE); SetPlayerSkin(playerid, 73); GivePlayerWeapon(playerid, 31, 999); GivePlayerWeapon(playerid, 24, 999); SendClientMessage(playerid, 0x33AA33AA, "Welcome to the Missionary Team 1 !"); format(string, sizeof(string), "%s joined Missionary Join Him /events", name); SendClientMessageToAll(0xAA3333AA, string); Eventd[playerid]=1; RemovePlayerAttachedObject(playerid, 1); } case 1: { new pos[132]; new name[MAX_PLAYER_NAME], string[23 + MAX_PLAYER_NAME]; new Float:X, Float:Y, Float:Z; new color; new skind; GetPlayerName(playerid, name, sizeof(name)); GetPlayerSkin(playerid, skind); GetPlayerColor(playerid, color); GetPlayerPos(playerid, Float:X, Float:Y, Float:Z); if(PlayerInfo[playerid][pEban] == 1) return SendClientMessage(playerid, 0xAA3333AA, "{6EF83C}[ERROR]: You Are Event Banned!!"); if(EventInfo[EventEnabled2] == 0) return SendClientMessage(playerid, 0xAA3333AA, "{6EF83C}[ERROR]: This Event Is Disabled!!"); SetPlayerPos(playerid, -1385.60, 507.27, 3.03); SetPlayerColor(playerid, RED); SetPlayerSkin(playerid, 108); GivePlayerWeapon(playerid, 31, 999); GivePlayerWeapon(playerid, 24, 999); SendClientMessage(playerid, 0x33AA33AA, "Welcome to the Missionary Team 2 !"); format(string, sizeof(string), "%s joined Missionary Join Him /events", name); SendClientMessageToAll(0xAA3333AA, string); Eventd[playerid]=1; RemovePlayerAttachedObject(playerid, 1); } } return 1; } if(dialogid==Event1) { if(!response) return 1; switch(listitem) { case 0: { new pos[132]; new name[MAX_PLAYER_NAME], string[23 + MAX_PLAYER_NAME]; new Float:X, Float:Y, Float:Z; GetPlayerName(playerid, name, sizeof(name)); GetPlayerPos(playerid, Float:X, Float:Y, Float:Z); if(PlayerInfo[playerid][pEban] == 1) return SendClientMessage(playerid, 0xAA3333AA, "{6EF83C}[ERROR]: You Are Event Banned!!"); if(EventInfo[EventEnabled1] == 0) return SendClientMessage(playerid, 0xAA3333AA, "{6EF83C}[ERROR]: This Event Is Disabled!!"); SetPlayerPos(playerid, 4166.66, 535.80, 63.18); SendClientMessage(playerid, 0x33AA33AA, "Welcome to the Fast And Furious!"); format(string, sizeof(string), "%s joined Fast And Furious Join Him /events", name); SendClientMessageToAll(0xAA3333AA, string); Eventr[playerid]=1; RemovePlayerAttachedObject(playerid, 1); } case 1: { SendClientMessage(playerid, YELLOW, "Event CMDS:leaveevent, getcar"); } } return 1; } if(dialogid==Eventsae) { if(!response) return 1; switch(listitem) { case 0: { EventInfo[EventEnabled1]=1; SendClientMessage(playerid, 0x0000BBAA, "Event Enabled"); SendClientMessageToAll(0x0000BBAA, " Fast And Furious Event Have Been Enabled By An Admin [/events]"); } case 1: { EventInfo[EventEnabled2]=1; SendClientMessage(playerid, 0x0000BBAA, "Event Enabled"); SendClientMessageToAll(0x0000BBAA, "Missionary Event Have Been Enabled By An Admin [/events]"); } } return 1; } if(dialogid==Eventsad) { if(!response) return 1; switch(listitem) { case 0: { EventInfo[EventEnabled1]=0; SendClientMessage(playerid, 0x0000BBAA, "Event Disabled"); SendClientMessageToAll(0x0000BBAA, "Fast and Furious Event Have Been Disabled By An Admin"); } case 1: { EventInfo[EventEnabled2]=0; SendClientMessage(playerid, 0x0000BBAA, "Event Disabled"); SendClientMessageToAll(0x0000BBAA, "Missionary Event Have Been Disabled By An Admin"); } } return 1; } new Ecar[MAX_PLAYERS]; CMD:getcar(playerid, params[]) { if(Eventr[playerid] == 0) return SendClientMessage(playerid, 0xAA3333AA, "{6EF83C}[ERROR]: You Are not in event!!"); else if(Eventd[playerid]== 0) return SendClientMessage(playerid, 0xAA3333AA, "{6EF83C}[ERROR]: You cant use this command in this event !"); new car; new string[128]; new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, Float:X, Float:Y, Float:Z); if(sscanf(params, "i", car)) return SendClientMessage(playerid, 0x0000BBAA, "Usage: /getcar <Vehicle ID 400 - 611>"); else if(car < 400 || car >611) return SendClientMessage(playerid, 0x0000BBAA, "ERROR: Connot go above or under 400-611"); { if(Ecar[playerid] != 0) { DestroyVehicle(Ecar[playerid]); } Ecar[playerid] = CreateVehicle(car, X, Y, Z + 2.0, 0, 0, -1, -1, 1); SendClientMessage(playerid, 0x0000BBAA, string); PutPlayerInVehicle(playerid, Ecar[playerid], 0); } return 1; } //=============================Commands=======================================// CMD:events(playerid, params[]) { if(EventInfo[EventEnabled1] == 1) { ShowPlayerDialog(playerid,Events,DIALOG_STYLE_LIST,"Server Events","Fast And Furious [Enabled]\nMissionary [Disabled]","Select","Close"); } if(EventInfo[EventEnabled2] == 1) { ShowPlayerDialog(playerid,Events,DIALOG_STYLE_LIST,"Server Events","Fast And Furious [Disabled]\nMissionary [Enabled]","Select","Close"); } if(EventInfo[EventEnabled1] == 1 && EventInfo[EventEnabled2] == 1) { ShowPlayerDialog(playerid,Events,DIALOG_STYLE_LIST,"Server Events","Fast And Furious [Enabled]\nMissionary [Enabled]","Select","Close"); } if(EventInfo[EventEnabled1] == 0 && EventInfo[EventEnabled2] == 0) { ShowPlayerDialog(playerid,Events,DIALOG_STYLE_LIST,"Server Events","Fast And Furious [Disabled]\nMissionary [Disabled]","Select","Close"); } GetPlayerPos(playerid, Float:X, Float:Y, Float:Z); return 1; } CMD:leaveevent(playerid, params[]) { if(Eventr[playerid]== 1) //return SendClientMessage(playerid, 0xAA3333AA, "{6EF83C}[ERROR]: You Are not in event!!"); { SetPlayerPos(pos, X, Y, Z); SendClientMessage(playerid, 0x33AA33AA, "Welcome back from event !"); SetPlayerColor(playerid, color); Eventr[playerid]=0; Eventd[playerid]=0; if(Ecar[playerid] != 0) { DestroyVehicle(Ecar[playerid]); } if(Bag[playerid]==1) { SetPlayerAttachedObject(playerid, 1, 3026, 1, -0.110900, -0.073500, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000); } } else if(Eventd[playerid]== 1) //return SendClientMessage(playerid, 0xAA3333AA, "{6EF83C}[ERROR]: You Are not in event!!"); { SetPlayerPos(pos, X, Y, Z); SendClientMessage(playerid, 0x33AA33AA, "Welcome back from event !"); SetPlayerColor(playerid, color); Eventr[playerid]=0; Eventd[playerid]=0; ResetPlayerWeapons(playerid); if(Ecar[playerid] != 0) { DestroyVehicle(Ecar[playerid]); } if(Bag[playerid]==1) { SetPlayerAttachedObject(playerid, 1, 3026, 1, -0.110900, -0.073500, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000); } } else return SendClientMessage(playerid, RED, "You are not in an event"); return 1; } CMD:eevent(playerid, params[]) { if(AdminLevel[playerid] >=1) { ShowPlayerDialog(playerid,Eventsae,DIALOG_STYLE_LIST,"Server Events","Fast And Furious\nMissionary","Select","Close"); } return 1; } CMD:devent(playerid, params[]) { if(AdminLevel[playerid] >=1) { ShowPlayerDialog(playerid,Eventsad,DIALOG_STYLE_LIST,"Server Events","Fast And Furious\nMissionary","Select","Close"); } return 1; }