local config = {
money_requires = 1,
monsters = {["Rat"] = 3, ["Tiger"] = 2}, -- Nomde do montros e quantidade
alavancas = {[1945] = 1946, [1946] = 1945}, -- Id das alavancas
pos = {{x=990,y=1048,z=7}, {x=995,y=1049,z=7}},
}
function onUse(cid, item)
local alavanca = config.alavancas[item.itemid]
if alavanca ~= nil then doTransformItem(item.uid,alavanca[1]) end
if doPlayerRemoveMoney(cid, config.money_requires) then
for k, v in pairs(config.monsters) do
for i=1, v do
local monster = doSummonCreature(k, config.pos[1])
doSendMagicEffect(getThingPos(monster), 10)
end
end
else
doPlayerSendTextMessage(cid, 27, "Sorry, you need a "..config.money_requires.." for summon monster.")
return true
end
end
Nãp precisa colocar o "uniqueid" e nem a "actionid" no script, só na tag. Em alavancas são os ids das alavancas a serem puxadas.
Nao mudei o actionid do script como vc disse e deixei somente essa linha no xml
<action actionid="2032" event="script" value="summonMonster.lua"/>
Script:
local config = {
money_requires = 1,
monsters = {["Rat"] = 1, ["Tiger"] = 1}, -- Nomde do montros e quantidade
alavancas = {[1945] = 1946, [1946] = 1945}, -- Id das alavancas
pos = {{x=1623,y=1075,z=7}, {x=1624,y=1075,z=7}},
}
function onUse(cid, item)
local alavanca = config.alavancas[item.itemid]
if alavanca ~= nil then doTransformItem(item.uid,alavanca[1]) end
if doPlayerRemoveMoney(cid, config.money_requires) then
for k, v in pairs(config.monsters) do
for i=1, v do
local monster = doSummonCreature(k, config.pos[1])
doSendMagicEffect(getThingPos(monster), 10)
end
end
else
doPlayerSendTextMessage(cid, 27, "Sorry, you need a "..config.money_requires.." for summon monster.")
return true
end
end
Da esse erro:
[17/01/2013 11:23:08] [Error - Action Interface]
[17/01/2013 11:23:08] data/actions/scripts/summonMonster.lua:onUse
[17/01/2013 11:23:08] Description:
[17/01/2013 11:23:08] data/actions/scripts/summonMonster.lua:9: attempt to index local 'alavanca' (a number value)
[17/01/2013 11:23:08] stack traceback:
[17/01/2013 11:23:08] data/actions/scripts/summonMonster.lua:9: in function <data/actions/scripts/summonMonster.lua:7>
Se eu mudar o action id do script para:
alavancas = {[2032] = 2033, [2033] = 2032}, -- Id das alavancas
Ate funciona mas da erro quando vc flooda o click na alavanca!
o erro acredito que esta acontecendo com um montro tenta nascer um em cima do outro.
Segue o erro quando eu floodo na alavanca com o action ID alterado no script!
[17/01/2013 11:27:02] [Error - Action Interface]
[17/01/2013 11:27:02] data/actions/scripts/summonMonster.lua:onUse
[17/01/2013 11:27:02] Description:
[17/01/2013 11:27:02] (luaGetThingPosition) Thing not found