Advertisement
Guest User

Untitled

a guest
Aug 11th, 2014
291
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.40 KB | None | 0 0
  1. #include <a_samp>
  2. #include <zcmd>
  3. #include "sscanf2"
  4. #include "dini"
  5.  
  6. #define MAX_SZEF 200
  7.  
  8. enum r_szef{
  9. Float:szX,
  10. Float:szY,
  11. Float:szZ,
  12. Float:szROT,
  13. Pass[24],
  14. Object,
  15. Text3D:sztext,
  16. Nyitva,
  17. Frakcio,
  18. Penz
  19. }
  20.  
  21. new xfact[MAX_PLAYERS];
  22. new xjelsz[MAX_PLAYERS][24];
  23. new objectke[MAX_PLAYERS];
  24. new szfile[128];
  25. new szInfo[MAX_SZEF][r_szef];
  26. new szefid;
  27.  
  28. CMD:ujszef(playerid,params[]){
  29. if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xff0000AA,"»Nem vagy admin !");
  30. new szoveg[24],fid;
  31. if(sscanf(params, "s[24]d",szoveg,fid)) return SendClientMessage(playerid,0xff0000AA,"» Használat /újszéf » jelszó « » frakció id «");
  32. new Float:x, Float:y, Float:z;
  33. GetPlayerPos(playerid, x, y, z);
  34. objectke[playerid] = CreateObject(2332, x, y, z, 0.0, 0.0, 96.0);
  35. EditObject(playerid, objectke[playerid]);
  36. format(xjelsz[playerid], 24, "%s", szoveg);
  37. SendClientMessage(playerid,0xff0000AA,"» A kamera mozgatásához nyomd meg a SPACE gombot«");
  38.  
  39. return 1;
  40. }
  41.  
  42. CMD:szefpenz(playerid,params[])
  43. {
  44. for(new i; i < MAX_SZEF; i ++)
  45. {
  46. if(IsPlayerInRangeOfPoint(playerid, 2.0, szInfo[i][szX], szInfo[i][szY], szInfo[i][szZ]))
  47. {
  48. if(szInfo[i][Nyitva] == 0) return SendClientMessage(playerid,0xff0000AA,"» Először nyissd ki! ");
  49. //if(GetPVarInt(playerid,"CurSafe") != i) return SendClientMessage(playerid,0xff0000AA,"» Először írd be a jelszót » /szefjelszo «");
  50. new string[128];
  51. format(string,sizeof(string),"A széfben lévő pénz: %d$",szInfo[i][Penz]);
  52. SendClientMessage(playerid,0xFFFFFFAA,string);
  53. }
  54. }
  55. return 1;
  56. }
  57.  
  58. CMD:szefkivesz(playerid,params[])
  59. {
  60. new szoveg;
  61. if(sscanf(params, "d",szoveg)) return SendClientMessage(playerid,0xff0000AA,"» Használat /széfkivesz » összeg «");
  62. for(new i; i < MAX_SZEF; i ++)
  63. {
  64. if(IsPlayerInRangeOfPoint(playerid, 2.0, szInfo[i][szX], szInfo[i][szY], szInfo[i][szZ]))
  65. {
  66.  
  67. if(szInfo[i][Nyitva] == 0) return SendClientMessage(playerid,0xff0000AA,"» Először nyissd ki! ");
  68. //if(GetPVarInt(playerid,"CurSafe") != i) return SendClientMessage(playerid,0xff0000AA,"» Először írd be a jelszót » /szefjelszo «");
  69. if(szInfo[i][Penz] < szoveg) return SendClientMessage(playerid,0xff0000AA,"»Nincs ennyi pénz a széfben!");
  70. if(szoveg < 1) return SendClientMessage(playerid,0xff0000AA,"» Ne is próbálkozz !");
  71. szInfo[i][Penz] -= szoveg;
  72. new string[128];
  73. format(string,sizeof(string),"Sikeresen kivettél %d$-t",szoveg);
  74. SendClientMessage(playerid,0xff0000AA,string);
  75. GivePlayerMoney(playerid,szoveg);
  76. }
  77. }
  78. return 1;
  79. }
  80.  
  81. CMD:szefbetesz(playerid,params[])
  82. {
  83. new szoveg;
  84. if(sscanf(params, "d",szoveg)) return SendClientMessage(playerid,0xff0000AA,"» Használat /széfbetesz » összeg «");
  85. for(new i; i < MAX_SZEF; i ++)
  86. {
  87. if(IsPlayerInRangeOfPoint(playerid, 2.0, szInfo[i][szX], szInfo[i][szY], szInfo[i][szZ]))
  88. {
  89.  
  90.  
  91. if(szInfo[i][Nyitva] == 0) return SendClientMessage(playerid,0xff0000AA,"» Először nyissd ki! ");
  92. //if(GetPVarInt(playerid,"CurSafe") != i) return SendClientMessage(playerid,0xff0000AA,"» Először írd be a jelszót » /szefjelszo «");
  93. if(GetPlayerMoney(playerid) < szoveg) return SendClientMessage(playerid,0xff0000AA,"» Nincs ennyi pénzed !");
  94. if(szoveg < 1) return SendClientMessage(playerid,0xff0000AA,"» Ne is próbálkozz !");
  95. szInfo[i][Penz] += szoveg;
  96. new string[128];
  97. format(string,sizeof(string),"Sikeresen betettél %d$-t",szoveg);
  98. SendClientMessage(playerid,0xff0000AA,string);
  99. GivePlayerMoney(playerid,-szoveg);
  100. }
  101. }
  102. return 1;
  103. }
  104.  
  105. CMD:szefnyit(playerid,params[])
  106. {
  107.  
  108. new szoveg[24];
  109. if(sscanf(params, "s[24]",szoveg)) return SendClientMessage(playerid,0xff0000AA,"» Használat /szefjelszo » jelszó «");
  110.  
  111. for(new i; i < MAX_SZEF; i ++)
  112. {
  113. if(IsPlayerInRangeOfPoint(playerid, 2.0, szInfo[i][szX], szInfo[i][szY], szInfo[i][szZ]))
  114. {
  115.  
  116. if(szInfo[i][Nyitva] == 1) return SendClientMessage(playerid,0xff0000AA,"» Már ki van nyitva! ");
  117. if(!strcmp(szInfo[i][Pass],szoveg,false))
  118. {
  119. SendClientMessage(playerid,-1,"» Sikeresen beírtad a jelszót!");
  120. szInfo[i][Nyitva] = 1;
  121. Update3DTextLabelText(szInfo[i][sztext], 0x008080FF, "Széf\n{00ff3c}Nyitva");
  122. DestroyObject(szInfo[i][Object] );
  123. szInfo[i][Object] = CreateObject(1829, szInfo[i][szX],szInfo[i][szY], szInfo[i][szZ], 0.0, 0.0, szInfo[i][szROT]);
  124. }else{
  125. SendClientMessage(playerid,-1,"» Hibás jelszó !");
  126. }
  127. }
  128. }
  129. return 1;
  130. }
  131. CMD:szefzar(playerid,params[])
  132. {
  133.  
  134. for(new i; i < MAX_SZEF; i ++)
  135. {
  136. if(IsPlayerInRangeOfPoint(playerid, 2.0, szInfo[i][szX], szInfo[i][szY], szInfo[i][szZ]))
  137. {
  138. if(szInfo[i][Nyitva] == 0) return SendClientMessage(playerid,0xff0000AA,"» Már be van zárva! ");
  139. SendClientMessage(playerid,-1,"» Sikeresen bezártad a széfet!");
  140. szInfo[i][Nyitva] = 0;
  141. Update3DTextLabelText(szInfo[i][sztext], 0x008080FF, "Széf\n{ff0000}Zárva");
  142. DestroyObject(szInfo[i][Object] );
  143. szInfo[i][Object] = CreateObject(2332, szInfo[i][szX],szInfo[i][szY], szInfo[i][szZ], 0.0, 0.0, szInfo[i][szROT]);
  144. }
  145. }
  146. return 1;
  147. }
  148. public OnGameModeInit(){
  149. for(new i; i < MAX_SZEF; i ++){
  150. LoadSafe(i);
  151. }
  152. return 1;
  153. }
  154. public OnGameModeExit(){
  155. for(new i; i < MAX_SZEF; i ++){
  156. SaveSafe(i);
  157. }
  158. return 1;
  159. }
  160. public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ)
  161. {
  162.  
  163. if(response == EDIT_RESPONSE_FINAL)
  164. {
  165. CreateSzef(xjelsz[playerid],0,fX, fY, fZ,fRotZ,xfact[playerid]);
  166. DestroyObject(objectke[playerid]);
  167. xfact[playerid] = 0;
  168. }
  169. if(response == EDIT_RESPONSE_UPDATE)
  170. {
  171.  
  172. }
  173. if(response == EDIT_RESPONSE_CANCEL)
  174. {
  175. DestroyObject(objectke[playerid]);
  176. }
  177. }
  178.  
  179. stock LoadSafe(xszefid)
  180. {
  181. format(szfile, sizeof(szfile), "Szefek/%d.ini", xszefid);
  182. if(dini_Exists(szfile))
  183. {
  184. szInfo[xszefid][Frakcio] = dini_Int(szfile, "Frakció");
  185. szInfo[xszefid][Penz] = dini_Int(szfile, "Tartalom");
  186. szInfo[xszefid][Nyitva] = dini_Int(szfile, "Zár");
  187. szInfo[xszefid][szX] = dini_Float(szfile, "X");
  188. szInfo[xszefid][szY] = dini_Float(szfile, "Y");
  189. szInfo[xszefid][szZ] = dini_Float(szfile, "Z");
  190. szInfo[xszefid][szROT] = dini_Float(szfile, "ROT");
  191. format(szInfo[xszefid][Pass], 24, "%s", dini_Get(szfile, "jelszó"));
  192.  
  193.  
  194. if(szInfo[xszefid][Nyitva] == 0){
  195. szInfo[xszefid][sztext] = Create3DTextLabel("Széf\n{ff0000}Zárva", 0x008080FF, szInfo[xszefid][szX],szInfo[xszefid][szY], szInfo[xszefid][szZ]+1, 40.0, 0, 0);
  196. szInfo[xszefid][Object] = CreateObject(2332, szInfo[xszefid][szX],szInfo[xszefid][szY], szInfo[xszefid][szZ], 0.0, 0.0, szInfo[xszefid][szROT]);
  197. }else{
  198. szInfo[xszefid][sztext] = Create3DTextLabel("Széf\n{00ff3c}Nyitva", 0x008080FF, szInfo[xszefid][szX],szInfo[xszefid][szY], szInfo[xszefid][szZ]+1, 40.0, 0, 0);
  199. szInfo[xszefid][Object] = CreateObject(1829, szInfo[xszefid][szX],szInfo[xszefid][szY], szInfo[xszefid][szZ], 0.0, 0.0, szInfo[xszefid][szROT]);
  200. }
  201. szefid++;//
  202. printf("%d széf betöltve",xszefid);
  203. }
  204. }
  205.  
  206. stock SaveSafe(xszefid)
  207. {
  208. format(szfile, sizeof(szfile), "Szefek/%d.ini", xszefid);
  209.  
  210. if(dini_Exists(szfile))
  211. {
  212. dini_IntSet(szfile, "Frakció", szInfo[xszefid][Frakcio]);
  213. dini_IntSet(szfile, "Zár", szInfo[xszefid][Nyitva]);
  214. dini_IntSet(szfile, "Tartalom", szInfo[xszefid][Penz]);
  215. dini_FloatSet(szfile, "X", szInfo[xszefid][szX]);
  216. dini_FloatSet(szfile, "Y", szInfo[xszefid][szY]);
  217. dini_FloatSet(szfile, "Z", szInfo[xszefid][szZ]);
  218. dini_FloatSet(szfile, "ROT", szInfo[xszefid][szROT]);
  219. dini_Set(szfile, "Pass", szInfo[xszefid][Pass]);
  220. }
  221. }
  222.  
  223.  
  224. stock CreateSzef(jelsz[],xPenz,Float:X,Float:Y,Float:Z,Float:ROT,frakc)
  225. {
  226. szefid++;
  227.  
  228. format(szfile, sizeof(szfile), "Szefek/%d.ini", szefid);
  229. dini_Create(szfile);
  230. szInfo[szefid][Frakcio] = frakc;
  231. szInfo[szefid][Nyitva] = 0;
  232. szInfo[szefid][szX] = X;
  233. szInfo[szefid][szY] = Y;
  234. szInfo[szefid][szZ] = Z;
  235. szInfo[szefid][szROT] = ROT;
  236. szInfo[szefid][Penz] = xPenz;
  237. szInfo[szefid][Object] = CreateObject(2332, X, Y, Z, 0.0, 0.0, ROT);
  238. szInfo[szefid][sztext] = Create3DTextLabel("Széf\n{ff0000}Zárva", 0x008080FF, X, Y, Z+2, 40.0, 0, 0);
  239. format(szInfo[szefid][Pass], 24, "%s", jelsz);
  240. SaveSafe(szefid);
  241. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement