dobain

Membro
  • Total de itens

    26
  • Registro em

  • Última visita

Reputação

5 Iniciante

1 Seguidor

Sobre dobain

Informa??o do Perfil

  • Sexo:

Últimos Visitantes

228 visualizações
  1. Ola Pessoal, Alguém conseguiu migrar o battleground do eamod para rodar no brathena? Achei muito bom aquela variedade de modos e sistemas, Se tiver feito e quiser negociar me mande mensagem, estou disposto a comprar o trabalho já funcionando para o brathena. Abração e obrigado
  2. Depois de quebrar a cabeça com algo que estava na minha cara segue a solução. bastou incluir as linhas em vermelho na função status_change_clear_buffs em status.c: if( type < 3 ) { if( type&1 && !(status->get_sc_type(i)&SC_BUFF) ) continue; if( type&2 && !(status->get_sc_type(i)&SC_DEBUFF) ) continue; } switch (i) { case SC_PROTECTWEAPON: case SC_PROTECTSHIELD: case SC_PROTECTARMOR: case SC_PROTECTHELM: continue; break; case SC_DEEP_SLEEP: case SC_FROSTMISTY: case SC_COLD:
  3. Amigos, Estou com uma situação que imagino ser um erro meu, configuração ou algo que deva ter feito errado. Percebi que um SinX, batendo em outro char, com sua defesa, tanto normal como elemental, o dano da mão direita sofre as reduções da defesa, mas a mão esquerda bate com o dano cheio, como se estivesse ignorando toda e qualquer defesa do adversário, ficando um dano desproporcional e impossível de defesa. Exemplo hipotético: Char sem defesa: dano 80k/60k Char com defesa: dano 20k/60k (Tanto em dano normal como critico) Revirei fonte, comparei alterações para ter certeza que nada foi alterado nos cálculos e mesmo assim continua. Revisada também configurações do emulador, tudo certo, testes com modificações, nada resolveu. Se alguém tive um norte para me dar, por onde posso verificar uma causa disso ou algum detalhe que eu possa ter esquecido ou não estar considerando, agradeceria imensamente de um auxilio. Muito obrigado a todos Dobain
  4. La na mesma tabela onde tem o XP de job e base, tem o dano base de cada classe com o tipo de arma. job_db.conf
  5. Como não esta rodando eu vejo duas abordagens a ser testada: - Use no final do npc principal apos um end; se possivel, pois constuma dar problemas em fakenpc e funcoes. Outra coisa, que da pra simplificar, altere de: - script Timers#prace0 -1,{ OnClock0000: callsub OnCalll; OnClock0200: callsub OnCalll; OnClock0400: callsub OnCalll; OnClock0600: callsub OnCalll; OnClock0800: callsub OnCalll; OnClock1000: callsub OnCalll; OnClock1200: callsub OnCalll; OnClock1400: callsub OnCalll; OnClock1600: callsub OnCalll; OnClock1800: callsub OnCalll; OnClock2000: callsub OnCalll; OnClock2200: callsub OnCalll; OnCalll: set $prace_gate,1; announce "A 'Corrida dos Porings' irá começar em breve, façam suas apostas!",bc_all|bc_yellow; end; } para - script Timers#prace0 -1,{ OnClock0000: OnClock0200: OnClock0400: OnClock0600: OnClock0800: OnClock1000: OnClock1200: OnClock1400: OnClock1600: OnClock1800: OnClock2000: OnClock2200: set $prace_gate,1; announce "A 'Corrida dos Porings' irá começar em breve, façam suas apostas!",bc_all|bc_yellow; end; }
  6. Ola Pessoal, Sabe aquelas ferramentinhas que tu nunca usa mas no momento da pressa salva a vida do cara, então passei por uma dessas e na pressa fiz esse código em php mesmo para resolver a parada, já que nem todo editor abre arquivos com mais de 100 mil linhas. - pega o seu iteminfo.lub original e adiciona os códigos que faltam pegando do arquivo adicional - Coloca em ordem de código (organizando aquela bagunça) Uso um client 2014 então pode ser que nem pra todo mundo seja útil Não me preocupei em polir o código e deve rodar ele pela linha de comando (php nomearquivo.php), usei o método FETP (Funcionou Então Ta Pronto) kkkk Quem quiser melhorar o código, fazer uma ferramenta, sei la, fique a vontade a ideia é ajudar. - "ah mas eu não tenho php" - Instala um Wamp server, Xamp ou um desses ambientes da vida que vai estar disponível na sua linha de comando. * OBS: Postei o código propositalmente para evitar desconfianças sobre o conteúdo. <?php $arquivo_atual = 'original_itemInfo.lub'; $arquivo_merge = 'iteminfo_adicional.lub'; $arquivo_saida = 'C:\novo_itemInfo.lub'; $MAX_ID = 32500; //numero maximo de ID de iten suportado pelo seu client // $atual = pre_ler($arquivo_atual); $novo = pre_ler($arquivo_merge); $saida = 'tbl = {'.PHP_EOL; // inicio da estrutura do arquivo for($i = 0; $i<=$MAX_ID; $i++) { $key = 0; if($atual[$i]['identifiedDisplayName']) { $key = $i; $value = $atual[$i]; } elseif($novo[$i]['identifiedDisplayName']) { $key = $i; $value = $novo[$i]; } if($key && $value['identifiedDisplayName']) { $saida .= ' ['.$key.'] = {'.PHP_EOL; $saida .= ' identifiedDisplayName = ' .$value['identifiedDisplayName'].','.PHP_EOL; $saida .= ' identifiedResourceName = ' .$value['identifiedResourceName'].','.PHP_EOL; $saida .= ' identifiedDescriptionName = ' .$value['identifiedDescriptionName'].','.PHP_EOL; $saida .= ' unidentifiedDisplayName = ' .$value['unidentifiedDisplayName'].','.PHP_EOL; $saida .= ' unidentifiedResourceName = ' .$value['unidentifiedResourceName'].','.PHP_EOL; $saida .= ' unidentifiedDescriptionName = ' .$value['unidentifiedDescriptionName'].','.PHP_EOL; $saida .= ' slotCount = ' .$value['slotCount'].','.PHP_EOL; $saida .= ' ClassNum = ' .$value['ClassNum'].','.PHP_EOL; $saida .= ' },'.PHP_EOL; } } // Funcao lua no final do arquivo $saida .= '} main = function() for ItemID, DESC in pairs(tbl) do result, msg = AddItem(ItemID, DESC.unidentifiedDisplayName, DESC.unidentifiedResourceName, DESC.identifiedDisplayName, DESC.identifiedResourceName, DESC.slotCount, DESC.ClassNum) if not result == true then return false, msg end for k, v in pairs(DESC.unidentifiedDescriptionName) do result, msg = AddItemUnidentifiedDesc(ItemID, v) if not result == true then return false, msg end end for k, v in pairs(DESC.identifiedDescriptionName) do result, msg = AddItemIdentifiedDesc(ItemID, v) if not result == true then return false, msg end end k = DESC.unidentifiedResourceName v = DESC.identifiedDisplayName end return true, "good" end'.PHP_EOL; // salvar a saida em disco file_put_contents($arquivo_saida, $saida); // // Final de mais uma voz do Brasil. // function pre_ler($arquivo) { // A proxima linha é que contem a magica toda, ela desmonta a estrutura do arquivo em conteudo // Se algo der errado bem provavel que tenha copiado ela incompleta // usei o site www.regex101.com/ $parser = '/\[([0-9]+)\]\s=\s\{\s+([[:alnum:]]+)\s+\=\s+(.*)\,\s+([[:alpha:]]+)\s\=\s(.*)\,\s+([[:alpha:]]+)\s+\=\s(.*)\,\s+([[:alpha:]]+)\s+\=\s+(.*)\,\s+([[:alpha:]]+)\s+\=\s(.*)\,\s+([[:alpha:]]+)\s+\=\s+(.*)\,\s+([[:alpha:]]+)\s+\=\s+([0-9]+)\,\s+([[:alpha:]]+)\s+\=\s+([0-9]+)(\s|\,).*\}\,/sU'; preg_match_all($parser,file_get_contents($arquivo),$matchs); $ret = []; for($i=0;$i<=sizeof($matchs[1])-1;$i++) { $ret[$matchs[1][$i]][$matchs[2][$i]] =$matchs[3][$i]; $ret[$matchs[1][$i]][$matchs[4][$i]] =$matchs[5][$i]; $ret[$matchs[1][$i]][$matchs[6][$i]] =$matchs[7][$i]; $ret[$matchs[1][$i]][$matchs[8][$i]] =$matchs[9][$i]; $ret[$matchs[1][$i]][$matchs[10][$i]]=$matchs[11][$i]; $ret[$matchs[1][$i]][$matchs[12][$i]]=$matchs[13][$i]; $ret[$matchs[1][$i]][$matchs[14][$i]]=$matchs[15][$i]; $ret[$matchs[1][$i]][$matchs[16][$i]]=$matchs[17][$i]; } return $ret; } ?>
  7. Sim, nesse caso você pode olhar o console do mapserver e la vai dizer o que deu errado. Tenha certeza que o arquivo esta no local indicado ou então confira o caminho para o comando achar o script.
  8. Ola @loadnpc npc/nomearquivo.txt
  9. O SM_SELFPROVOKE não esta funcionando tem algum erro na parte do status, mas da pra contornar, muda o script dele para: specialeffect2 67; sc_start SC_PROVOKE,30000,1; aqui o tempo de duração esta em 30 segundos, mas basta aumentar sendo que cada 1 segundo = 1000 Abraço
  10. Fantástico... realmente antes de usar esse job_db.conf postado aqui, não adiantava mexer que nada ele interpretava. agora esta funcionando. Grato.
  11. Sim é verdade, kkkk por isso e por não ter achado algo próximo que estou recorrendo a comunidade em busca de ideias.
  12. Ola amigos, acho que o título diz tudo. Alguém esta partindo para novas soluções ou idéias no mercado? Alguma sugestão de como fugir dos famigerados mouse gamers que já são macro por natureza? Qualquer dica é bem vinda. Abraço a todos
  13. Ola Phalanx, ja tentei isso e no bro as mensagens não chegam a esse numero, minha principal dúvida é "o que faz essa flag" a segunda descobri que é para avisar quando um item for vendido, acho que ele manda email algo assim. Essa pelo que vi em um data mais completo seria "checar o limite de 10k" ou 10 kk, nao entendi bem, só sei que com o brathena ele da crash no client se eu assinalo ela. Unica coisa que encontrei e me sugeriu um vinculo é que no brathena tem como ativar a venda de itens mesmo depois do limite atingido de 1 B, onde o mercador continua vendendo mas os zenys são perdidos, quando o mercador fica com muito dinheiro, mesmo assim os compradores continuam comprando e pagando, mas o zeny é perdido. Não sei se tem relação, estou tentando procurar no fonte o que faz essa mardita flag. kkkk