TonyVk

Dinamican Teleport System

May 10th, 2018
1,201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.81 KB | None | 0 0
  1. ////////////////////////////////////////////////////////////////////////////////
  2. //////////////////////////Dynamic Teleport System///////////////////////////////
  3. //////////////////////////////////By Tony///////////////////////////////////////
  4. //////////////////////////////Created: 16.1.2016////////////////////////////////
  5. /////////////////////////Please don't remove credits////////////////////////////
  6. ////////////////////////////////////////////////////////////////////////////////
  7.  
  8. #include <a_samp>
  9. #include <zcmd>
  10. #include <sscanf2>
  11. #include <YSI\y_ini>
  12. #include <FileManager>
  13.  
  14.  
  15. #define DIALOG_TEDIT 32000
  16. #define DIALOG_KATEGORIJA 32001
  17. #define DIALOG_KLOKACIJU 32002
  18. #define DIALOG_OBRISIKAT 32003
  19. #define DIALOG_OBRISILOK 32004
  20. #define DIALOG_KORDLOKACIJE 32005
  21. #define DIALOG_TELE 32006
  22. #define DIALOG_KTELE 32007
  23. #define DIALOG_POMJERILOK 32008
  24. #define DIALOG_POMJERIKAT 32009
  25. #define TELE_PATH "/Lokacije/%s/%d.ini"
  26.  
  27.  
  28. #define MAX_TELE 100
  29. //Teleport
  30. enum tInfo
  31. {
  32. Ime[90],
  33. Float:teX,
  34. Float:teY,
  35. Float:teZ,
  36. Float:teA
  37. }
  38. new TeleInfo[20][MAX_TELE][tInfo];
  39. new Kategorija[20][90];
  40. new ImeKat[MAX_PLAYERS][90];
  41. new IDKate=-1;
  42. new IDLok=-1;
  43. new Kate=-1;
  44.  
  45.  
  46. stock udb_hash(buf[])
  47. {
  48. new length=strlen(buf);
  49. new s1 = 1;
  50. new s2 = 0;
  51. new n;
  52. for (n=0; n<length; n++)
  53. {
  54. s1 = (s1 + buf[n]) % 65521;
  55. s2 = (s2 + s1) % 65521;
  56. }
  57. return (s2 << 16) + s1;
  58. }
  59.  
  60. stock TelePath(id,katid)
  61. {
  62. new string[128];
  63. format(string,sizeof(string),TELE_PATH,Kategorija[katid],id);
  64. return string;
  65. }
  66.  
  67. stock SpremiLokacije2(id,katid)
  68. {
  69. new INI:File = INI_Open(TelePath(id-1,katid));
  70. INI_WriteString(File,"Ime",TeleInfo[katid][id][Ime]);
  71. INI_WriteFloat(File,"X",TeleInfo[katid][id][teX]);
  72. INI_WriteFloat(File,"Y",TeleInfo[katid][id][teY]);
  73. INI_WriteFloat(File,"Z",TeleInfo[katid][id][teZ]);
  74. INI_WriteFloat(File,"A",TeleInfo[katid][id][teA]);
  75. INI_Close(File);
  76. TeleInfo[katid][id][teX]=0;
  77. TeleInfo[katid][id][teY]=0;
  78. TeleInfo[katid][id][teZ]=0;
  79. TeleInfo[katid][id][teA]=0;
  80. return 1;
  81. }
  82.  
  83. stock SpremiLokacije(id,katid)
  84. {
  85. new INI:File = INI_Open(TelePath(id,katid));
  86. INI_WriteString(File,"Ime",TeleInfo[katid][id][Ime]);
  87. INI_WriteFloat(File,"X",TeleInfo[katid][id][teX]);
  88. INI_WriteFloat(File,"Y",TeleInfo[katid][id][teY]);
  89. INI_WriteFloat(File,"Z",TeleInfo[katid][id][teZ]);
  90. INI_WriteFloat(File,"A",TeleInfo[katid][id][teA]);
  91. INI_Close(File);
  92. return 1;
  93. }
  94.  
  95. stock SpremiKategorije()
  96. {
  97. new INI:File = INI_Open("Lokacije/Kategorije.ini");
  98. for(new i=0;i<20;i++)
  99. {
  100. new string[90];
  101. format(string,sizeof(string),"Kategorija_%d",i);
  102. INI_WriteString(File,string,Kategorija[i]);
  103. }
  104. INI_Close(File);
  105. return 1;
  106. }
  107.  
  108. stock SpremiKategorije2(id)
  109. {
  110. new INI:File = INI_Open("Lokacije/Kategorije.ini");
  111. for(new i=id+1;i<20;i++)
  112. {
  113. new string[90];
  114. format(string,sizeof(string),"Kategorija_%d",i-1);
  115. INI_WriteString(File,string,Kategorija[i]);
  116. }
  117. INI_Close(File);
  118. return 1;
  119. }
  120.  
  121. forward UcitajKategorije(id,name[],value[]);
  122. public UcitajKategorije(id,name[],value[])
  123. {
  124. new string[90];
  125. format(string,sizeof(string),"Kategorija_%d",id);
  126. INI_String(string,Kategorija[id],90);
  127. return 1;
  128. }
  129.  
  130.  
  131. forward UcitajLokacije(id,name[],value[]);
  132. public UcitajLokacije(id,name[],value[])
  133. {
  134. INI_String("Ime",TeleInfo[IDKate][id][Ime],90);
  135. INI_Float("X",TeleInfo[IDKate][id][teX]);
  136. INI_Float("Y",TeleInfo[IDKate][id][teY]);
  137. INI_Float("Z",TeleInfo[IDKate][id][teZ]);
  138. INI_Float("A",TeleInfo[IDKate][id][teA]);
  139. return 1;
  140. }
  141.  
  142. forward Port(playerid);
  143. public Port(playerid)
  144. {
  145. TogglePlayerControllable(playerid,0);
  146. SetTimerEx("Unfreeze", 2000,false,"i",playerid);
  147. return 1;
  148. }
  149.  
  150. forward Unfreeze(playerid);
  151. public Unfreeze(playerid)
  152. {
  153. TogglePlayerControllable(playerid, 1);
  154. return 1;
  155. }
  156.  
  157. public OnFilterScriptExit()
  158. {
  159. for(new i=0;i<MAX_TELE;i++)
  160. {
  161. for(new a=0;a<20;a++)
  162. {
  163. if(TeleInfo[a][i][teX] != 0 && TeleInfo[a][i][teY] != 0)
  164. {
  165. SpremiLokacije(i,a);
  166. }
  167. }
  168. }
  169. return 1;
  170. }
  171.  
  172. public OnFilterScriptInit()
  173. {
  174. print("////////////////////////////////////////////////////////////////////////////////");
  175. print("//////////////////////////Dinamican Teleport System//////////////////////////////");
  176. print("//////////////////////////////////By #Sikora////////////////////////////////////");
  177. print("//////////////////////////////Created: 16.1.2016////////////////////////////////");
  178. print("/////////////////////////Please don't remove credits////////////////////////////");
  179. print("////////////////////////////////////////////////////////////////////////////////");
  180. for(new j=0;j<20;j++)
  181. {
  182. strmid(Kategorija[j],"Prazno",0,strlen("Prazno"),255);
  183. INI_ParseFile("Lokacije/Kategorije.ini", "UcitajKategorije", .bExtra = true, .extra = j);
  184. for(new i = 0; i < sizeof(TeleInfo); i++)
  185. {
  186. strmid(TeleInfo[j][i][Ime],"a",0,strlen("a"),255);
  187. new str[128];
  188. format(str,sizeof(str),"Lokacije/%s/%d.ini",Kategorija[j],i);
  189. if(fexist(str))
  190. {
  191. IDKate=j;
  192. INI_ParseFile(str, "UcitajLokacije", .bExtra = true, .extra = i);
  193. }
  194. }
  195. }
  196. return 1;
  197. }
  198.  
  199. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  200. {
  201. if(dialogid == DIALOG_KATEGORIJA)
  202. {
  203. new ime[90];
  204. if(!response) return 1;
  205. if(sscanf(inputtext,"s[90]",ime)) return ShowPlayerDialog(playerid, DIALOG_KATEGORIJA, DIALOG_STYLE_INPUT, "Ime kategorije", "Unesite ime kategorije", "Uredu", "Odustani");
  206. for(new i=0;i<20;i++)
  207. {
  208. if(udb_hash(Kategorija[i]) != udb_hash(ime))
  209. {
  210. if(udb_hash(Kategorija[i]) == udb_hash("Prazno"))
  211. {
  212. new str[128];
  213. format(str,sizeof(str),"scriptfiles/Lokacije/%s",ime);
  214. if(dir_create(str))
  215. {
  216. strmid(Kategorija[i],ime,0,strlen(ime),255);
  217. SendClientMessage(playerid,-1,"{FF9900}[Info] {FFFFFF}Uspjesno dodana kategorija!");
  218. }
  219. else
  220. {
  221. SendClientMessage(playerid,-1,"{FF9900}[Info] {FFFFFF}Neuspjesno dodana kategorija!");
  222. }
  223. SpremiKategorije();
  224. break;
  225. }
  226. }else return SendClientMessage(playerid, -1, "{ff0000}[ERROR] {FFFFFF}Kategorija sa tim imenom vec postoji!");
  227. }
  228. }
  229. if(dialogid == DIALOG_KLOKACIJU)
  230. {
  231. new ime[90],check=0;
  232. if(!response) return 1;
  233. if(sscanf(inputtext,"s[90]",ime)) return ShowPlayerDialog(playerid, DIALOG_KLOKACIJU, DIALOG_STYLE_INPUT, "Unesite ime kategorije", "Unesite ime kategorije pod koju zelite dodati ovu lokaciju!", "Uredu", "Odustani");
  234. for(new i=0;i<20;i++)
  235. {
  236. if(udb_hash(Kategorija[i]) == udb_hash(ime))
  237. {
  238. strmid(ImeKat[playerid],Kategorija[i],0,strlen(Kategorija[i]),255);
  239. ShowPlayerDialog(playerid, DIALOG_KORDLOKACIJE, DIALOG_STYLE_INPUT, "Unesite ime", "Unesite ime lokacije!", "Uredu", "Odustani");
  240. check=1;
  241. break;
  242. }
  243. }
  244. if(check==0) return ShowPlayerDialog(playerid, DIALOG_KLOKACIJU, DIALOG_STYLE_INPUT, "Nepostojeca kategorija", "Unesite ime kategorije pod koju zelite dodati ovu lokaciju!", "Uredu", "Odustani");
  245. }
  246. if(dialogid == DIALOG_KORDLOKACIJE)
  247. {
  248. new ime[90],j=-1;
  249. if(!response) return 1;
  250. if(sscanf(inputtext,"s[90]",ime)) return ShowPlayerDialog(playerid, DIALOG_KORDLOKACIJE, DIALOG_STYLE_INPUT, "Unesite ime", "Unesite ime kategorije!", "Uredu", "Odustani");
  251. for(new i=0;i<sizeof(TeleInfo);i++)
  252. {
  253. for(new e=0;e<20;e++)
  254. {
  255. if(udb_hash(TeleInfo[e][i][Ime]) == udb_hash(ime))
  256. {
  257. SendClientMessage(playerid,-1,"{ff0000}[Error] {FFFFFF}To ime vec postoji!");
  258. return 1;
  259. }
  260. if(udb_hash(Kategorija[e]) == udb_hash(ImeKat[playerid]))
  261. {
  262. j=e;
  263. }
  264. }
  265. if(!fexist(TelePath(i,j)))
  266. {
  267. new Float:Poz[4];
  268. GetPlayerPos(playerid,Poz[0],Poz[1],Poz[2]);
  269. GetPlayerFacingAngle(playerid,Poz[3]);
  270. strmid(TeleInfo[j][i][Ime],ime,0,strlen(ime),255);
  271. TeleInfo[j][i][teX]=Poz[0];
  272. TeleInfo[j][i][teY]=Poz[1];
  273. TeleInfo[j][i][teZ]=Poz[2];
  274. TeleInfo[j][i][teA]=Poz[3];
  275. SpremiLokacije(i,j);
  276. SendClientMessage(playerid,-1,"{FF9900}[Info] {FFFFFF}Uspjesno dodana lokacija!");
  277. break;
  278. }
  279. }
  280. }
  281. if(dialogid == DIALOG_OBRISIKAT)
  282. {
  283. new ime[90];
  284. if(!response) return 1;
  285. if(sscanf(inputtext,"s[90]",ime)) return ShowPlayerDialog(playerid, DIALOG_OBRISIKAT, DIALOG_STYLE_INPUT, "Ime", "Unesite ime kategorije koju zelite obrisati", "Uredu", "Odustani");
  286. for(new i=0;i<20;i++)
  287. {
  288. if(udb_hash(Kategorija[i]) == udb_hash(ime) && udb_hash(Kategorija[i]) != udb_hash("Prazno"))
  289. {
  290. new str[128];
  291. format(str,sizeof(str),"scriptfiles/Lokacije/%s",ime);
  292. for(new j=0;j<sizeof(TeleInfo);j++)
  293. {
  294. new str2[128];
  295. format(str2,sizeof(str2),"Lokacije/%s/%d.ini",Kategorija[i],j);
  296. if(fexist(str2))
  297. {
  298. TeleInfo[i][j][teX] = 0;
  299. TeleInfo[i][j][teY] = 0;
  300. TeleInfo[i][j][teZ] = 0;
  301. TeleInfo[i][j][teA] = 0;
  302. strmid(TeleInfo[i][j][Ime],"a",0,strlen("a"),255);
  303. fremove(str2);
  304. }
  305. }
  306. if(dir_delete(str))
  307. {
  308. strmid(Kategorija[i],"Prazno",0,strlen("Prazno"),255);
  309. SpremiKategorije2(i);
  310. SendClientMessage(playerid,-1,"{FF9900}[Info] {FFFFFF}Kategorija je obrisana!");
  311. for(new j=0;j<20;j++)
  312. {
  313. strmid(Kategorija[j],"Prazno",0,strlen("Prazno"),255);
  314. INI_ParseFile("Lokacije/Kategorije.ini", "UcitajKategorije", .bExtra = true, .extra = j);
  315. for(new eh = 0; eh < sizeof(TeleInfo); eh++)
  316. {
  317. new str3[128];
  318. format(str3,sizeof(str3),"Lokacije/%s/%d.ini",Kategorija[j],eh);
  319. if(fexist(str3))
  320. {
  321. TeleInfo[j][eh][teX] = 0;
  322. TeleInfo[j][eh][teY] = 0;
  323. TeleInfo[j][eh][teZ] = 0;
  324. TeleInfo[j][eh][teA] = 0;
  325. strmid(TeleInfo[j][eh][Ime],"a",0,strlen("a"),255);
  326. IDKate=j;
  327. INI_ParseFile(str3, "UcitajLokacije", .bExtra = true, .extra = eh);
  328. }
  329. }
  330. }
  331. }
  332. else
  333. {
  334. SendClientMessage(playerid,-1,"{ff0000}[ERROR] {FFFFFF}Folder ne postoji!");
  335. }
  336. break;
  337. }
  338. }
  339. }
  340. if(dialogid == DIALOG_OBRISILOK)
  341. {
  342. new ime[90],check=0;
  343. if(!response) return 1;
  344. if(sscanf(inputtext,"s[90]",ime)) return ShowPlayerDialog(playerid, DIALOG_OBRISILOK, DIALOG_STYLE_INPUT, "Unesite ime", "Unesite ime lokacije!", "Uredu", "Odustani");
  345. for(new i=0;i<sizeof(TeleInfo);i++)
  346. {
  347. for(new a=0;a<20;a++)
  348. {
  349. if(udb_hash(TeleInfo[a][i][Ime]) == udb_hash(ime))
  350. {
  351. TeleInfo[a][i][teX] = 0;
  352. TeleInfo[a][i][teY] = 0;
  353. TeleInfo[a][i][teZ] = 0;
  354. TeleInfo[a][i][teA] = 0;
  355. strmid(TeleInfo[a][i][Ime],"a",0,strlen("a"),255);
  356. fremove(TelePath(i,a));
  357. check=1;
  358. new id=i;
  359. for(new j=id+1;j<sizeof(TeleInfo);j++)
  360. {
  361. new str[128];
  362. format(str,sizeof(str),"Lokacije/%s/%d.ini",Kategorija[a],j);
  363. if(fexist(str))
  364. {
  365. fremove(str);
  366. SpremiLokacije2(j,a);
  367. }
  368. }
  369. for(new k=0;k<sizeof(TeleInfo);k++)
  370. {
  371. new str[128];
  372. format(str,sizeof(str),"Lokacije/%s/%d.ini",Kategorija[a],k);
  373. strmid(TeleInfo[a][k][Ime],"a",0,strlen("a"),255);
  374. IDKate=a;
  375. INI_ParseFile(str, "UcitajLokacije", .bExtra = true, .extra = k);
  376. }
  377. }
  378. }
  379. }
  380. if(check==0) return ShowPlayerDialog(playerid, DIALOG_OBRISILOK, DIALOG_STYLE_INPUT, "Krivo ime", "Unesite ime lokacije!", "Uredu", "Odustani");
  381. SendClientMessage(playerid,-1,"{FF9900}[Info] {FFFFFF}Uspjesno obrisana lokacija!");
  382. }
  383. if(dialogid == DIALOG_POMJERILOK)
  384. {
  385. new ime[90],check=0;
  386. if(!response) return 1;
  387. if(sscanf(inputtext,"s[90]",ime)) return ShowPlayerDialog(playerid, DIALOG_POMJERILOK, DIALOG_STYLE_INPUT, "Ime", "Unesite ime lokacije koju zelite premjestiti", "Uredu", "Odustani");
  388. for(new a=0;a<20;a++)
  389. {
  390. for(new i=0;i<sizeof(TeleInfo);i++)
  391. {
  392. if(udb_hash(TeleInfo[a][i][Ime]) == udb_hash(ime) && udb_hash(TeleInfo[a][i][Ime]) != udb_hash("a"))
  393. {
  394. IDKate=a;
  395. IDLok=i;
  396. ShowPlayerDialog(playerid, DIALOG_POMJERIKAT, DIALOG_STYLE_INPUT, "Ime", "Unesite ime kategorije u koju zelite premjestiti lokaciju", "Uredu", "Odustani");
  397. check=1;
  398. break;
  399. }
  400. }
  401. }
  402. if(check==0) return ShowPlayerDialog(playerid, DIALOG_POMJERILOK, DIALOG_STYLE_INPUT, "Krivo ime", "Unesite ime lokacije koju zelite premjestiti", "Uredu", "Odustani");
  403. }
  404.  
  405. if(dialogid == DIALOG_POMJERIKAT)
  406. {
  407. new ime[90],check=0;
  408. if(!response) return 1;
  409. if(sscanf(inputtext,"s[90]",ime)) return ShowPlayerDialog(playerid, DIALOG_POMJERIKAT, DIALOG_STYLE_INPUT, "Ime", "Unesite ime kategorije u koju zelite premjestiti lokaciju", "Uredu", "Odustani");
  410. for(new e=0;e<20;e++)
  411. {
  412. if(udb_hash(Kategorija[e]) == udb_hash(ime))
  413. {
  414. for(new j=0;j<sizeof(TeleInfo);j++)
  415. {
  416. new str[128];
  417. format(str,sizeof(str),"Lokacije/%s/%d.ini",Kategorija[e],j);
  418. if(!fexist(str))
  419. {
  420. strmid(TeleInfo[e][j][Ime],TeleInfo[IDKate][IDLok][Ime],0,strlen(TeleInfo[IDKate][IDLok][Ime]),255);
  421. TeleInfo[e][j][teX]=TeleInfo[IDKate][IDLok][teX];
  422. TeleInfo[e][j][teY]=TeleInfo[IDKate][IDLok][teY];
  423. TeleInfo[e][j][teZ]=TeleInfo[IDKate][IDLok][teZ];
  424. TeleInfo[e][j][teA]=TeleInfo[IDKate][IDLok][teA];
  425. SpremiLokacije(j,e);
  426. check=1;
  427. break;
  428. }
  429. }
  430. }
  431. }
  432. TeleInfo[IDKate][IDLok][teX] = 0;
  433. TeleInfo[IDKate][IDLok][teY] = 0;
  434. TeleInfo[IDKate][IDLok][teZ] = 0;
  435. TeleInfo[IDKate][IDLok][teA] = 0;
  436. strmid(TeleInfo[IDKate][IDLok][Ime],"a",0,strlen("a"),255);
  437. fremove(TelePath(IDLok,IDKate));
  438. new id=IDLok;
  439. for(new j=id+1;j<sizeof(TeleInfo);j++)
  440. {
  441. new str[128];
  442. format(str,sizeof(str),"Lokacije/%s/%d.ini",Kategorija[IDKate],j);
  443. if(fexist(str))
  444. {
  445. fremove(str);
  446. SpremiLokacije2(j,IDKate);
  447. }
  448. }
  449. for(new k=0;k<sizeof(TeleInfo);k++)
  450. {
  451. new str[128];
  452. format(str,sizeof(str),"Lokacije/%s/%d.ini",Kategorija[IDKate],k);
  453. strmid(TeleInfo[IDKate][k][Ime],"a",0,strlen("a"),255);
  454. INI_ParseFile(str, "UcitajLokacije", .bExtra = true, .extra = k);
  455. }
  456. if(check==0) return ShowPlayerDialog(playerid, DIALOG_POMJERIKAT, DIALOG_STYLE_INPUT, "Krivo ime", "Unesite ime kategorije u koju zelite premjestiti lokaciju", "Uredu", "Odustani");
  457. SendClientMessage(playerid,-1,"{FF9900}[Info] {FFFFFF}Uspjesno premjestena lokacija!");
  458. }
  459. if(dialogid == DIALOG_TEDIT)
  460. {
  461. if(response)
  462. {
  463. if(listitem == 0)
  464. {
  465. ShowPlayerDialog(playerid, DIALOG_KATEGORIJA, DIALOG_STYLE_INPUT, "Ime", "Unesite ime kategorije", "Uredu", "Odustani");
  466. }
  467. if(listitem == 1)
  468. {
  469. SendClientMessage(playerid,-1,"{FF9900}[Info] {FFFFFF}Lokacija ce se spremiti na trenutnim koordinatama!");
  470. ShowPlayerDialog(playerid, DIALOG_KLOKACIJU, DIALOG_STYLE_INPUT, "Ime kategorije", "Unesite ime kategorije u koju zelite spremiti lokaciju!", "Uredu", "Odustani");
  471. }
  472. if(listitem == 2)
  473. {
  474. ShowPlayerDialog(playerid, DIALOG_OBRISIKAT, DIALOG_STYLE_INPUT, "Ime", "Unesite ime kategorije koju zelite obrisati", "Uredu", "Odustani");
  475. }
  476. if(listitem == 3)
  477. {
  478. ShowPlayerDialog(playerid, DIALOG_OBRISILOK, DIALOG_STYLE_INPUT, "Ime", "Unesite ime lokacije", "Uredu", "Odustani");
  479. }
  480. if(listitem == 4)
  481. {
  482. ShowPlayerDialog(playerid, DIALOG_POMJERILOK, DIALOG_STYLE_INPUT, "Ime", "Unesite ime lokacije koju zelite premjestiti", "Uredu", "Odustani");
  483. }
  484. }
  485. }
  486. if(dialogid == DIALOG_TELE)
  487. {
  488. if(response)
  489. {
  490. new id=listitem;
  491. if(IsPlayerInAnyVehicle(playerid))
  492. {
  493. SetVehiclePos(GetPlayerVehicleID(playerid), TeleInfo[Kate][id][teX],TeleInfo[Kate][id][teY],TeleInfo[Kate][id][teZ]);
  494. SetVehicleZAngle(GetPlayerVehicleID(playerid),TeleInfo[Kate][id][teA]);
  495. PutPlayerInVehicle(playerid, GetPlayerVehicleID(playerid), 0);
  496. }
  497. else
  498. {
  499. SetPlayerPos(playerid,TeleInfo[Kate][id][teX],TeleInfo[Kate][id][teY],TeleInfo[Kate][id][teZ]);
  500. SetPlayerFacingAngle(playerid, TeleInfo[Kate][id][teA]);
  501. }
  502. Port(playerid);
  503. new str[128];
  504. format(str,sizeof(str),"{FF9900}Portali ste se do {FFFFFF}%s!",TeleInfo[Kate][id][Ime]);
  505. SendClientMessage(playerid,-1,str);
  506. }
  507. }
  508. if(dialogid == DIALOG_KTELE)
  509. {
  510. if(response)
  511. {
  512. Kate=listitem;
  513. new info[2100];
  514. for(new i=0;i<MAX_TELE;i++)
  515. {
  516. if(TeleInfo[Kate][i][teX] != 0 && TeleInfo[Kate][i][teY] != 0)
  517. {
  518. new str[128];
  519. format(str,sizeof(str),"%s\n",TeleInfo[Kate][i][Ime]);
  520. strcat(info, str, sizeof(info));
  521. }
  522. }
  523. ShowPlayerDialog(playerid, DIALOG_TELE, DIALOG_STYLE_LIST, "Teleport", info, "Uredu", "Odustani");
  524. }
  525. }
  526. return 1;
  527. }
  528.  
  529. CMD:ureditele(playerid,params[])
  530. {
  531. if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,"[#Sikora] Samo rcon admin!");
  532. if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,"[#Sikora] Ne smijete biti u vozilu!");
  533. ShowPlayerDialog(playerid, DIALOG_TEDIT, DIALOG_STYLE_LIST, "Uredi", "Dodaj kategoriju\nDodaj lokaciju\nObrisi kategoriju\nObrisi lokaciju\nPremjesti lokaciju", "Uredu", "Odustani");
  534. return 1;
  535. }
  536.  
  537. CMD:tele(playerid, params[])
  538. {
  539. if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid,-1,"Niste spojeni na server!");
  540. new info[1024];
  541. for(new i=0;i<20;i++)
  542. {
  543. if(udb_hash(Kategorija[i]) != udb_hash("Prazno"))
  544. {
  545. new str[128];
  546. format(str,sizeof(str),"%s\n",Kategorija[i]);
  547. strcat(info, str, sizeof(info));
  548. }
  549. }
  550. ShowPlayerDialog(playerid, DIALOG_KTELE, DIALOG_STYLE_LIST, "Teleport", info, "Dalje", "Odustani");
  551. return 1;
  552. }
Advertisement
Add Comment
Please, Sign In to add comment