Guest User

Simple WorkPad System by Maranello

a guest
Aug 19th, 2013
353
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.34 KB | None | 0 0
  1. #include <a_samp>
  2. #include <streamer>
  3. #include <zcmd>
  4.  
  5. new FactionKey, WorkPad, WorkPad1,WorkStatus,WorkGate;
  6.  
  7. #define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
  8.  
  9. #define PRESSED(%0) \
  10. (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
  11.  
  12. main()
  13. {
  14. print("\n----------------------------------");
  15. print(" Work Script loaded by Maranello");
  16. print("----------------------------------\n");
  17. }
  18.  
  19. public OnGameModeInit()
  20. {
  21. SetGameModeText("Blank Script");
  22. AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  23.  
  24. WorkPad = CreateDynamicPickup(0,23,1809.9218, -2075.8601, 13.4969, -1,-1,-1,40.0);
  25. WorkPad1 = CreateDynamicPickup(0,23,1813.4456, -2076.9133, 13.4969, -1,-1,-1,40.0);
  26.  
  27. WorkGate = CreateDynamicObject(969, 1812.28, -2067.63, 12.54, 0.00, 0.00, -90.00);
  28. return true;
  29. }
  30.  
  31. public OnGameModeExit()
  32. {
  33. return true;
  34. }
  35.  
  36. public OnPlayerRequestClass(playerid, classid)
  37. {
  38. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  39. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  40. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  41. return true;
  42. }
  43.  
  44. public OnPlayerConnect(playerid)
  45. {
  46. return true;
  47. }
  48.  
  49. public OnPlayerDisconnect(playerid, reason)
  50. {
  51. return true;
  52. }
  53.  
  54. public OnPlayerSpawn(playerid)
  55. {
  56. return true;
  57. }
  58.  
  59. public OnPlayerDeath(playerid, killerid, reason)
  60. {
  61. return true;
  62. }
  63.  
  64. public OnVehicleSpawn(vehicleid)
  65. {
  66. return true;
  67. }
  68.  
  69. public OnVehicleDeath(vehicleid, killerid)
  70. {
  71. return true;
  72. }
  73.  
  74. public OnPlayerText(playerid, text[])
  75. {
  76. return true;
  77. }
  78.  
  79. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  80. {
  81. return true;
  82. }
  83.  
  84. public OnPlayerExitVehicle(playerid, vehicleid)
  85. {
  86. return true;
  87. }
  88.  
  89. public OnPlayerStateChange(playerid, newstate, oldstate)
  90. {
  91. return true;
  92. }
  93.  
  94. public OnPlayerEnterCheckpoint(playerid)
  95. {
  96. return true;
  97. }
  98.  
  99. public OnPlayerLeaveCheckpoint(playerid)
  100. {
  101. return true;
  102. }
  103.  
  104. public OnPlayerEnterRaceCheckpoint(playerid)
  105. {
  106. return true;
  107. }
  108.  
  109. public OnPlayerLeaveRaceCheckpoint(playerid)
  110. {
  111. return true;
  112. }
  113.  
  114. public OnRconCommand(cmd[])
  115. {
  116. return true;
  117. }
  118.  
  119. public OnPlayerRequestSpawn(playerid)
  120. {
  121. return true;
  122. }
  123.  
  124. public OnObjectMoved(objectid)
  125. {
  126. return true;
  127. }
  128.  
  129. public OnPlayerObjectMoved(playerid, objectid)
  130. {
  131. return true;
  132. }
  133.  
  134. public OnPlayerPickUpDynamicPickup(playerid, pickupid)
  135. {
  136. if(pickupid == WorkPad || pickupid == WorkPad1)
  137. {
  138. GameTextForPlayer(playerid,"~w~Premi ~r~~k~~SNEAK_ABOUT~~w~ per aprire o chiudere il cancello",3000,5);
  139. }
  140. return true;
  141. }
  142.  
  143. public OnVehicleMod(playerid, vehicleid, componentid)
  144. {
  145. return true;
  146. }
  147.  
  148. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  149. {
  150. return true;
  151. }
  152.  
  153. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  154. {
  155. return true;
  156. }
  157.  
  158. public OnPlayerSelectedMenuRow(playerid, row)
  159. {
  160. return true;
  161. }
  162.  
  163. public OnPlayerExitedMenu(playerid)
  164. {
  165. return true;
  166. }
  167.  
  168. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  169. {
  170. return true;
  171. }
  172.  
  173. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  174. {
  175. if(PRESSED(KEY_WALK))
  176. {
  177. if(IsPlayerInRangeOfPoint(playerid,1.0,1813.4456, -2076.9133, 13.4969))
  178. {
  179. ShowPlayerDialog(playerid,2,DIALOG_STYLE_LIST,"KeyPad","Apri cancello\nChiudi cancello\nModifica codice","Seleziona","Annulla");
  180. }
  181. else if(IsPlayerInRangeOfPoint(playerid,1.0,1809.9218, -2075.8601, 13.4969))
  182. {
  183. ShowPlayerDialog(playerid,2,DIALOG_STYLE_LIST,"KeyPad","Apri cancello\nChiudi cancello\nModifica codice","Seleziona","Annulla");
  184. }
  185. }
  186. return true;
  187. }
  188.  
  189. public OnRconLoginAttempt(ip[], password[], success)
  190. {
  191. return true;
  192. }
  193.  
  194. public OnPlayerUpdate(playerid)
  195. {
  196. return true;
  197. }
  198.  
  199. public OnPlayerStreamIn(playerid, forplayerid)
  200. {
  201. return true;
  202. }
  203.  
  204. public OnPlayerStreamOut(playerid, forplayerid)
  205. {
  206. return true;
  207. }
  208.  
  209. public OnVehicleStreamIn(vehicleid, forplayerid)
  210. {
  211. return true;
  212. }
  213.  
  214. public OnVehicleStreamOut(vehicleid, forplayerid)
  215. {
  216. return true;
  217. }
  218.  
  219. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  220. {
  221. switch(dialogid)
  222. {
  223. case 0:
  224. {
  225. if(response)
  226. {
  227. new key = strval(inputtext);
  228. new sent[128];
  229. if(key == FactionKey)
  230. {
  231. if(WorkStatus == 1)return SendClientMessage(playerid,-1,"Il cancello risulta già aperto.");
  232. PlayerPlaySound(playerid, 21000, 0, 0, 0);
  233. MoveDynamicObject(WorkGate, 1812.28, -2059.05, 12.54, 3.0);
  234. SendClientMessage(playerid, -1, "Accesso consentito.");
  235. PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
  236. WorkStatus = 1;
  237. }
  238. else
  239. {
  240. format(sent,sizeof(sent),"{CD0000}Errore{FFFFFF}: Il codice '{CD0000}%d{FFFFFF}' risulta errato.\nInserisci il codice del keypad dell'officina.",key);
  241. ShowPlayerDialog(playerid, 0, DIALOG_STYLE_PASSWORD, "Key Pad", sent, "Invia", "Chiudi");
  242. }
  243. }
  244. else
  245. {
  246. return 1;
  247. }
  248. }
  249.  
  250. case 1:
  251. {
  252. if(response)
  253. {
  254. new key = strval(inputtext);
  255. new sent[128];
  256. if(!isNumeric(inputtext)) return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "Key Pad", "{1B376D}Keypad{FFFFFF}:\nInserisci il codice che vuoi abbinare al keypad dell'officina.\nEsso dev'essere numerico.", "Invia", "Chiudi");
  257. if(isnull(inputtext)) return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "Key Pad", "{1B376D}Keypad{FFFFFF}:\nInserisci il codice che vuoi abbinare al keypad dell'officina.\nEsso dev'essere numerico.", "Invia", "Chiudi");
  258. PlayerPlaySound(playerid, 21000, 0, 0, 0);
  259. format(sent,sizeof(sent),"Il nuovo codice dell'officina è %d.",key);
  260. SendClientMessage(playerid,-1,sent);
  261. FactionKey = key;
  262. }
  263. else
  264. {
  265. return 1;
  266. }
  267. }
  268.  
  269. case 2:
  270. {
  271. if(response)
  272. {
  273. switch(listitem)
  274. {
  275. case 0:
  276. {
  277. ShowPlayerDialog(playerid, 0, DIALOG_STYLE_PASSWORD, "Key Pad", "{1B376D}Keypad{FFFFFF}:\nInserisci il codice del keypad dell'officina.", "Invia", "Chiudi");
  278. }
  279. case 1:
  280. {
  281. if(WorkStatus == 0)return SendClientMessage(playerid,-1,"Il cancello risulta già chiuso.");
  282. MoveDynamicObject(WorkGate, 1812.28, -2067.63, 12.54, 3.0);
  283. PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
  284. WorkStatus = 0;
  285. }
  286. case 2:
  287. {
  288. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "Key Pad", "{1B376D}Keypad{FFFFFF}:\nInserisci il codice che vuoi abbinare al keypad dell'officina.", "Invia", "Chiudi");
  289. }
  290. }
  291. }
  292. }
  293. }
  294. return true;
  295. }
  296.  
  297. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  298. {
  299. return true;
  300. }
  301.  
  302. CMD:getfactionkey(playerid, params[])
  303. {
  304. new s[128];
  305. format(s, sizeof(s), "La password del keypad dell'officina è %d.",FactionKey);
  306. SendClientMessage(playerid, -1, s);
  307. return 1;
  308. }
  309.  
  310. stock isNumeric(const sent[])
  311. {
  312. new length=strlen(sent);
  313. if (length==0) return false;
  314. for (new i = 0; i < length; i++)
  315. {
  316. if
  317. ((sent[i] > '9' || sent[i] < '0' && sent[i]!='-' && sent[i]!='+') || (sent[i]=='-' && i!=0)|| (sent[i]=='+' && i!=0))
  318. return false;
  319. }
  320. if (length==1 && (sent[0]=='-' || sent[0]=='+')) return false;
  321. return true;
  322. }
Advertisement
Add Comment
Please, Sign In to add comment