Olá pessoal, venho lhes trazer hoje um script simples de manipulação de string.
O Script: Trata-se de como o título já diz, de uma Summon Scroll, que ao digitar o nome do monstro nela e clicar em Ok, ela fica preparada para sumonar um monstro.
ela pode ser usada tanto no inventário quanto no chão, e também tem uma lista de monstros que podem ser sumonados por ela.
Crie um arquivo chamado summonscroll.lua em actions/scripts
function onUse(cid, item, fromPos)
local cont = getItemAttribute(item.uid, "text") -- nao precisa mexer
local summons = {"demon", "dragon", "dog", "cat", "rotworm", "morgaroth", "cyclops", "dragon lord", "son of verminor", "wolf"} -- monstros disponiveis
function Summon(entity)
if fromPos.x == 65535 and fromPos.y == 64 then
doCreateMonster(entity, getThingPos(cid))
doRemoveItem(item.uid)
doSendMagicEffect(getThingPos(cid), CONST_ME_FIREWORK_YELLOW)
return true
else
doCreateMonster(entity, fromPos)
doRemoveItem(item.uid)
doSendMagicEffect(fromPos, CONST_ME_FIREWORK_YELLOW)
return true
end
return true
end
if cont ~= nil then
local monster = table.concat(cont:exp("%s"), " ")
if isInArray(summons, monster) then
Summon(monster)
return true
else
doPlayerSendCancel(cid, "You can't summon this monster!")
doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
end
end
end
function string.exp(e, sep)
local result = {} e:gsub("[^".. sep .."]+", function(s) table.insert(result, s:match("^%s*(.-)%s*$")) end)
return result
end
<!-- TAG XML em actions.xml --> <action itemid="1949" event="script" value="summonscroll.lua"/>
Vídeo demonstrativo:
quaisquer dúvidas ou sugestões, só postar.
Créditos:















