-
Total de itens
702 -
Registro em
-
Última visita
-
Dias Ganhos
5
Tudo que BananaFight postou
-
Bom ver um de meus mods sendo usados Como é um projeto de SOA, recomendaria fazer um menu estilo o dele, com todos os botões para abrir o inventario, skills etc, e com o inventario transparentes etc, fica mais coerente com o anime.
-
Blz, ja falei com o Bax, só esperando uma resposta , fiquem calmos por favor, ja tive que dar suspensão de 24h pra nego folgado.
-
O que falta é uma lib, acho que é icon alguma coisa, de uma procurada. Mais só pra lembrar, Se você tiver com a pasta MGW das source do otclient não vai compilar, você precisa apagar ela e tentar denovo, acho que existe um "conflito" entre o codebloks e o Dev
-
Bom, 1° coisa Você foi alertado pela sua grosseria. @Topic: Vou te dar um exemplo pratico, você consegue fazer coco e andar ao mesmo tempo ?
-
Isso eu não posso ajudar, porque não foi só eu que desenvolvi o sistema.
-
Duvida Sanada ?
-
Cara é na pasta das source...
-
Falta algumas libs, aqui no xtibia ja tem tópicos ensinando como atualiza-las.
-
+ Rep pro @noni, por estar ajudando, tópico resolvido ?
-
+ Rep pra vocês por estarem ajudando , tópico resolvido ?
-
Pronto, corrigido, e desculpem pelo erro.
-
Só precisa melhorar um pouco na ordem dos botoes acho que esta muito vago a janela.
-
[Arquivado]Otclient - Informações Basicas
tópico respondeu ao kttallan de BananaFight em Noticias - Arquivo
OtClient - Informações Básicas Creio que isso ja seja o suficiente, E também acho que a área mais adequada seria em Discussão Geral, Então depois da reformulação dependendo de como ficar estarei movendo para lá. -
Creio ser um pouco mais complicado que isso, eu nunca tentei criar um novo então dessa vez não vou poder ajuda-lo, mais vou ver com Baxnie se ele sabe o que precisa fazer.
-
[Arquivado]Otclient - Informações Basicas
tópico respondeu ao kttallan de BananaFight em Noticias - Arquivo
@kttallan, Bom mesmo o skyligh tendo aprovado esse tutorial quando ele era Moderador, eu estou aqui para pedir uma edição do tópico todos e do titulo também, Vejo que este tópico não pode ser considerado um tutorial pois ele só explica a diferença de um client para o outro. Darei o prazo de 2 dias com uma tolerância máxima de 4 dias, Caso não ocorra a mudança estarei fechando o tópico. -
Tenta assim, e caso der +1 erro, me diga qual foi.
-
é que com as atualizações acorreram mudanças nas estruturas dos códigos, poste seu mod aqui que eu posso atualizar ele para você.
-
@StyloMaldoso, você poderia fazer de um modo que quando clicasse em New Char, ele executasse uma talkactions com as infos que foram escolhidas. @All, Pessoal, sei que estou um pouco ausente do fórum, e por isso quando eu trazer algo para o fórum irei tentar trazer algo que não foi visto ainda para mostrar as incríveis possibilidades que o OtClient nos oferece. E obrigado pelo apoio de todos vocês.
-
Esse Mod faz com que seja possível criar novos char na sua acc usando apenas o client. OBS: Ele usa Opcode, e com isso só é possível criar char com um personagem online, Porem o sistema é foi totalmente feito para funcionar com um personagem off, então a menos que você consiga editar as source do server, só será possível criar novos personagens na conta com um char logado, Pois os opcodes só funcionam com um char logado. Nome: Char MakerDescrição: Criado de charAutor: Eduardo Vicente (Banana Fight)Website: www.xtibia.com Client Side Client_Entergame/Entergame.lua Procure por: if modules.game_things.isLoaded() thenprotocolLogin:login(G.host, G.port, G.account, G.password) e embaixo adicione: accountName = G.account Client_Entergame/Characterlist.lua procure por : -- public functions[function CharacterList.init()connect(g_game, { onLoginError = onGameLoginError })connect(g_game, { onUpdateNeeded = onGameUpdateNeeded })connect(g_game, { onConnectionError = onGameConnectionError })connect(g_game, { onGameStart = CharacterList.destroyLoadBox })connect(g_game, { onLoginWait = onLoginWait })connect(g_game, { onGameEnd = CharacterList.showAgain })if G.characters thenCharacterList.create(G.characters, G.characterAccount)endend E substitua por : -- public functions[function CharacterList.init()connect(g_game, { onLoginError = onGameLoginError })connect(g_game, { onUpdateNeeded = onGameUpdateNeeded })connect(g_game, { onConnectionError = onGameConnectionError })connect(g_game, { onGameStart = CharacterList.destroyLoadBox })connect(g_game, { onLoginWait = onLoginWait })connect(g_game, { onGameEnd = CharacterList.showAgain })if G.characters thenCharacterList.create(G.characters, G.characterAccount)endnewChar = g_ui.displayUI('newchar')newChar:hide()endfunction sendAll()local msg = newChar:getChildById('msg')local name = newChar:getChildById('name'):getText()local sex = newChar:getChildById('sex'):getText()local voc = newChar:getChildById('vocation'):getText()local protocol = g_game.getProtocolGame()local sendSexlocal sendVocif sex == "male" thensendSex = 0elsesendSex = 1endif voc == "Sorcerer" thensendVoc = 1elseif voc == "Druid" thensendVoc = 2elseif voc == "Paladin" thensendVoc = 3elsesendVoc = 4endprotocol:sendExtendedOpcode(152, string.format("%s,%s,%d,%d", accountName, name, sendVoc, sendSex))msg:setColor("green")msg:setText("Character "..name.." Created")end Agora Crie um arquivo com o nome newchar.lua, e adiciona isso dentro : MainWindowid: characterCreator!text: tr('New Char')size: 210 250@onEnter: sendAll()Labelid: labelNametext: Choose your name:color: whitetext-auto-resize: trueanchors.top: parent.topanchors.left: parent.leftmargin-top: 2TextEditid: nameanchors.left: parent.leftanchors.right: parent.rightanchors.top: prev.bottommargin-top: 5Labelid: labelSextext: Chose your sextext-auto-resize: truecolor: whiteanchors.left: parent.leftanchors.top: name.bottommargin-top: 10ComboBoxid: sexanchors.left: parent.leftanchors.top: labelSex.bottommargin-top: 5width: 75options:- Male- FemaleLabelid: labelVocationtext: Chose your vocationtext-auto-resize: truecolor: whiteanchors.left: parent.leftanchors.top: sex.bottommargin-top: 10ComboBoxid: vocationanchors.left: parent.leftanchors.top: labelVocation.bottommargin-top: 5width: 100options:- Knight- Paladin- Sorcerer- DruidLabelid: msgtext-auto-resize: trueanchors.left: parent.leftanchors.top: vocation.bottommargin-top: 20Buttonid: creatChartext: Creat Charactercolor: whiteanchors.left: parent.leftanchors.bottom: parent.bottom@onClick: sendAll()Buttonid: canceltext: Cancelcolor: whiteanchors.left: creatChar.rightanchors.right: parent.rightanchors.bottom: parent.bottommargin-left: 10@onClick: newChar:hide() E no chartacterlist.otui, lá no final você apaga os 2 botões de "cancel" e "ok" e substituto por estes : Buttonid: newChartext: New Charwidth: 64anchors.left: parent.leftanchors.bottom: parent.bottom@onClick: newChar:show()Buttonid: buttonOk!text: tr('Ok')width: 64anchors.left: newChar.rightanchors.right: buttonCancel.leftanchors.bottom: parent.bottommargin-right: 10margin-left: 10@onClick: CharacterList.doLogin()Buttonid: buttonCancel!text: tr('Cancel')width: 64anchors.right: parent.rightanchors.bottom: parent.bottom@onClick: CharacterList.hide(true) Server Side Data/Creaturescritps/scripts crie um arquivo chamado exetendedopcode.lua, e adicione isso dentro : local QUERY = "INSERT INTO `players` VALUES (NULL, '%s', 0, 1, %d, 1, %d, 150, 150, 0, 0, 0, 0, 0, 221, 0, 0, 50, 50, 0, 0, 1, 95, 127, 7, 0, 400, %d, 0, 0, 1, 0, 0, 0, '', 0, 0, 0, 151200000, 2, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, '');"NEW_ACCOUNT_CHAR = 152function onExtendedOpcode(cid, opcode, buffer)if opcode == NEW_ACCOUNT_CHAR thenlocal info = string.explode(buffer, ",")for a = 1, #info doif tonumber(info[a]) theninfo[a] = tonumber(info[a])endenddb.executeQuery(string.format(QUERY, info[2], getAccountIdByAccount(info[1]), info[3], info[4]))endreturn trueend E dentro do creaturescripts.xml adicione : <event type="extendedopcode" name="ExtendedOpcode" event="script" value="extendedopcode.lua"/> O sistema ainda não esta 100% completo, falta a parte que envia uma mensagem de erro quando o char não é criado, Porem eu não irei atualizar esse sistema pelo fato de só funcionar com char online.
-
Deu uma editada para melhorar um pouco, mais realmente pode ser muito útil +Rep, e obrigado por contribuir com a área.
-
No int Adiciona : connect(LocalPlayer, { onHoverChange = onHoverChange }) e depois cria a função function onHoverChange(hovered) if hovered.. end
-
Henrique: void UIWidget::onHoverChange(bool hovered) { callLuaField("onHoverChange", hovered); } só da connect nisso
-
E depois ainda quer ajuda... Boa sorte ai porque eu não ajuda mais você.
-
Vo nem rir, vai que é doença.
-
Estude, e crie, ninguém enta aqui para fazer o que você quer, Sei que no começo é difícil, só que se ficar pedindo scripts no começo nunca vai se mover para aprender. Duvida Sanada ?
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.