124 lines
		
	
	
	
		
			2.9 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			124 lines
		
	
	
	
		
			2.9 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| if Link.framework ~= 'vrp' then
 | |
|     return
 | |
| end
 | |
| 
 | |
| local Tunnel = module("vrp", "lib/Tunnel")
 | |
| local Proxy = module("vrp", "lib/Proxy")
 | |
| vRP = Proxy.getInterface("vRP")
 | |
| 
 | |
| function GetPlayersWithJob(jobs)
 | |
|     local matchingPlayers = {}
 | |
|     local users = vRP.getUsers()
 | |
|     local isTable = type(jobs) == 'table'
 | |
|     
 | |
|     for userId, _ in pairs(users) do
 | |
|         local src = vRP.getUserSource(userId)
 | |
|         if src then
 | |
|             if isTable then
 | |
|                 for _, name in ipairs(jobs) do
 | |
|                     if vRP.hasGroup(userId, name) then
 | |
|                         table.insert(matchingPlayers, src)
 | |
|                         break
 | |
|                     end
 | |
|                 end
 | |
|             elseif vRP.hasGroup(userId, jobs) then
 | |
|                 table.insert(matchingPlayers, src)
 | |
|             end
 | |
|         end
 | |
|     end
 | |
|     
 | |
|     return matchingPlayers
 | |
| end
 | |
| 
 | |
| 
 | |
| function CanPlayerAfford(player, amount)
 | |
|     local user_id = vRP.getUserId({player})
 | |
|     if user_id then
 | |
|         local player_money = vRP.getMoney({user_id})
 | |
|         return player_money >= amount
 | |
|     end
 | |
|     return false
 | |
| end
 | |
| 
 | |
| function AddPlayerMoney(player, amount, account)
 | |
|     local user_id = vRP.getUserId({player})
 | |
|     if user_id then
 | |
|         if account == "bank" then
 | |
|             vRP.giveBankMoney({user_id, amount})
 | |
|         else
 | |
|             vRP.giveMoney({user_id, amount})
 | |
|         end
 | |
|         return true
 | |
|     end
 | |
|     return false
 | |
| end
 | |
| 
 | |
| function RemovePlayerMoney(player, amount)
 | |
|     local user_id = vRP.getUserId({player})
 | |
|     if user_id then
 | |
|         if CanPlayerAfford(player, amount) then
 | |
|             vRP.tryPayment({user_id, amount})
 | |
|             return true
 | |
|         end
 | |
|     end
 | |
|     return false
 | |
| end
 | |
| 
 | |
| function GetPlayerItemData(player, item)
 | |
|     local user_id = vRP.getUserId(player)
 | |
|     local itemCount = vRP.getInventoryItemAmount(user_id, item)
 | |
|     return {
 | |
|         count = itemCount
 | |
|     }
 | |
| end
 | |
| 
 | |
| function GetPlayerItemData(player, item)
 | |
|     local user_id = vRP.getUserId({player})
 | |
|     if not user_id then
 | |
|         return { count = 0 }
 | |
|     end
 | |
|     
 | |
|     local itemCount = vRP.getInventoryItemAmount({user_id, item})
 | |
|     return {
 | |
|         count = itemCount or 0
 | |
|     }
 | |
| end
 | |
| 
 | |
| function GetPlayerItemCount(player, item)
 | |
|     local data = GetPlayerItemData(player, item)
 | |
|     return data.count
 | |
| end
 | |
| 
 | |
| function AddPlayerItem(player, item, amount, meta)
 | |
|     local user_id = vRP.getUserId({player})
 | |
|     if not user_id then
 | |
|         return false
 | |
|     end
 | |
|     
 | |
|     vRP.giveInventoryItem({user_id, item, amount})
 | |
|     return true
 | |
| end
 | |
| 
 | |
| function RemovePlayerItem(player, item, amount)
 | |
|     local user_id = vRP.getUserId({player})
 | |
|     if not user_id then
 | |
|         return false
 | |
|     end
 | |
|     
 | |
|     return vRP.tryGetInventoryItem({user_id, item, amount})
 | |
| end
 | |
| 
 | |
| 
 | |
| function RegisterUsableItem(item, cb)
 | |
|     return true -- needs to be defined on the item itself in VRP
 | |
| end
 | |
| 
 | |
| function OpenCustomStash()
 | |
|     -- Not available in vrp
 | |
|     return true
 | |
| end
 | |
| 
 | |
| function GetStashItems()
 | |
|     -- Not available in vrp
 | |
|     return {}
 | |
| end
 | 
