Jump to content
×
×
  • Create New...

Pokeultion

Campones
  • Posts

    11
  • Joined

  • Last visited

About Pokeultion

Perfil

  • Gênero
    Masculino

Informações

  • Forma que conheci o xTibia
    Sites de Busca
  • Sou
    Programador

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Se for usar solto em apenas um script usa igual o amigo ai em cima falou, mas se realmente for usar mais vezes e achar mais pratico usar a função: function doPlayerAddItemAttribute(cid, item, quantidade, atributo) local item = doPlayerAddItem(cid, item, quantidade) doItemSetAttribute(item, atributo) return true end
  2. Acho que vou fazer o opcode retornar a permissão se o player pode ou não abrir a proxima aba de task, se não puder manda uma viso se puder abre a aproxima janela. Acho que ai não tem segredo. Então acho que temos um problema kkkk como eu disse, não estava executando direito. Oque eu fiz foi criar uma talkaction executando a função e no client coloquei um g_game.talk('talk') que executa o opcode pra poder atualizar toda vez que abre a janela, no caso do mesmo jeito eu to chamando o opcode toda vez que abre a janela, pq coloquei o game.talk na function show() pra executar toda vez que abrir e atualizar a task asjeiajisej, pq será que sozinho ele n manda a informação automaticamente já ? No caso, o código todo ficou assim: Desse jeito ai nem os prints mostram quando eu abro a janela, agora se eu deixar executando a talk que executa o opcode ai funciona, mas como vc disse é errado, pois está chamando o opcode toda vez que abre a janela. #EDIT Estava aqui pensando... pra fazer esse código eu tava olhando como base o do npcDialog de um server ai... e no caso, tem alguma coisa no servidor que "ativa" esse opcode, que no caso é o npc. Sempre que vc fala com o npc o npc executa a função que ta na lib executando o opcode pelo servidor pode ser que o erro esteja ai, e também o motivo de só funcionar se eu executar a função dentro do servidor pra mandar o opcode, então provavelmente o problema ta no meu código lua do servidor, vou continuar dando uma olhada aqui
  3. Sim, tava fuçando aqui ontem e consegui dessa forma: taskWindow:recursiveGetChildById('labelPoke'):setText(param[1]). A unica coisa que não está acontecendo é que ele não ta executando o opcode quando abre a janela não sei pq kk, mas isso acho que fuçando eu vejo aqui, fiz uma gambiarrinha de executar uma talk pra executar o opcode pra atualizar quando abrir a janela kk. poderia só me explicar por favor, qual a importancia e função de declarar no começo taskWindow = nil ? E se tem alguma diferença em fazer função separada ou fazer a função direto no opcode como vc fez, ou se era algo errado na minha função ? Obrigado Porai, ajudou muito mano. Obrigado Pela ajuda também PostadorHunter e Bananafight, me ajudaram mt também, obrigado pela atenção de todos! Fuçando aqui também já consegui fazer a task trocar automaticamente a cada determinado tempo, toda vez que abrir a janela caso não tenha passado o tempo, o player não podera trocar XD. Agora falta fazer a parte de "rank" das tasks, como rank a,b,c etc... poderia me dizer teoricamente como devo proceder ? pra ver se consigo aplicar a teoria na pratica aqui... Obrigado pessoal ❤️
  4. Agora sim, está retornando esse erro: ERROR: protected lua call failed: LUA ERROR: /game_tasks/tasks.lua:7: attempt to index a nil value stack traceback: [C]: ? /game_tasks/tasks.lua:7: in function 'callback' /gamelib/protocolgame.lua:17: in function </gamelib/protocolgame.lua:14> OBS: Os prints estão retornando O nome do pokémon e a quantidade. #EDIT: Dei uma saida, agora que voltei estava fazendo uns testes. Coloquei o taskWindow:getChildById('labelPoke'):setText(param[1]) em outro lugar de outra forma. Coloquei o seguinte dentro da função show(): taskWindow:getChildById('labelPoke'):setText('eoq') só pra testar. E gerou o mesmo erro: ERROR: protected lua call failed: LUA ERROR: /game_tasks/tasks.lua:44: attempt to index a nil value stack traceback: [C]: ? /game_tasks/tasks.lua:44: in function 'show' /game_tasks/tasks.lua:56: in function 'callback' /client_topmenu/topmenu.lua:31: in function </client_topmenu/topmenu.lua:29>
  5. Notei isso, já arrumei mas da na mesmsa jaisjsaije. Na function show() se eu printar a ProtocolGame.registerExtendedOpcode(255, tasksInfo) aparece isso: OBS: Aparece isso independente do numero que eu coloque no opcode. Nada Acontece. @TOPIC Tentei colocar isso dentro da function show() só pra testar, e nada acontece também: taskWindow:getChildById('labelPoke'):setText('texto') Label id: labelPoke !text: tr('Teste') estou usando o Label desse jeito, acho que essa parte n tem mt segredo
  6. Agora que você falou, tentei colocar na função show(), mas nada acontece. Caso faça alguma diferença, olha o script.lua inteiro: Obrigado.
  7. Ainda não. Do jeito que eu tentei fazer, eu queria que as informações chegassem quando eu abrisse a janela, vou tentar printar pra ver se ta acontecendo desse jeito. #edit: tentei printar igual faço com lua no servidor, n sei se é assim: function tasksInfo(protocol, opcode, buffer) local param = buffer:split('@') print(param[1]) print(param[2]) taskWindow:getChildById('labelPoke'):setText(param[1]) taskWindow:getChildById('labelQuant'):setText(param[2]) end E o resultado é: feijoada, nada acontece.
  8. Olá pessoa, boa noite. Seguinte, estou tentando fazer uma janela de task no otc, e como em otc comecei agora não manjo nada, principalmente de opcode. Minha principal dúvida é, como fazer o opcode retornar Nome do pokémon da task e quantidade ? Segue oque eu tentei fazer: Código lua do servidor: Código LUA do client: Lembrando que também registrei a função ProtocolGame.registerExtendedOpcode(80, tasksInfo) na função init(). Depois disso, apenas usei Labels comuns com ID labelPoke e labelQuant. Mas mesmo assim, não aparece nada no texto ta label. Mas também não da erro no terminal. Então gostaria de saber oque eu estou fazendo errado e se possível uma breve explicação de como funciona o opcode certinho e tal, pois estou começando agora na parte de otc. Obrigado e boa noite a todos!
  9. Olá pessoal, minha dúvida é a seguinte, como usar o comando for nessa situação: Eu tenho a seguinte função: E a seguinte tabela como exemplo, e como já deve ser definida usando essa função: Se eu usar a função da seguinte maneira, ela funciona corretamente,a finalidade para qual eu vou usa-la é para remover monstros de uma area: Até ai tudo certo se eu usar dessa forma, como já disse tudo funciona corretamente, no entando, eu preciso que seja configurável quantas posições eu quiser checar para remover os montros, pois as vezes indices diferentes terão numeros de areas diferentes para serem checadas. Para isso, tentei usar o for da seguinte maneira: Mas fica dando o seguinte erro: for initial value must be a number, algo assim. Ainda estou aprendendo a programar e não tenho muito conhecimento, por isso gostaria que me ajudassem e me esclarecessem minha dúvida de como usar o for nessa situação. Caso não tenha ficado totalmente claro oque eu pretendo fazer, seria basicamente salas para matar monstros, tipo uma quest, só que toda vez que o jogador for entrar se ainda tiver monstros lá eles ser ão removidos, cada indice da tabela seria uma actionID diferente pra colocar em uma alavanca diferente pra startar a sala. Bom, acho que deu pra entender, espero que me ajudem com essa dúvida, e obrigado desde já!
  10. Boas vindas ao Pokeultion, que agora faz parte da nossa comunidade!

  • Recently Browsing   0 members

    • No registered users viewing this page.