[Error - CreatureEvent::configureEvent] Invalid type for creature event: ModalWindowHelper
[Warning - BaseEvents::loadFromXml] Failed to configure event
i follow all help me plx :/ (i installing modal window)
if not modalWindows then
modalWindows = {
modalWindowConstructor = ModalWindow,
nextFreeId = 500,
windows = {}
}
end
local MT = {}
MT.__index = MT
function ModalWindow(...)
local args = {...}
if type(args[1]) == 'table' then
local self = setmetatable(args[1], MT)
local id = modalWindows.nextFreeId
self.id = id
self.buttons = {}
self.choices = {}
self.players = {}
self.created = false
modalWindows.nextFreeId = id + 1
table.insert(modalWindows.windows, self)
return self
end
return modalWindows.modalWindowConstructor(...)
end
function MT:setDefaultCallback(callback)
self.defaultCallback = callback
end
function MT:addButton(text, callback)
local button = {text = tostring(text), callback = callback}
table.insert(self.buttons, button)
return button
end
function MT:addButtons(...)
for _, text in ipairs({...}) do
table.insert(self.buttons, {text = tostring(text)})
end
end
function MT:addChoice(text)
local choice = {text = tostring(text)}
table.insert(self.choices, choice)
return choice
end
function MT:addChoices(...)
for _, text in ipairs({...}) do
table.insert(self.choices, {text = tostring(text)})
end
end
function MT:setDefaultEnterButton(text)
self.defaultEnterButton = text
end
function MT:setDefaultEscapeButton(text)
self.defaultEscapeButton = text
end
function MT:setTitle(title)
self.title = tostring(title)
end
function MT:setMessage(message)
self.message = tostring(message)
end
local buttonOrder = {
[4] = {3, 4, 2, 1},
[3] = {2, 3, 1},
[2] = {1, 2},
[1] = {1}
}
function MT:create()
local modalWindow = modalWindows.modalWindowConstructor(self.id, self.title, self.message)
local order = buttonOrder[math.min(#self.buttons, 4)]
if order then
for _, i in ipairs(order) do
local button = self.buttons[i]
modalWindow:addButton(i, button.text)
button.id = i
if button.text == self.defaultEnterButton then
modalWindow:setDefaultEnterButton(i)
elseif button.text == self.defaultEscapeButton then
modalWindow:setDefaultEscapeButton(i)
end
end
end
for _, choice in ipairs(self.choices) do
modalWindow:addChoice(_, choice.text)
choice.id = _
end
self.modalWindow = modalWindow
end
function MT:sendToPlayer(player)
if not self.modalWindow then
self:create()
end
player:registerEvent('ModalWindowHelper')
self.players[player:getId()] = true
return self.modalWindow:sendToPlayer(player)
end
dofile('data/lib/modalwindow.lua')
function onModalWindow(player, modalWindowId, buttonId, choiceId)
local modalWindow
for _, window in ipairs(modalWindows.windows) do
if window.id == modalWindowId then
modalWindow = window
break
end
end
if not modalWindow then
return true
end
local playerId = player:getId()
if not modalWindow.players[playerId] then
return true
end
modalWindow.players[playerId] = nil
local choice = modalWindow.choices[choiceId]
for _, button in ipairs(modalWindow.buttons) do
if button.id == buttonId then
local callback = button.callback or modalWindow.defaultCallback
if callback then
callback(button, choice)
break
end
end
end
return true
end
<event type="modalwindow" name="modalwindowhelper" script="modalwindowhelper.lua" />
yesDo you mean craft multiple of the same item?
Like i want to craft this item 5 times rather than clicking 5 times?
I was thinking on adding something like this Adding New Skills tfs1.3, I mean adding Crafting as skill. Then set Crafting level as limit to be able to create such item. This skill could be used also for a system that increases your Crafting tries whenever you retreive crafting items with any tool, like adding a new action function to the shovel. This is just and idea I'm having, if I achieve something I will be sharing here!forgive me for reliving this topic, the system is just great i would like to ask for help in two things.
1º - how to modify the script so that the craft item had the name of the person who made it in the description?
2º - I would like to add a chance of a percentage failure in craft attempts, thus making the system more fun.
thank you so much for any help !!
I searched through thread and i see other people have this error as well, but i don't see a solution.
Clicking "Details" doesnt work. Console log:
View attachment 56227
Tried to capitalize all words (as well categories as items to craft), nothing changed.
details = details.."\n- "..capAll(getItemName(reqItems).." ["..reqItemsOnPlayer.."/"..reqItemsCount.."]")
details = details.."\n- "..getItemName(reqItems).." ["..reqItemsOnPlayer.."/"..reqItemsCount.."]"
I'm using TFS 1.3 and I've got the same problem, but I solved it simply. Check it out:
data/lib/crafting.lua
line 55
change:
Lua:details = details.."\n- "..capAll(getItemName(reqItems).." ["..reqItemsOnPlayer.."/"..reqItemsCount.."]")
to:
Lua:details = details.."\n- "..getItemName(reqItems).." ["..reqItemsOnPlayer.."/"..reqItemsCount.."]"
Open eyes a little wider lolI searched through thread and i see other people have this error as well, but i don't see a solution.
Clicking "Details" doesnt work. Console log:
View attachment 56227
Tried to capitalize all words (as well categories as items to craft), nothing changed.