Version 0.95 BETA

This commit is contained in:
OTCv8
2019-10-02 03:38:52 +02:00
parent 9219c78f15
commit 5220a3bdd2
501 changed files with 38097 additions and 2 deletions

View File

@@ -0,0 +1,77 @@
tradeWindow = nil
function init()
g_ui.importStyle('tradewindow')
connect(g_game, { onOwnTrade = onGameOwnTrade,
onCounterTrade = onGameCounterTrade,
onCloseTrade = onGameCloseTrade,
onGameEnd = onGameCloseTrade })
end
function terminate()
disconnect(g_game, { onOwnTrade = onGameOwnTrade,
onCounterTrade = onGameCounterTrade,
onCloseTrade = onGameCloseTrade,
onGameEnd = onGameCloseTrade })
if tradeWindow then
tradeWindow:destroy()
end
end
function createTrade()
tradeWindow = g_ui.createWidget('TradeWindow', modules.game_interface.getRightPanel())
tradeWindow.onClose = function()
g_game.rejectTrade()
tradeWindow:hide()
end
tradeWindow:setup()
end
function fillTrade(name, items, counter)
if not tradeWindow then
createTrade()
end
local tradeItemWidget = tradeWindow:getChildById('tradeItem')
tradeItemWidget:setItemId(items[1]:getId())
local tradeContainer
local label
if counter then
tradeContainer = tradeWindow:recursiveGetChildById('counterTradeContainer')
label = tradeWindow:recursiveGetChildById('counterTradeLabel')
tradeWindow:recursiveGetChildById('acceptButton'):enable()
else
tradeContainer = tradeWindow:recursiveGetChildById('ownTradeContainer')
label = tradeWindow:recursiveGetChildById('ownTradeLabel')
end
label:setText(name)
for index,item in ipairs(items) do
local itemWidget = g_ui.createWidget('Item', tradeContainer)
itemWidget:setItem(item)
itemWidget:setVirtual(true)
itemWidget:setMargin(0)
itemWidget.onClick = function()
g_game.inspectTrade(counter, index-1)
end
end
end
function onGameOwnTrade(name, items)
fillTrade(name, items, false)
end
function onGameCounterTrade(name, items)
fillTrade(name, items, true)
end
function onGameCloseTrade()
if tradeWindow then
tradeWindow:destroy()
tradeWindow = nil
end
end

View File

@@ -0,0 +1,9 @@
Module
name: game_playertrade
description: Allow to trade items with players
author: edubart
website: https://github.com/edubart/otclient
sandboxed: true
scripts: [ playertrade ]
@onLoad: init()
@onUnload: terminate()

View File

@@ -0,0 +1,107 @@
TradeWindow < MiniWindow
!text: tr('Trade')
height: 150
UIItem
id: tradeItem
virtual: true
size: 16 16
anchors.top: parent.top
anchors.left: parent.left
margin-top: 4
margin-left: 4
MiniWindowContents
padding: 4
ScrollableFlatPanel
id: ownTradeContainer
anchors.top: parent.top
anchors.bottom: acceptButton.top
anchors.left: parent.left
anchors.right: ownTradeScrollBar.left
margin-top: 16
margin-bottom: 4
padding: 2
layout:
type: grid
cell-size: 34 34
flow: true
cell-spacing: 1
vertical-scrollbar: ownTradeScrollBar
VerticalScrollBar
id: ownTradeScrollBar
anchors.top: parent.top
anchors.bottom: acceptButton.top
anchors.right: parent.horizontalCenter
margin-top: 16
margin-bottom: 4
margin-right: 2
step: 14
pixels-scroll: true
$!on:
width: 0
ScrollableFlatPanel
id: counterTradeContainer
anchors.top: parent.top
anchors.bottom: acceptButton.top
anchors.left: parent.horizontalCenter
anchors.right: counterTradeScrollBar.left
margin-top: 16
margin-bottom: 4
margin-left: 2
padding: 2
layout:
type: grid
cell-size: 34 34
flow: true
cell-spacing: 1
vertical-scrollbar: counterTradeScrollBar
VerticalScrollBar
id: counterTradeScrollBar
anchors.top: parent.top
anchors.bottom: acceptButton.top
anchors.right: parent.right
margin-top: 16
margin-bottom: 4
margin-right: 1
step: 14
pixels-scroll: true
$!on:
width: 0
Label
id: ownTradeLabel
anchors.bottom: ownTradeContainer.top
anchors.left: ownTradeContainer.left
anchors.right: parent.horizontalCenter
margin-bottom: 2
Label
id: counterTradeLabel
anchors.bottom: counterTradeContainer.top
anchors.left: parent.horizontalCenter
anchors.right: counterTradeScrollBar.right
margin-bottom: 2
Button
!text: tr('Accept')
id: acceptButton
anchors.bottom: parent.bottom
anchors.left: parent.left
anchors.right: parent.horizontalCenter
margin-right: 2
enabled: false
@onClick: g_game.acceptTrade(); self:disable()
Button
!text: tr('Reject')
id: rejectButton
anchors.bottom: parent.bottom
anchors.right: parent.right
anchors.left: parent.horizontalCenter
margin-left: 2
@onClick: g_game.rejectTrade()