[Encerrado] Opcode bugado

Jeanzeraah
em Tópicos Sem Resposta

Jeanzeraah

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 04/11/18Posts: 7

opa eai pessoa blz?

tenho opcode instalado no meu ot porem ele só está funcionando com  a função onAttack

por ex:

assim não funciona e não da nenhum erro no executavel:

 

function onExtendedOpcode(cid, opcode, buffer)
   if isCreature(cid) then
   doSendPlayerExtendedOpcode(cid, 81, 81)
   doPlayerSendCancel(cid,"ENVIANDO OPCODE")
   
   end
  return true
  end

 

 

assim funciona :

 

function onAttack(cid, target)
	if isCreature(cid) and isCreature(target) then
		   doSendPlayerExtendedOpcode(cid, 81, 81)
                  doPlayerSendCancel(cid,"ENVIANDO OPCODE")
	end
return true
end

 

alguem da um help?
 

Gengo

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 10/03/13Posts: 177Gênero: MasculinoChar no Tibia: stor akia

Seu otClient deve enviar uma chamada para executar a função onExtendedOpcode.

 

Utilizando a função no seu client: 

g_game.getProtocolGame():sendExtendedOpcode(81," ")

Sua função deve ser executado.

Segue esse link: https://github.com/edubart/otclient/issues/839 para ver um exemplo um pouco mais complexo.

Espero que você possa entender, qualquer dúvida só falar.

Jeanzeraah

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 04/11/18Posts: 7
8 horas atrás, luis700 disse:

Seu otClient deve enviar uma chamada para executar a função onExtendedOpcode.

 

Utilizando a função no seu client: 

g_game.getProtocolGame():sendExtendedOpcode(81," ")

Sua função deve ser executado.

Segue esse link: https://github.com/edubart/otclient/issues/839 para ver um exemplo um pouco mais complexo.

Espero que você possa entender, qualquer dúvida só falar.

não estou conseguindo irmão , parece que minha function onExtendedOpcode nao recebe o opcode ;s

 

 

meu Creatureevent:

 

local effect = 30 -- id do magic effect
function onExtendedOpcode(cid, opcode, buffer)
    if opcode = 98 then
        doSendMagicEffect(getCreaturePosition(cid), effect)
        doSendPlayerExtendedOpcode(cid, 81, 81)
    end
return true
end

 

 

meu int no client 

 


function init()
ProtocolGame.registerExtendedOpcode(81, sendBottom)
g_game.getProtocolGame():sendExtendedOpcode(98, "test")
tutorialButton = modules.client_topmenu.addRightGameToggleButton('tutorialButton', tr('tutorial'), '/images/topbuttons/skills', toggle)
tutorialButton:setOn(false)
tutorialWindow = g_ui.loadUI('Extra Skill')
tutorialWindow:disableResize()
tutorialWindow:setup()
g_keyboard.bindKeyDown('1', sendBottom)
end
 

 

 

meu register event :

 

 

function onCastSpell(cid, var)
      registerCreatureEvent(cid, "targetCreature")
    return doCombat(cid, combat, var)
end

 

eu consigo se mudar o creaturescript pra onFollow ou onAttack , ai eu ataco se usar o castspell ele envia o opcode ,

acredito que não estou sabendo fazer client e server conversar pelo onExtendedOpcode , ou ele esteja bugado embora não apareça erro nenhum no executavel do server.. :((

Gengo

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 10/03/13Posts: 177Gênero: MasculinoChar no Tibia: stor akia
1 hora atrás, Jeanzeraah disse:

não estou conseguindo irmão , parece que minha function onExtendedOpcode nao recebe o opcode ;s

 

 

meu Creatureevent:

 

local effect = 30 -- id do magic effect
function onExtendedOpcode(cid, opcode, buffer)
    if opcode = 98 then
        doSendMagicEffect(getCreaturePosition(cid), effect)
        doSendPlayerExtendedOpcode(cid, 81, 81)
    end
return true
end

 

 

meu int no client 

 


function init()
ProtocolGame.registerExtendedOpcode(81, sendBottom)
g_game.getProtocolGame():sendExtendedOpcode(98, "test")
tutorialButton = modules.client_topmenu.addRightGameToggleButton('tutorialButton', tr('tutorial'), '/images/topbuttons/skills', toggle)
tutorialButton:setOn(false)
tutorialWindow = g_ui.loadUI('Extra Skill')
tutorialWindow:disableResize()
tutorialWindow:setup()
g_keyboard.bindKeyDown('1', sendBottom)
end
 

 

 

meu register event :

 

 

function onCastSpell(cid, var)
      registerCreatureEvent(cid, "targetCreature")
    return doCombat(cid, combat, var)
end

 

eu consigo se mudar o creaturescript pra onFollow ou onAttack , ai eu ataco se usar o castspell ele envia o opcode ,

acredito que não estou sabendo fazer client e server conversar pelo onExtendedOpcode , ou ele esteja bugado embora não apareça erro nenhum no executavel do server.. :((

 

Faça o seguinte, faça um bem basico como exemplo aquele link, para que você mesmo possa entender como o fluxo funciona.

 

Obs: Verifica se foi registrado no creaturescript.xml e no onLogin e mais uma coisa se sua opcode for trabalhar com 81 use 81 tanto no server como no client, há não ser que a opcode sejá para outra execução, falo isso pq vc registrou 81 e envia 98.

 

Atente-se bem na hora de fazer, faça algo bem simples para entender o fluxo de como funciona, talvez aquele link que passei possa ser algo simples para entender como ocorre.

Jeanzeraah

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 04/11/18Posts: 7
17 horas atrás, luis700 disse:

 

Faça o seguinte, faça um bem basico como exemplo aquele link, para que você mesmo possa entender como o fluxo funciona.

 

Obs: Verifica se foi registrado no creaturescript.xml e no onLogin e mais uma coisa se sua opcode for trabalhar com 81 use 81 tanto no server como no client, há não ser que a opcode sejá para outra execução, falo isso pq vc registrou 81 e envia 98.

 

Atente-se bem na hora de fazer, faça algo bem simples para entender o fluxo de como funciona, talvez aquele link que passei possa ser algo simples para entender como ocorre.

fiquei 4 horas tentando meu rei , cheguei a conclusão que meu creature event onExtendeOpcode não está funcionando , só consigo usa o doSendPlayerExtendedOpcode(cid, 98, "teste") em outros creature events....        estou mais do que triste kkkkk

vou tentar criar um creature event  em que o player não precise atacar ou dar follow para ser usado ... que eu possa registrar ele em um onCastSpell.. você poderia me ajudar? kkk

Marshmello

Alone ~ [✖‿✖]
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 21/04/16Posts: 831Gênero: Masculino
A questão neste suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta.

+ Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda.
* Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado.

placa1.png.90a184502351cebe72cd7b69751e551d.png

Meu Facebook

INFOS:

Citar

CIDADE: Rio de janeiro

Idade: 22 anos
SOU: {"Scripter(lua)", "WebMaster", "ProgramadorC++"}
 

local config = {
	delrey = getPlayerCarValue(cid, DELREY),
	cigarro = getPlayerCancer(cid, DERBY),
	prostituta = getPlayerAIDS(cid, cracuda),
	tresOitao = getPlayerRevorvi(cid, 38)
}
if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end