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: