Advertisement
Guest User

Untitled

a guest
Dec 2nd, 2015
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.57 KB | None | 0 0
  1. CMD:abrama(playerid, params[])
  2. {
  3. if(PlayerCache[playerid][pAdmin] != 1) return urp_Tip(playerid, "We don't mind");
  4. new typ[32], reszta[128];
  5. if(sscanf(params, "s[32]S()[128]", typ, reszta))
  6. {
  7. urp_Tip(playerid, "/abrama [stworz, edit, uid, zamroz, usun, rx, rz, ry, owner, typ, dokladnosc, sprawdz, info, zamknij, otworz, scal, zakoncz]");
  8. return 1;
  9. }
  10. else if(!strcmp(typ,"stworz",true))
  11. {
  12. new ownertype, owner, model;
  13. if(sscanf(reszta, "ddd", model, ownertype, owner))
  14. {
  15. urp_Tip(playerid, "/abrama stworz [model] [rodzaj właściciela] [właściciel]");
  16. return 1;
  17. }
  18. new uid = AddGate(ownertype, owner, model, GetPlayerVirtualWorld(playerid));
  19. new Float: x, Float: y, Float: z, Float: a;
  20. GetPlayerPos(playerid, x, y, z);
  21. GetPlayerFacingAngle(playerid, a);
  22. GetXYInFrontOfPoint(x, y, a, 3);
  23. Gate[uid][gUID] = CreateDynamicObject(model, x, y, z - 0.5, 0, 0, 0);
  24. Gate[uid][gOx] = x;
  25. Gate[uid][gOy] = y;
  26. Gate[uid][gOz] = z - 0.5;
  27. EditGate[playerid] = uid;
  28. Gate[uid][gDokladnosc] = 0.2;
  29. Gate[uid][gOpen] = 1;
  30. SendClientMessage(playerid, COLOR_GREY, "Stworzyłeś nową bramę. Ustal pozycję zamkniętą lub otwartą.");
  31. return 1;
  32. }
  33. else if(!strcmp(typ,"edit",true))
  34. {
  35. new uid;
  36. if(sscanf(reszta, "d", uid))
  37. {
  38. urp_Tip(playerid, "TIP: /abrama edit [uid]");
  39. return 1;
  40. }
  41. EditGate[playerid] = uid;
  42. SendClientMessage(playerid, COLOR_GREEN, "Rozpoczęto edytowanie bramy .");
  43. return 1;
  44. }
  45. else if(!strcmp(typ,"zamroz",true))
  46. {
  47. if(PlayerCache[playerid][pFreeze] == 1)
  48. {
  49. TogglePlayerControllable(playerid, true);
  50. PlayerCache[playerid][pFreeze] = 0;
  51. }
  52. else
  53. {
  54. TogglePlayerControllable(playerid, false);
  55. PlayerCache[playerid][pFreeze] = 1;
  56. }
  57. }
  58. else if(!strcmp(typ,"usun",true))
  59. {
  60. new uid;
  61. if(sscanf(reszta, "d", uid))
  62. {
  63. if(EditGate[playerid] == 0) return urp_Tip(playerid,"Nie edytujesz żadnej bramy!");
  64. DeleteGate(EditGate[playerid]);
  65. SendClientMessage(playerid, COLOR_GREY, "Usunąłeś bramę, którą edytowałeś.");
  66. EditGate[playerid] = 0;
  67. return 1;
  68. }
  69. DeleteGate(uid);
  70. return 1;
  71. }
  72. else if(!strcmp(typ,"scal",true))
  73. {
  74. new uid, uid2;
  75. if(sscanf(reszta, "dd", uid, uid2))
  76. {
  77. urp_Tip(playerid, "TIP: /abrama scal [uid pierwszej bramy] [uid drugiej bramy]");
  78. return 1;
  79. }
  80. if(Gate[uid][gUID] == 0) return urp_Tip(playerid,"Nie takiej bramy!");
  81. Gate[uid][gScale] = uid2;
  82. SendClientMessage(playerid, COLOR_GREY, "Scaliłeś bramę z bramą .");
  83. SaveGate(uid);
  84. return 1;
  85. }
  86. else if(!strcmp(typ,"rx",true))
  87. {
  88. new uid, Float: rx;
  89. if(sscanf(reszta, "df", uid, rx))
  90. {
  91. urp_Tip(playerid, "TIP: /abrama rx [uid bramy] [poz]");
  92. return 1;
  93. }
  94. if(Gate[uid][gUID] == 0) return urp_Tip(playerid,"Nie takiej bramy!");
  95. Gate[uid][gOrx] = rx;
  96. SetDynamicObjectRot(Gate[uid][gUID], Gate[uid][gOrx], Gate[uid][gOry], Gate[uid][gOrz]);
  97. SendClientMessage(playerid, COLOR_GREY, "Zmieniłeś rotację X w bramie.");
  98. SaveGate(uid);
  99. return 1;
  100. }
  101. else if(!strcmp(typ,"ry",true))
  102. {
  103. new uid, Float: ry;
  104. if(sscanf(reszta, "df", uid, ry))
  105. {
  106. urp_Tip(playerid, "TIP: /abrama ry [uid bramy] [poz]");
  107. return 1;
  108. }
  109. if(Gate[uid][gUID] == 0) return urp_Tip(playerid,"Nie takiej bramy!");
  110. Gate[uid][gOry] = ry;
  111. SetDynamicObjectRot(Gate[uid][gUID], Gate[uid][gOrx], Gate[uid][gOry], Gate[uid][gOrz]);
  112. SendClientMessage(playerid, COLOR_GREY, "Zmieniłeś rotację Y w bramie.");
  113. SaveGate(uid);
  114. return 1;
  115. }
  116. else if(!strcmp(typ,"rz",true))
  117. {
  118. new uid, Float: rz;
  119. if(sscanf(reszta, "df", uid, rz))
  120. {
  121. urp_Tip(playerid, "TIP: /abrama rz [uid bramy] [poz]");
  122. return 1;
  123. }
  124. if(Gate[uid][gUID] == 0) return urp_Tip(playerid,"Nie takiej bramy!");
  125. Gate[uid][gOrz] = rz;
  126. SetDynamicObjectRot(Gate[uid][gUID], Gate[uid][gOrx], Gate[uid][gOry], Gate[uid][gOrz]);
  127. SendClientMessage(playerid, COLOR_GREY, "Zmieniłeś rotację Z w bramie.");
  128. SaveGate(uid);
  129. return 1;
  130. }
  131. else if(!strcmp(typ,"owner",true))
  132. {
  133. new uid, owner;
  134. if(sscanf(reszta, "dd", uid, owner))
  135. {
  136. urp_Tip(playerid, "TIP: /abrama owner [uid bramy] [właściciel(uid)]");
  137. return 1;
  138. }
  139. if(Gate[uid][gUID] == 0) return urp_Tip(playerid,"Nie takiej bramy!");
  140. Gate[uid][gOwner] = owner;
  141. SetDynamicObjectRot(Gate[uid][gUID], Gate[uid][gOrx], Gate[uid][gOry], Gate[uid][gOrz]);
  142. SendClientMessage(playerid, COLOR_GREY, "Zmieniłeś właściciela bramy");
  143. SaveGate(uid);
  144. return 1;
  145. }
  146. else if(!strcmp(typ,"typ",true))
  147. {
  148. new uid, owner;
  149. if(sscanf(reszta, "dd", uid, owner))
  150. {
  151. urp_Tip(playerid, "TIP: /abrama typ [uid bramy] [właściciel(uid)]");
  152. return 1;
  153. }
  154. if(Gate[uid][gUID] == 0) return urp_Tip(playerid,"Nie takiej bramy!");
  155. Gate[uid][gOwnertype] = owner;
  156. SendClientMessage(playerid, COLOR_GREY, "Zmieniłeś typ właściciela bramy");
  157. SaveGate(uid);
  158. return 1;
  159. }
  160. else if(!strcmp(typ,"zamknij",true))
  161. {
  162. if(EditGate[playerid] == 0) return urp_Tip(playerid,"Nie edytujesz żadnej bramy!");
  163. new uid = EditGate[playerid];
  164. /*Gate[uid][gCx] = Gate[uid][gOx];
  165. Gate[uid][gCy] = Gate[uid][gOy];
  166. Gate[uid][gCz] = Gate[uid][gOz];*/
  167. new Float: x, Float: y, Float: z;
  168. GetDynamicObjectPos(Gate[uid][gUID], x, y, z);
  169. Gate[uid][gCx] = x;
  170. Gate[uid][gCy] = y;
  171. Gate[uid][gCz] = z;
  172. SendClientMessage(playerid, COLOR_GREY, "Pozycja bramy zamkniętej została ustalona");
  173. return 1;
  174. }
  175. else if(!strcmp(typ,"dokladnosc",true))
  176. {
  177. new Float: dokladnosc;
  178. if(sscanf(reszta, "f", dokladnosc))
  179. {
  180. urp_Tip(playerid, "TIP: /abrama dokladnosc [dokladność] - np. 0.3");
  181. return 1;
  182. }
  183. new uid = EditGate[playerid];
  184. if(EditGate[playerid] == 0) return urp_Tip(playerid,"Nie edytujesz żadnej bramy!");
  185. SendClientMessage(playerid, COLOR_GREY, "Zmieniłeś dokładność edytowania bramy");
  186. Gate[uid][gDokladnosc] = dokladnosc;
  187. //Gate[uid][gDokladnosc] = floatadd(Gate[uid][gDokladnosc], dokladnosc);
  188. return 1;
  189. }
  190. else if(!strcmp(typ,"otworz",true))
  191. {
  192. if(EditGate[playerid] == 0) return urp_Tip(playerid, "Nie edytujesz żadnej bramy!");
  193. new uid = EditGate[playerid];
  194. new Float: x, Float: y, Float: z;
  195. GetDynamicObjectPos(Gate[uid][gUID], x, y, z);
  196. Gate[uid][gOx] = x;
  197. Gate[uid][gOy] = y;
  198. Gate[uid][gOz] = z;
  199. SendClientMessage(playerid, COLOR_GREY, "Pozycja bramy otwartej została ustalona");
  200. return 1;
  201. }
  202. else if(!strcmp(typ,"uid",true))
  203. {
  204. new find = 0;
  205. new Float:posx, Float:posy, Float:posz, world, data[64];
  206. GetPlayerPos(playerid, posx, posy, posz);
  207.  
  208. world = GetPlayerVirtualWorld(playerid);
  209.  
  210. mysql_query_format("SELECT id FROM `urp_gates` WHERE cx < %f + 5 AND cx > %f - 5 AND cy < %f + 5 AND cy > %f - 5 AND cz < %f + 5 AND cz > %f - 5 AND vw = '%d' LIMIT 1", posx, posx, posy, posy, posz, posz, world);
  211.  
  212. mysql_store_result();
  213. mysql_fetch_row_format(data, "|");
  214.  
  215. sscanf(data, "p<|>d", find);
  216.  
  217. mysql_free_result();
  218.  
  219. new string[50];
  220. format(string, sizeof(string), "[BRAMA] >> %d <<", find);
  221. SendClientMessage(playerid, COLOR_GREEN, string);
  222. return 1;
  223. }
  224. else if(!strcmp(typ,"sprawdz",true))
  225. {
  226. new uid = EditGate[playerid];
  227. if(Gate[uid][gOx] == 0 || Gate[uid][gCx] == 0) return urp_Tip(playerid, "Brama nie została jeszcze ustawiona. (/abrama otworz, /abrama zamknij).");
  228. if(Gate[uid][gOpen] == 1)//otwarta
  229. {
  230. MoveDynamicObject(Gate[uid][gUID], Gate[uid][gCx], Gate[uid][gCy], Gate[uid][gCz], 4);
  231. Gate[uid][gOpen] = 0;
  232. }
  233. else
  234. {
  235. MoveDynamicObject(Gate[uid][gUID], Gate[uid][gOx], Gate[uid][gOy], Gate[uid][gOz], 4);
  236. Gate[uid][gOpen] = 1;
  237. }
  238. }
  239. else if(!strcmp(typ,"info",true))
  240. {
  241. new uid, string[128];
  242. if(sscanf(reszta, "d", uid))
  243. {
  244. urp_Tip(playerid, "TIP: /abrama info [uid bramy]");
  245. return 1;
  246. }
  247. format(string, sizeof(string), "ID:\t%d\nOx:\t%f\nOy:\t%f\nOz:\t%f\nCx:\t%f\nCy:\t%f\nCz:\t%f", uid, Gate[uid][gOx], Gate[uid][gOy], Gate[uid][gOz], Gate[uid][gCx], Gate[uid][gCy], Gate[uid][gCz]);
  248. urp_ShowPlayerDialog(playerid, D_INFO, DIALOG_STYLE_LIST, ""SERVER_NAME" » Brama", string, "Ok", "Anuluj");
  249. }
  250. else if(!strcmp(typ,"zakoncz",true))
  251. {
  252. new uid = EditGate[playerid];
  253. if(uid == 0) return urp_Tip(playerid, "Nie edytujesz żadnej bramy.");
  254. SendClientMessage(playerid, COLOR_GREEN, "Zakończyłeś edytować bramę");
  255. SaveGate(uid);
  256. EditGate[playerid] = 0;
  257. }
  258. return 1;
  259. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement