Advertisement
Bebras

[INC]Inventory v0.1 - Bebras

Nov 1st, 2013
378
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 3.18 KB | None | 0 0
  1.  
  2.                 /*
  3.                         Inventoriaus kūrimo include
  4.                         Autorius "Bebras" 2013
  5.                        
  6.                 */
  7.  
  8.                
  9. /*
  10.     native AddItem(itemname[]);                             Ši funkcija pridėta daiktą, nepanaudoję jos negalėsite naudotis tuo daiktu..
  11.     native GivePlayerItem(playerid,item[],amount);          Ši funkcija duoda žaidėjui tam tikrą daiktų skaičių(galima naudoti ir daiktų atėmimui).
  12.     native ShowPlayerInventory(playerid);                   Ši funkcija parodys žaidėjui GUI su visais jo daiktais ir jų kiekiu(taipat paspaudus įvyks nurodytas veiksmas).
  13.     native ResetPlayerItem(playerid,itemname[]);            Ši funkcija atiims iš žaidėjo visus nurodytus daiktus.
  14.     native ResetPlayerItems(playerid);                      Ši funkcija attims visus žaidėjo daiktus.
  15.     native GetPlayerItemAmount(playerid,itemname[]);        Ši funkcija gražins nurodyto daikto skaičių.
  16.    
  17. */
  18.  
  19. #define Bebras AUTORIUS
  20.  
  21. #define MAX_ITEMS               15
  22. #define MAX_ITEM_NAME           30
  23. #define DIALOG_INVENTORY        457
  24.  
  25.  
  26. #define Item:%0(%1) forward %0(%1); public %0(%1)
  27.  
  28. new UsableItems[MAX_ITEMS][MAX_ITEM_NAME];
  29.  
  30.  
  31. stock AddItem(itemname[])
  32. {
  33.     for(new i; i < MAX_ITEMS; i++)
  34.     {
  35.         if(!isnull(UsableItems[i]) && !strcmp(UsableItems[i],itemname)) return 0;
  36.         if(isnull(UsableItems[i]))
  37.         {
  38.             strins(UsableItems[i],itemname,0,MAX_ITEM_NAME);
  39.             return 1;
  40.         }
  41.     }
  42.     return 0;
  43. }
  44.  
  45. stock GivePlayerItem(playerid,item[],amount)
  46. {
  47.     if(GetPVarInt(playerid,item) !=  0) SetPVarInt(playerid,item,GetPVarInt(playerid,item)+amount);
  48.     else SetPVarInt(playerid,item,amount);
  49.     return GetPVarInt(playerid,item);
  50. }
  51. stock GetPlayerItemAmount(playerid,itemname[])
  52.     return GetPVarInt(playerid,itemname[]);
  53.    
  54. stock ShowPlayerInventory(playerid)
  55. {
  56.     new bigstring[MAX_ITEMS*MAX_ITEM_NAME],str[MAX_ITEM_NAME+5];
  57.     for(new i; i < MAX_ITEMS; i++)
  58.     {
  59.         if(GetPVarInt(playerid,UsableItems[i]) > 0)
  60.         {  
  61.             format(str,sizeof(str),"%s  %d\n",UsableItems[i],GetPVarInt(playerid,UsableItems[i]));
  62.             strcat(bigstring,str);
  63.         }
  64.     }
  65.     ShowPlayerDialog(playerid,DIALOG_INVENTORY,DIALOG_STYLE_LIST,"Inventorius",bigstring,"Pasirinkti","Išeiti");
  66.     return 1;
  67. }
  68. stock ResetPlayerItem(playerid,itemname[])
  69.     return DeletePVar(playerid,itemname);
  70. stock ResetPlayerItems(playerid)
  71. {
  72.     for(new i; i < MAX_ITEMS; i++)
  73.     {
  74.         if(isnull(UsableItems[i])) break;
  75.         DeletePVar(playerid,UsableItems[i]);
  76.     }
  77.     return 1;
  78. }
  79. public OnDialogResponse(playerid,dialogid,response,listitem,inputtext[])
  80. {
  81.     if(dialogid == DIALOG_INVENTORY && response)
  82.     {
  83.         if(isnull(inputtext)) return 1;
  84.         new func[MAX_ITEM_NAME];
  85.         strmid(func,inputtext,0,strfind(inputtext,"  "));
  86.         if(funcidx(func) == -1) return printf("Daikto \"%s\" funkcija nesukurta",func);
  87.         CallLocalFunction(func,"i",playerid);
  88.         return 1;
  89.     }
  90.     #if defined Bebras_OnDialogResponse
  91.         return Bebras_OnDialogResponse(playerid,dialogid,response,listitem,inputtext);
  92.     #endif
  93. }
  94. #if defined _ALS_OnDialogResponse
  95.     #undef OnDialogResponse
  96. #else  
  97.     #define _ALS_OnDialogResponse
  98. #endif
  99. #define OnDialogResponse Bebras_OnDialogResponse
  100. #if defined Bebras_OnDialogResponse
  101.     forward Bebras_OnDialogResponse(playerid,dialogid,response,listitem,inputtext[]);
  102. #endif
  103. #if !defined Bebras
  104.     #error Include autorius - Bebras. Nuo tiesos nepabegsi, turek pagarbos.
  105. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement