Guest User

r_inv

a guest
Jan 18th, 2016
738
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.98 KB | None | 0 0
  1. #define ITEMS 500
  2.  
  3. enum items
  4. {
  5. iID,
  6. tulaj[24],
  7. nev[24],
  8. menny
  9. //object
  10. }
  11. new ItemInfo[ITEMS][items];
  12. new itemek;//Betöltött itemek számát tárolja (Loop-ok hoz)
  13. new CurrentItem[MAX_PLAYERS];
  14.  
  15. stock ShowItems(p)
  16. {
  17. new str[512] = "{284bd6}Név\t{284bd6}Mennyiség\n",str2[56],talalat;
  18. for(new i = 0; i < itemek; i++)
  19. {
  20. if(Compare(ItemInfo[i][tulaj],GetName(p)))
  21. {
  22. format(str2,sizeof(str2),"%s\t{ffffff}(({284bd6}%i{ffffff}))\n",ItemInfo[i][nev],ItemInfo[i][menny]);
  23. strcat(str,str2);
  24. talalat = 1;
  25. }
  26. }
  27. if(talalat == 0) return SendClientMessage(p,1,"{ff0000}Nincs nálad semmi..");
  28. ShowPlayerDialog(p,I_MAIN, DIALOG_STYLE_TABLIST_HEADERS,"{284bd6}Inventory",str, "Haznál", "Kilép");
  29. return 1;
  30. }
  31.  
  32. stock LoadItems()
  33. {
  34. mysql_tquery(sql, "SELECT * FROM items", "LoadItemz");
  35. }
  36. stock TakeItem(ki,mi[],meny){
  37. mysql_format(sql, query, 256, "SELECT * FROM items WHERE IOwner='%s' AND IName='%s' LIMIT 1",GetName(ki),mi);
  38. mysql_tquery(sql, query, "ItemElvetel", "dsd", ki,mi,meny);
  39. return 1;
  40. }
  41. stock SaveItems()
  42. {
  43. for(new i = 0; i < itemek; i++)
  44. {
  45. mysql_format(sql, query, 256, "UPDATE items SET iOwner='%s' ,iName='%s' ,iQuan='%d' WHERE ID='%d' LIMIT 1",ItemInfo[i][tulaj],ItemInfo[i][nev],ItemInfo[i][menny],ItemInfo[i][iID]);
  46. mysql_tquery(sql, query);
  47. }
  48. printf("%d DB item lett elmentve",itemek);
  49. return 1;
  50. }
  51. stock GiveItem(ki,mi[],meny)
  52. {
  53. print(mi);
  54. mysql_format(sql, query, 256, "SELECT * FROM items WHERE IOwner='%s' AND IName='%s' LIMIT 1",GetName(ki),mi);
  55. mysql_tquery(sql, query, "ItemAdas", "dsd", ki,mi,meny);
  56. return 1;
  57. }
  58.  
  59. forward OnPlayerUseItem(p,mi[],id);
  60.  
  61. public OnPlayerUseItem(p,mi[],id)
  62. {
  63. if(Compare(mi,"Sör")) // mi , tárgyneve
  64. {
  65. print("Sör");
  66. }
  67. return 1;
  68. }
  69.  
  70. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  71. {
  72. if(playerid == clickedplayerid) return ShowItems(playerid);
  73. return 1;
  74. }
  75.  
  76. forward LoadItemz();
  77. public LoadItemz()
  78. {
  79. for(new i = 0; i < cache_get_row_count(); i++)
  80. {
  81. ItemInfo[i][iID] = cache_get_row_int(i,0);
  82. cache_get_row(i, 1,ItemInfo[i][tulaj],1,24);
  83. cache_get_row(i, 2,ItemInfo[i][nev],1,24);
  84. ItemInfo[i][menny] = cache_get_row_int(i,3);
  85. itemek ++;
  86. }
  87. printf("[MGRP - Item System] %d DB item lett betötlve!",itemek);
  88. return 1;
  89. }
  90.  
  91. forward ItemAdas(ki,mi[],meny);
  92. public ItemAdas(ki,mi[],meny) {
  93. new rows = cache_get_row_count();
  94. if(rows == 0){
  95. mysql_format(sql, query, 256, "INSERT INTO items (IOwner,IName,IQuan) VALUES ('%s','%s','%d')",GetName(ki),mi,meny);
  96. mysql_tquery(sql, query, "ItemGive", "dsd", ki,mi,meny);
  97.  
  98. }
  99. else
  100. {
  101.  
  102. new q=cache_get_row_int(0, 3);
  103. mysql_format(sql, query, 384, "UPDATE items SET IQuan='%d' WHERE IOwner='%s' AND IName='%s'",q+meny,GetName(ki),mi);
  104. mysql_tquery(sql, query);
  105. for(new i = 0; i < itemek; i++)
  106. {
  107. if(Compare(ItemInfo[i][tulaj],GetName(ki)))
  108. {
  109. if(Compare(ItemInfo[i][nev],mi))
  110. {
  111. ItemInfo[i][menny] += meny;
  112. break;
  113. }
  114. }
  115. }
  116. }
  117. return 1;
  118. }
  119.  
  120. forward ItemGive(p,mi[],q);
  121. public ItemGive(p,mi[],q)
  122. {
  123. itemek++;
  124. new id = cache_insert_id();
  125. ItemInfo[itemek][iID] = id;
  126. strins(ItemInfo[itemek][tulaj],GetName(p),0);
  127. strins(ItemInfo[itemek][nev],mi,0);
  128. ItemInfo[itemek][menny] = q;
  129. return 1;
  130. }
  131.  
  132. forward ItemElvetel(ki,mi[],meny);
  133. public ItemElvetel(ki,mi[],meny)
  134. {
  135. new q=cache_get_row_int(0, 3);
  136. new id = cache_get_row_int(0,0);
  137. if(q > 1)
  138. {
  139. mysql_format(sql, query, 384, "UPDATE items SET IQuan='%d' WHERE IOwner='%s' AND IName='%s'",q-meny,GetName(ki),mi);
  140. mysql_tquery(sql, query);
  141. for(new i = 0; i < itemek; i++)
  142. {
  143. if(ItemInfo[i][iID] == id)
  144. {
  145. ItemInfo[i][menny] = q-meny;
  146. break;
  147. }
  148. }
  149. }
  150. else
  151. {
  152. mysql_format(sql, query, 384, "DELETE FROM items WHERE IOwner='%s' AND IName='%s'",GetName(ki),mi);
  153. mysql_tquery(sql, query);
  154. for(new i = 0; i < itemek; i++)
  155. {
  156. if(ItemInfo[i][iID] == id)
  157. {
  158. strins(ItemInfo[itemek][tulaj],"Törölve",0);
  159. strins(ItemInfo[itemek][nev],"Törölve",0);
  160. ItemInfo[i][menny] = 0;
  161. break;
  162. }
  163. }
  164. }
  165. return 1;
  166. }
  167.  
  168. stock Compare( comp[], with[] ) {
  169. new LenghtComp = strlen( comp );
  170. new LenghtWith = strlen( with );
  171. new Character;
  172.  
  173. if( LenghtComp != LenghtWith ) return false;
  174.  
  175. for( new i = 0; i < LenghtComp; i++ ) {
  176. if( comp[i] == with[i] ) {
  177. Character++;
  178. }
  179. }
  180.  
  181. if( LenghtComp == Character ) return true;
  182.  
  183. return false;
  184. }
  185.  
  186. stock GetName(k){
  187. new name[MAX_PLAYER_NAME];
  188. GetPlayerName(k, name, sizeof(name));
  189. return name;
  190. }
  191.  
  192. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  193. {
  194. if(dialogid == I_MAIN)
  195. {
  196. if(response)
  197. {
  198. for(new i = 0; i < itemek; i++)
  199. {
  200. if(Compare(ItemInfo[i][tulaj],GetName(playerid)))
  201. {
  202. if(Compare(ItemInfo[i][nev],inputtext))
  203. {
  204. CurrentItem[playerid] = i;
  205. OnPlayerUseItem(playerid,inputtext,i);
  206. break;
  207. }
  208. }
  209. }
  210. }
  211. return 1;
  212. }
  213. return 1;
  214. }
Advertisement
Add Comment
Please, Sign In to add comment