Ir para conteúdo
  • Cadastre-se

(Resolvido)New Pokemon Bar OTCLIENT


Ir para solução Resolvido por Aberos,

Posts Recomendados

Oi galera!

 

Primero que nada me disculpo mi portugués (traductor)

 

 

Eu to creando isso:

 

uHwBo6y.png?1

 

Mas eu nao consigo fazer que o "Health Bars" tenha funcao...

eu ja crei um comando pra ver % de vida no pokemon do jogador

 

ogP1gLT.png?1

 

Eu não tenho conhecimento suficiente da OTC para fazer isso.

 

Me Pregunto sí alguien me entendio, y si es asi, por favor ayudeme.

 

http://Pokexmortal.com/ ONLINE!

Todo mondo Bienvenido :D ! Serv serio 24/7 comunidade Latina!

Link para o post
Compartilhar em outros sites
IconPoke < Button
  width: 40
  height: 60
  image-size: 40 40
  image-clip: 0 0 0 0
  image-color: white
  focusable: false
  anchors.top: parent.top
  anchors.left: parent.left

HealthBar1 < ProgressBar
  id: healthBar
  background-color: #ff4444
  anchors.top: parent.top
  anchors.left: parent.left
  anchors.right: parent.right
  size: 60  5
  margin: 1  
  
Poke < UIProgressRect
  background: #585858AA
  percent: 100
  focusable: false
  font: verdana-11px-rounded
  color: #FFFFFF
  
Window
  id: optionsWindow
  !text: tr('Pokes')
  size: 255  72
  focusable: false
  &save: true
  opacity: 0.95

http://Pokexmortal.com/ ONLINE!

Todo mondo Bienvenido :D ! Serv serio 24/7 comunidade Latina!

Link para o post
Compartilhar em outros sites

no caso cada health bar tem q ter um id diferente, tipo healthbar1,healthbar2 ate o 6

 

vc tem q registrar isso na function init()

connect(g_game, 'onTextMessage', onPokes)

e isso na function terminate()

disconnect(g_game, 'onTextMessage', onPokes)

ai adicona essa function 

function onPokes(mode, text)
if not g_game.isOnline() then return end
   if mode == MessageModes.Failure then 
      if string.find(text, 'Pokehp/') then
         local t = text:explode('/')
         table.remove(t, 1)
         for i = 1, #t do
            Window:recursiveGetChildById('HealthBar'..i):setValue(t[i], 0, 100)
         end
      end
   end
end

eu acho que pode dar algum erro pois fiz correndo essa funcao ^^, no lugar de "Window" voce coloca o nome da sua window

Editado por Aberos (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Desculpa, retirado aqui, não vi o post anterior...

Editado por Snowsz (veja o histórico de edições)
                              _
                          .-'` `}
                  _./)   /       }
                .'o   \ |       }
                '.___.'`.\    {`
                /`\_/  , `.    }                                      ME DA UMA NOZ!
                \=' .-'   _`\  {
                 `'`;/      `,  }
                    _\   @   ;  }
                   /__`;-...'--'

Cluck!

Link para o post
Compartilhar em outros sites

ERROR: protected lua call failed: LUA ERROR:
/game_extrapokebar/barpoke.lua:102: attempt to index a nil value
stack traceback:
	[C]: ?
	/game_extrapokebar/barpoke.lua:102: in function </game_extrapokebar/barpoke.lua:95>

:(

Vou postar o LUA:

local barPoke = nil
local icons = {}

-- Public functions
function init()
   barPoke = g_ui.displayUI('barpoke', modules.game_interface.getRootPanel())
   barPoke:setVisible(false)  
   barPoke:move(250,50)
   
   connect(g_game, 'onTextMessage', getParams)
   connect(g_game, 'onTextMessage', onPokes)
   connect(g_game, { onGameEnd = hide } )
   connect(g_game, { onGameStart = show } )

   createIcons()
end

function terminate()
   disconnect(g_game, { onGameEnd = hide })
   disconnect(g_game, 'onTextMessage', getParams)
   disconnect(g_game, 'onTextMessage', onPokes)

   destroyIcons()
   barPoke:destroy()
end


function getParams(mode, text)
if not g_game.isOnline() then return end
   if mode == MessageModes.Failure then 
      if string.sub(text, 1, 9) == "BarClosed" then
      hide()
      elseif string.sub(text, 1, 7) == "Pokebar" then
         atualizarBar(text)
   end
end
end

function atualizarBar(text)
if not g_game.isOnline() then return end
local talk = "/pokamon"
show()
cleanAllPokes()
local t = string.explode(text, "/")
for i=2, #t do
x= i-1
local poke = t[i]
local zafrada = i-1
local progress = icons['Icon'..x].progress
changeIconPoke(x, poke)
progress.onClick = function() g_game.talk(talk.." "..poke..""..zafrada.."")
end 
end
end


function changeIconPoke(i, poke)
if not g_game.isOnline() then return end
   local icon = icons['Icon'..i].icon
local image = "pokes/"..poke..".png"
   icon:setImageSource(image)
end

function createIcons()
   local d = 36
   local image = "pokes/portait.png"
   for i = 1, 6 do
      local icon = g_ui.createWidget('IconPoke', barPoke)
      local icon1 = g_ui.createWidget('HealthBar', icon)
      local progress = g_ui.createWidget('Poke', barPoke) 
      icon:setId('Icon'..i)  
      progress:setId('Progress'..i)  
      icons['Icon'..i] = {icon = icon, progress = progress, dist = (i == 1 and -5 or i == 2 and 35 or d + ((i-2)*38)), event = nil}
      icon:setMarginLeft(icons['Icon'..i].dist)
      icon:setImageSource(image)
      icon:setMarginTop(-5)
      icon1:setMarginTop(30)
      icon1:setMarginLeft(-3)
      icon1:setMarginRight(-6)
      progress:fill(icon:getId())
   end
end

function cleanAllPokes()
   local image = "pokes/portait.png"
   for i = 1, 6 do
       local icon = icons['Icon'..i].icon
       icon.onClick = function() end
      icon:setImageSource(image)
     local progress = icons['Icon'..i].progress
     progress.onClick = function() g_game.talk("") end  
end               
end

function onPokes(mode, text)
if not g_game.isOnline() then return end
   if mode == MessageModes.Failure then 
      if string.find(text, 'Pokehp/') then
         local t = text:explode('/')
         table.remove(t, 1)
         for i = 1, #t do
            barPoke:recursiveGetChildById('HealthBar'..i):setValue(t[i], 0, 100)
         end
      end
   end
end

function hide()
   barPoke:setVisible(false)
end

function show()
   barPoke:setVisible(true)
end
-- End public functions

EDIT: eu removei os "%" no comando para que assim nao tenha errores, mais o LUA em OTC sigue com errores jaja :c

http://Pokexmortal.com/ ONLINE!

Todo mondo Bienvenido :D ! Serv serio 24/7 comunidade Latina!

Link para o post
Compartilhar em outros sites
  • Solução

substitui por isso

local barPoke = nil
local icons = {}
 
-- Public functions
function init()
   barPoke = g_ui.displayUI('barpoke', modules.game_interface.getRootPanel())
   barPoke:setVisible(false)  
   barPoke:move(250,50)
   
   connect(g_game, 'onTextMessage', getParams)
   connect(g_game, 'onTextMessage', onPokes)
   connect(g_game, { onGameEnd = hide } )
   connect(g_game, { onGameStart = show } )
 
   createIcons()
end
 
function terminate()
   disconnect(g_game, { onGameEnd = hide })
   disconnect(g_game, 'onTextMessage', getParams)
   disconnect(g_game, 'onTextMessage', onPokes)
 
   destroyIcons()
   barPoke:destroy()
end
 
 
function getParams(mode, text)
if not g_game.isOnline() then return end
   if mode == MessageModes.Failure then 
      if string.sub(text, 1, 9) == "BarClosed" then
      hide()
      elseif string.sub(text, 1, 7) == "Pokebar" then
         atualizarBar(text)
   end
end
end
 
function atualizarBar(text)
if not g_game.isOnline() then return end
local talk = "/pokamon"
show()
cleanAllPokes()
local t = string.explode(text, "/")
for i=2, #t do
x= i-1
local poke = t[i]
local zafrada = i-1
local progress = icons['Icon'..x].progress
changeIconPoke(x, poke)
progress.onClick = function() g_game.talk(talk.." "..poke..""..zafrada.."")
end 
end
end
 
 
function changeIconPoke(i, poke)
if not g_game.isOnline() then return end
   local icon = icons['Icon'..i].icon
local image = "pokes/"..poke..".png"
   icon:setImageSource(image)
end
 
function createIcons()
   local d = 36
   local image = "pokes/portait.png"
   for i = 1, 6 do
      local icon = g_ui.createWidget('IconPoke', barPoke)
      local icon1 = g_ui.createWidget('HealthBar', icon)
      local progress = g_ui.createWidget('Poke', barPoke) 
      icon:setId('Icon'..i)  
      progress:setId('Progress'..i)  
      icons['Icon'..i] = {icon = icon, progress = progress, dist = (i == 1 and -5 or i == 2 and 35 or d + ((i-2)*38)), event = nil}
      icon:setMarginLeft(icons['Icon'..i].dist)
      icon:setImageSource(image)
      icon:setMarginTop(-5)
      icon1:setMarginTop(30)
      icon1:setMarginLeft(-3)
      icon1:setMarginRight(-6)
      icon1:setId('HealthBar'..i) 
      progress:fill(icon:getId())
   end
end
 
function cleanAllPokes()
   local image = "pokes/portait.png"
   for i = 1, 6 do
       local icon = icons['Icon'..i].icon
       icon.onClick = function() end
      icon:setImageSource(image)
     local progress = icons['Icon'..i].progress
     progress.onClick = function() g_game.talk("") end  
end               
end
 
function onPokes(mode, text)
if not g_game.isOnline() then return end
   if mode == MessageModes.Failure then 
      if string.find(text, 'Pokehp/') then
         local t = text:explode('/')
         table.remove(t, 1)
         for i = 1, #t do
            barPoke:recursiveGetChildById('HealthBar'..i):setValue(t[i], 0, 100)
         end
      end
   end
end
 
function hide()
   barPoke:setVisible(false)
end
 
function show()
   barPoke:setVisible(true)
end
-- End public functions
Editado por Aberos (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Excelente mais qnd o treinador tem 5 o menos pokes o barra sigue alhi 

zTfZEom.png?1

E posivele arrumar iso?

Obrigado mto obrigado.

http://Pokexmortal.com/ ONLINE!

Todo mondo Bienvenido :D ! Serv serio 24/7 comunidade Latina!

Link para o post
Compartilhar em outros sites

acho que assim deve funcionar

local barPoke = nil
local icons = {}
 
-- Public functions
function init()
   barPoke = g_ui.displayUI('barpoke', modules.game_interface.getRootPanel())
   barPoke:setVisible(false)  
   barPoke:move(250,50)
   
   connect(g_game, 'onTextMessage', getParams)
   connect(g_game, { onGameEnd = hide } )
   connect(g_game, { onGameStart = show } )
 
   createIcons()
end
 
function terminate()
   disconnect(g_game, { onGameEnd = hide })
   disconnect(g_game, 'onTextMessage', getParams)
  
   destroyIcons()
   barPoke:destroy()
end
 
 
function getParams(mode, text)
if not g_game.isOnline() then return end
   if mode == MessageModes.Failure then 
      if string.sub(text, 1, 9) == "BarClosed" then
        hide()
      elseif string.sub(text, 1, 7) == "Pokebar" then
        atualizarBar(text)
      elseif string.find(text, 'Pokehp/') then
   onPokes(text)
   end
end
end
 
function atualizarBar(text)
if not g_game.isOnline() then return end
local talk = "/pokamon"
show()
cleanAllPokes()
local t = string.explode(text, "/")
for i=2, #t do
x= i-1
local poke = t[i]
local zafrada = i-1
local progress = icons['Icon'..x].progress
changeIconPoke(x, poke)
progress.onClick = function() g_game.talk(talk.." "..poke..""..zafrada.."")
end 
end
end
 
 
function changeIconPoke(i, poke)
if not g_game.isOnline() then return end
   local icon = icons['Icon'..i].icon
local image = "pokes/"..poke..".png"
   icon:setImageSource(image)
end
 
function createIcons()
   local d = 36
   local image = "pokes/portait.png"
   for i = 1, 6 do
      local icon = g_ui.createWidget('IconPoke', barPoke)
      local icon1 = g_ui.createWidget('HealthBar', icon)
      local progress = g_ui.createWidget('Poke', barPoke) 
      icon:setId('Icon'..i)  
      progress:setId('Progress'..i)  
      icons['Icon'..i] = {icon = icon, progress = progress, dist = (i == 1 and -5 or i == 2 and 35 or d + ((i-2)*38)), event = nil}
      icon:setMarginLeft(icons['Icon'..i].dist)
      icon:setImageSource(image)
      icon:setMarginTop(-5)
      icon1:setMarginTop(30)
      icon1:setMarginLeft(-3)
      icon1:setMarginRight(-6)
 icon1:setId('HealthBar'..i) 
      progress:fill(icon:getId())
   end
end
 
function cleanAllPokes()
   local image = "pokes/portait.png"
   for i = 1, 6 do
       local icon = icons['Icon'..i].icon
  local icon1 = barPoke:recursiveGetChildById('HealthBar'..i)
       icon.onClick = function() end
      icon:setImageSource(image)
     local progress = icons['Icon'..i].progress
     progress.onClick = function() g_game.talk("") end
     icon1:hide() 
end               
end
 
function onPokes(text)
if not g_game.isOnline() then return end
    local t = text:explode('/')
    table.remove(t, 1)
    for i = 1, #t do
barPoke:recursiveGetChildById('HealthBar'..i):show()
        barPoke:recursiveGetChildById('HealthBar'..i):setValue(t[i], 0, 100)
    end
end
 
function hide()
   barPoke:setVisible(false)
end
 
function show()
   barPoke:setVisible(true)
end
-- End public functions
Link para o post
Compartilhar em outros sites
  • 6 months later...

En mi cliente aparecen (12/12/12/12/12/12/121/12//12/12/21) asi e vez de la barra de cooldown. Que puede ser??

Link para o post
Compartilhar em outros sites
  • 2 years later...
  • 5 months later...

RPG8k8H.png

Agora e auto ajustavel, sem imagenes .png apenas usa os sprID dos portraits dos pokemon, totalmente optimizada sendo natural para o server.

Eu instalo no Cliente + server (Eu torná-lo compatível) para a soma modica de 40 usd paypal

 

Discord: Chavoz #5781

Editado por chavoz (veja o histórico de edições)

http://Pokexmortal.com/ ONLINE!

Todo mondo Bienvenido :D ! Serv serio 24/7 comunidade Latina!

Link para o post
Compartilhar em outros sites
  • 1 year later...

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.


  • Conteúdo Similar

    • Por Zagaf
      ShowOff Poketibia
       
      Bom a alguns dias atrás eu comecei a reformular um mapa de poketibia que eu baixei (pokexmaster) , ate o momento eu refiz a cidade de saffron.
       
       
       
       
       
    • Por Baryon
      Boa noite amigos, estou aqui para apresentar meu projeto.
      Estou aqui no intuito de tentar desenvolver um ats baseado em naruto full perspectiva e com uso reduzido de bot, teremos um bot próprio que ira lhe auxiliar na cura e com espaço para 1 magia com finalidade de treino, assim focando que os players possam tentar se divertir jogando na mao tanto a parte pve como pvp do game (oque eu acho mais legal).
      O Servidor ja se encontra com alguns sistema sendo eles:
      ・Passe de batalha
      ・Painel de missoes 
      ・Village war
      ・Sistema de vilas
      ・Bingo book
      ・Autoloot
      ・Ninja procurado
      ・Painel de Dungeons
      ・ World Boss
      Nossas vocaçoes sao divididas em classes sendo elas:
       ・Shooters: Deidara, Gaara, Kankuro, Tenten, Sasori, Konan.
       ・Especialistas: Shikamaru, Nagato, Hashirama, Oonoki, Orochimaru.
       ・Assassinos: Asuma, Madara, Minato, Sasuke, Obito, Kisame.
       ・Suportes: Sakura, Shizune, Ino, Tsunade.
       ・Lutadores: Naruto, Kiba, Chouji, Lee, Neji, Hinata.
             (obs: ja temos por volta de mais 10 personagens "prontos" alem desses com foco em atualizações futuras)
       Atualmente apenas eu e mais uma pessoas estamos desenvolvendo o servidor e ambos trabalham o tempo ou seja nao temos tanto tempo disponivel entao estou em buscas de novas pessoas com certa experiencia para integrar a equipe tenho em mente 4 vagas disponiveis que sao: 1 Mapper, 1 Dev, 1 Designer, 1 Moderador (ficara em contato com a staff e interagindo em nosso discord, ficando por dentro das novidades e no inicio do game ira iniciar como tutor para auxiliar os players).
       Caso alguem tenha interessa em embarcar nessa aventura favor entrar em contato cmg pelo discord 😉 em breve estarei postando mais atualizaçoes do ot aqui!

       Nosso discord: https://discord.gg/pPTkbAnNSV
      Meu contato no discord: baryon1492



    • Por Underewar
      Tutorial: Criando um Sistema de Enviar efeito com OTClient.


       
      Neste tutorial, vamos criar um sistema simples de Enviar efeito no OTClient.
      Este sistema permitirá que os jogadores ativem um efeito especial e vejam uma janela ao clicar em um botão específico.
      Pré-requisitos:
      Ambiente de Desenvolvimento:
      Certifique-se de ter um ambiente de desenvolvimento configurado com OTClient Edubart. Conhecimento Básico em Lua:
      Familiaridade com a linguagem de script Lua.
       
      Passo 1: Estrutura do projeto
       
      Organize seu projeto conforme abaixo:

      OTC / MODS



      Passo 2: Criando a Interface Gráfica (OTUI)

      game_pass.otui
      Repare que em nossa interface nossos botões de ação entram no caminho do module e iniciam uma função que esta disponivel em nosso game_pass.lua (Client-Side)

       



      Passo 3: Criando funções Client-Side

      Agora com as funções criada podemos chamar elas de acordo com a necessidade em nosso arquivo de interface.
      Por exemplo a função effect() que foi chamada em nosso arquivo de interface.otui agora é criada aqui para mostrar o efeito ao jogador.

      game_pass.lua
       
       
      Passo 4: Registrando o novo Mod

      Agora podemos registrar e iniciar nosso modulo usando o arquivo de configuração

      game_pass.otmod
       

      Feito isso ja podemos ver nosso module no client e enviar opcodes através do gameprotocol e também receber o buffer para manipular os dados podemos utilizar :
      protocolGame:sendExtendedOpcode(14, "1")
      Basicamente oque estamos fazendo é armazenando o valor 1 na variaval 14 do ExtendedOpcode e futuramente podemos recuperar esse valor.

      Recuperamos esse valor em nosso server side data/creatuerscript/otc/game_pass.lua

      Verificando se o opcode é 14 se for 14 então fazemos x ação.

      Show, tendo isso em mente para que o nosso client-side consiga receber com sucesso o efeito enviado ao jogador então utilizamos 

      Passo 5: Criando o Server-side responsavel por enviar o efeito correto ao jogador dependendo do opcode selecionado no nosso cliente.

      data/creaturescripts/otc/game_pass.lua
       
      Passo 6: Registrando o evento para evitar erros futuros!
      Para que tudo funcione corretamente sem erros é  necessário registrar o evento no creaturescript.xml / login.lua

      creaturescript.xml
      <event type="extendedopcode" name="GamePass" script="otc/game_pass.lua" />
      login.lua
          player:registerEvent("GamePass")  


      Ótimo agora ao selecionar o menu recompensa o jogador recebera um efeito.

      Espero que tenha ficado claro como usar Opcodes/ExetendedOpcodes.

      Arquivos usados no tutorrial:
      OTC MODULE
      game_pass.rar
      Creaturescript
      game_pass.lua

      Vi muitos tutoriais desatualizado então resolvi trazer esse!
      Reparem que nesse caso passamos creature como parametro do buffer isso porque precisamos enviar um efeito no player.

      Melhorando a formatação com JSON Encoder

       
       
    • Por Underewar
      Após anos sem contribuir com um servidor fico feliz em lançar essa versão com muitas correções!

      Está versão é a versão OPEN_BETA.

      Que pode ser testada aqui. (Online até dia 25/05/2023)

      Foram corrigos muitos bugs e existem diversas melhorias em muitos dos sistemas existentes.

      Vocês podem encontrar as Libs que devem estar com uns 30% desses novos sistemas que foram adicionados e podem testar ou usar os códigos.

      O servidor esta online a 120+ dias, foi construído com XP 1 e bateu 66 Players Online.

      O ideal é usar este servidor em low rate.

      Atualizações

      Verifique a pagina do facebook para saber todas as atualizações!
      Se você curtiu acompanhe a pagina para acompanha o lançamento do jogo oficial!
       
      Importante
       

      A cada onda do nosso sistema de incursões, você terá a chance de encontrar um Pokémon Shiny raro e, após a terceira onda, um chefe shiny ainda mais raro aparecerá, oferecendo recompensas valiosas para os treinadores ousados o suficiente para enfrentá-lo.
      Utilize seus tokens de incursão para reiniciar o sistema e tentar novamente.

      Para saber sobre todas as novidades Por favor considere olhar nossa pagina,

      https://www.facebook.com/pokexadventure/photos
       
      Imagens
       
       
      Downloads

      Para configurar basta substituir a pasta data que você pode encontrar fazendo download da source, cole a pasta data baixa do Pokexadventure e divirta-se!

      Sources

      pokexadventure_open_beta_datapack.rar

      DLLS + Executaveis (Windows)

      OTC
       
      (mediafire.com)
       
      Website
       
      https://github.com/otsoft/myaac

      Ferramentas : 
      auto_restarter_windows.bat

      RME 3.5 ou superior.

      Object builder 10.98 Support ou superior.

      Item editor 10.98 Support ou superior.

      Tutoriais para Compilações
       

      Créditos : @Underewar @pota
    • Por Tungsx
      Olá a todos,
      Recentemente, trabalhei em um projeto de desenvolvimento de uma source para PDA e fiquei muito satisfeito com os resultados. Depois de muito esforço e testes, consegui atingir cerca de 90% de sucesso na implementação da source em diversos PDAs. Agora, gostaria de compartilhar meu trabalho com vocês.
      A source é escrita em C++ e possui diversas funções, incluindo getDamageMapPercent, isPokeball e Order System (getDirectionToWalk). Adicionado raças (Crystal, Steel, Dark), função OnSpawn, Pokemon Passivos e agressivos. Além disso, é altamente compatível com a maioria dos PDAs, embora possa haver algumas adaptações necessárias dependendo do dispositivo específico.
      Para quem estiver interessado em testar a source, deixo aqui o link para todas as funções: https://pastebin.com/EdvX88gv
      Ficarei muito grato por qualquer feedback que vocês possam me dar sobre a minha source. Compartilhar conhecimento e ajudar a comunidade é sempre muito gratificante e espero que minha source possa ajudá-los em seus projetos. Obrigado pela atenção e apoio!
      Atenciosamente, Tungs (kevick)
      a source se encontra anexada nesse tópico + link do mediafire para quem não conseguir baixar aqui.
       
      DOWNLOAD DA SOURCE ATUALIZADA: https://www.mediafire.com/file/nbf3ypdv8yaf903/Source_PDA_atualiza%C3%A7%C3%A3o_052023.rar/file
       
      PS. QUALQUER ERRO EU AJUDAREI, BASTA COMENTAR AQUI NO TÓPICO
       
      SCAN : https://www.virustotal.com/gui/file/d0a3903d6d246dfaa63c0813e7dc91c5d8cb4ebf3f4969ed0e81dbb04504de5e?nocache=1
       
      ATUALIZAÇÃO 052023
      ADIÇÃO DA FUNÇÃO getDirectionToWalk (C++) após baixar e compilar a nova source que se encontra logo abaixo, adicione em 032-position.lua que se encontra na pasta lib a função abaixo:
      function getDirectionToWalk(p1, pos2) local dir = NORTH local pos1 = getCreaturePosition(p1) if(pos1.x > pos2.x) then dir = WEST if(pos1.y > pos2.y) then dir = NORTHWEST elseif(pos1.y < pos2.y) then dir = SOUTHWEST end elseif(pos1.x < pos2.x) then dir = EAST if(pos1.y > pos2.y) then dir = NORTHEAST elseif(pos1.y < pos2.y) then dir = SOUTHEAST end else if(pos1.y > pos2.y) then dir = NORTH elseif(pos1.y < pos2.y) then dir = SOUTH end end return dir end function getNextStepDelay(cid, dir) return tonumber(398) end  
       
       
       
      Source PDA atualização 052023.rar
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo