mirror of
				https://bitbucket.org/Ioncannon/project-meteor-server.git
				synced 2025-05-20 08:26:59 -04:00 
			
		
		
		
	Scripts for retainers. Adds item storage functionality.
This commit is contained in:
		| @@ -39,9 +39,9 @@ function onEventStarted(player, npc, triggerName) | ||||
| 	while (true) do | ||||
| 		choice = callClientFunction(player, "eventTalkRetainerMenu", false, true); | ||||
| 		if (choice == 1) then | ||||
| 			doItemTrade(player, npc); | ||||
| 			doItemTrade(player, retainer); | ||||
| 		elseif (choice == 2) then | ||||
| 			doBazaar(player, npc); | ||||
| 			doBazaar(player, retainer); | ||||
| 		elseif (choice == 7) then | ||||
| 			callClientFunction(player, "eventTalkRetainerMannequin", 0);		 | ||||
| 		elseif (choice == 8) then | ||||
|   | ||||
| @@ -24,6 +24,10 @@ function init(npc) | ||||
| 	return false, false, 0, 0;	 | ||||
| end | ||||
|  | ||||
| function onSpawn(player, npc) | ||||
| 	npc:SendFullRetainerInventory(player); | ||||
| end | ||||
|  | ||||
| function onEventStarted(player, retainer, triggerName) | ||||
| 	 | ||||
| 	while (true) do | ||||
|   | ||||
| @@ -22,16 +22,18 @@ function doItemTrade(player, retainer) | ||||
| 	callClientFunction(player, "eventTalkRetainerItemTrade", 1); | ||||
| 	 | ||||
| 	while (true) do | ||||
| 		resultCode, type7Param, un1, quantity, itemId, unk2 = callClientFunction(player, "eventTalkRetainerItemTrade", 2); | ||||
| 		resultCode, type7Param, un1, quantity, itemId, quality = callClientFunction(player, "eventTalkRetainerItemTrade", 2); | ||||
| 		 | ||||
| 		--Retreieve | ||||
| 		if (resultCode == 31) then | ||||
| 			--UpdatePlayer | ||||
| 			--UpdateRetainer | ||||
| 		if (resultCode == 31) then		 | ||||
| 			retainer:GetInventory(type7Param.inventoryType):RemoveItemAtSlot(type7Param.slot, quantity); | ||||
| 			retainer:GetInventory(type7Param.inventoryType):SendUpdatePackets(player, true); | ||||
| 			player:GetInventory(type7Param.inventoryType):AddItem(itemId, quantity, quality); | ||||
| 		--Entrust | ||||
| 		elseif (resultCode == 32) then | ||||
| 			--UpdatePlayer | ||||
| 			--UpdateRetainer | ||||
| 		elseif (resultCode == 32) then					 | ||||
| 			player:GetInventory(type7Param.inventoryType):RemoveItemAtSlot(type7Param.slot, quantity); | ||||
| 			retainer:GetInventory(type7Param.inventoryType):AddItem(itemId, quantity, quality); | ||||
| 			retainer:GetInventory(type7Param.inventoryType):SendUpdatePackets(player, true); | ||||
| 		end | ||||
| 		 | ||||
| 		callClientFunction(player, "eventReturnResult", resultCode, false); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user