Jump to content

Kydrai

Visconde
  • Content Count

    250
  • Joined

  • Last visited

  • Days Won

    14

Kydrai last won the day on September 11 2019

Kydrai had the most liked content!

About Kydrai

  • Rank
    "Keep Your Mind Wide Open"

Informações

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

Recent Profile Visitors

11909 profile views
  1. 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'
  3. 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 e
  4. 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
  5. 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. 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());
  7. Nunca vão te dar proteção pra DDOS, é mais fácil cancelarem seu dedicado ou vps lá. O fato de ser 1gbps até melhora, mas pode facilmente ser derrubado também. As vezes nem chega a 1gbps, dependendo do ataque eles desativam seu ip até antes, já passei muito por isso lá e proteção DDOS não é com eles, cansei de ver eles dizendo que não podiam fazer nada. A ****** só é menos pior. Mas se quer mesmo proteção DDOS é melhor comprar direto como da softlayer e pagar por firewall físico. E cuidado com quem oferece proteção DDOS por software, na maioria das vezes, se não sempre, é enganação, pois
  8. Vou dizer o modo como descobri (no cliente atual do pstorm ainda não tem), mas só estarei repassando o conhecimento que me repassaram Quem deu as dicas foi o Baxnie, mesmo desenvolvedor que participa do otclient e fez isso para o PO na época. Basicamente você vai na parte onde o cliente lê o packet com 0x83, e substitui a função pra pegar uin8 pela uin16. Pra achar o endereço dessas funções seria por comparação. Você já tem a ordem dos packets no OT, então no cliente seria a mesma coisa. Pra quem não sabe usar o ollydbg ou fazer isso aí, no tpforums tem ótimos tutoriais. joinu
  9. Pra poder usar um item a distância precisa usar allowfaruse na action: <action itemid="id" event="script" allowfaruse="1" value="script.lua" /> Claro que precisa ter a opção de "use with" no item, caso não tenha aí precisa editar no Tibia.dat, nesse caso é só baixar um item editor.
  10. O Xtibia tem ótimos tutoriais, mas você não vai achar tudo em um só lugar, quem realmente quer aprender corre atrás e busca quem sabe, já ajudei e vi muita gente aprendendo com esse fórum e nunca me importei de tirar dúvidas, mas também não da pra ficar ensinando tudo que pedem. Também sei que tem muita gente que não quer ajudar com o seu conhecimento como você mesmo disse. Algumas delas apenas passam dicas de como fazer ou arrumar e muitas vezes são criticadas por isso, já que o que eles querem mesmo é o script funcionando. Um dos problemas com os pedidos é que a maioria que tenho visto
  11. Tenho 2 dev aqui pra você testar, só pra facilitar não use no pc mais de um dev instalado ou um codeblocks, nesse caso é melhor desinstalar ele, deixando só o dev. E use a pasta C:/Dev-cpp, que é a padrão se você já instalou alguma vez. Pois é muito fácil ter conflitos caso tenha mais de um. Não cheguei a testar, mas sei que são pra 0.4, se der erro mostre o erro, se não fica difícil saber o que pode ser. Os devs foram postados pelo Luke e pelo Alikarbam em outro fórum. Luke -> http://www.mediafire...6273zfgdd5n3qbg Alikarbam -> http://www.mediafire...idztgdt31313ms7
  12. É -S (maiúsculo), se não funciona então não sei o motivo, tenta dar man screen ou ver o help dele. No tópico você colocou ctrl + A, faltou o [ pra rolar. Na verdade é CTRL + A pra ativar a escolha de opções, aí depois pode apertar o D pra fechar ou o [ pra rolar.
  13. Boa. Eu prefiro usar screen -S NOME pra dar um nome pra screen, assim fica mais prático usando screen -r NOME. Outro comando útil é Ctrl + A [ que deixa você "rolar" (scrollback) a screen.
  14. As maiores dificuldades que tivemos foram relacionadas a servidores, coisas como estabilidade, save, segurança e ataques. Isso é fundamental para se manter um servidor online. São ótimas dicas e é um assunto que está em falta nos fóruns de open tibia.
  15. Esse script não usa storage, só usar o isVip ao invés de storage. O site é somente pra demonstração já que não é a versão atual. O sistema não é de vip automática, pra isso teria que adicionar o sistema do pagseguro no site. Quem tiver dúvidas sugiro usar a área de pedidos ou dúvidas de scripts, porque não to dando mais suporte pra esse sistema, visto que a maioria das dúvidas não são relacionadas a ele e sim a scripts, e lá tem mais chances de alguém responder.
×
×
  • Create New...