Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation since 02/19/2019 in all areas

  1. 3 points
    Estou desenvolvendo o Amazon Guard anti-hack! Versão 1.0: Abertura com Splash Screen; Captura de Hardware ID; Banimento por Hardware ID; (Adicionar e remover ban): Comandos: @hwid ban "nome do player" [motivo] @hwid unban "nome do player" banimento em todas as contas que envolvam o Hardware id do player. Função para checar dual cliente em BG ou mapas setados; Autenticação por chave; Checagem por CheckSum de arquivos (exe,dll,data.ini) entre outros; Checagens de processos por ReadProcessMemory; Checagem de inject dll; Checagem de ProcessID. Aos poucos irei adicionando mais proteções. Estou em busca dos programas hackers mais utilizados para poder aplicar a proteção, aqueles que puderem colaborar será de grande ajuda.
  2. 3 points
    Launcher feito 100% por mim Ele contém Login(obrigatório), atualizador, gerenciamento de conta, doações e vote por pontos sem a necessidade de ir ao site. Aceito criticas construtivas e sugestões Quando atualizado
  3. 2 points
    Configurando Servidor Dedicado (CentOS) Saiba como configurar de ponta-a-a ponta o dedicado. Postado por Prototype on Set 04 2011 15:29 Vou ensinar como configurar o servidor dedicado em CentOS 5. de ponta- a ponta, vi que tinha muita gente com o mesmo problema que eu ná hora de criar e configurar o servidor num Linux (CentOS), e estou aqui escrevendo esse Tutorial para vocês então vamos lá... Você vai precisar do seguinte programas: 1 - WinSCP (Download) Gerenciador de arquivos, parecido com o FileZilla, mas com umas vantagens na hora de editar os arquivos pois separa, por quebra de linhas, e assim não complica na hora de editar. 2 - Putty (Download) Gerenciador de Arquivos via SSH, server para acessar arquivos em outro rede. 3 - Emulador (http://svn.cronus-emulator.com/cronus/) << isso era maravilhoso... sim eu sou nostálgico pra caralho. Versão do Cronus, a que está disponível no SVN do cronus 4 - MySQL 5 Gerenciador de Banco de Dados, talvez o mais popular do mundo. 5 - phpMyAdmin Programa para executar operações administrativas, como configuração, monitoramento e inicio e parada de um servidor MySQL. 1.1 - Instalando Pacotes Necessários pelo Putty. Supondo que você já tem um VPS CentOS ou servidor dedicado com acesso root. Putty abrir e se conectar ao seu VPS / Servidor Dedicado usando a conta root. Já que é um VPS recém-dedicado,você vai precisar fazer essas instalações para rodar o servidor. 1.2: Instalando SubVersão Após ter se logado no putty com seu login e senha, dados pela empresa de hospedagem, digite o seguinte comando, yum install subversion assim que terminar ele irá te fazer uma pergunta se você pretende prosseguir, e te dará duas opções (y/N) digite "y" e de enter para prosseguir com o processo de instalação. 1.3 Vamos agora instalar os compiladores ou os pacotes das linguagens que iremos usar para compilar o emulador Digite os comandos a seguir : yum install gcc yum install gcc -c + + Feito isso vamos prosseguir com o tutorial... 1.4 - Instalando Pacotes do PHP Execute o comando : sudo yum install-y php-cli php-gd php-mbstring php-mcrypt php-mhash php-mysql php-pdo php-xmlrpc 1.5 - Instalação do Apache para instalar ele execute a seguinte linha: yum install httpd assim que concluir a instalação temos que deixar ele ligado. service httpd start chkconfig httpd on 1.6 - Vamos instalar agora o MySql. yum install mysql-server mysql-devel 1:7 - Instalando o PhpMyAdmin execute o comando a baixo para fazer a instalações necessárias: yum install php-mbstring httpd mysql-server Aqui você vai ver se o sistema está totalmente atualizado. yum update feito isso vamos executar o comando "cd /var/www/html" para irmos para entrarmos na pasta "html" cd / var / www / html / Agora vamos fazer o download do PHP 5.2 sourceforge.net, lembrando não é pra você baixar direto para seu pc, é para executar o comando e ele irá baixar diretamente, para o dedicado. wget -c [url="http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/3.4.3.2/phpMyAdmin-3.4.3.2-english.tar.gz/download"]http://sourceforge.n...tar.gz/download[/url] vamos então. descompactar o phpMyAdmin, o arquivo compactado que você acabou de baixar do Sourceforge.net tar xvfz phpMyAdmin-3.4.3.2-english.tar.gz O próximo comando é apenas para alterar o nome da pasta que vai descompactar o arquivo do sourceforge.net produzido. Que também, mais uma vez ajuda para facilidade de uso para o administrador configurar o sistema. mv phpMyAdmin-3.4.3.2-english phpMyAdmin Agora vamos para o diretório phpMyAdmin. phpMyAdmin cd Vamos copiar o arquivo de configuração a partir da amostra fornecida pela "gente grande" phpMyAdmin e apenas no caso de acontecer de você estragar o arquivo de configuração você vai ter a cópia para começar de novo. cp config.inc.php config.sample.inc.php Agora vamos editar a configuração do phpMyAdmin. config.inc.php vi Quando abrir o editor procure pela linha: $ cfg ['Servers'] [$ i] ['AUTH_TYPE'] = 'cookie'; Mude o 'cookie' para 'http', ficando assim: $ cfg ['Servers'] [$ i] ['AUTH_TYPE'] = 'http'; aperte "i" para sair do modo de inserção "edição" ou "esc" assim que sair do modo de edição digite ":wq" o comando :wq, serve para salvar o arquivo e sair do modo de edição e assim voltando para a página principal do SSH. agora vamos reiniciar o Apache service httpd restart Feito tudo isso vamos começar a parte do Emulador ( a mais esperada até o momento kk) 1.8 - logue-se no ssh ou volte para a pasta principal digitando cd /root/ ou cd/home isso vai depender do caminho que instalaram no dedicado, mas por padrão sempre é "root". sigam o tutorial que tem aqui no cronus e depois de fazer o processo todo que tem la voltem a ler este tutorial. http://forum.cronus-...cado-em-linux/. feito tudo aquilo para baixar o emulador para o dedicado, vamos a configuração dele e para isso vamos usar o 1.9 - WinSCP entre como o seu login/senha e vamos começar a edição vá no seu emulador>>conf>> Alterar altere a linha / / Login_ip: 127.0.0.1 tire as // e no lugar de 127.0.0.1 coloque o ip do dedicado login_ip: IPDODECIDADO Altere o char_ip com o mesmo processo / / Char_ip: 127.0.0.1 Agora salve e feche e abra login_athena.conf char_athena.conf procure pela linha new_account: yes Mude para new_account: no salve e feche e abra map_athena.conf login_athena.conf / / Char_ip: 127.0.0.1 mude para char_ip: mude aqui para o ip do seu host procure pela linha / / Map_ip: 127.0.0.1 Mude para.. map_ip: mude para o ip do seu host Salve e feche map_athena.conf! inter_athena.conf configure com o ip do seu host e login do phpmyadmin Apos configurar os arquivos todos os processos apartir do "10" no seguinte tutorial http://forum.cronus-...icado-em-linux/ CREDITOS : Prototype por Pesquisa, Edição e Escrita. Proíbida a cópia deste tutorial sem a minha autorização ou autorização dos superiores do Forum.
  4. 2 points
    Olá, sou desenvolvedora de sprites nova no ramo. Esses são alguns dos meus trabalhos :3 Venha conhecer o meu deviantart, ou a minha page no face e encomendar aquela sprite que você sempre sonhou em ter no seu servidor mas nunca encontrou em lugar algum Aceito encomendas de sprite de qualquer tema. Novos hats: Em breve, adicionarei alguns NPCs.
  5. 2 points
    Download do instalador exe SOCERO; http://rathena.cronus-emulator.com/downloads/install_socero_v1.exe Download do instalador zipado SOCERO; http://rathena.cronus-emulator.com/downloads/install_socero_v1.zip Mega - Mirror do instalador EXE 1: https://mega.nz/#!FkhlTKTI!cP5rccMch-7xxeDg4jyleqpEKiwdNoU_gSZvxfimN-w Medifire - Mirror do instalador EXE 2: https://www.mediafire.com/file/ndva9rfobdkguzq/install_socero_v1.exe/file obs: Lembrando que se você quiser, pode apenas baixar separadamente; Data e Hexed, jogar dentro de uma pasta vazia e logar, porém é recomendável o uso do instalador, pois o mesmo irá usar o ThorPatcher e com isso, enviaremos correções automáticas para a data quando necessário. Diff Hexed: https://pastebin.com/DFAEJMwq Hexed: https://github.com/Cronus-Emulator/-SOCERO-hexed Pasta Data: https://github.com/Cronus-Emulator/-SOCERO-data Emulador Base: https://github.com/rathena/rathena - > Emulador usado por nós: https://github.com/Cronus-Emulator/-SOCERO-emulador FluxCP Base: https://github.com/rathena/FluxCP - >FluxCP usado por nós: https://github.com/Cronus-Emulator/-SOCERO-FluxCP ThorPatcher: https://github.com/Cronus-Emulator/-SOCERO-Thor Agradecimento especial ao membro; @Makarov Law da Makarov Serviços, pelo Diff, Hexed e Pasta data doada para o nosso servidor.
  6. 2 points
    Oque acharam? Se a equipe do Socero curtir posso programar. @JulioCF
  7. 2 points
    Eu estava com um projeto de pokemon ragnarok, porém eu desisti de continuar, então segue os link do que foi feito: https://mega.nz/#F!uthQRCzT!SjRedhVgPseZNj7dSaUw6Q Neste link contém uma série de materiais que eu reuni e outros feitos por mim mesmo. O máximo que você vai encontrar aqui é materiais para primeira geração. Reunidos: Sprite e Gifs de pokemons das versões Black/White e X/Y, pode ser utilizados para fazer as sprites e act num possível jogo de pokemon. Sprites e Gifs de NPCs de jogos de pokemon. Sprites de mapas do jogo pokemon Fire Red para auxiliar na criação de mapas. Feitos por mim: Mapas das cidades: Pallet Viridian Pewter Cerulean Mapas das Rotas: rota 1 rota 2 Floresta de Viridian Rota 3 Mt. Moon Rota 4 Rota 24 Rota 25 Modelos de casas: todos os edificios presentes nos mapas criados, isso inclui 3 modelos de GYM, centro pokemon, Market, e os outros prédios, tudo feito customizado na ferramenta Sketchup A partes internas das casas de Pallet, o interior dos centro pokemon - Ainda não convertido para formato Rag (posso fazer um tutorial de como criar casas no sketchup e converter pra o formato do rag) Itens: Pokebolas prontas para uso: Sprites icone carta do TCG oficial pokemon redimensionada imagem do visual collection dos items icones de sexo do pokemon e dos leveis 1-100 Segue anexado algumas imagens exemplo (centro pokemon piso inferior e lab do professor carvalho modelados no sketchup) do que você vai encontrar no link:
  8. 1 point
    Ei, heróis e heroínas! Além de trazer o melhor no quesito diversão online, nós também estamos sempre de olho nas novidades para manter um jogo cada vez mais seguro para você e seus amigos. Assim, após diversos testes e análises, decidimos fazer uma mudança no sistema de segurança do client de Ragnarök. Dessa maneira, ao final da manutenção agendada para o dia 18/06/19, o GameGuard será substituído pelo sistema Easy Anti-Cheat (EAC), que atualmente está presente em diversos jogos que fazem sucesso ao redor do mundo. Conhecendo o trabalho que a equipe EAC oferece, estamos otimistas de que essa mudança irá beneficiar ainda mais sua experiência no universo de Ragnarök. Logo, com chegada do EAC (18/06), só será possível realizar login em sua conta de jogo se você tiver o novo client em seu computador. E para que você fique preparado com antecedência e não perca um minuto sequer da sua aventura, você já pode fazer o download do novo client. Fonte e noticia completa: https://playragnarokonlinebr.com/novidades/novidades/eac-o-novo-sistema-de-protecao-do-client-de-ragnarok
  9. 1 point
    Fui buscar esse guia no limbo, pois precisei dele para para tirar uma duvida e não o achei... irei atualizar os links agora mesmo
  10. 1 point
    Uma amiga que fiz no Bro 14/15 anos atrás me mandou esse vídeo, a trilha sonora do jogo me trás muitas memórias fodas, jogar Ragnarok "me salvou" de entrar em uma depressão fodida causada por uma perda familiar. Até hoje, acho incrivel a sensação que me dar em ouvir essas músicas (tema de payon e prontera são minhas preferidas). Saudade desse tempo!
  11. 1 point
    Aquela invocação anual aos membros "mais antigos" da comunidade.... ( more than 8years) Será que ainda esta todo mundo vivo?
  12. 1 point
    Pelo que vi não é o autor, e sim um outro cara que fez uma outra edição, me corrija se eu estiver errado!
  13. 1 point
    Não sei o que é erods, mas essas funções do php_mysql estão "deprecated", ou seja, não estão + tendo suporte nas versões + novas do php, você deve migrar o código para o mysqli ou pdo
  14. 1 point
    eu estava encriptando de uma forma errada e nao percebi demorei ate perceber por que nao conseguir gerar o cps.dll mais ainda tive alguns erros quanto a leitura do luafiles514 e adicionei o algumas pastas para reler la https://imgur.com/mxTMde2 na datainfo coloquei apenas arquivos accname.lub acessory.lub e jobname.lub mais ainda nao consigo entender o por quer de ele nao ler alguns arquivos com a grf encriptada tipo os mobs itens e tls nao estavam lendo ate eu fazer isso
  15. 1 point
  16. 1 point
    Beleza, me fizeram ligar meu emulador para ver isto, tenho muita preguiça de subir o banco e rodar o run-server. Testei colocando Pabllo Vittar para tocar em Prontera, segue a solução testada: prontera,138,172,5 script Hercules Radio::radio 4_F_05,{ OnRequest: // Check voucher amount if (countitem(.voucher) < .amount) { message strcharinfo(0), "You must have "+ .amount +" "+ getitemname(.voucher) +" to play a song."; end; } // Create menu for (.@i = 0; .@i < getarraysize(.song$); .@i++) { .@choice$ += "'"+ .song$[.@i] +"' by "+ .artist$[.@i] +":"; } // Display menu message strcharinfo(0), "Please select a song to play (cost: "+ .amount +" "+ getitemname(.voucher) +")."; .@option = select(.@choice$) - 1; // Check lock time if (.lock > gettimetick(2)) { // Calculate time left .@minutes_left = (.lock - gettimetick(2)) / 60; .@seconds_left = (.lock - gettimetick(2)) % 60; // Display time left message strcharinfo(0), strnpcinfo(1) +" is not accepting requests at this time."; if (.@minutes_left < 1) { message strcharinfo(0), "Please try again in "+ .@seconds_left +" seconds."; } else { message strcharinfo(0), "Please try again in "+ .@minutes_left +" minute"+ (.@minutes_left > 1 ? "s" : "") +" and "+ .@seconds_left +" seconds."; } close; } // Delete required vouchers delitem .voucher, .amount; // Play and announce choice on the player's current map set .bgm$, .file$[.@option]; set .map$, strcharinfo(3); announce strnpcinfo(1) +": Now playing '"+ .song$[.@option] +"' by "+ .artist$[.@option] +".", bc_map; // Lock NPC for preset amount .lock = .minutes * 60; .lock += gettimetick(2); close; OnInit: // Configuration .voucher =607; // Voucher item ID .amount = 5; // Usage cost, in vouchers .minutes = 2; // Lock time, in minutes // Create @radio command bindatcmd "radio", strnpcinfo(3) +"::OnRequest", 0, 40; // Songs // The song names for each track setarray .song$[0], "Hunter X Hunter", "Chicksilog", "Bahay Kubo", "Magkabilang Mundo", "Iisa lang", "I Love You Girl"; // Artists // The artist name for each track setarray .artist$[0], "Ohayou", "Kamikazee", "Hale", "Jireh Lim", "Parokya Ni Edgar", "Ekulo"; // Files // The file name for each track (no extension) setarray .file$[0], "170", "150", "151", "152", "153", "154"; // Waitingroom display // Configured to show the NPC's display name waitingroom strnpcinfo(1), 0; // Mantendo a música tocando permanentemente no mapa. [Fou-lu] set .bgm$, ""; set .map$, ""; while(1) { if (.bgm$ != "") playbgmall .bgm$, .map$; sleep 1000; } end; } O erro foi o "while(1=1)" que deveria ser "while(1)", e também percebi ao copiar e colar alguns códigos daqui do post eles aparecem com alguns caracteres extras de "?", não sei pq. E como previsto por mim, o tempo de bloqueio para a troca de musica está funcionando, o que faz o objetivo principal do tópico não ter sentido.
  17. 1 point
    <ITEM>Apple<INFO>602</INFO></ITEM> 602= ID do item
  18. 1 point
  19. 1 point
    Certamente meu cliente não possui a classe rebellion funcional, recomendo montar um 2017+, no rA / hercules você encontra tutoriais de como fazê-lo. Depois basta traduzir algumas coisas, a maioria dos arquivos em pt-br você acha dentro da própria data.grf do bro, basta descompacta-la com o GrfEditor por exemplo.
  20. 1 point
    por isso a comunidade ta como ta @topic faça (caso queira) uma versão simples com opção de trocar a skin e tudo certo.
  21. 1 point
  22. 1 point
    @Dunkerr ele disponibilizou
  23. 1 point
    Download aqui https://github.com/P4RC7110/SOCERO-THOR-PATCHER/
  24. 1 point
    Previsão de estreia: 05/04/2019 as 20h Isso ai amiguinhos, irá nascer(finalmente) o Servidor Oficial Cronus-Emulador Ragnarok Online(SOCERO) Segue a ideia: Servidor full original kRO Based, somente facilitando nas rates indo para o nível mid-rates e com sistema oficial vip. Ta bom tiu, mas pra que? A ideia claro, ajudar na arrecadação de fundos para o Cronus-Emulator e todos seus sistemas. E claro, apresentar a situação atual do emulador. Quase tudo que for adicionado e usado ao Emulador/Servidor, será liberado para download na seção [+]Membros. Vai ser praticamente um servidor público, só não é possível liberar tudo, pois estamos também, se tratando de informações pessoais das contas dos usuários. - Informações - Emulador rAthena Servidor CRONUS Episódio Oficial e atual: O mais atualizado possível Servidor: Renew, ou seja, oficial Rates: 100x baseEXP 100x jobEXP 10x quests Durante a semana, de 00:00hs de Domingo para Segunda até 00:00hs de Sexta para Sábado, ou seja. Durante os 05 dias da semana. Terá uma pequena quest no centro de Prontera. Onde você entregando alguns itens e alguns destes em determinadas quantidades. Será possível até três vezes por dia. Você conseguirá dobrar as rates de todo o servidor, indo dos oficiais 100x para 200x. Tendo a durabilidade deste efeito por 60 minutos. Finais de semana: a partir das 00:00h de Sexta para Sábado, indo até as 00:00h de Domingo para Segunda, as rates bEXP e jEXP vão dos oficiais 100x para 200x - Digite @rates nos finais de semana e confira. A quantidade pode ser maior caso esteja acontecendo algum evento extra no servidor. Mas oficialmente, segue o informado: Drops comuns 25x Drops comuns MVP's 10x . ---------------------------------------------- Drops de itens de cura comuns 25x Drops de itens de cura MVP's 10x . ---------------------------------------------- Drops de itens usáveis comuns 25x Drops de itens usáveis MVP's 10x . ---------------------------------------------- Drops de equipamentos comuns 25x Drops de equipamentos MVP's 10x . ---------------------------------------------- Drops de cartas comuns 10x(0.10%) - Não afetado por qualquer bônus extra do servidor. Drops de cartas MVP's oficial 5x(0.05%) - Não afetado por qualquer bônus extra do servidor. .----------------------------------------------- Level Máximo: Oficial Atributos: Oficial Battleground: sim, oficial Dual Login: Liberado no servidor, bloqueado em mapas de WoE e BG, quando for ativada. Sistema VIP - Oficial do Ragnarok ROP's: Oficiais do Ragnarok Custons Itens: Não, nenhum. Nem itens, nem sistema, nem nada. War of Emperium (WoE): A escolher horários, dias e castelos. Sistema VIP oficial do Ragnarok e rates de EXP 150x. Servidor com pouca tradução, vamos aplicando com o passar do tempo. Segue a lista de NPC's para todos: Resetadora paga Rent: entrega o carrinho, peco, falcão e afins Habilidades de platina Veia lokona que tira cartas com 50% de chance de falha. Curandeira paga Teletransportadora E outros.. Comandos públicos: - commands - mi - ii - rates - whodrops - hominfo - refresh - noask - noks - channel - duel - invite - accept - reject - leave Informações sobre vip's e doações:
  25. 1 point
    Precisando de ajuda estamos ae, mas isso não quer dizer que eu vá ajudar #farpas
  26. 1 point
    tha_t01,1,1,5 script Contagem Regressiva 1_M_SIZ,{ OnPCLoadMapEvent: initnpctimer; getmapxy @Mapa$,@x,@y,0; if(@Mapa$ != "tha_t01") // caso dê erro, retire os " { stopnpctimer; announce "Seu tempo no mapa tha_t01 foi resetado!",bc_self,0; end; } announce ""+strcharinfo(0)+" Seu tempo no mapa restrito iniciou e acaba em 2 horas!",bc_map,0xA020F0; OnTimer3600000; // 60 minutos announce ""+strcharinfo(0)+" Seu tempo no mapa restrito iniciou e acaba em 1 hora!",bc_map,0xA020F0; OnTimer1800000; // 30 minutos announce ""+strcharinfo(0)+" você tem 30 minutos no mapa restrito!",bc_map,0x00FF00; OnTimer1800000; // 30 minutos announce ""+strcharinfo(0)+" Falta 1 minuto para terminar seu tempo no mapa!",bc_map,0x00FF00; OnTimer60000; // 1 minuto warp "SavePoint",0,0; // Teleporta o jogador para o ponto salvo. stopnpctimer; end; } tha_t01 mapflag loadevent OBS: não testei...
  27. 1 point
    Muito Obrigada. Ficarei no aguardo :3
  28. 1 point
  29. 1 point
    Vou passar o link ai para ti eu tenho acho que uns 10.000 custons aqui que n tem no forum Link Video 1 Link Video 2 Alguns sim são repetidos outros pouca gente tem outros ninguém tem
  30. 1 point
  31. 1 point
  32. 1 point
    Coé galerinha da bad. @pecado te amo meu gostoso.
  33. 1 point
    eu desde 2008 contribuindo com a comunidade (mais ou menos)
  34. 1 point
    dezinho22, Conforme explicado pelo JulioCF, basta você adicionar o comando no NPC desejado, abaixo tem um exemplo que executa o comando apenas quando há alguma coisa a ser consertada no inventário. if(getbrokenid(1)) atcommand "@repairall"; Abraços.
  35. 1 point
    Não sou criador, nem detenho direitos autorais, apenas estou disponibilizando as asas. Créditos aos seus respectivos donos/criadiores. 301 302 303 304 305 306 Asa 301 Asa 302 Asa 303 Asa 304 Asa 305 Asa 306
  36. 1 point
    Basicamente você vai em item_db procura a linha 4128,Carta_Besouro-Ladrão_Dourado,Carta Besouro-Ladrão Dourado,6,20,,10,,,,,,,,32,,,,,{ bonus bNoMagicDamage,100; bonus bUseSPrate,100; },{},{} se coloca: 4128,Carta_Besouro-Ladrão_Dourado,Carta Besouro-Ladrão Dourado,6,20,,10,,,,,,,,32,,,,,{ bonus bNoMagicDamage,50; bonus bUseSPrate,50; },{},{}
  37. 1 point
    Criando habilidades ou clonando-as Introdução Uma grande área onde os jogadores têm dificuldade é adicionar novas habilidades para a fonte e o cliente. Abaixo será documentado como implementar essas novas habilidades. A habilidade A habilidade que estaremos trabalhando é simples. Nome: Earth Bolt Level Máx: 10 Tipo: Ativa Custo de SP: 20 + 5*SkillLV Alvo: 1 inimigo Tempo de conjuração: 2 seg Delay: 1 seg Duração: Instantânea Descrição: Causa dano mágico de elemento terra ao inimigo, conforme level da habilidade, a 150% MATK por hit. Basicamente, essa habilidade deve atingir 1 inimigo e lidar com 10 hits de 150% MATK, propriedade elemental da Terra e deve ser baseada em dano mágico. Abra /src/map/skill.h Role para baixo até encontrar EL_STONE_HAMMER, EL_ROCK_CRUSHER, EL_ROCK_CRUSHER_ATK, EL_STONE_RAIN, Depois daqui é onde nós adicionamos quaisquer habilidades adicionais. É melhor dar às habilidades um ID personalizado para começar. Então, vamos adicionar a nossa habilidade "Earth Bolt". Depois disso, adicione MG_EARTHBOLT = 8443, MG_ definição significa "Mago", você vai trabalhar para fora as siglas como você percorrer as habilidades. Definimos a base da habilidade. Como você pode ver, o id de habilidade é definido como '8443' desde Stone Elemental's Stone Rain é definido como 8442 (e é o última habilidade de jogador acessível). Abra /src/map/skill.c Esse arquivo é onde definimos as implementações de habilidades reais. Para habilidades de alvo único, todo o processamento dessa habilidade irá em skill_castend_damage_id (para habilidades prejudiciais) ou skill_castend_nodamage_id (para skills que não causam danos). Habilidades baseadas em mágica ou mágia. Como o Earth Bolt é baseado em danos, encontre a função skill_castend_damage_id e localize: case AB_RENOVATIO: case AB_HIGHNESSHEAL: case AB_DUPLELIGHT_MAGIC: case WM_METALICSOUND: case MH_ERASER_CUTTER: case KO_KAIHOU: A razão pela qual estaremos colocando a case para Earth Bolt aqui é porque: skill->attack(BF_MAGIC,src,src,bl,skill_id,skill_lv,tick,flag); A definição BF_MAGIC significa que a habilidade é baseada em magia e deve ser calculada sob cálculos de batalha mágica. Assim, após a case NJ_HUUJIN adicionar: case MG_EARTHBOLT: Habilidades baseadas em armas No caso de querer adicionar uma habilidade que é baseada em Arma, em vez de Magia, encontre: case WM_GREAT_ECHO: case GN_SLINGITEM_RANGEMELEEATK: case KO_JYUMONJIKIRI: case KO_SETSUDAN: case GC_DARKCROW: case LG_OVERBRAND_BRANDISH: case LG_OVERBRAND: E adicione a case depois disso. Se quiséssemos que o Earth Bolt fosse baseado em armas, ficaria assim: case WM_GREAT_ECHO: case GN_SLINGITEM_RANGEMELEEATK: case KO_JYUMONJIKIRI: case KO_SETSUDAN: case GC_DARKCROW: case LG_OVERBRAND_BRANDISH: case LG_OVERBRAND: case MG_EARTHBOLT: No entanto, vamos manter a função Magic em vez disso. Abra /src/map/battle.c Nesta função, todos os cálculos de danos principais são realizados. E em funções separadas, as % modificadoras para as habilidades são armazenados. Portanto, para os nossos danos de 150%, adicionamos o extra de 50% (já que 100% é o padrão) na função apropriada. Ataques baseado em mágica Para ataques baseados em Magia, os modificadores são encontrados em battle_calc_magic_attack. Basta encontrar: case NPC_EARTHQUAKE: skillratio += 100 +100*skill_lv +100*(skill_lv/2); break; E adicione o modificador de danos abaixo. Como Earth Bolt é baseado em magia, nós adicionaremos-a aqui. case MG_EARTHBOLT: skillratio += 50; break; Isso agora significa que o Earth Bolt causará dano mágico de 150% MATK. Átaques baseado em armas Para ataques baseados em armas, os modificadores são encontrados em battle_calc_weapon_attack. Basta encontrar: case NPC_VAMPIRE_GIFT: skillratio += ((skill_lv-1)%5+1)*100; break; E adicione seu modificador de dano lá. Por exemplo, se o Earth Bolt fosse baseado em Weapon, acrescentaríamos: case MG_EARTHBOLT: skillratio += 50; break; O + = 50 significa simplesmente "Adicionar 50% ao 100%" para danos de ATK de 150%. Suporte a banco de dados de habilidades Tecnicamente falando, a base da habilidade está agora correta. Claro, se você quiser implementar habilidades mais complexas, há muito mais para isso. A seção separada será criada no futuro para isso. Mas, por enquanto, precisamos implementar as entradas do banco de dados de habilidades. Os arquivos abaixo podem ser encontrados em db / (pre / re) /. Apenas um de ambos (pre / re) precisa ser atualizado, é o qual você usa em seu servidor. Nessa parte é sempre aconselhável que você tenha alguma habilidade escolhida para se utilizar como base, pois facilitará muito a criação e/ou clonagem de sua habilidade. Aqui há diferenças, então dependendo do emulador usado, cada forma será de um jeito, caso o seu emulador seja alguns dos abaixos, continue. Caso não, pule para a parte: ** p/ Hercules. ** p/ rAthena, brAthena, Cronus. Skill_db.txt Para a nossa habilidade Earth Bolt, podemos agora digitar o seguinte: Estrutura: // ID,Alcance,Dano,Inf,Elemento,Nk,Splash,MaxLv,ListNum,CastCancel,ChanceDefCast,Inf2,MaxCount,TipoSkill,BlowCount,Nome,Descrição // 01 ID // 02 Alcance (Habilidades de combo não verificam pelo alcance // Se o alcance < 5, então a habilidade é considerada melee) // 03 Dano (8- dano repetitivo, 6- dano único) // 04 inf (0- passivo, 1- inimigo, 2- local, 4- si próprio, 16- amigo, 32- armadilha) // 05 Elemento (0 - neutro, 1 - água, 2 - terra, 3 - fogo, 4 - vento, 5 - veneno, // 6 - sagrado, 7 - sombrio, 8 - fantasma, 9 - morto-vivo, -1 - elemento da arma // -2 - elemento endowed, -3 - elemento aleatório.) // 06 nk (Propriedade de Dano das Habilidades): // 0x01 - habilidade sem dano // 0x02 - tem área visual (necessária modificação na source) // 0x04 - dano dividido entre os alvos (necessário 0x02 em ordem de trabalho) // 0x08 - habilidade ignora dano bônus dado por cartas de quem a conjura // 0x10 - habilidade ignora bônus elementais // 0x20 - habilidade ignora a defesa do alvo (tipo variado sempre ingnora) // 0x40 - habilidade ignora a esquiva do alvo (tipo mágido sempre ignora) // 0x80 - habilidade ignora defesa do alvo dada por cartas // 07 Área de efeito (-1 para wide) // 08 Nível máximo da habilidade // 09 Número de danos (Quando positivo, acresenta o dano por dano, // valores negativos apenas mostraram o número de acertos, sem aumentar os danos totais) // 10 A conjuração pode ser cancelada? // 11 Redução de defesa durante conjuração. // 12 inf2 (Informações de Habilidades 2): // 0x0001- habilidade de quest // 0x0002- habilidade de npc // 0x0004- habilidade de casamento // 0x0008- habilidade de espírito // 0x0010- habilidade de clã // 0x0020- habilidade de música // 0x0040- habilidade de dueto // 0x0080- armadilha // 0x0100- habilidade que o alvo é quem invoca // 0x0200- não pode ser usada em si próprio // 0x0400- apenas pode ser usada em membros de grupo // 0x0800- apenas pode ser usada em membros de clã // 0x1000- não pode ser usada em inimigos // 0x2000- habilidade ignora proteção terrestre (exemplo: Chuva de Flechas) // 0x4000- chorus skill // 13 maxcount: Quantidade máxima de habilidades colocadas no chão. // player_land_skill_limit/monster_land_skill_limit está ativo. Para Habilidades // que atacam usando um caminho, este é o comprimento do caminho a ser utilizado. // 14 Tipo de Ataque (nenhum, arma, magia, misc) // 15 Blowcount (amount of tiles skill knockbacks) // 16 Nome // 17 Descrição //=================================================================*/ 8443,5,8,1,2,0,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0,0,magic, 0, MG_EARTHBOLT, Earth Bolt Isso define que: Earth Bolt tem um intervalo de 5 células, bate várias vezes, é elemento da Terra e alvos 1 inimigo. Ele pode ser interrompido, e é de dano de tipo mágico. A quantidade de acessos aumenta em 1 em cada nível, com um nível máximo de 10. Skill_cast_db.txt Para a nossa habilidade Earth Bolt, podemos agora digitar o seguinte: Estrutura: // SkillID,TempoConjuracao,AfterCastActDelay,AfterCastWalkDelay,Duracao1,Duracao2,Cool Down,Tempo de Cast Fixo //== Explanando: // TempoConjuracao: Tempo para lançar esta habilidade, em milissegundos. // AfterCastActDelay: Atraso "normal",o personagem não pode usar habilidades,em milésimos de segundo. // AfterCastWalkDleay: Tempo necessário para que o personagem possa mover-se novamente, em milésimos de segundo. // Duracao1 / Duracao2: Geralmente, o tempo ultilizado pela habilidade, em alguns casos é usado para salvar dados especiais. // Cool Down: Tempo necessário até que o personagem possa voltar a usar essa habilidade, em milésimos de segundo. // Tempo de Cast Fixo: Tempo de execução das habilidades em milissegundos (quando 0, usa-se 20% do tempo de cast e menor que 0 significa que não há tempo de cast fixo) //== Extra // Em todos os campos você pode usar ":" como delimitador de valores específicos do nível, // - Exemplo usando SM_PROVOKE // - Original:6,0,0,0,30000,0,1000 // - Modificado:6,0,0,0,30000,0,1000:2500:3000:etc // - Faz no nível 1 ter 1000 (1s) cool down, lvl 2 2500 (2.5s), lvl 3 3000, e assim por diante. //========================================== 8443,2000,1,000,0,0,0 Isso define que: Earth Bolt tem um segundo tempo de ligação e um tempo de atraso de 1 segundo. Não há atraso de caminhada após o lançamento. Skill_require_db.txt Para o nosso Earth Bolt, podemos agora digitar o seguinte: Estrutura: // SkillID,HPCost,MaxHPTrigger,SPCost,HPRateCost,SPRateCost,ZenyCost,RequiredWeapons,RequiredAmmoTypes,RequiredAmmoAmount,RequiredState,SpiritSphereCost,RequiredItemID1,RequiredItemAmount1,RequiredItemID2,RequiredItemAmount2,RequiredItemID3,RequiredItemAmount3,RequiredItemID4,RequiredItemAmount4,RequiredItemID5,RequiredItemAmount5,RequiredItemID6,RequiredItemAmount6,RequiredItemID7,RequiredItemAmount7,RequiredItemID8,RequiredItemAmount8,RequiredItemID9,RequiredItemAmount9,RequiredItemID10,RequiredItemAmount10 // // 01 ID // 02 HP cost // 03 Max HP trigger // 04 SP cost // 05 HP rate // If positive, it is a percent of your current hp, otherwise it is a percent of your max hp. // 06 SP rate // If positive, it is a percent of your current sp, otherwise it is a percent of your max sp. // 07 Zeny cost // 08 Required Weapon // See doc/item_db.txt for weapon types // 99 any weapon **includes bare fists** // To include more than one weapon type use type1:type2:type3 // 09 Required Ammo // See doc/item_db.txt for ammo types // 99 any ammo type // To include more than one ammo type use type1:type2:type3 // 10 Required ammo ammount // 11 Required State // none = Nothing special // move_enable = Requires to be able to move // recover_weight_rate = Requires to be less than 50% weight // water = Requires to be standing on a water cell // cart = Requires a Pushcart // riding = Requires to ride either a peco or a dragon // falcon = Requires a Falcon // sight = Requires Sight skill activated // hiding = Requires Hiding skill activated // cloaking = Requires Cloaking skill activated // explosionspirits = Requires Fury skill activated // cartboost = Requires a Pushcart and Cart Boost skill activated // shield = Requires a 0,shield equipped // warg = Requires a Warg // dragon = Requires to ride a Dragon // ridingwarg = Requires to ride a Warg // mado = Requires to have an active mado // poisonweapon = Requires to be under Poisoning Weapon. // rollingcutter = Requires at least one Rotation Counter from Rolling Cutter. // elementalspirit = Requires to have an Elemental Spirit summoned. // mh_fighting = Requires Eleanor fighthing mode // mh_grappling = Requires Eleanor grappling mode // peco = Requires riding a peco // 12 Spirit sphere cos 8443,0,0,25: 30: 35: 40: 45: 50: 55: 60: 65: 70,0,0,0,0,0,0,0,0,0,0,0,0, 0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Isso define que: Earth Bolt requer 25 SP no nível 1, 30 SP no nível 2 .. 70 SP no nível 10. Pode ser lançado com qualquer arma, não requer nenhum estado e não requer nenhum item para ser consumido. =========================================================================== ** p/ Hercules. Skill_db.txt { // ------------------------------ Mandatory Fields ---------------------------- Id: ID (int) (Required) Name: "Skill Name" (string) (Required) MaxLevel: Skill Level (int) (Required) // ------------------------------ Optional Fields ----------------------------- Description: "Skill Description" (string) (optional but recommended) Range: Skill Range (int) (optional, defaults to 0) (can be grouped by Levels) Note: Range < 5 is considered Melee range. Hit: Hit Type (int) (optional, default "BDT_NORMAL") Types - "BDT_SKILL", "BDT_MULTIHIT" or "BDT_NORMAL" SkillType: { (bool, defaults to "Passive") Passive: true/false (boolean, defaults to false) Enemy: true/false (boolean, defaults to false) Place: true/false (boolean, defaults to false) Self: true/false (boolean, defaults to false) Friend: true/false (boolean, defaults to false) Trap: true/false (boolean, defaults to false) } SkillInfo: { (bool, defaults to "None") Quest: true/false (boolean, defaults to false) NPC: true/false (boolean, defaults to false) Wedding: true/false (boolean, defaults to false) Spirit: true/false (boolean, defaults to false) Guild: true/false (boolean, defaults to false) Song: true/false (boolean, defaults to false) Ensemble: true/false (boolean, defaults to false) Trap: true/false (boolean, defaults to false) TargetSelf: true/false (boolean, defaults to false) NoCastSelf: true/false (boolean, defaults to false) PartyOnly: true/false (boolean, defaults to false) GuildOnly: true/false (boolean, defaults to false) NoEnemy: true/false (boolean, defaults to false) IgnoreLandProtector: true/false (boolean, defaults to false) Chorus: true/false (boolean, defaults to false) FreeCastReduced: true/false (boolean, defaults to false) Works like skill SA_FREECAST, allow move and attack with reduced speed. FreeCastNormal: true/false (boolean, defaults to false) Works like FreeCastReduced, but not reduce speed. } AttackType: "Attack Type" (string, defaults to "None") Types: "None", "Weapon", "Magic" or "Misc" Element: "Element Type" (string) (Optional field - Default "Ele_Neutral") (can be grouped by Levels) Types: "Ele_Neutral", "Ele_Water", "Ele_Earth", "Ele_Fire", "Ele_Wind" "Ele_Poison", "Ele_Holy", "Ele_Dark", "Ele_Ghost", "Ele_Undead" "Ele_Weapon" - Uses weapon's element. "Ele_Endowed" - Uses Endowed element. "Ele_Random" - Uses random element. DamageType: { (bool, default to "NoDamage") NoDamage: true/false No damage skill SplashArea: true/false Has splash area (requires source modification) SplitDamage: true/false Damage should be split among targets (requires 'SplashArea' in order to work) IgnoreCards: true/false Skill ignores caster's % damage cards (misc type always ignores) IgnoreElement: true/false Skill ignores elemental adjustments IgnoreDefense: true/false Skill ignores target's defense (misc type always ignores) IgnoreFlee: true/false Skill ignores target's flee (magic type always ignores) IgnoreDefCards: true/false Skill ignores target's def cards } SplashRange: Damage Splash Area (int, defaults to 0) (can be grouped by Levels) Note: -1 for screen-wide. NumberOfHits: Number of Hits (int, defaults to 1) (can be grouped by Levels) Note: when positive, damage is increased by hits, negative values just show number of hits without increasing total damage. InterruptCast: Cast Interruption (bool, defaults to false) CastDefRate: Cast Defense Reduction (int, defaults to 0) SkillInstances: Skill instances (int, defaults to 0) (can be grouped by Levels) Notes: max amount of skill instances to place on the ground when player_land_skill_limit/monster_land_skill_limit is enabled. For skills that attack using a path, this is the path length to be used. KnockBackTiles: Knock-back by 'n' Tiles (int, defaults to 0) (can be grouped by Levels) CastTime: Skill cast Time (in ms) (int, defaults to 0) (can be grouped by Levels) AfterCastActDelay: Skill Delay (in ms) (int, defaults to 0) (can be grouped by Levels) AfterCastWalkDelay: Walk Delay (in ms) (int, defaults to 0) (can be grouped by Levels) SkillData1: Skill Data/Duration (in ms) (int, defaults to 0) (can be grouped by Levels) SkillData2: Skill Data/Duration (in ms) (int, defaults to 0) (can be grouped by Levels) CoolDown: Skill Cooldown (in ms) (int, defaults to 0) (can be grouped by Levels) FixedCastTime: Fixed Cast Time (in ms) (int, defaults to 0) (can be grouped by Levels) Note: when 0, uses 20% of cast time and less than 0 means no fixed cast time. CastTimeOptions: { IgnoreDex: true/false (boolean, defaults to false) IgnoreStatusEffect: true/false (boolean, defaults to false) IgnoreItemBonus: true/false (boolean, defaults to false) Note: Delay setting 'IgnoreDex' only makes sense when delay_dependon_dex is enabled. } SkillDelayOptions: { IgnoreDex: true/false (boolean, defaults to false) IgnoreStatusEffect: true/false (boolean, defaults to false) IgnoreItemBonus: true/false (boolean, defaults to false) Note: Delay setting 'IgnoreDex' only makes sense when delay_dependon_dex is enabled. } Requirements: { HPCost: HP Cost (int, defaults to 0) (can be grouped by Levels) SPCost: SP Cost (int, defaults to 0) (can be grouped by Levels) HPRateCost: HP % Cost (int, defaults to 0) (can be grouped by Levels) Note: If positive, it is a percent of your current hp, otherwise it is a percent of your max hp. SPRateCost: SP % Cost (int, defaults to 0) (can be grouped by Levels) Note: If positive, it is a percent of your current sp, otherwise it is a percent of your max sp. ZenyCost: Zeny Cost (int, defaults to 0) (can be grouped by Levels) WeaponTypes: { (bool or string, defaults to "All") NoWeapon: true/false (boolean, defaults to false) Daggers: true/false (boolean, defaults to false) 1HSwords: true/false (boolean, defaults to false) 2HSwords: true/false (boolean, defaults to false) 1HSpears: true/false (boolean, defaults to false) 2HSpears: true/false (boolean, defaults to false) 1HAxes: true/false (boolean, defaults to false) 2HAxes: true/false (boolean, defaults to false) Maces: true/false (boolean, defaults to false) 2HMaces: true/false (boolean, defaults to false) Staves: true/false (boolean, defaults to false) Bows: true/false (boolean, defaults to false) Knuckles: true/false (boolean, defaults to false) Instruments: true/false (boolean, defaults to false) Whips: true/false (boolean, defaults to false) Books: true/false (boolean, defaults to false) Katars: true/false (boolean, defaults to false) Revolvers: true/false (boolean, defaults to false) Rifles: true/false (boolean, defaults to false) GatlingGuns: true/false (boolean, defaults to false) Shotguns: true/false (boolean, defaults to false) GrenadeLaunchers: true/false (boolean, defaults to false) FuumaShurikens: true/false (boolean, defaults to false) 2HStaves: true/false (boolean, defaults to false) MaxSingleWeaponType: true/false (boolean, defaults to false) DWDaggers: true/false (boolean, defaults to false) DWSwords: true/false (boolean, defaults to false) DWAxes: true/false (boolean, defaults to false) DWDaggerSword: true/false (boolean, defaults to false) DWDaggerAxe: true/false (boolean, defaults to false) DWSwordAxe: true/false (boolean, defaults to false) } AmmoTypes: { (for all types use string "All") A_ARROW: true/false (boolean, defaults to false) A_DAGGER: true/false (boolean, defaults to false) A_BULLET: true/false (boolean, defaults to false) A_SHELL: true/false (boolean, defaults to false) A_GRENADE: true/false (boolean, defaults to false) A_SHURIKEN: true/false (boolean, defaults to false) A_KUNAI: true/false (boolean, defaults to false) A_CANNONBALL: true/false (boolean, defaults to false) A_THROWWEAPON: true/false (boolean, defaults to false) } AmmoAmount: Ammunition Amount (int, defaults to 0) (can be grouped by Levels) State: "Required State" (string, defaults to "None") (can be grouped by Levels) Types : 'None' = Nothing special 'Moveable' = Requires to be able to move 'NotOverWeight' = Requires to be less than 50% weight 'InWater' = Requires to be standing on a water cell 'Cart' = Requires a Pushcart 'Riding' = Requires to ride either a peco or a dragon 'Falcon' = Requires a Falcon 'Sight' = Requires Sight skill activated 'Hiding' = Requires Hiding skill activated 'Cloaking' = Requires Cloaking skill activated 'ExplosionSpirits' = Requires Fury skill activated 'CartBoost' = Requires a Pushcart and Cart Boost skill activated 'Shield' = Requires a 0,shield equipped 'Warg' = Requires a Warg 'Dragon' = Requires to ride a Dragon 'RidingWarg' = Requires to ride a Warg 'Mado' = Requires to have an active mado 'PoisonWeapon' = Requires to be under Poisoning Weapon. 'RollingCutter' = Requires at least one Rotation Counter from Rolling Cutter. 'ElementalSpirit' = Requires to have an Elemental Spirit summoned. 'MH_Fighting' = Requires Eleanor fighthing mode 'MH_Grappling' = Requires Eleanor grappling mode 'Peco' = Requires riding a peco SpiritSphereCost: Spirit Sphere Cost (int, defaults to 0) (can be grouped by Levels) Items: { ItemID or Aegis_Name : Amount (int, defaults to 0) (can be grouped by Levels) Item example: "ID717" or "Blue_Gemstone". Notes: Items with amount 0 will not be consumed. Amount can also be grouped by levels. } } Unit: { Id: [ UnitID, UnitID2 ] (int, defaults to 0) (can be grouped by Levels) Layout: Unit Layout (int, defaults to 0) (can be grouped by Levels) Range: Unit Range (int, defaults to 0) (can be grouped by Levels) Interval: Unit Interval (int, defaults to 0) (can be grouped by Levels) Target: "Unit Target" (string, defaults to "None") Types: All - affects everyone NotEnemy - affects anyone who isn't an enemy Friend - affects party, guildmates and neutral players Party - affects party only Guild - affects guild only Ally - affects party and guildmates only Sameguild - affects guild but not allies Enemy - affects enemies only None - affects nobody Flag: { UF_DEFNOTENEMY: true/false (boolean, defaults to false) UF_NOREITERATION: true/false (boolean, defaults to false) UF_NOFOOTSET: true/false (boolean, defaults to false) UF_NOOVERLAP: true/false (boolean, defaults to false) UF_PATHCHECK: true/false (boolean, defaults to false) UF_NOPC: true/false (boolean, defaults to false) UF_NOMOB: true/false (boolean, defaults to false) UF_SKILL: true/false (boolean, defaults to false) UF_DANCE: true/false (boolean, defaults to false) UF_ENSEMBLE: true/false (boolean, defaults to false) UF_SONG: true/false (boolean, defaults to false) UF_DUALMODE: true/false (boolean, defaults to false) UF_RANGEDSINGLEUNI: true/false (boolean, defaults to false) } } } { Id: 8443 Name: "MG_EARTHBOLT" Description: "Earth Bolt" MaxLevel: 10 Range: 9 Hit: "BDT_MULTIHIT" SkillType: { Enemy: true } } AttackType: "Magic" Element: "Ele_Earth" NumberOfHits: { Lv1: 1 Lv2: 2 Lv3: 3 Lv4: 4 Lv5: 5 Lv6: 6 Lv7: 7 Lv8: 8 Lv9: 9 Lv10: 10 } InterruptCast: true CastTime: { Lv1: 640 Lv2: 960 Lv3: 1280 Lv4: 1600 Lv5: 1920 Lv6: 2100 Lv7: 1560 Lv8: 2880 Lv9: 3200 Lv10: 3520 } AfterCastActDelay: { Lv1: 1000 Lv2: 1200 Lv3: 1400 Lv4: 1600 Lv5: 1800 Lv6: 2000 Lv7: 2200 Lv8: 2400 Lv9: 2600 Lv10: 2800 } FixedCastTime: { Lv1: 160 Lv2: 240 Lv3: 320 Lv4: 400 Lv5: 480 Lv6: 700 Lv7: 640 Lv8: 720 Lv9: 800 Lv10: 880 } Requirements: { SPCost: { Lv1: 25 Lv2: 50 Lv3: 75 Lv4: 100 Lv5: 125 Lv6: 150 Lv7: 175 Lv8: 200 Lv9: 225 Lv10: 250 } } }, =========================================================================== Skill_tree.txt Esta parte do banco de dados não é necessária se não for lida por uma classe. No entanto, se você quiser que uma classe aprenda uma habilidade, você deve fazer uma entrada em skill_tree.txt. Um exemplo abaixo: Job_Name: { // Job names as in src/map/pc.c (they are hardcoded at the moment so if you want to add a new job you should add it there) inherit: ( "Other_Job_Name" ); // Base job from which this job will inherit its skill tree. NV_TRICKDEAD inheritance is skipped for non-novices from the source skills: { // SKILL_NAMEs come from the Name (16th column) value in db/re/skill_db.txt SKILL_NAME1: Max_Level // Use this for skills that don't have other skill prerequisite; Max_Level is a numeric value that should match your client side files SKILL_NAME2: { // Use this for skills which have other skills as prerequisites MaxLevel: Max_Level // Max_Level is a numeric value that should match your client side files SKILL_NAME_PREREQUISITE: Level_Prerequisite // The prerequisite skill and min level for having this skill available. Should also match your client side files SKILL_NAME_PREREQUISITE2: Level_Prerequisite2 // You can add as many prerequisite skills as you want. Minimum of 1 if you add a skill this way } } MG_EARTHBOLT: { MaxLevel: 10 MG_FIREBOLT: 5 MG_LIGHTNINGBOLT: 5 } Isso define que: Earth Bolt pode ser aprendido por Mago, tem um nível máximo de 10 (para esta classe), e requer habilidade MG_FIREBOLT no nível 5 e habilidade MG_LIGHTNINGBOLT no nível 5. Tecnicamente, estas são as partes geralmente utilizas com arquivos de banco de dados de habilidade. Há mais, mas isso ficará pra vocês explorarem. Arquivos .lua e .lub As seguintes implementações estão de acordo com a Revisão 228 do Projeto Lua (2012-05-23). A implementação é diferente entre muitas versões de cliente, mas geralmente há 2 implementações: Sem arquivos skillinfoz Em data/lua files/skillinfo/skilltreeview.lua encontre: {"MG_FIREWALL", 18; Pos = 19, MaxLv = 10, NeedSkillList = {6, 12}} Adicione a baixo: {"MG_EARTHBOLT",8443; Pos = 20, MaxLv = 10, NeedSkillList = {19,20}} Com arquivos skillinfoz Em skillid.lua encontre: ECLAGE_RECALL = 3035, Depois adicione: MG_EARTHBOLT = 8443, in data/lua files/skillinfo/skilldescript.lua localize: [SKID.MG_THUNDERSTORM] = { "Thunder Storm", "Max Level:^777777 10 ^000000", "Type:^777777 Offensive ^000000", "SP Cost:^777777 24 + 5*SkillLV ^000000", "Target:^777777 cell ^000000", "Range:^777777 9 cells ^000000", "Cast Time:^777777 1*SkillLV sec ^000000", "Cool Down:^777777 2 sec ^000000", "Duration:^777777 0.2*SkillLV sec ^000000", "Effect:^777777 Hits every Enemy in a 5x5 area around the targeted cell with 1 Wind Element Bolt per level at a rate of 1 bolt every 0.2 seconds. Each bolt does 0.8*MATK Wind element damage. ^000000", "[LV 1]^777777 1 Bolt ^000000", "[LV 2]^777777 2 Bolts ^000000", "[LV 3]^777777 3 Bolts ^000000", "[LV 4]^777777 4 Bolts ^000000", "[LV 5]^777777 5 Bolts ^000000", "[LV 6]^777777 6 Bolts ^000000", "[LV 7]^777777 7 Bolts ^000000", "[LV 8]^777777 8 Bolts ^000000", "[LV 9]^777777 9 Bolts ^000000", "[LV 10]^777777 10 Bolts ^000000", }, Depois adicione: [SKID.MG_EARTHBOLT] = { "Earth Bolt", "Max Level:^777777 10 ^000000" "Type:^77777 Active ^000000" "SP Cost:^777777 20 + 5*SkillLV ^000000" "Target:^777777 1 Enemy ^000000" "Cast Time:^777777 2 sec ^000000" "Cool Down:^777777 1 sec ^000000" "Duration:^777777 Instant ^000000" "Effect: ^777777 Deals SkillLV bolts of Earth magic damage to one enemy, at 150% MATK per hit.^000000", }, skilltreeview.lua mude: [JOBID.JT_MAGICIAN] = { [1] = SKID.MG_STONECURSE, [2] = SKID.MG_COLDBOLT, [3] = SKID.MG_LIGHTNINGBOLT, [4] = SKID.MG_NAPALMBEAT, [5] = SKID.MG_FIREBOLT, [6] = SKID.MG_SIGHT, [8] = SKID.MG_SRECOVERY, [9] = SKID.MG_FROSTDIVER, [10] = SKID.MG_THUNDERSTORM, [11] = SKID.MG_SOULSTRIKE, [12] = SKID.MG_FIREBALL, [13] = SKID.MG_ENERGYCOAT, [18] = SKID.MG_SAFETYWALL, [19] = SKID.MG_FIREWALL }, para: [JOBID.JT_MAGICIAN] = { [1] = SKID.MG_STONECURSE, [2] = SKID.MG_COLDBOLT, [3] = SKID.MG_LIGHTNINGBOLT, [4] = SKID.MG_NAPALMBEAT, [5] = SKID.MG_FIREBOLT, [6] = SKID.MG_SIGHT, [8] = SKID.MG_SRECOVERY, [9] = SKID.MG_FROSTDIVER, [10] = SKID.MG_THUNDERSTORM, [11] = SKID.MG_SOULSTRIKE, [12] = SKID.MG_FIREBALL, [13] = SKID.MG_ENERGYCOAT, [18] = SKID.MG_SAFETYWALL, [19] = SKID.MG_FIREWALL, [20] = SKID.MG_EARTHBOLT }, skillinfolist.lua Mude: [SKID.ECL_SEQUOIADUST] = { "ECL_SEQUOIADUST"; SkillName = "Sequoia Dust", MaxLv = 1, SpAmount = { 0 }, bSeperateLv = false, AttackRange = { 7 }, } Para: [SKID.ECL_SEQUOIADUST] = { "ECL_SEQUOIADUST"; SkillName = "Sequoia Dust", MaxLv = 1, SpAmount = { 0 }, bSeperateLv = false, AttackRange = { 7 }, }, [SKID.MG_EARTHBOLT] = { "MG_EARTHBOLT"; SkillName = "Earth Bolt", MaxLv = 10, SpAmount = { 25, 30, 35, 40, 45, 50, 55, 60, 65, 70 }, _NeedSkillList = { { SKID.MG_FIREBOLT, 5}, { SKID.MG_LIGHTNINGBOLT, 5} } Finalizando Não se esqueça que você precisará de adicionar o arquivo Sprite e BMP apropriado para a habilidade. Use o nome MG_EARTHBOLT como o nome do arquivo em: data\texture\À¯ÀúÀÎÅÍÆäÀ̽º\item data\sprite\¾ÆÀÌÅÛ Efeitos Vá a src/map/skill.h, Procure a skill que deseja adicionar/editar o efeito: case WE_BABY: if(sd) { struct map_session_data *f_sd = pc->get_father(sd); struct map_session_data *m_sd = pc->get_mother(sd); bool we_baby_parents = false; if(m_sd && check_distance_bl(bl,&m_sd->bl,AREA_SIZE)) { sc_start(src,&m_sd->bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)); clif->specialeffect(&m_sd->bl,408,AREA); we_baby_parents = true; } Aqui está sendo utilizado como exemplo a habilidade de convocação das classes bebês. Onde 408 é o efeito adicionado para que seja mostrado ao utilizar a skill. Para a sua habilidade customizada, como ela é uma habilidade nova, não há nenhum efeito, então você terá que adicioná-lo ao arquivo, seguindo de exemplo a mesma forma mostrada acima. Para saber a lista de todos os efeitos, basta utilizar doc/effect_list.txt. Fontes e créditos https://github.com/HerculesWS/ https://github.com/Cronus-Emulator/ https://github.com/brAthena/ https://github.com/rAthena/ http://forum.cronus-emulator.com/ https://forum.brathena.org/ http://herc.ws/wiki/Adding_new_skills http://herc.ws/ https://google.com/ Comentários Decidi fazer esse tutorial pois percebi que ainda não há nenhum guia com esse assunto em PT-BR e havia uma grande demanda de pessoas procurando. Tinha dado uma olhada no Hercules e percebi que é um bom tutorial, mas ainda estava incompleto e bem desatualizado, então decidi usa-lo como base e também pensei, por que não criar um? Espero que esteja de boa compreensão, caso estiver faltando algo que eu esqueci ou que eu não saiba, por favor me informe para torná-lo o melhor possível. Estou aberto a sugestões e críticas construtivas. Façam um bom proveito
  38. 1 point
    Aconteceu comigo uma vez isso, rodava sem erro e os mobs não apareciam. No meu caso foi compatibilidade hexed/emulador. verifique teu arquivo mmo.
  39. 1 point
    Não dá e nem é legal ficarmos montando NPC pra todo mundo aqui, vocês precisam também absorver o conhecimento ativamente e não passivamente. Vou te dizer quais comandos de script você consegue fazer o que deseja. Gatilhos: *OnInit: Obs: Você precisa utilizar este gatilho para teu script ser executado toda vez que o emulador for reiniciado. Comandos de Scripts: *gettime Obs: Você usará este comando dentro de um If para checar se o dia e mês batem com o que você deseja. *setmapflag Obs: Você usará para definir um mapflag temporário em um determinado mapa. Como por exemplo ativar o mapflag das folhas de sakura ou as neve de snow. Dica: Procure a descrição do funcionamento dos comandos descritos aqui no arquivo doc/scripts_commands.txt Qualquer dúvida pode postar neste tópico, poste também o script que já montou para darmos sugestões de melhorias.
  40. 1 point
    Previsão de retorno do sistema: 04/06/2018 por volta das 9:00hs Atualização desta postagem: 24/02/2019 Permissão para downloads: com 05 posts válidos ou mais. Mudanças no sistema de Downloads: A partir do retorno do sistema de Download, membros do grupo de membros comuns estarão limitados há: 01 Download por dia. 02 Downloads por dia(cada, 24hrs) Não mais necessário ter 20 posts para realizar o download 07 Downloads por semana. 25 Downloads por mês. Lembrando a regra antiga: Necessário 20 posts ou mais para poder fazer downloads Membros do grupo de [+]Membros(e outros grupos, fora o comum) estarão sem limites de downloads por dia, por semana e mensalmente. Inclusive, para eles, o sistema já esta liberado. Que saber como se tornar [+]Membro? Informações complementares: "Pow Jonyll, isso é fácil de burlar, peço pro meu amiko fazer o download que preciso blablabla" - Entre outros métodos. Sim, eu sei que tem isso e além. Mas é também por isto que estou mudando o sistema. Vocês só pensam no umbigo de vocês, só pensam no 'çerfis' de vocês, só pensam em usar, abusar e que se dane tudo e todos. Então, se quer usar, ajude também o fórum. Não gostou do que falei acima? Azar o seu e azar do fórum e seus sistemas. Quando fechar tudo, perder tudo de vez, não vá por ai bravejar e falar besteiras. Vocês adoram usar o fórum, adoram baixar tudo, adoram pedir coisas e não tem o mínimo de decência de agradecer o fórum, a pessoa ou quem quer que seja. Claro que não estou generalizando, mas se seu sangue subiu lendo isso, se seu rosto esquentou lendo isso, então o que falei serve pra você também. Não quer doar/ajudar ? Problema seu. Nós aqui vamos nos virando como podemos pra manter tudo online e em bom funcionamento para todos. Bom dia.
  41. 1 point
    Fui eu que desenvolvi o script. Eu não desenvolvi pensando em @reloadscript, pois este comando não se deve ser utilizado em ambiente de produção (servidor aberto para o público). Você poderá ter diversos outros bugs inimaginaveis se ficar utilizando @reloadscript em produção, este comando foi criado para uso em ambientes de testes e manutenções. Se você precisa fazer uma manutenção urgente ou recarregar algum NPC em especifico sem querer reiniciar o emulador em produção, existem outras opções de comando com potencial de estrago bem reduzido como o caso do @unloadnpcfile ,@unloadnpc e @loadnpc. Após o meu alerta se você quiser continuar abusando do uso do @reloadscript, tente adicionar este NPC para debug. - script SistemaPresenca_DeBug -1,{ OnInit: sleep 10000; set .debug = getnpctimer(0,"SistemaPresenca"); sleep 10000; while (getnpctimer(0,"SistemaPresenca") == .debug ) { initnpctimer "SistemaPresenca"; set .debug = getnpctimer(0,"SistemaPresenca"); sleep 10000; } } Obs: Não foi testado.
  42. 1 point
    Esse funciona no meu hexed 20141022 stateiconinfo.rar
  43. 1 point
    Informações: Valor: Mínimo inicial de R$15,00 Cada valor corresponde ao seu tempo de dias vip e valor em ROPs in-game. Ex; Doando R$15,00, dentro do servidor você irá ganhar 15 dias corridos de vip e 15.000 rops para usar como desejar dentro do jogo. Os tickets adquiridos não podem ser comercializados de maneira alguma, somente guardados na Kafra/no Armazém. Os tickets serão entregues vip NPC Torsen que ficará em Prontera, na praça central a direita, ao lado da casa de Equipamentos. Não existe outra forma de realizar a doação, fora o que esta apresentado e explicado abaixo. Com estes rops, você poderá adquirir o que desejar na loja de Rops Oficial. Nesta mesma loja, terá equipamentos do tipo VISUAIS nas quais não terá nenhum stauts. Alguns itens usáveis e outros. Não será adicionado nenhum equipamento ROPs que de alguma forma, dê status. Além de ganhar o status [+]Membro em nosso fórum, com este status você ganha o direito a seções particulares e outros . Métodos de doação: (Até o presente momento, não iremos aceitar doações para contas bancárias) As confirmações de doações devem ser feitas NESTA SEÇÃO. Basta você criar um tópico novo com seu login e email usado no servidor. OBS: Esta seção só aparece para quem fizer e confirmação a doação. https://forum.cronus-emulator.com/donate/make-donation/ Como podem ver, os valores aceitos até o presente momento são; R$15,00 = 15.000 ROPs e 15 dias de status VIP R$25,00 = 25.000 ROPs e 30 dias de status VIP R$50,00 = 50.000 ROPs e 55 dias de status VIP R$75,00 = 75.000 ROPs e 80 dias de status VIP R$100,00 = 100.000 ROPs e 110 dias de status VIP Lembrando que, cada valor irá se tornar também, ROPs dentro do servidor. Aqui segue as imagens dos tickets: Como informado anteriormente. Todos os tickets serão entregues pelo NPC Torsen, este por segurança, irá guardar informações no momento que o responsável retirá-lo. O Administrador responsável, @JulioCF irá realizar a entrega dos pedidos confirmados, neste NPC todos os dias após as 20h - Salvo algum dia que tenha algum problema pessoal. Assim que o comprador do ticket entrar in-game, irá receber minha chat uma mensagem informando que, tem um ticket a ser retirado: Como comentado antes, ficará registrado em painel interno com acesso administrativo, quado este item for retirado pelo seu responsável. Comandos disponíveis para doadores -sem contar os comandos públicos, para conhecê-los, clique aqui- @at - Pode deixar sua loja ativa mesmo desconectado, durarão da loja; 72 horas. Item de destaque da loja, além dos itens usáveis da mesma; Conforme descrição, este é um acessório na qual, após equipado irá lhe fornecer a habilidade Ganância que é uma habilidade das classes Mercadores e evoluções, com esta habilidade, você será capaz de recolher uma certa quantidade de itens dropados no chão. O valor conforme demonstrado esta em; 5.000 rops que é equivalente a; R$5,00 Restrições da presilha; Não pode ser jogado no chão. Não pode ser vendido. Não pode ser trocado entre personagens. Não pode ser adicionado ao armazém de uma Guida. Não pode ser adicionado ao carrinho. Não pode ser enviado por email e afins. Este item somente pode ser guardado em armazém particular. Este item também se encontra como drops nos seguintes mini-boss do servidor, com chance de 0,01%(sem contar a edição de drops) ArchAngeling Angeling Mastering Dragão Mutante Ghostring Eclipse Líder Goblin Líder Kobold Metaller Grifo Hydrolancer Duque Coruja Barão Coruja Quimera Executioner Mysteltainn aceitamos sugestões de mini-bos, principalmente os mais simples e assim, trazer maior valorização - Use a seção de sugestões. Agora, vamos falar sobre os motivos das doações, o para que elas irão servir e assim por diante... Motivos: Manter todos os sistemas de dentro do Cronus funcionando e pagos. Lembrando que o fórum por ex, não é nulled. Pagamento da máquina para se manter todos os sistemas online Possível contratações de tradutores para o projeto Atualizações deste tópico: Informação sobre a confirmação de doação. 05/04/2019
  44. 1 point
    Não cheguei a testar esse mesmo. Como busquei pela palavra chave de Zumbi das outras vezes ele acabou não aparecendo. Obrigado!
  45. 1 point
    Consegui Muito obrigado , vou estar disponibilizando abaixo o que eu terminei de fazer caso alguém queira utilizar. prontera,1,1,1 script NoChatNoVending -1,{ OnInit: setcell "prontera.gat",1,1,312,392,cell_nochat,0; setcell "prontera.gat",1,1,312,392,cell_novending,0; setcell "prontera.gat",134,190,177,217,cell_nochat,1; setcell "prontera.gat",82,200,124,207,cell_nochat,1; setcell "prontera.gat",125,199,125,208,cell_nochat,1; setcell "prontera.gat",126,198,126,209,cell_nochat,1; setcell "prontera.gat",127,197,127,210,cell_nochat,1; setcell "prontera.gat",128,196,128,211,cell_nochat,1; setcell "prontera.gat",129,195,129,212,cell_nochat,1; setcell "prontera.gat",130,194,130,213,cell_nochat,1; setcell "prontera.gat",131,193,131,214,cell_nochat,1; setcell "prontera.gat",132,192,132,215,cell_nochat,1; setcell "prontera.gat",133,191,133,216,cell_nochat,1; setcell "prontera.gat",148,231,163,268,cell_nochat,1; setcell "prontera.gat",147,230,164,230,cell_nochat,1; setcell "prontera.gat",146,229,165,229,cell_nochat,1; setcell "prontera.gat",145,228,166,228,cell_nochat,1; setcell "prontera.gat",144,227,167,227,cell_nochat,1; setcell "prontera.gat",143,226,168,226,cell_nochat,1; setcell "prontera.gat",142,225,169,225,cell_nochat,1; setcell "prontera.gat",141,224,170,224,cell_nochat,1; setcell "prontera.gat",140,223,171,223,cell_nochat,1; setcell "prontera.gat",139,222,172,222,cell_nochat,1; setcell "prontera.gat",138,221,173,221,cell_nochat,1; setcell "prontera.gat",137,220,174,220,cell_nochat,1; setcell "prontera.gat",136,219,175,219,cell_nochat,1; setcell "prontera.gat",135,218,176,218,cell_nochat,1; setcell "prontera.gat",187,200,229,207,cell_nochat,1; setcell "prontera.gat",186,199,186,208,cell_nochat,1; setcell "prontera.gat",185,198,185,209,cell_nochat,1; setcell "prontera.gat",184,197,184,210,cell_nochat,1; setcell "prontera.gat",183,196,183,211,cell_nochat,1; setcell "prontera.gat",182,195,182,212,cell_nochat,1; setcell "prontera.gat",181,194,181,213,cell_nochat,1; setcell "prontera.gat",180,193,180,214,cell_nochat,1; setcell "prontera.gat",179,192,179,215,cell_nochat,1; setcell "prontera.gat",178,191,178,216,cell_nochat,1; setcell "prontera.gat",148,130,163,176,cell_nochat,1; setcell "prontera.gat",147,177,164,177,cell_nochat,1; setcell "prontera.gat",146,178,165,178,cell_nochat,1; setcell "prontera.gat",145,179,166,179,cell_nochat,1; setcell "prontera.gat",144,180,167,180,cell_nochat,1; setcell "prontera.gat",143,181,168,181,cell_nochat,1; setcell "prontera.gat",142,182,169,182,cell_nochat,1; setcell "prontera.gat",141,183,170,183,cell_nochat,1; setcell "prontera.gat",140,184,171,184,cell_nochat,1; setcell "prontera.gat",139,185,172,185,cell_nochat,1; setcell "prontera.gat",138,186,173,186,cell_nochat,1; setcell "prontera.gat",137,187,174,187,cell_nochat,1; setcell "prontera.gat",136,188,175,188,cell_nochat,1; setcell "prontera.gat",135,189,176,189,cell_nochat,1; setcell "prontera.gat",134,190,177,217,cell_novending,1; setcell "prontera.gat",82,200,124,207,cell_novending,1; setcell "prontera.gat",125,199,125,208,cell_novending,1; setcell "prontera.gat",126,198,126,209,cell_novending,1; setcell "prontera.gat",127,197,127,210,cell_novending,1; setcell "prontera.gat",128,196,128,211,cell_novending,1; setcell "prontera.gat",129,195,129,212,cell_novending,1; setcell "prontera.gat",130,194,130,213,cell_novending,1; setcell "prontera.gat",131,193,131,214,cell_novending,1; setcell "prontera.gat",132,192,132,215,cell_novending,1; setcell "prontera.gat",133,191,133,216,cell_novending,1; setcell "prontera.gat",148,231,163,268,cell_novending,1; setcell "prontera.gat",147,230,164,230,cell_novending,1; setcell "prontera.gat",146,229,165,229,cell_novending,1; setcell "prontera.gat",145,228,166,228,cell_novending,1; setcell "prontera.gat",144,227,167,227,cell_novending,1; setcell "prontera.gat",143,226,168,226,cell_novending,1; setcell "prontera.gat",142,225,169,225,cell_novending,1; setcell "prontera.gat",141,224,170,224,cell_novending,1; setcell "prontera.gat",140,223,171,223,cell_novending,1; setcell "prontera.gat",139,222,172,222,cell_novending,1; setcell "prontera.gat",138,221,173,221,cell_novending,1; setcell "prontera.gat",137,220,174,220,cell_novending,1; setcell "prontera.gat",136,219,175,219,cell_novending,1; setcell "prontera.gat",135,218,176,218,cell_novending,1; setcell "prontera.gat",187,200,229,207,cell_novending,1; setcell "prontera.gat",186,199,186,208,cell_novending,1; setcell "prontera.gat",185,198,185,209,cell_novending,1; setcell "prontera.gat",184,197,184,210,cell_novending,1; setcell "prontera.gat",183,196,183,211,cell_novending,1; setcell "prontera.gat",182,195,182,212,cell_novending,1; setcell "prontera.gat",181,194,181,213,cell_novending,1; setcell "prontera.gat",180,193,180,214,cell_novending,1; setcell "prontera.gat",179,192,179,215,cell_novending,1; setcell "prontera.gat",178,191,178,216,cell_novending,1; setcell "prontera.gat",148,130,163,176,cell_novending,1; setcell "prontera.gat",147,177,164,177,cell_novending,1; setcell "prontera.gat",146,178,165,178,cell_novending,1; setcell "prontera.gat",145,179,166,179,cell_novending,1; setcell "prontera.gat",144,180,167,180,cell_novending,1; setcell "prontera.gat",143,181,168,181,cell_novending,1; setcell "prontera.gat",142,182,169,182,cell_novending,1; setcell "prontera.gat",141,183,170,183,cell_novending,1; setcell "prontera.gat",140,184,171,184,cell_novending,1; setcell "prontera.gat",139,185,172,185,cell_novending,1; setcell "prontera.gat",138,186,173,186,cell_novending,1; setcell "prontera.gat",137,187,174,187,cell_novending,1; setcell "prontera.gat",136,188,175,188,cell_novending,1; setcell "prontera.gat",135,189,176,189,cell_novending,1; end; } // -- Block de Itens prontera mapflag nodrop // -- Fim dos Mapflags prontera mapflag noskill
  46. 1 point
    Processo de criação de um servidor de ragnarok, onde vemos o que pode ser feito em um servidor antes de sua ativação oficialmente. Mas os vídeos não só mostram o processo, e sim tento explicar de uma forma, para que leigos que não tem conhecimento algum sobre isso possam entender. Por isso costumam ser grandes mesmo para questões simples. É importante que veja todos vídeos em sequência para que possa entender o próximo e os seguintes, pois não prestarei suporte ou esclarecei nada sobre os mesmo, porque todo assunto já é abordado em cada vídeo. ==================== 1 - Instalação do Servidor MySql: https://youtu.be/BsV7hfJAlVc 2 - Criando o utilizador do MySql: https://youtu.be/Jl39mEU9Z7Y 3 - Instalando o Visual Studio: https://youtu.be/zevjWbDrMMg 4 - Compilando o Emulador: https://youtu.be/YbMxXEtbJSI 5 - Conectando o emulador ao banco de dados: https://youtu.be/LY6nrtByJsw 6 - Alterando banco de dados para salvamento de log: https://youtu.be/Xlulpx6XhRw 7 - Criando e logando com a conta do administrador: https://youtu.be/-ZOcZ3SCt6o 8 - Diffagem do primeiro EXE: https://youtu.be/z9kPM25_wtw 9 - Adicionando DLL: https://youtu.be/owWc0IZ-q2Y 10 - Adicionando Lua Files: https://youtu.be/tVt0u4woATs 11 - Lua ou Lub?: https://youtu.be/N_vLDb0Czd0 12 - Rates do Servidor: https://youtu.be/rTnsHMycdbE 13 - Cidade de Izlude: https://youtu.be/d0h5foTfbBc 14 - Backup e gestão de arquivos 3 vídeos: Parte 1 https://youtu.be/ebrLriaMh9w Parte 2 https://youtu.be/0wLdmnSp24k Parte 3 (Bonus) https://youtu.be/LCb__S-HJX4 15 - Alterar ponto inicial: https://youtu.be/Kbw9YQfS8f4 16 - Gestão de Npcs 3 Vídeos: Parte 1 https://youtu.be/CUlfzY0a23I Parte 2 https://youtu.be/74Z_GP01qIQ Parte 3 https://youtu.be/UN0jYo4AFm0 17 - Loadings e Login Background: https://youtu.be/BVnnMzh7eoY 18 - GRF do Patch: https://youtu.be/uDsM8o5DeT4 19 - Patch dos Usuários: https://youtu.be/1SrwGb3tWwY 20 - Transferência de arquivos: https://youtu.be/4lmTlfIrJd8 21 - Auto Patch: Parte 1 https://youtu.be/sElagZ_Qv4s Parte 2 https://youtu.be/SA-ZRotKukc 22 - Instalador: https://youtu.be/4lmTlfIrJd8
  47. 1 point
    Se for SQL o servidor vai no PHPMYADMIN e vai no bancos de dados do seu servidor encontra o ID da sua conta e so colocar no Clientinfo.xml Qualquer dúvidas a mais, so postar aqui, obrigado! :)
  48. 1 point
    Seja bem-vindo ao Cronus-Emulator, vinagon :)
  49. 1 point
    Aqui está amigo..... NPC Ajudei? Reputa ae
  50. 1 point
    O erro estava acontecendo devido ao site aonde fiz o upload do NPC, que retirava os TABs... Já concertei e adicionei um link do CronusPaste, quem quiser fazer o dowload: PasteBin CronusPaste
This leaderboard is set to Sao Paulo/GMT-03:00
Parceiro Cronus-Emulator


Seja bem vindo ao Cronus-Emulator.
É sempre um prazer te-lo conosco.
Você pode visualizar nossas áreas de suporte para encontrar suas soluções sem a necessidade de se registrar!
Registrando em nossa comunidade, você poderá conhecer mais sobre nosso projeto, criar tópicos, responder tópicos existentes, baixar milhares de recursos em nosso sistema de downloads, participar de nossa comunidade, customizar seu perfil e muito mais... Se você já possui uma conta, faça seu login - ou crie uma conta. Também temos integração com Google+ e Facebook.

×
×
  • Create New...