Ir para conteúdo

Kydrai

Visconde
  • Conteúdo

    250
  • Registrado

  • Última visita

  • Days Won

    11

Kydrai last won the day on Novembro 14

Kydrai had the most liked content!

Sobre Kydrai

  • Rank
    "Keep Your Mind Wide Open"
  • Data de Nascimento 11-09-1991

Informações

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

Últimos Visitantes

11.271 visualizações
  1. [Resolvido] Não consigo fazer login

    Ta dizendo que não existe a coluna language na tabela accounts, deve ter o sistema de multi linguagem no seu servidor. Você pode remover o sistema do seu servidor ou executar esse comando SQL no seu banco de dados para inserir a coluna: ALTER TABLE `accounts` ADD `language` INT(11) NOT NULL DEFAULT '0'
  2. @dalvorsn Não recomendo dessa forma, assim os players poderiam burlar fácil editando o html, precisando de outras formas de verificação. Você precisa tirar o select, como já disseram, e editar a função create_character no arquivo system\application\controllers\character.php. La tem um comando assim (ou parecido): $this->form_validation->set_rules('sex', 'Sex', 'required|integer|callback__checkSex');, ele verifica o sexo do personagem. Antes desse comando você pode fazer algo assim (não testei): if (in_array($_POST['vocation'], array(1, 2, 3, 4))) { $_POST['sex'] = 0; } else if (in_array($_POST['vocation'], array(5, 6, 7, 8))) { $_POST['sex'] = 1; } else { $_POST['sex'] = -1; } Dessa forma, se a vocação escolhida for 1, 2, 3 ou 4 terá o sex 0 (feminino), se for 5, 6, 7, 8 terá o sex 1 (masculino). Caso não seja nenhum desses dará erro de sexo inválido e não criará o personagem.
  3. suporte scripts Creature not found

    O cid não altera a cada ação, ele é gerado quando a criatura é "colocada no mapa" (login, /m, /s, etc). E nesse caso dele o cid é um monstro, o erro é porque não localiza o monstro. Não da pra saber exatamente tudo que ocorre no serv só com essas linhas, mas supondo que nada influencie no dano após esse script, você poderia trocar tudo isso por algo similar a isso: if isSummon(cid) and isPlayer(getCreatureMaster(cid)) then local hp = getCreatureHealth(cid) if type == STATSCHANGE_HEALTHLOSS then hp = hp - value elseif type == STATSCHANGE_HEALTHGAIN then hp = hp + value end doPlayerSendCancel(getCreatureMaster(cid), "%[email protected]" .. hp .. "@" .. getCreatureMaxHealth(cid)) end Isso é só um exemplo, vai depender do que tem no seu serv.
  4. suporte scripts Creature not found

    O erro é pq a criatura (cid) não existe (morreu ou foi removida) quando executa a função dentro do addEvent. Teria que passar o getCreatureMaster(cid) como parâmetro pro addEvent, ao invés de somente o cid. Ainda sim, se o cid não existe no momento que executa o addEvent você não vai conseguir executar as funções getCreatureHealth e getCreatureMaxHealth dentro do addEvent, teria que ter outra forma de pegar o hp dele. Seria algo como: if isSummon(cid) and isPlayer(getCreatureMaster(cid)) then addEvent(function(cid, master) if isCreature(master) then if isCreature(cid) then doPlayerSendCancel(master, "%[email protected]" .. getCreatureHealth(cid) .. "@" .. getCreatureMaxHealth(cid)) else -- outro comando para pegar o hp end end end, 100, cid, getCreatureMaster(cid)) end Sobre o hp, se o max health não muda, você pode passar ele como parâmetro junto com o cid e o master. Já o health, por ser onStatsChange, dependendo dos scripts do servidor, da pra saber o hp após executar este script somando o valor do dano com o hp. Caso contrário, imagino que você tenha algum comando pra pegar o hp da criatura que não existe (direto da pokeball, por exemplo).
  5. dúvida Monstros se matando

    Na verdade as storages são utilizadas nas criaturas em geral, tanto que a função original é doCreatureSetStorage/getCreatureStorage (na versão 0.3.6 e 0.4). A única diferença de colocar no player é que salva no banco de dados no save, já no monstro/npc não salva quando ele morre ou desaparece. E também não tem como uma storage no monstro sobrescrever uma no player, como você disse a storage vai estar vinculada a um uid. No máximo, em alguns casos, você vai precisar checar se a criatura é um monstro, npc ou player nos scripts.
  6. Perfect nick system 100%

    Precisa remover o break da função luaDoCreatureSetNick para o nome ser enviado para todos os jogadores na tela. E também tem que arrumar o que a função lua irá retornar, no caso acho que seria bom um false ou true. O certo seria assim: int32_t LuaScriptInterface::luaDoCreatureSetNick(lua_State* L) { //doCreatureSetNick(cid, nick) ScriptEnviroment* env = getEnv(); std::string nick = popString(L); Creature* creature = env->getCreatureByUID(popNumber(L)); if (creature) { SpectatorVec list; g_game.getSpectators(list, creature->getPosition()); Player* player = NULL; creature->Nick = nick; for (SpectatorVec::const_iterator it = list.begin(); it != list.end(); ++it) { if (player = (*it)->getPlayer()) { player->sendCreatureNick(creature); } } lua_pushboolean(L, true); } else { lua_pushboolean(L, false); } return 1; }
  7. PStorm!

    Não sei o que vocês conversaram, mas sei que o Iunix não está no Storm, e o Horktan já está de saco cheio do Sushi. Também não sei sua relação com o Sushi, mas é muito difícil não ser arrogante com uma pessoa tão odiada pelo tanto que ela prejudicou. Ainda mais depois de saber que tão falando com todos os membros da equipe para tentar comprar o servidor, tiveram coragem até de pedir para a ServerCore que cuida dos dedicados vender. Enfim, é isso, só queria saber mesmo o que tinha motivado a fazer um ataque. Pedi para fecharem esse tópico, visto que não é uma discussão adequada para o fórum.
  8. PStorm!

    Onde está a arrogância em não querer vender o servidor pra você? Ou eu perdi alguma parte da história? De qualquer forma acho que não faz sentido ficar abrindo tópico para ficar se mostrando por um motivo tão infeliz.
  9. Show Off - Spell Forge

    Bem legal esse sistema, deixa o jogador mais livre dentro do jogo. Ainda acho que deveriam ter orientado a postar em OTserv Media ou criar uma área pra Show-Off.
  10. Bug Move otClient v6.2

    O cálculo do tempo para a passada é praticamente ((1000 * ground_speed) / monster_speed) * lastStepCost lastStepCost é o valor do último passo, 1 pra quando anda reto e 2 pra diagonal. Com isso deve chegar a um valor aproximado para colocar no addEvent.
  11. Bug Move otClient v6.2

    As duas sugestões dão o mesmo resultado, eu só alterei a velocidade da passada pra fazer o efeito dele andando. 150 foi uma sugestão que aparentemente deu na mesma do cliente do Tibia aqui, e quanto maior esse valor mais rápido vai ser o efeito pra ele andar até o tile. Vocês vão precisar de alguma forma pra calcular o tempo das passadas e sincronizar o cliente com o servidor, isso varia pra cada tile e speed de monstro. O melhor mesmo é pelas sources que já tem tudo isso pronto.
  12. Bug Move otClient v6.2

    Isso de andar lento é problema do script que não movimenta a creature no tempo certo. Sobre o problema de ir teleportando vejo 2 formas de resolver, pelo que testei a velocidade de uma creature com 0 de speed fica em média 150 no cliente, então precisa fazer algo assim: No src/client/creature.cpp: 1ª forma é trocar quando pega a velocidade do passo: Troque: int Creature::getStepDuration(bool ignoreDiagonal, Otc::Direction dir) { int speed = m_speed; if(speed < 1) return 0; Por: int Creature::getStepDuration(bool ignoreDiagonal, Otc::Direction dir) { int speed = m_speed; if(speed < 1) speed = 150; 2ª forma é colocar um speed mínimo quando coloca speed 0: Troque: void Creature::setSpeed(uint16 speed) { uint16 oldSpeed = m_speed; m_speed = speed; // speed can change while walking (utani hur, paralyze, etc..) if(m_walking) nextWalkUpdate(); callLuaField("onSpeedChange", m_speed, oldSpeed); } Por: void Creature::setSpeed(uint16 speed) { if(speed < 1) speed = 150; uint16 oldSpeed = m_speed; m_speed = speed; // speed can change while walking (utani hur, paralyze, etc..) if(m_walking) nextWalkUpdate(); callLuaField("onSpeedChange", m_speed, oldSpeed); }
  13. Bug Move otClient v6.2

    Mostra o script do order, fica mais fácil de achar o problema vendo as funções que ele usa.
  14. Reestruturando

    E se eu tiver um código c++ ou uma dúvida não relacionada a mods e sim ao cliente? Ou algo que já existe lá, o tutorial de compilação. Pelo que entendi não teria onde postar, já que essa estrutura deixa a entender que só pode ser relacionado a mods. A única vantagem que vi nessa estrutura foi o "Dúvidas e pedidos respondidos".
  15. Background Animado

    Muito bom, faz tempo que não via alguém falando desse apng. Aqui funcionou de boa.
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×