Ir para conteúdo

Capaverde

Campones
  • Total de itens

    12
  • Registro em

  • Última visita

Sobre Capaverde

Perfil

  • Gênero
    Masculino

Informações

  • Forma que conheci o xTibia
    Otservs
  • Sou
    Programador

Últimos Visitantes

2170 visualizações

Capaverde's Achievements

  1. 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.
  2. 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
  3. te teleporta de volta pro lugar que voce salvou
  4. ^^
    Feliz aniversario =P
  5. 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
  6. mas daih o cara ia ter q ficar tirando e colocando o ring eh mais facil soh dar use
  7. 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
  8. 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: 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
  9. Que vergonha! Esses codes tão bugados e não vão funcionar. Fiz uma listinha dos erros: - 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 seria 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. 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. 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.
×
×
  • Criar Novo...