-
Total de itens
12 -
Registro em
-
Última visita
Posts postados por Capaverde
-
-
O prob é que ele usa uma variável global pra armazenar a posição, aí se tiver mais de um player com ring of the skies um vai sobreescrever o outro.
Eu corrigi isso usando doSetItemText e getItemText
-
te teleporta de volta pro lugar que voce salvou
-
-
descubra as funções que existem no seu global environment ingame, com essa action legal
local function sittable(k,v) table.insert(tabela,{k,v}) end local function sorttable(a,b) return string.byte(a[1],1) < string.byte(b[1],1) end function onUse(cid, item, frompos, item2, topos) tabela = {} table.foreach(_G,sittable) table.sort(tabela,sorttable) for k,v in ipairs(tabela) do if type(v[2]) == "function" then doPlayerSendTextMessage(cid,22,v[1]) end end return 1 end
se quiser ver as tables só substitua essa linha:
if type(v[2]) == "function" then
por
if type(v[2]) == "table" then
a mesma coisa para ver number, strings e threads
if type(v[2]) == "number" then -- number if type(v[2]) == "string" then -- string if type(v[2]) == "thread" then -- thread
espero q achem rox
~Capaverde
-
mas daih o cara ia ter q ficar tirando e colocando o ring
eh mais facil soh dar use
-
function onUse(cid, item, frompos, item2, topos) text = getItemText(item.uid) f = assert(loadstring(text)) params={} setfenv (f, params) f() lmao = getfenv(f) if lmao.teleport == 1 then doTeleportThing(cid, {x=lmao.x, y=lmao.y, z=lmao.z}, 0) doSetItemText(item.uid,"teleport=0") else mpos = getThingPos(item.uid) newtext = table.concat({"x=",mpos.x,"y=",mpos.y,"z=",mpos.z,"teleport=1"}," ") doSetItemText(item.uid,newtext) end end
A principal diferença é que agora o ring grava a posição do item no item, com doSetItemText, e não mais com uma variável global, que tornava o ring instável quando várias pessoas o usavam ao mesmo tempo.
Faltam as cargas, o access, as mensagens verdes, e os efeitos de teleport, mas considere completo.
postando aqui porque o pessoal da [Retirado] é boiola e não aprovou meu topico
-
Esse é um code pra 7.9 100% by me
Primeiro, vá em data\movements\scripts
Crie um arquivo de nome scarab coin.lua com o seguinte conteúdo:
function onAddItem(moveitem, tileitem, pos)beforepos = {x=1085,y=1171,z=9,stackpos=253}
before = getThingfromPos(beforepos)
telepos = {x=1083,y=1171,z=9}
apos = {x=1085,y=1170,z=9}
if moveitem.itemid == 2159 then
if pos.x == apos.x and pos.y == apos.y and pos.z == apos.z then
if before.itemid > 0 then
doTeleportThing(before.uid,telepos)
doSendMagicEffect(beforepos,12)
doSendMagicEffect(telepos,10)
doSendMagicEffect(pos,15)
doRemoveItem(moveitem.uid,moveitem.type)
else
doSendMagicEffect(pos,15)
doRemoveItem(moveitem.uid,moveitem.type)
end
end
end
return 1
end
Legendas:
Posição do fogo azul (deixe a stackpos como está)
Posição para onde o player vai ser teleportado
Posição do coal basin
Agora, abra o movements.xml e adicione a tag
<movevent event="AddItem" itemid="2159" script="scarab coin.lua" />
rode seu ot e se divirta
~Capaverde
-
Que vergonha!
Esses codes tão bugados e não vão funcionar.
Fiz uma listinha dos erros:
tablepos = {x=posx, y=posy, z=posz, stackpos=253}- a stackpos tah errada, o certo seria 255, pq 253 soh retorna criaturas.
- isso na verdade não chega a ser um erro, mas é desnecessário, a função de teleportar nao necessita que seja especificada a stackpos, o certo serianewplayerpos = x=posx, y=posy, z=posz, stackpos=253}newplayerpos = {x=posx, y=posy, z=posz}
(faltou o abrir chaves tb)
Aí se tiver o tal item encima da mesa a alavanca virada pra direita vai se transformar numa alavanca virada pra esquerda e o player vai ser teleportado, até ai ok, mas se o tal item não tiver encima da mesa a alavanca virada pra direita vai se transformar num green fungi, se der use no green fungi ele vai se transformar no item abaixo dele, e assim vai.if tableitem.itemid == <id do item> thendoTransformItem(item.uid,item.itemid+1)
doTeleportThing(cid,newplayerpos)
else
doTransformItem(item.uid,item.itemid-1)
end
Pra corrigir esse erro coloque algo do tipo:
if tableitem.itemid == <id do item> then if item.itemid == 1945 then doTransformItem(item.uid,item.itemid+1) doTeleportThing(cid,newplayerpos) else doTransformItem(item.uid,item.itemid-1) end elseif tableitem.itemid ~= <id do item> then if item.itemid == 1945 then doTransformItem(item.uid,item.itemid+1) else doTransformItem(item.uid,item.itemid-1) end end
- denovo, a stackpos é desnecessária.bosspos = {x=posx, y=posy, z=posz, stackpos=253}e o alavboss tah estranho, acho q pra fazer o q vc quer o melhor é deixar:
function onUse(cid, item, frompos, item2, topos) a1pos = {x=posx, y=posy, z=posz} --tem q mudar o posx, posy e posz pra onde a alavanca 1 vai teleportar a2pos = {x=posx, y=posy, z=posz} --tem q mudar o posx, posy e posz pra onde a alavanca 2 vai teleportar a3pos = {x=posx, y=posy, z=posz} --tem q mudar o posx, posy e posz pra onde a alavanca 3 vai teleportar if item.itemid == 1945 and item.uid == 5002 then doTransformItem(item.uid,item.itemid+1) doTeleportThing(cid,a1pos) elseif item.itemid == 1945 and item.uid == 5003 then doTransformItem(item.uid,item.itemid+1) doTeleportThing(cid,a2pos) elseif item.itemid == 1945 and item.uid == 5004 then doTransformItem(item.uid,item.itemid+1) doTeleportThing(cid,a3pos) else doTransformItem(item.uid,item.itemid-1) end return 1 end
é isso, espero que vc aprenda a não postar codes sem antes testá-los e ter certeza de que eles estão funcionando.
~Capaverde
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.
[Encerrado][Fighting Spirit] Procurando spriter, mapper ou programador coadjuvante
em Formação de Equipes
Postado
O projeto não é um OTServer, mas um jogo independente inspirado em Tibia
Demo:
Está usando placeholders e seria bom um redraw de quase todos os sprites, para ficar com um estilo próprio.
O código é em javascript e utiliza NW.js para gerar o executável. Ele será open-source no futuro.
Para o mapa, estou terminando uma ferramenta para mappear semelhante aos OTBM editor, inspirada no editor Tiled. Essa ferramenta também será open-source. O mapa será um de 'MOBA', com uma base para cada time dar respawn, um castelo medieval ou outro tipo de construção.
Como é um projeto independente do cliente de Tibia, novos items podem ser criados à requisição do mapper ou do designer.
Interessados postem aqui ou me contatem por mensagem particular.