Guest User

Untitled

a guest
Jul 23rd, 2018
273
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 21.41 KB | None | 0 0
  1. /*
  2. Dinamik Giriş & Çıkış sistemi. Kodlayan: Zoxy
  3.  
  4. */
  5. #include <a_samp>
  6. #include <a_mysql>
  7. #include <zcmd>
  8. #include <sscanf2>
  9. #include <streamer>
  10. // ----------------------- MYSQL BILGILERI ---------------------------
  11. #define SQL_HOST "localhost" // Mysql host adresinizi buraya yazin.
  12. #define SQL_USER "root" // Mysql kullanici adinizi buraya yazin.
  13. #define SQL_PASS "" // Mysql şifrenizi yazın.
  14. #define SQL_DB "" // Kullandığınız veritabanın ismini girin.
  15.  
  16. new MySQL:mysqlbaglanti;
  17. // ----------------------------------------------------------------------
  18. // ----------------------- DEĞİŞKENLER --------------------------------
  19. #define MAX_GIRISCIKIS 500 // Maksimum oluşturulabilecek giriş çıkış sayısıdır.
  20. #define DEFAULT_PICKUPID 1318 // Varsayılan Pickup ID.
  21. enum GirisCikislar
  22. {
  23. gcID,
  24. gcExists,
  25. gcIsim[30],
  26. gcKilit,
  27. Float:gcGirisPos[3],
  28. Float:gcCikisPos[3],
  29. gcGirisInt,
  30. gcGirisVw,
  31. gcCikisInt,
  32. gcCikisVw,
  33. gcPickupID,
  34. gcPickup[2],
  35. Text3D:gcText
  36. }
  37. new gcInfo[MAX_GIRISCIKIS][GirisCikislar];
  38. // ---------------------------------------------------------------------
  39. public OnFilterScriptInit()
  40. {
  41. print("\n--------------------------------------");
  42. print(" Giriş Çıkış Sistemi yüklenmiştir. Kodlayan: Zoxy");
  43. print("--------------------------------------\n");
  44. mysqlbaglanti = mysql_connect(SQL_HOST, SQL_USER, SQL_PASS, SQL_DB);
  45. if(mysql_errno(mysqlbaglanti) == 0)
  46. {
  47. print("MySQL bağlantısı başarılı!");
  48. mysql_query(mysqlbaglanti,"CREATE TABLE IF NOT EXISTS `giriscikislar` (`id` int(11) NOT NULL AUTO_INCREMENT, `Isim` varchar(30), `Kilit` int(1) NOT NULL, `GirisPosX` float NOT NULL, `GirisPosY` float NOT NULL\
  49. ,`GirisPosZ` float NOT NULL, `CikisPosX` float NOT NULL, `CikisPosY` float NOT NULL, `CikisPosZ` float NOT NULL, `GirisInt` int(5) NOT NULL, `GirisVw` int(10) NOT NULL, `CikisInt` int(5) NOT NULL, `CikisVw` int(5) NOT NULL, `PickupID` int(6) NOT NULL, PRIMARY KEY(`id`))");
  50.  
  51. GirisCikislariYukle();
  52. }
  53. else
  54. {
  55. print("MySQL bağlantısı başarısız!");
  56. }
  57. return 1;
  58. }
  59.  
  60. public OnPlayerDisconnect(playerid, reason)
  61. {
  62. DeletePVar(playerid,"gcekliyor");
  63. DeletePVar(playerid,"gcname");
  64. DeletePVar(playerid,"gcx");
  65. DeletePVar(playerid,"gcy");
  66. DeletePVar(playerid,"gcz");
  67. DeletePVar(playerid,"gcinterior");
  68. DeletePVar(playerid,"gcvw");
  69. return 1;
  70. }
  71. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  72. {
  73. if(newkeys & KEY_SECONDARY_ATTACK)
  74. {
  75. for(new i; i<MAX_GIRISCIKIS; i++) if(gcInfo[i][gcExists])
  76. {
  77. if(IsPlayerInRangeOfPoint(playerid,2.5,gcInfo[i][gcGirisPos][0],gcInfo[i][gcGirisPos][1],gcInfo[i][gcGirisPos][2]))
  78. {
  79. if(IsPlayerInAnyVehicle(playerid)) return 1;
  80. if(gcInfo[i][gcKilit] == 1) return SendClientMessage(playerid,-1,"{FF0000}[!] {FFFFFF}Kilitli olduğu için giriş yapamazsınız.");
  81. SetPlayerInterior(playerid,gcInfo[i][gcCikisInt]);
  82. SetPlayerPos(playerid,gcInfo[i][gcCikisPos][0],gcInfo[i][gcCikisPos][1],gcInfo[i][gcCikisPos][2]);
  83. SetPlayerVirtualWorld(playerid,gcInfo[i][gcID]+1);
  84. }
  85. else if(IsPlayerInRangeOfPoint(playerid,2.0,gcInfo[i][gcCikisPos][0],gcInfo[i][gcCikisPos][1],gcInfo[i][gcCikisPos][2]))
  86. {
  87. if(gcInfo[i][gcKilit] == 1) return SendClientMessage(playerid,-1,"{FF0000}[!] {FFFFFF}Kilitli olduğu için çıkış yapamazsınız.");
  88. SetPlayerInterior(playerid,gcInfo[i][gcGirisInt]);
  89. SetPlayerPos(playerid,gcInfo[i][gcGirisPos][0],gcInfo[i][gcGirisPos][1],gcInfo[i][gcGirisPos][2]);
  90. SetPlayerVirtualWorld(playerid,gcInfo[i][gcGirisVw]);
  91. }
  92. }
  93. }
  94. return 1;
  95. }
  96. // -------------------------------- KOMUTLAR ------------------------------------
  97. CMD:gcekle(playerid,params[])
  98. {
  99. new ad[30];
  100. if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,"{FF0000}[!] {FFFFFF}RCON Admin değilsiniz.");
  101. if(sscanf(params,"s[30]",ad)) return SendClientMessage(playerid,1,"{00FF33}[KULLANIM] {FFFFFF}/gcekle [Isim]");
  102. if(strlen(ad) > 30) return SendClientMessage(playerid,-1,"{FF0000}[!] {FFFFFF}İsim en fazla 30 karakterden oluşabilir.");
  103.  
  104. new Float:pos[3];
  105. GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
  106. SetPVarInt(playerid,"gcekliyor",1);
  107. SetPVarString(playerid,"gcname",ad);
  108. SetPVarFloat(playerid,"gcx",pos[0]);
  109. SetPVarFloat(playerid,"gcy",pos[1]);
  110. SetPVarFloat(playerid,"gcz",pos[2]);
  111. SetPVarInt(playerid,"gcinterior",GetPlayerInterior(playerid));
  112. SetPVarInt(playerid,"gcvw",GetPlayerVirtualWorld(playerid));
  113. SendClientMessage(playerid,0xFFFFFFFF,"Giriş çıkışın giriş kısmı ayarlandı. Şimdi interior'a giderek /gceklebitir komutunu kullanın.");
  114. return 1;
  115. }
  116. CMD:gceklebitir(playerid)
  117. {
  118. if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,"{FF0000}[!] {FFFFFF}RCON Admin değilsiniz.");
  119. if(GetPVarInt(playerid,"gcekliyor") == 0) return SendClientMessage(playerid,-1,"{FF0000}[!] {FFFFFF}Giriş çıkış eklemiyorsun.");
  120.  
  121. new gcad[30];
  122. GetPVarString(playerid,"gcname",gcad,sizeof(gcad));
  123. new Float:pos[3];
  124. GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
  125. new id = GirisCikisEkle(gcad,GetPVarFloat(playerid,"gcx"),GetPVarFloat(playerid,"gcy"),GetPVarFloat(playerid,"gcz"),pos[0],pos[1],pos[2],GetPVarInt(playerid,"gcinterior"),GetPVarInt(playerid,"gcvw"),GetPlayerInterior(playerid),GetPlayerVirtualWorld(playerid));
  126. if(id == -1) return SendClientMessage(playerid,-1,"{FF0000}[HATA] {FFFFFF}Sunucu maksimum limite ulaştı.");
  127.  
  128. SetPlayerInterior(playerid,GetPVarInt(playerid,"gcinterior"));
  129. SetPlayerPos(playerid,GetPVarFloat(playerid,"gcx"),GetPVarFloat(playerid,"gcy"),GetPVarFloat(playerid,"gcz"));
  130. SetPlayerVirtualWorld(playerid,GetPVarInt(playerid,"gcvw"));
  131. DeletePVar(playerid,"gcekliyor");
  132. DeletePVar(playerid,"gcname");
  133. DeletePVar(playerid,"gcx");
  134. DeletePVar(playerid,"gcy");
  135. DeletePVar(playerid,"gcz");
  136. DeletePVar(playerid,"gcinterior");
  137. DeletePVar(playerid,"gcvw");
  138. SendClientMessage(playerid,0xFFFFFFFF,"{00FF33}[+] {FFFFFF}Giriş çıkış başarıyla eklenmiştir.");
  139. return 1;
  140. }
  141. CMD:gcsil(playerid,params[])
  142. {
  143. if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,"{FF0000}[!] {FFFFFF}RCON Admin değilsiniz.");
  144. new id = 0;
  145. if(sscanf(params,"i",id)) return SendClientMessage(playerid,1,"{00FF33}[KULLANIM] {FFFFFF}/gcsil [ID]");
  146. if ((id < 0 || id >= MAX_GIRISCIKIS) || !gcInfo[id][gcExists]) return SendClientMessage(playerid,-1,"{FF0000}[!] {FFFFFF}Hatalı ID girdiniz.");
  147.  
  148. gc_Sil(id);
  149. SendClientMessage(playerid,0xFFFFFFFF,"{00FF33}[+] {FFFFFF}Başarıyla silindi.");
  150. return 1;
  151. }
  152. CMD:gcduzenle(playerid,params[])
  153. {
  154. if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,"{FF0000}[!] {FFFFFF}RCON Admin değilsiniz.");
  155. new
  156. id,
  157. type[24],
  158. string[128];
  159.  
  160. if (sscanf(params, "ds[24]S()[128]", id, type, string))
  161. {
  162. SendClientMessage(playerid,1,"{00FF33}[KULLANIM] {FFFFFF}/gcduzenle [ID] [İşlem]");
  163. SendClientMessage(playerid,-1,"{FF9900}[İŞLEM]: {FFFFFF}kilit, GirisYeri, Interior, isim, pickupid");
  164. return 1;
  165. }
  166. if ((id < 0 || id >= MAX_GIRISCIKIS) || !gcInfo[id][gcExists]) return SendClientMessage(playerid,-1,"{FF0000}[!] {FFFFFF}Hatalı ID girdiniz.");
  167.  
  168. if(!strcmp(type, "kilit", true))
  169. {
  170. if(gcInfo[id][gcKilit] == 1)
  171. {
  172. gcInfo[id][gcKilit] = 0;
  173. if (IsValidDynamic3DTextLabel(gcInfo[id][gcText]))
  174. {
  175. DestroyDynamic3DTextLabel(gcInfo[id][gcText]);
  176. }
  177. if(IsValidDynamicPickup(gcInfo[id][gcPickup][0]))
  178. {
  179. DestroyDynamicPickup(gcInfo[id][gcPickup][0]);
  180. }
  181. if(IsValidDynamicPickup(gcInfo[id][gcPickup][1]))
  182. {
  183. DestroyDynamicPickup(gcInfo[id][gcPickup][1]);
  184. }
  185.  
  186. new str[124];
  187.  
  188. format(str,sizeof(str),"{FF0000}%s\n\n{D0AEEB}ID: {FFFFFF}%d\n{D0AEEB}Durum: %s",gcInfo[id][gcIsim],id,(gcInfo[id][gcKilit] == 1) ? ("{FF0000}Kilitli") : ("{00FF3C}Açık"));
  189. gcInfo[id][gcText] = CreateDynamic3DTextLabel(str,-1,gcInfo[id][gcGirisPos][0],gcInfo[id][gcGirisPos][1],gcInfo[id][gcGirisPos][2],15.0,INVALID_PLAYER_ID, INVALID_VEHICLE_ID,0,-1,-1,-1,STREAMER_3D_TEXT_LABEL_SD,-1,0);
  190. gcInfo[id][gcPickup][0] = CreateDynamicPickup(gcInfo[id][gcPickupID],23,gcInfo[id][gcGirisPos][0],gcInfo[id][gcGirisPos][1],gcInfo[id][gcGirisPos][2],gcInfo[id][gcGirisVw],gcInfo[id][gcGirisInt]);
  191. gcInfo[id][gcPickup][1] = CreateDynamicPickup(gcInfo[id][gcPickupID],23,gcInfo[id][gcCikisPos][0],gcInfo[id][gcCikisPos][1],gcInfo[id][gcCikisPos][2],gcInfo[id][gcCikisVw],gcInfo[id][gcCikisInt]);
  192.  
  193. GirisCikisKaydet(id);
  194. SendClientMessage(playerid,0xFFFFFFFF,"{00FF33}[+] {FFFFFF}Giriş çıkışın kilidi açıldı.");
  195. }
  196. else
  197. {
  198. gcInfo[id][gcKilit] = 1;
  199. DestroyDynamic3DTextLabel(gcInfo[id][gcText]);
  200. DestroyDynamicPickup(gcInfo[id][gcPickup][0]);
  201. DestroyDynamicPickup(gcInfo[id][gcPickup][1]);
  202. new str[124];
  203.  
  204. format(str,sizeof(str),"{FF0000}%s\n\n{D0AEEB}ID: {FFFFFF}%d\n{D0AEEB}Durum: %s",gcInfo[id][gcIsim],id,(gcInfo[id][gcKilit] == 1) ? ("{FF0000}Kilitli") : ("{00FF3C}Açık"));
  205. gcInfo[id][gcText] = CreateDynamic3DTextLabel(str,-1,gcInfo[id][gcGirisPos][0],gcInfo[id][gcGirisPos][1],gcInfo[id][gcGirisPos][2],15.0,INVALID_PLAYER_ID, INVALID_VEHICLE_ID,0,-1,-1,-1,STREAMER_3D_TEXT_LABEL_SD,-1,0);
  206. gcInfo[id][gcPickup][0] = CreateDynamicPickup(gcInfo[id][gcPickupID],23,gcInfo[id][gcGirisPos][0],gcInfo[id][gcGirisPos][1],gcInfo[id][gcGirisPos][2],gcInfo[id][gcGirisVw],gcInfo[id][gcGirisInt]);
  207. gcInfo[id][gcPickup][1] = CreateDynamicPickup(gcInfo[id][gcPickupID],23,gcInfo[id][gcCikisPos][0],gcInfo[id][gcCikisPos][1],gcInfo[id][gcCikisPos][2],gcInfo[id][gcCikisVw],gcInfo[id][gcCikisInt]);
  208.  
  209. GirisCikisKaydet(id);
  210. SendClientMessage(playerid,0xFFFFFFFF,"{00FF33}[+] {FFFFFF}Giriş çıkış kilitlendi.");
  211. }
  212. }
  213. else if(!strcmp(type,"GirisYeri",true))
  214. {
  215. GetPlayerPos(playerid,gcInfo[id][gcGirisPos][0],gcInfo[id][gcGirisPos][1],gcInfo[id][gcGirisPos][2]);
  216. gcInfo[id][gcGirisInt] = GetPlayerInterior(playerid);
  217. gcInfo[id][gcGirisVw] = GetPlayerVirtualWorld(playerid);
  218. DestroyDynamic3DTextLabel(gcInfo[id][gcText]);
  219. DestroyDynamicPickup(gcInfo[id][gcPickup][0]);
  220. DestroyDynamicPickup(gcInfo[id][gcPickup][1]);
  221. new str[124];
  222.  
  223. format(str,sizeof(str),"{FF0000}%s\n\n{D0AEEB}ID: {FFFFFF}%d\n{D0AEEB}Durum: %s",gcInfo[id][gcIsim],id,(gcInfo[id][gcKilit] == 1) ? ("{FF0000}Kilitli") : ("{00FF3C}Açık"));
  224. gcInfo[id][gcText] = CreateDynamic3DTextLabel(str,-1,gcInfo[id][gcGirisPos][0],gcInfo[id][gcGirisPos][1],gcInfo[id][gcGirisPos][2],15.0,INVALID_PLAYER_ID, INVALID_VEHICLE_ID,0,-1,-1,-1,STREAMER_3D_TEXT_LABEL_SD,-1,0);
  225. gcInfo[id][gcPickup][0] = CreateDynamicPickup(gcInfo[id][gcPickupID],23,gcInfo[id][gcGirisPos][0],gcInfo[id][gcGirisPos][1],gcInfo[id][gcGirisPos][2],gcInfo[id][gcGirisVw],gcInfo[id][gcGirisInt]);
  226. gcInfo[id][gcPickup][1] = CreateDynamicPickup(gcInfo[id][gcPickupID],23,gcInfo[id][gcCikisPos][0],gcInfo[id][gcCikisPos][1],gcInfo[id][gcCikisPos][2],gcInfo[id][gcCikisVw],gcInfo[id][gcCikisInt]);
  227.  
  228. GirisCikisKaydet(id);
  229.  
  230. }
  231. else if(!strcmp(type,"Interior",true))
  232. {
  233. GetPlayerPos(playerid,gcInfo[id][gcCikisPos][0],gcInfo[id][gcCikisPos][1],gcInfo[id][gcCikisPos][2]);
  234. gcInfo[id][gcCikisInt] = GetPlayerInterior(playerid);
  235. gcInfo[id][gcCikisVw] = GetPlayerVirtualWorld(playerid);
  236. DestroyDynamic3DTextLabel(gcInfo[id][gcText]);
  237. DestroyDynamicPickup(gcInfo[id][gcPickup][0]);
  238. DestroyDynamicPickup(gcInfo[id][gcPickup][1]);
  239. new str[124];
  240.  
  241. format(str,sizeof(str),"{FF0000}%s\n\n{D0AEEB}ID: {FFFFFF}%d\n{D0AEEB}Durum: %s",gcInfo[id][gcIsim],id,(gcInfo[id][gcKilit] == 1) ? ("{FF0000}Kilitli") : ("{00FF3C}Açık"));
  242. gcInfo[id][gcText] = CreateDynamic3DTextLabel(str,-1,gcInfo[id][gcGirisPos][0],gcInfo[id][gcGirisPos][1],gcInfo[id][gcGirisPos][2],15.0,INVALID_PLAYER_ID, INVALID_VEHICLE_ID,0,-1,-1,-1,STREAMER_3D_TEXT_LABEL_SD,-1,0);
  243. gcInfo[id][gcPickup][0] = CreateDynamicPickup(gcInfo[id][gcPickupID],23,gcInfo[id][gcGirisPos][0],gcInfo[id][gcGirisPos][1],gcInfo[id][gcGirisPos][2],gcInfo[id][gcGirisVw],gcInfo[id][gcGirisInt]);
  244. gcInfo[id][gcPickup][1] = CreateDynamicPickup(gcInfo[id][gcPickupID],23,gcInfo[id][gcCikisPos][0],gcInfo[id][gcCikisPos][1],gcInfo[id][gcCikisPos][2],gcInfo[id][gcCikisVw],gcInfo[id][gcCikisInt]);
  245.  
  246. GirisCikisKaydet(id);
  247. }
  248. else if(!strcmp(type,"isim",true))
  249. {
  250. new name[30];
  251.  
  252. if (sscanf(string, "s[30]", name))
  253. return SendClientMessage(playerid,1,"{00FF33}[KULLANIM] {FFFFFF}/gcduzenle [ID] [isim] [yeni isim]");
  254.  
  255. format(gcInfo[id][gcIsim],30,name);
  256. DestroyDynamic3DTextLabel(gcInfo[id][gcText]);
  257. DestroyDynamicPickup(gcInfo[id][gcPickup][0]);
  258. DestroyDynamicPickup(gcInfo[id][gcPickup][1]);
  259. new str[124];
  260.  
  261. format(str,sizeof(str),"{FF0000}%s\n\n{D0AEEB}ID: {FFFFFF}%d\n{D0AEEB}Durum: %s",gcInfo[id][gcIsim],id,(gcInfo[id][gcKilit] == 1) ? ("{FF0000}Kilitli") : ("{00FF3C}Açık"));
  262. gcInfo[id][gcText] = CreateDynamic3DTextLabel(str,-1,gcInfo[id][gcGirisPos][0],gcInfo[id][gcGirisPos][1],gcInfo[id][gcGirisPos][2],15.0,INVALID_PLAYER_ID, INVALID_VEHICLE_ID,0,-1,-1,-1,STREAMER_3D_TEXT_LABEL_SD,-1,0);
  263. gcInfo[id][gcPickup][0] = CreateDynamicPickup(gcInfo[id][gcPickupID],23,gcInfo[id][gcGirisPos][0],gcInfo[id][gcGirisPos][1],gcInfo[id][gcGirisPos][2],gcInfo[id][gcGirisVw],gcInfo[id][gcGirisInt]);
  264. gcInfo[id][gcPickup][1] = CreateDynamicPickup(gcInfo[id][gcPickupID],23,gcInfo[id][gcCikisPos][0],gcInfo[id][gcCikisPos][1],gcInfo[id][gcCikisPos][2],gcInfo[id][gcCikisVw],gcInfo[id][gcCikisInt]);
  265.  
  266. GirisCikisKaydet(id);
  267. }
  268. else if(!strcmp(type,"pickupid",true))
  269. {
  270. new pickupid;
  271. if (sscanf(string, "i", pickupid))
  272. return SendClientMessage(playerid,1,"{00FF33}[KULLANIM] {FFFFFF}/gcduzenle [ID] [pickupid] [Pickup ID]");
  273.  
  274. gcInfo[id][gcPickupID] = pickupid;
  275. DestroyDynamic3DTextLabel(gcInfo[id][gcText]);
  276. DestroyDynamicPickup(gcInfo[id][gcPickup][0]);
  277. DestroyDynamicPickup(gcInfo[id][gcPickup][1]);
  278. new str[124];
  279.  
  280. format(str,sizeof(str),"{FF0000}%s\n\n{D0AEEB}ID: {FFFFFF}%d\n{D0AEEB}Durum: %s",gcInfo[id][gcIsim],id,(gcInfo[id][gcKilit] == 1) ? ("{FF0000}Kilitli") : ("{00FF3C}Açık"));
  281. gcInfo[id][gcText] = CreateDynamic3DTextLabel(str,-1,gcInfo[id][gcGirisPos][0],gcInfo[id][gcGirisPos][1],gcInfo[id][gcGirisPos][2],15.0,INVALID_PLAYER_ID, INVALID_VEHICLE_ID,0,-1,-1,-1,STREAMER_3D_TEXT_LABEL_SD,-1,0);
  282. gcInfo[id][gcPickup][0] = CreateDynamicPickup(gcInfo[id][gcPickupID],23,gcInfo[id][gcGirisPos][0],gcInfo[id][gcGirisPos][1],gcInfo[id][gcGirisPos][2],gcInfo[id][gcGirisVw],gcInfo[id][gcGirisInt]);
  283. gcInfo[id][gcPickup][1] = CreateDynamicPickup(gcInfo[id][gcPickupID],23,gcInfo[id][gcCikisPos][0],gcInfo[id][gcCikisPos][1],gcInfo[id][gcCikisPos][2],gcInfo[id][gcCikisVw],gcInfo[id][gcCikisInt]);
  284.  
  285. GirisCikisKaydet(id);
  286. }
  287. return 1;
  288. }
  289. // -------------------------------------------------------------------------------
  290. // ----------------------- FONKSIYONLAR ----------------------------------
  291. stock gc_Sil(gcid)
  292. {
  293. if(gcid != 1 && gcInfo[gcid][gcExists])
  294. {
  295. new
  296. string[64];
  297.  
  298. format(string, sizeof(string), "DELETE FROM `giriscikislar` WHERE `id` = '%d'", gcInfo[gcid][gcID]);
  299. mysql_query(mysqlbaglanti, string);
  300.  
  301. if (IsValidDynamic3DTextLabel(gcInfo[gcid][gcText]))
  302. {
  303. DestroyDynamic3DTextLabel(gcInfo[gcid][gcText]);
  304. }
  305. if(IsValidDynamicPickup(gcInfo[gcid][gcPickup][0]))
  306. {
  307. DestroyDynamicPickup(gcInfo[gcid][gcPickup][0]);
  308. }
  309. if(IsValidDynamicPickup(gcInfo[gcid][gcPickup][1]))
  310. {
  311. DestroyDynamicPickup(gcInfo[gcid][gcPickup][1]);
  312. }
  313.  
  314. gcInfo[gcid][gcExists] = false;
  315. gcInfo[gcid][gcID] = 0;
  316. }
  317. return 1;
  318. }
  319. stock GirisCikisEkle(ad[30],Float:gcx,Float:gcy,Float:gcz,Float:cikisx,Float:cikisy,Float:cikisz,girisinterior,girisvw,cikisint,cikisworld)
  320. {
  321. for (new i = 0; i != MAX_GIRISCIKIS; i ++)
  322. {
  323. if(!gcInfo[i][gcExists])
  324. {
  325. gcInfo[i][gcExists] = true;
  326. format(gcInfo[i][gcIsim],30,ad);
  327. gcInfo[i][gcKilit] = 0;
  328. gcInfo[i][gcGirisPos][0] = gcx;
  329. gcInfo[i][gcGirisPos][1] = gcy;
  330. gcInfo[i][gcGirisPos][2] = gcz;
  331. gcInfo[i][gcCikisPos][0] = cikisx;
  332. gcInfo[i][gcCikisPos][1] = cikisy;
  333. gcInfo[i][gcCikisPos][2] = cikisz;
  334. gcInfo[i][gcGirisInt] = girisinterior;
  335. gcInfo[i][gcGirisVw] = girisvw;
  336. gcInfo[i][gcCikisInt] = cikisint;
  337. gcInfo[i][gcCikisVw] = cikisworld;
  338. gcInfo[i][gcPickupID] = DEFAULT_PICKUPID;
  339. new str[650];
  340.  
  341. format(str,sizeof(str),"{FF0000}%s\n\n{D0AEEB}ID: {FFFFFF}%d\n{D0AEEB}Durum: %s",gcInfo[i][gcIsim],i,(gcInfo[i][gcKilit] == 1) ? ("{FF0000}Kilitli") : ("{00FF3C}Açık"));
  342. gcInfo[i][gcText] = CreateDynamic3DTextLabel(str,-1,gcInfo[i][gcGirisPos][0],gcInfo[i][gcGirisPos][1],gcInfo[i][gcGirisPos][2],15.0,INVALID_PLAYER_ID, INVALID_VEHICLE_ID,0,-1,-1,-1,STREAMER_3D_TEXT_LABEL_SD,-1,0);
  343. gcInfo[i][gcPickup][0] = CreateDynamicPickup(gcInfo[i][gcPickupID],23,gcInfo[i][gcGirisPos][0],gcInfo[i][gcGirisPos][1],gcInfo[i][gcGirisPos][2],gcInfo[i][gcGirisVw],gcInfo[i][gcGirisInt]);
  344. gcInfo[i][gcPickup][1] = CreateDynamicPickup(gcInfo[i][gcPickupID],23,gcInfo[i][gcCikisPos][0],gcInfo[i][gcCikisPos][1],gcInfo[i][gcCikisPos][2],gcInfo[i][gcCikisVw],gcInfo[i][gcCikisInt]);
  345.  
  346. format(str,sizeof(str),"INSERT INTO `giriscikislar` (`Isim`,`GirisPosX`,`GirisPosY`,`GirisPosZ`,`CikisPosX`,`CikisPosY`,`CikisPosZ`,`GirisInt`,`GirisVw`,`CikisInt`,`CikisVw`,`PickupID`) \
  347. VALUES ('%s','%f','%f','%f','%f','%f','%f','%d','%d','%d','%d','%d')",ad,gcx,gcy,gcz,cikisx,cikisy,cikisz,girisinterior,girisvw,cikisint,cikisworld,gcInfo[i][gcPickupID]);
  348. mysql_query(mysqlbaglanti,str);
  349.  
  350. gcInfo[i][gcID] = cache_insert_id();
  351. return i;
  352. }
  353. }
  354. return -1;
  355. }
  356. forward GirisCikislariYukle();
  357. public GirisCikislariYukle()
  358. {
  359. mysql_query(mysqlbaglanti,"SELECT * FROM `giriscikislar`");
  360. new rows;
  361. cache_get_row_count(rows);
  362. printf("Toplam %d giriş çıkış yüklenmiştir.",rows);
  363. for(new i = 0; i < rows; i ++) if (i < MAX_GIRISCIKIS)
  364. {
  365. gcInfo[i][gcExists] = true;
  366. cache_get_value_name_int(i,"id",gcInfo[i][gcID]);
  367. cache_get_value_name(i,"Isim",gcInfo[i][gcIsim],30);
  368. cache_get_value_name_int(i,"Kilit",gcInfo[i][gcKilit]);
  369. cache_get_value_name_float(i,"GirisPosX",gcInfo[i][gcGirisPos][0]);
  370. cache_get_value_name_float(i,"GirisPosY",gcInfo[i][gcGirisPos][1]);
  371. cache_get_value_name_float(i,"GirisPosZ",gcInfo[i][gcGirisPos][2]);
  372. cache_get_value_name_float(i,"CikisPosX",gcInfo[i][gcCikisPos][0]);
  373. cache_get_value_name_float(i,"CikisPosY",gcInfo[i][gcCikisPos][1]);
  374. cache_get_value_name_float(i,"CikisPosZ",gcInfo[i][gcCikisPos][2]);
  375. cache_get_value_name_int(i,"GirisInt",gcInfo[i][gcGirisInt]);
  376. cache_get_value_name_int(i,"GirisVw",gcInfo[i][gcGirisVw]);
  377. cache_get_value_name_int(i,"CikisInt",gcInfo[i][gcCikisInt]);
  378. cache_get_value_name_int(i,"CikisVw",gcInfo[i][gcCikisVw]);
  379. cache_get_value_name_int(i,"PickupID",gcInfo[i][gcPickupID]);
  380.  
  381. if (IsValidDynamic3DTextLabel(gcInfo[i][gcText]))
  382. {
  383. DestroyDynamic3DTextLabel(gcInfo[i][gcText]);
  384. }
  385. if(IsValidDynamicPickup(gcInfo[i][gcPickup][0]))
  386. {
  387. DestroyDynamicPickup(gcInfo[i][gcPickup][0]);
  388. }
  389. if(IsValidDynamicPickup(gcInfo[i][gcPickup][1]))
  390. {
  391. DestroyDynamicPickup(gcInfo[i][gcPickup][1]);
  392. }
  393. new str[200];
  394.  
  395. format(str,sizeof(str),"{FF0000}%s\n\n{D0AEEB}ID: {FFFFFF}%d\n{D0AEEB}Durum: %s",gcInfo[i][gcIsim],i,(gcInfo[i][gcKilit] == 1) ? ("{FF0000}Kilitli") : ("{00FF3C}Açık"));
  396. gcInfo[i][gcText] = CreateDynamic3DTextLabel(str,-1,gcInfo[i][gcGirisPos][0],gcInfo[i][gcGirisPos][1],gcInfo[i][gcGirisPos][2],15.0,INVALID_PLAYER_ID, INVALID_VEHICLE_ID,0,-1,-1,-1,STREAMER_3D_TEXT_LABEL_SD,-1,0);
  397. gcInfo[i][gcPickup][0] = CreateDynamicPickup(gcInfo[i][gcPickupID],23,gcInfo[i][gcGirisPos][0],gcInfo[i][gcGirisPos][1],gcInfo[i][gcGirisPos][2],gcInfo[i][gcGirisVw],gcInfo[i][gcGirisInt]);
  398. gcInfo[i][gcPickup][1] = CreateDynamicPickup(gcInfo[i][gcPickupID],23,gcInfo[i][gcCikisPos][0],gcInfo[i][gcCikisPos][1],gcInfo[i][gcCikisPos][2],gcInfo[i][gcCikisVw],gcInfo[i][gcCikisInt]);
  399. }
  400. return 1;
  401. }
  402. stock GirisCikisKaydet(gcid)
  403. {
  404. new query[800];
  405. format(query,sizeof(query),"UPDATE `giriscikislar` SET `Isim` = '%s',`Kilit` = '%d',`GirisPosX` = '%f',`GirisPosY` = '%f',`GirisPosZ` = '%f',`CikisPosX` = '%f',`CikisPosY` = '%f',`CikisPosZ` = '%f'",gcInfo[gcid][gcIsim],gcInfo[gcid][gcKilit],gcInfo[gcid][gcGirisPos][0],gcInfo[gcid][gcGirisPos][1],gcInfo[gcid][gcGirisPos][2],gcInfo[gcid][gcCikisPos][0],gcInfo[gcid][gcCikisPos][1],gcInfo[gcid][gcCikisPos][2]);
  406. format(query,sizeof(query),"%s, `GirisInt` = '%d',`GirisVw` = '%d',`CikisInt` = '%d',`CikisVw` = '%d',`PickupID` = '%d' WHERE `id` = '%d'",query,gcInfo[gcid][gcGirisInt],gcInfo[gcid][gcGirisVw],gcInfo[gcid][gcCikisInt],gcInfo[gcid][gcCikisVw],gcInfo[gcid][gcPickupID],gcInfo[gcid][gcID]);
  407. mysql_query(mysqlbaglanti,query);
  408. return 1;
  409. }
  410. // ------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment