Advertisement
DominikMarvLisy

Event System 1.0

Nov 29th, 2013
1,418
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 14.28 KB | None | 0 0
  1. /*
  2.  * Event System 1.0
  3.  * © by Dominik 'MARV' Lisy
  4.  * Prosím, neprepisovať autora.
  5.  *
  6.  */
  7. //=Include======================================================================
  8. #include a_samp
  9. #include zcmd //By Y_Less
  10. #include sscanf2.pwn //By Y_Less
  11. //=Define=======================================================================
  12. #if defined FILTERSCRIPT
  13. #else
  14. //-------------------------------------
  15. #define COLOR_PINK                                                    0xFF1493FF
  16. #define COLOR_RED                                                     0xAA3333AA
  17. #define COLOR_BLUE                                                    0x0000BBAA
  18. #define COLOR_YELLOW                                                  0xFFFF00AA
  19. #define COLOR_ORANGE                                                  0xFF9900AA
  20. #define COLOR_WHITE                                                   0xFFFFFFAA
  21. #define COLOR_GREEN                                                   0x33AA33AA
  22. //-------------------------------------
  23. #define DE_EVENTS                                                            100
  24. #define DE_PREBIEHAJUCI_EVENT                                                101
  25. #define DE_VYTAZ_EVENTU                                                      102
  26. #define DE_VYTVORIT_EVENT                                                    103
  27. #define DE_POVOLIT_EVENT                                                     104
  28. #define DE_ZAKAZAT_EVENT                                                     105
  29. #define DE_ZRUSIT_EVENT                                                      106
  30. #define DE_ZIADNY_AKTIVNY_EVENT                                              107
  31. #define DE_ZAKAZANY_EVENT                                                    108
  32. #define DE_RETRY_EVENT_JOIN                                                  109
  33. #define DE_NEZUCASTNENY_HRAC                                                 110
  34. #define DE_VYHERCA                                                           111
  35. #define DE_CREDITS                                                           112
  36. //=New==========================================================================
  37. new eZucastneny[MAX_PLAYERS];
  38. new eHrac;
  39. //-------------------------------------
  40. new eMeno[128];
  41. new eSuma;
  42. new eZbran;
  43. new eNaboje;
  44. new eZdravie;
  45. new eVesta;
  46. //-------------------------------------
  47. new eVytvoreny;
  48. new eZakazany;
  49. //=Stocks=======================================================================
  50. stock GetName(playerid)
  51. {
  52.     new str[MAX_PLAYER_NAME];
  53.     GetPlayerName(playerid,str,sizeof(str));
  54.     return str;
  55. }
  56. //=Prikazy======================================================================
  57. CMD:events(playerid,params[])
  58. {
  59.     ShowPlayerDialog(playerid,DE_EVENTS,DIALOG_STYLE_LIST,"{FF8200}***Events***","{005AFF}Prebiehajúci Event\n{005AFF}Výťaz Eventu\n{00B45A}Vytvoriť Event\n{00B45A}Povoliť Event\n{FF0096}Zakázať Event\n{FF0000}Zrušiť Event\n{FF0000}Credits","Vybrať","Koniec");
  60.     return 1;
  61. }
  62. //=Public=======================================================================
  63. public OnFilterScriptInit()
  64. {
  65.     print("\n--------------------------------------");
  66.     print("         Event System nacitany           ");
  67.     print("--------------------------------------\n");
  68.     return 1;
  69. }
  70.  
  71. public OnPlayerRequestClass(playerid, classid)
  72. {
  73.     return 1;
  74. }
  75.  
  76. public OnPlayerConnect(playerid)
  77. {
  78.     return 1;
  79. }
  80.  
  81. public OnPlayerDisconnect(playerid, reason)
  82. {
  83.     new str[128];
  84.     if(eZucastneny[eHrac]== 1)
  85.     {
  86.         format(str,sizeof(str),"Hráč %s bol Diskvalifikovaný z Eventu '%s' (Odpojenie zo servera)!",GetName(playerid),eMeno);
  87.         SendClientMessageToAll(COLOR_GREEN,str);
  88.     }
  89.     else
  90.     {
  91.         format(str,sizeof(str),"Hráč %s odišiel zo serveru.",GetName(playerid));
  92.         SendClientMessageToAll(COLOR_GREEN,str);
  93.     }
  94.     return 1;
  95. }
  96.  
  97. public OnPlayerSpawn(playerid)
  98. {
  99.     return 1;
  100. }
  101.  
  102. public OnPlayerDeath(playerid, killerid, reason)
  103. {
  104.     return 1;
  105. }
  106.  
  107. public OnVehicleSpawn(vehicleid)
  108. {
  109.     return 1;
  110. }
  111.  
  112. public OnVehicleDeath(vehicleid, killerid)
  113. {
  114.     return 1;
  115. }
  116.  
  117. public OnPlayerText(playerid, text[])
  118. {
  119.     return 1;
  120. }
  121.  
  122. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  123. {
  124.     return 1;
  125. }
  126.  
  127. public OnPlayerExitVehicle(playerid, vehicleid)
  128. {
  129.     return 1;
  130. }
  131.  
  132. public OnPlayerStateChange(playerid, newstate, oldstate)
  133. {
  134.     return 1;
  135. }
  136.  
  137. public OnPlayerEnterCheckpoint(playerid)
  138. {
  139.     return 1;
  140. }
  141.  
  142. public OnPlayerLeaveCheckpoint(playerid)
  143. {
  144.     return 1;
  145. }
  146.  
  147. public OnPlayerEnterRaceCheckpoint(playerid)
  148. {
  149.     return 1;
  150. }
  151.  
  152. public OnPlayerLeaveRaceCheckpoint(playerid)
  153. {
  154.     return 1;
  155. }
  156.  
  157. public OnRconCommand(cmd[])
  158. {
  159.     return 1;
  160. }
  161.  
  162. public OnPlayerRequestSpawn(playerid)
  163. {
  164.     return 1;
  165. }
  166.  
  167. public OnObjectMoved(objectid)
  168. {
  169.     return 1;
  170. }
  171.  
  172. public OnPlayerObjectMoved(playerid, objectid)
  173. {
  174.     return 1;
  175. }
  176.  
  177. public OnPlayerPickUpPickup(playerid, pickupid)
  178. {
  179.     return 1;
  180. }
  181.  
  182. public OnVehicleMod(playerid, vehicleid, componentid)
  183. {
  184.     return 1;
  185. }
  186.  
  187. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  188. {
  189.     return 1;
  190. }
  191.  
  192. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  193. {
  194.     return 1;
  195. }
  196.  
  197. public OnPlayerSelectedMenuRow(playerid, row)
  198. {
  199.     return 1;
  200. }
  201.  
  202. public OnPlayerExitedMenu(playerid)
  203. {
  204.     return 1;
  205. }
  206.  
  207. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  208. {
  209.     return 1;
  210. }
  211.  
  212. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  213. {
  214.     return 1;
  215. }
  216.  
  217. public OnRconLoginAttempt(ip[], password[], success)
  218. {
  219.     return 1;
  220. }
  221.  
  222. public OnPlayerUpdate(playerid)
  223. {
  224.     return 1;
  225. }
  226.  
  227. public OnPlayerStreamIn(playerid, forplayerid)
  228. {
  229.     return 1;
  230. }
  231.  
  232. public OnPlayerStreamOut(playerid, forplayerid)
  233. {
  234.     return 1;
  235. }
  236.  
  237. public OnVehicleStreamIn(vehicleid, forplayerid)
  238. {
  239.     return 1;
  240. }
  241.  
  242. public OnVehicleStreamOut(vehicleid, forplayerid)
  243. {
  244.     return 1;
  245. }
  246.  
  247. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  248. {
  249.     switch(dialogid)
  250.     {
  251.         case DE_EVENTS:
  252.         {
  253.             new str[128];
  254.             if(response)
  255.             {
  256.                 if(listitem == 0)
  257.                 {
  258.                     if(eVytvoreny==0) return ShowPlayerDialog(playerid,DE_ZIADNY_AKTIVNY_EVENT,DIALOG_STYLE_MSGBOX,"**Events**","Žiadny event sa nekoná!","Koniec","");
  259.                     {
  260.                         format(str,sizeof(str),"Práve prebieha Event '%s' a výhra je $%d!",eMeno,eSuma);
  261.                         ShowPlayerDialog(playerid,DE_PREBIEHAJUCI_EVENT,DIALOG_STYLE_MSGBOX,"**Events**",str,"Pripojiť","Koniec");
  262.                     }
  263.                 }
  264.  
  265.                 if(listitem == 1)
  266.                 {
  267.                     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,COLOR_RED,"Nemáš dostatočný Admin Level!");
  268.                     {
  269.                         if(eVytvoreny==0) return ShowPlayerDialog(playerid,DE_ZIADNY_AKTIVNY_EVENT,DIALOG_STYLE_MSGBOX,"**Events**","Žiadny Event sa nekoná!","Koniec","");
  270.                         {
  271.                             ShowPlayerDialog(playerid,DE_VYTAZ_EVENTU,DIALOG_STYLE_INPUT,"***Events***","Zadaj Meno, alebo ID Hráča, ktorý vyhral tento Event.","Vytvoriť", "Koniec");
  272.                         }
  273.                     }
  274.                 }
  275.                
  276.                 if(listitem == 2)
  277.                 {
  278.                     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,COLOR_RED,"Nedostatočný Admin Level");
  279.                     {
  280.                         if(eZakazany!=1)
  281.                         {
  282.                             if(eVytvoreny==0) return ShowPlayerDialog(playerid,DE_VYTVORIT_EVENT,DIALOG_STYLE_INPUT,"***Events***","Použi [MENO SUMA ID:ZBRANE NABOJOV ZDRAVIE VESTA]","Vybrať", "Koniec");
  283.                             {
  284.                                 format(str,sizeof(str),"Práve prebieha Event '%s' a výhra je $%d!",eMeno,eSuma);
  285.                                 ShowPlayerDialog(playerid,DE_PREBIEHAJUCI_EVENT,DIALOG_STYLE_MSGBOX,"**Events**",str,"Pripojiť","Koniec");
  286.                             }
  287.                         }
  288.                         else
  289.                         {
  290.                             format(str,sizeof(str),"Event '%s' bol zakázaný adminom. Nieje možné vstúpiť do Eventu.",eMeno);
  291.                             ShowPlayerDialog(playerid,DE_ZAKAZANY_EVENT,DIALOG_STYLE_MSGBOX,"**Events**",str,"Koniec","");
  292.                         }
  293.                     }
  294.                 }
  295.                
  296.                 if(listitem == 3)
  297.                 {
  298.                     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,COLOR_RED,"Nemáš dostatočný Admin Level!");
  299.                     {
  300.                         if(eVytvoreny==0) return ShowPlayerDialog(playerid,DE_ZIADNY_AKTIVNY_EVENT,DIALOG_STYLE_MSGBOX,"**Events**","Žiadny event sa nekoná!","Koniec","");
  301.                         {
  302.                             eZakazany=0;//poriešiť podmienku či už je zamknutý
  303.                             format(str,128,"Event '%s' bol Odomknutý! Máte šancu sa dostať na Event.",eMeno);
  304.                             SendClientMessageToAll(COLOR_PINK,str);
  305.                         }
  306.                     }
  307.                 }
  308.                
  309.                 if(listitem == 4)
  310.                 {
  311.                     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,COLOR_RED,"Nemáš dostatočný Admin Level!");
  312.                     {
  313.                         if(eVytvoreny==0) return ShowPlayerDialog(playerid,DE_ZIADNY_AKTIVNY_EVENT,DIALOG_STYLE_MSGBOX,"**Events**","Žiadny event sa nekoná!","Koniec","");
  314.                         {
  315.                             eZakazany=1;//poriešiť podmienku či už je zamknutý
  316.                             format(str,128,"Event '%s' bol Uzamknutý! Nik sa už na Event nedostane.",eMeno);
  317.                             SendClientMessageToAll(COLOR_PINK,str);
  318.                         }
  319.                     }
  320.                 }
  321.                
  322.                 if(listitem == 5)
  323.                 {
  324.                     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,COLOR_RED,"Nemáš dostatočný Admin level!");
  325.                     {
  326.                         if(eVytvoreny==0) return ShowPlayerDialog(playerid,DE_ZIADNY_AKTIVNY_EVENT,DIALOG_STYLE_MSGBOX,"**Events**","Žiadny event sa nekoná!","Koniec","");
  327.                         {
  328.                             format(str,128,"Event '%s' bol zruseny!",eMeno);//Ešte treba nastaviť Dialog, pre pripojenych v evente.
  329.                             SendClientMessageToAll(COLOR_BLUE,str);
  330.                             eVytvoreny=0;
  331.                             eZakazany=0;
  332.                             for(new i; i < MAX_PLAYERS; i++)
  333.                             {
  334.                                 if(eZucastneny[eHrac]==0)
  335.                                 {
  336.                                     eZucastneny[i]=0;
  337.                                     ResetPlayerWeapons(playerid);
  338.                                 }
  339.                             }
  340.                         }
  341.                     }
  342.                 }
  343.                
  344.                 if(listitem == 6)
  345.                 {
  346.                     ShowPlayerDialog(playerid,DE_CREDITS,DIALOG_STYLE_MSGBOX,"{FF3333}**Credits**","{3366CC} * {288150}Event System 1.0\n{3366CC} * © by {288150}Dominik 'MARV' Lisy\n{3366CC} * Poruchy, chyby zasielajte na E-mail {288150}marv.samp@gmail.com\n{3366CC} * Skype: {288150}marv.samp \n{3366CC} * G-mail: {288150}marv.samp@gmail.com\n{3366CC} * PasteBin: {288150}www.pastebin.com/u/DominikMarvLisy","Koniec","");
  347.                 }
  348.             }
  349.         }
  350.         case DE_PREBIEHAJUCI_EVENT:
  351.         {
  352.             if(response)
  353.             {
  354.                 new str[128];
  355.                 if(eVytvoreny==0) return ShowPlayerDialog(playerid,DE_ZIADNY_AKTIVNY_EVENT,DIALOG_STYLE_MSGBOX,"**Events**","Žiadny event sa nekoná!","Koniec","");
  356.                 {
  357.                     if(eZakazany!=1)
  358.                     {
  359.                         if(eZucastneny[playerid]==1) return ShowPlayerDialog(playerid,DE_RETRY_EVENT_JOIN,DIALOG_STYLE_MSGBOX,"**Events**","Už sa nemôžeš pripojiť do Eventu!","Koniec","");
  360.                         {
  361.                             SetPlayerPos(playerid,GetPVarFloat(playerid, "surx"),GetPVarFloat(playerid, "sury"),GetPVarFloat(playerid, "surz"));
  362.                             SendClientMessage(playerid,COLOR_GREEN,"Pripojil si sa do Eventu!");//Dialog o informacii s pravidlami.
  363.                             GivePlayerWeapon(playerid,eZbran,eNaboje);
  364.                             SetPlayerHealth(playerid,eZdravie);
  365.                             SetPlayerArmour(playerid,eVesta);
  366.                             eZucastneny[playerid]=1;
  367.                         }
  368.                     }
  369.                     else
  370.                     {
  371.                         format(str,sizeof(str),"Event '%s' bol zakázaný adminom. Nieje možné vstúpiť do Eventu.",eMeno);
  372.                         ShowPlayerDialog(playerid,DE_ZAKAZANY_EVENT,DIALOG_STYLE_MSGBOX,"**Events**",str,"Koniec","");
  373.                     }
  374.                 }
  375.             }
  376.         }
  377.         case DE_VYTAZ_EVENTU:
  378.         {
  379.             if(strlen(inputtext) > 0)
  380.             {
  381.                 new str[128];
  382.                 if(eVytvoreny==0) return ShowPlayerDialog(playerid,DE_ZIADNY_AKTIVNY_EVENT,DIALOG_STYLE_MSGBOX,"**Events**","Žiadny Event sa nekoná!","Koniec","");
  383.                 {
  384.                     if(sscanf(inputtext,"u",eHrac)) return ShowPlayerDialog(playerid,DE_VYTAZ_EVENTU,DIALOG_STYLE_INPUT,"***Events***","Zadaj Meno, alebo ID Hráča, ktorý vyhral tento Event.","Vybrať", "Koniec");
  385.                     {
  386.                         if(eHrac==INVALID_PLAYER_ID) return ShowPlayerDialog(playerid,DE_VYTAZ_EVENTU,DIALOG_STYLE_INPUT,"***Events***","Zadaj Meno, alebo ID Hráča, ktorý vyhral tento Event.","Vybrať", "Koniec");
  387.                         {
  388.                             if(eZucastneny[eHrac]==0) return ShowPlayerDialog(playerid,DE_NEZUCASTNENY_HRAC,DIALOG_STYLE_MSGBOX,"**Events**","Tento hráč sa na tomto Evente nezúčastnil!","Koniec","");
  389.                             {
  390.                                 format(str,sizeof(str),"%s vyhral Event '%s' a ziskal $%d!",GetName(eHrac),eMeno,eSuma);
  391.                                 SendClientMessageToAll(COLOR_GREEN,str);
  392.                                 format(str,sizeof(str),"Gratulujeme! Vyhral si Event '%s' a tvoja výhra je $%d!",eMeno,eSuma);
  393.                                 ShowPlayerDialog(eHrac,DE_VYHERCA,DIALOG_STYLE_MSGBOX,"**Events**",str,"Koniec","");
  394.                                 GivePlayerMoney(eHrac,eSuma);
  395.                                 eVytvoreny=0;
  396.                                 eZakazany=0;
  397.                                 for(new i; i < MAX_PLAYERS; i++)
  398.                                 {
  399.                                     eZucastneny[i]=0;
  400.                                     if(eZucastneny[eHrac]==1)
  401.                                     {
  402.                                         ResetPlayerWeapons(playerid);
  403.                                     }
  404.                                 }
  405.                             }
  406.                         }
  407.                     }
  408.                 }
  409.             }
  410.         }
  411.         case DE_VYTVORIT_EVENT:
  412.         {
  413.             if(strlen(inputtext) > 0)
  414.             {
  415.                 new str[128];
  416.                 if(eVytvoreny==0)
  417.                 {
  418.                     if(sscanf(inputtext,"siiiii",eMeno,eSuma,eZbran,eNaboje,eZdravie,eVesta)) return ShowPlayerDialog(playerid,DE_VYTVORIT_EVENT,DIALOG_STYLE_INPUT,"***Events***","Použi [MENO SUMA ID:ZBRANE NABOJOV ZDRAVIE VESTA]","Vytvoriť", "Koniec");
  419.                     {
  420.                         if(eZbran > 39 || eZbran < 0) return SendClientMessage(playerid,COLOR_ORANGE,"Vyber si zbran s id 0 až po 40!");
  421.                         {
  422.                             if(eZdravie > 100 || eZdravie < 1) return SendClientMessage(playerid,COLOR_ORANGE,"Rozmedie zdravia je od 1 až po 100");
  423.                             {
  424.                                 if(eVesta > 100 || eVesta < 1) return SendClientMessage(playerid,COLOR_ORANGE,"Rozmedie vesty je od 1 až po 100");
  425.                                 {
  426.                                     format(str,sizeof(str),"'%s' Event bol vytvoreny! Použi /events pre pripojenie!",eMeno);
  427.                                     SendClientMessageToAll(COLOR_ORANGE,str);
  428.                                     format(str,sizeof(str),"~w~'~g~%s~w~' Event bol vytvoreny!Pouzi ~g~/events ~w~pre pripojenie!",eMeno);
  429.                                     GameTextForAll(str,5000,5);
  430.                                     eVytvoreny=1;
  431.                                     new Float:x; new Float:y; new Float:z;
  432.                                     GetPlayerPos(playerid,x,y,z);
  433.                                     for(new i; i < MAX_PLAYERS; i++)
  434.                                     {
  435.                                         SetPVarFloat(i,"surx",x);
  436.                                         SetPVarFloat(i,"sury",y);
  437.                                         SetPVarFloat(i,"surz",z);
  438.                                     }
  439.                                 }
  440.                             }
  441.                         }
  442.                     }
  443.                 }
  444.                 else
  445.                 {
  446.                     format(str,128,"Práve prebieha Event '%s' a výhra je $%d!",eMeno,eSuma);
  447.                     ShowPlayerDialog(playerid,DE_PREBIEHAJUCI_EVENT,DIALOG_STYLE_MSGBOX,"**Events**",str,"Pripojiť","Koniec");
  448.                 }
  449.             }
  450.         }
  451.     }
  452.     return 1;
  453. }
  454. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  455. {
  456.     return 1;
  457. }
  458.  
  459. public OnFilterScriptExit()
  460. {
  461.     print("\n--------------------------------------");
  462.     print("         Event System vypnuty            ");
  463.     print("--------------------------------------\n");
  464.     return 1;
  465. }
  466. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement