SA-MP Forums Archive
[Include] PInventory - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Filterscripts (https://sampforum.blast.hk/forumdisplay.php?fid=17)
+---- Forum: Includes (https://sampforum.blast.hk/forumdisplay.php?fid=83)
+---- Thread: [Include] PInventory (/showthread.php?tid=280696)



PInventory - Phanto90 - 02.09.2011

PInventory.inc 1.1
PInclude is a library that allows you to include in your gamemode an advanced inventory system.
• Players can hold a maxiumum of 10 different items in their inventory
• Texdraw's box change dinamically (based on the number of item in the inventory)
• 4 textdraw used for all players
Fuctions

• Create_Item(item_name[], max = 20)
Creates an item that can be added to a player’s inventory.
item_name: the item’s name that will be showed in the inventory. (You can use textdraw’s color to colorize item’s name)
max: Set the maximum amount of items of this type that a player can hold. If not specified it will be 20.
Returns: the id of the created item.

Examples:
Код:
new cigarettes_id = Create_Item(“Cigarettes”);
Код:
new lighter_id = Create_Item(“Lighter”, 1);
• Get_Max_Amount(item_id)
Returns: the maximum amount of items that a player can hold for the specified id.

• Set_Max_Amount(item_id)
Set the maximum amount of item that a player can hold for the specified id.

• Add_Item(playerid, item_id, amount = 1)
Add an item to a player’s inventory.
playerid: the id of the player.
item_id: the id of item to remove add.
amount: the amount of item to add. If not specified its value will be 1.
Returns:
- ERROR_INVALID_ITEM : the item’s id specified is not valid (or amount is less or equal to 0).
- SUCCESFULLY_ADDED_REMOVED : the item has been added successfully to player’s inventory.
- ERROR_FULL_INVENTORY : Cannot add item because the player’s inventory is full.
- ERROR_TOO_MANY_ITEMS : Player has overreached the item’s limit for this item_id. (items will not be added)

Examples:
Код:
new lighter_id = Create_Item("Lighter", 1); //Somewhere processed
Add_Item(playerid, lighter_id); //In a function with playerid defined
Код:
new cigarettes_id = Create_Item("Cigarettes"); //Somewhere processed
Add_Item(playerid, cigarettes_id, 10); //In a function with playerid defined
• Remove_Item(playerid, item_id, amount = 1)
Remove an item from a player’s inventory.
playerid: the id of the player.
item_id: the id of the item to remove.
amount: the number of item to remove.
Returns:
-ERROR_INVALID_ITEM : the item’s id specified is not valid (or amount is less or equal to 0).
-SUCCESFULLY_ADDED_REMOVED : the item has been removed successfully from player’s inventory.
-ERROR_NO_ITEM : player hasn’t that item in the inventory.
-ERROR_NOT_ENOUGH_ITEMS : player hasn’t that amount of items in the inventory.

Examples:
Код:
new lighter_id = Create_Item("Lighter", 1); //Somewhere processed
Remove_Item(playerid, lighter_id); //In a function with playerid defined
Код:
new cigarettes_id = Create_Item("Cigarettes"); //Somewhere processed
Remove_Item(playerid, cigarettes_id, 2); //In a function with playerid defined
• Check_Amount(playerid, item_id)
Returns the number of items (for the specified id) that a player have in his inventory.

Example:
Код:
new cigarettes_id = Create_Item(“Cigarettes”); //Somewhere processed
if(!Check_Amount(playerid, cigarettes_id)) return SendClientMessage(playerid, -1, "ERROR: You have no cigarettes!");
else
{
//Something, maybe set player special action to smoke and remove a cigarette with Remove_Item
}
• Show_Inventory(playerid)
Shows inventory to a player.

• Hide_Inventory(playerid)
Hide inventory for a player.
Note: It is automatically called when a player connects

• Reset_Inventory(playerid)
Reset inventory for a player.
Note: It is automatically called when a player connects.

• PInventory_DebugMode(bool:mode)
Handles the debug mode of PInventory.
true: activate debug mode
false: deactivate

General Considerations
Althought PInventory offers to you an advanced item management system, there is something to say:
Screens



Download
PInventory 1.1 (pastebin)
PInventory 1.1 (soldifiles)
//Sorry for my awful english :P


Re: PInventory - Lorenc_ - 02.09.2011

Pastebin link doesn't work

Looks awesome, It saves right?


Re: PInventory - AndreT - 02.09.2011

Quote:
Originally Posted by Lorenc_
Посмотреть сообщение
Pastebin link doesn't work

Looks awesome, It saves right?
You have to copy the link properly. It doesn't save.


Re: PInventory - Phanto90 - 02.09.2011

Sorry, my fault. Check out now


Re: PInventory - Rapgangsta - 02.09.2011

[ita] Un sistema simile che salva i dati sarebbe perfetto si potrebbero creare sistemi come AddItem(playerid,adminlevel,1) ecct ovviamente non deve apparire il menu[ita]


Re: PInventory - Darnell - 02.09.2011

Seems very nice, problem it doesnt save ;\.


Re: PInventory - Phanto90 - 02.09.2011

Quote:
Originally Posted by Darnell
Посмотреть сообщение
Seems very nice, problem it doesnt save ;\.
It is technically impossible to make a script that would fit for every end-user needs.

If somebody wants to save the items, he can use :
Код:
player_inventory[playerid][slot][id_inventory_item] //id of the item in the slot
player_inventory[playerid][slot][p_amount] //the amount of item in the slot
It would be simply to implement in a registration system, i suppose.


Re: PInventory - elledioi90 - 02.09.2011

Nice :P


Re : PInventory - Naruto_Emilio - 02.09.2011

Good job i will go try it now.


Re: PInventory - =WoR=G4M3Ov3r - 02.09.2011

Nice job, i may use this.


Re: Re : PInventory - Phanto90 - 03.09.2011

Quote:
Originally Posted by Naruto_Emilio
Посмотреть сообщение
Good job i will go try it now.
Let me know if you liked it :P


Re: PInventory - xpeppe - 03.09.2011

Good Job. Cool and Useful :P


Re: PInventory - Phanto90 - 10.12.2011

Quote:
Originally Posted by xpeppe
Посмотреть сообщение
Good Job. Cool and Useful :P
Thanks