Barbiroto

Members
  • Content count

    15
  • Joined

  • Last visited

About Barbiroto

  • Rank
    Member

Profile Information

  • Github
    Barbiroto
  1. Cara valeu pela tentativa mas não rolou, como existe o comando nativo vou deixar um aviso com uma caixa mesmo. Se o jogador prestar atenção vai aprender/gravar o comando e ai já era. Ma área de alterações da src tem uma mod que faz extamente isso, mas vou preferir deixar só a caixa mesmo. Obrigado por enquanto. O_o, eu não sei ao certo quanto tempo mas eu não lembrava desse comando no tempo que ainda estava ativo. Talvez eu me expressei mal, ou você não entendeu minha pergunta ou eu não te entendi sua resposta rsrs. Sim o comando é nativo e é esse aqui o: /am, só queria chamar ele usando @comando com o bindatcmd sacou? Mas não vou modificar source só por uma boberinha dessa. Valeu por enquanto. Se puderem, pode fechar o tópico... agradecido a galera.
  2. Boa tarde galera, estava navegando aqui no fórum atrás de uma mod na source ou um plugin que deixe o char com uma mensagem padrão (definida pelo mesmo) que é disparada automáticamente para quem manda uma mensagem privada. Como parei com ragnarok faz tempo e to voltando agora eu vi que tem um comando que faz isso nativamente no emulador/jogo, que é o /am (aqui funciona normalmente) mas gostaria de colocar esse comando / em @, ai pensei na seguinte lógica abaixo, mas não está funcionando e da erro de invisible/not on a map no mapserver, alguém manja a sintaxy correta para efetuar esse comando. (por enquanto deixei comentado e usei um balão de chat informando, mas fica muito feio dessa forma, automátizado ficaria 1000x melhor) - script OnComandos -1,{ OnInit: // Outros Binds // Outros Binds // Outros Binds bindatcmd "@afk2",strnpcinfo(3)+"::OnAFK2"; end; OnAFK2: // Automátizar Abaixo // atcommand "/am"; // Não deu certo // atcommand strcharinfo(0)+":/am"; // Não deu certo // atcommand strcharinfo(0)+"/am"; // Não deu certo // Automátizar Acima mes "^FF0000[@AFK2]^000000"; mes "Olá amig"+(Sex?"o":"a")+" para deixar uma mensagem de ausência digite ^FF0000/am^000000 na sua barra de chat."; close; end;} Valeu por enquanto.
  3. https://raw.githubusercontent.com/HerculesWS/Hercules/master/doc/script_commands.txt só usar ctrl+f e digitar alguma palavra perto do que vc está procurando ^^ Valeu
  4. Olá amigo, é verdade a questão de dar EXP fazendo update não vai resolver porque o cliente não vai entender a hora de mudança de level, vou fazer um count e dar um level a cada x itens, não vai ficar 100% mais vai quebrar o galho, já que criar um comando na source está fora do meu domínio e também por ser uma coisa boba não vejo necessidade, prefiro fazer um script(mesmo que não fique 100%). Sobre a guild exp deu certinho, ainda cheguei perto do comando certo: guild_getexp (só tirar o _), onde você consegue esses comandos? Porque já é a terceira ou mais que você me ajuda com os comandos que não conheço! Obrigado por enquanto, já marquei o tópico como resolvido.
  5. Boa noite ae galera, Eu construi um NPC que troca lixaria(ETC) por EXP, ta funcionando 100% ai pensei em colocar para ganhar EXP do Clã(se tiver um) e do Homunculus(se tiver um) Dei uma pesquisada aqui e externo e a única coisa que achei foi aqui na Wiki mas os comandos não deve ser esses. Parte do código relavante ao que preciso. if(countitem(1000) >= .@QntdItens){ set @Total, countitem(1000)/3; set .@RandEXPB, @Total * .@RandEXPB; set .@RandEXPJ, @Total * .@RandEXPJ; getexp .@RandEXPB,.@RandEXPJ; delitem 1000,@Total; // EXP Homunculus Base/Job if(gethominfo(1)){ getexp .@RandEXPH,.@RandEXPH; // http://herc.ws/wiki/Hercules_Interface_System // homunculus_gainexp ? } // EXP Clã if(getcharid(2) == 1){ getexp .@RandEXPG; // http://herc.ws/wiki/Hercules_Interface_System // guild_getexp ? }} Preciso saber qual o comando que seto EXP Guild/Homunculus eu já até tenho(pensei) em uma solução paralela que seria via SQL mas se tiver comando nativo é mais simples e mais vantajoso. UPDATE `guild` SET `exp`= `exp` + '"+.@RandEXPG+"' WHERE (`guild_id`='"+getcharid(2)+"'); UPDATE `homunculus` SET `exp`= `exp` + '"+.@RandEXPH+"' WHERE (`char_id`='"+getcharid(0)+"') Muito obrigado galera.
  6. Obrigado cara, resolvido. Fica abaixo para quem precisar. // conf/battle/monster.conf// dynamic_mobs: no- script MatarBoss -1,{ OnInit: sleep2 1000; setarray .@map$[0], "abbey02", "abbey03", "abyss_03", "ama_dun03", "anthell02", "ayo_dun02", "beach_dun", "bra_dun02", "dew_dun01", "dic_dun02", "dic_dun03", "ein_dun02", "gef_dun01", "gef_dun02", "gef_fild03", "gef_fild10", "gl_chyard", "gld2_ald", "gld2_gef", "gld2_pay", "gld2_prt", "gld_dun01", "gld_dun01_2", "gld_dun02", "gld_dun02_2", "gld_dun03", "gld_dun03_2", "gld_dun04", "gld_dun04_2", "gon_dun03", "in_sphinx5", "iz_dun05", "jupe_core", "kh_dun02", "lhz_dun02", "lou_dun03", "mjolnir_04", "moc_fild17", "moc_fild22", "moc_pryd04", "moc_pryd06", "moc_prydn2", "mosk_dun03", "odin_tem03", "pay_dun04", "pay_fild10", "prt_maze03", "prt_sewb4", "ra_fild03", "ra_fild04", "ra_san05", "thor_v03", "treasure02", "tur_dun04", "ve_fild01", "ve_fild02", "xmas_dun02", "xmas_fild01", "lhz_dun01", "pay_fild04", "yuno_fild03"; for(set .@i, 0; .@i < getarraysize(.@map$); set .@i, .@i + 1){ killmonsterall .@map$[.@i]; // Linha Abaixo DEBUG Teste (Comentar-Apagar Produção) // announce "Mapa "+.@map$[.@i]+" Morreu",bc_yellow; sleep2 100; } end;}
  7. Fala ae pessoal beleza, estou tentando criar um script para matar todos Chefes quando eu ligar ou der reload no servidor, tenho esse cara abaixo - script MatarBoss -1,{ OnInit: sleep2 5000; setarray .@map$[0], "abbey02", "abbey03", "abyss_03", "ama_dun03", "anthell02", "ayo_dun02", "beach_dun", "bra_dun02", "dew_dun01", "dic_dun02", "dic_dun03", "ein_dun02", "gef_dun01", "gef_dun02", "gef_fild03", "gef_fild10", "gl_chyard", "gld2_ald", "gld2_gef", "gld2_pay", "gld2_prt", "gld_dun01", "gld_dun01_2", "gld_dun02", "gld_dun02_2", "gld_dun03", "gld_dun03_2", "gld_dun04", "gld_dun04_2", "gon_dun03", "in_sphinx5", "iz_dun05", "jupe_core", "kh_dun02", "lhz_dun02", "lou_dun03", "mjolnir_04", "moc_fild17", "moc_fild22", "moc_pryd04", "moc_pryd06", "moc_prydn2", "mosk_dun03", "odin_tem03", "pay_dun04", "pay_fild10", "prt_maze03", "prt_sewb4", "ra_fild03", "ra_fild04", "ra_san05", "thor_v03", "treasure02", "tur_dun04", "ve_fild01", "ve_fild02", "xmas_dun02", "xmas_fild01", "lhz_dun01", "pay_fild04", "yuno_fild03"; for(set .@i, 0; .@i < getarraysize(.@map$); set .@i, .@i + 1){ killmonsterall .@map$[.@i]; // Linha Abaixo DEBUG Teste (Comentar-Apagar Produção) announce "Mapa "+.@map$[.@i]+" Morreu",bc_yellow; sleep2 100; } end;} Olhei umas variaveis de comandos usando e fiz algumas buscas aqui e externo, e cheguei mais fácil usando esse tópico: http://herc.ws/board/topic/2883-killmonster2-every-five-hours/page-2 O script não funciona, se não tiver ninguém no mapa (ou tem alguma configuração no emulador que renova todos monstros se não tiver ninguém no mapa?) Porque o script está funcionando se eu der reload e estar em um mapa os chefes daquele mapa morre, mais ai dou warp em outro mapa e os chefes estão lá. Se alguém puder ajudar agradeço, valeu!
  8. Muito obrigado amigo, para registro de alguém que possa ter essa dúvida os valores acima de 8 que seria o ITR_NOCART não funcionou somando então fiz a conversão para para decimal e deu certo (chutei que era isso comparando com outros flags default na base que o valor era alto). enum ItemTradeRestrictions { ITR_NONE = 0, ///< No restrictions ITR_NODROP = 1, ///< Item can't be dropped ITR_NOTRADE = 2, ///< Item can't be traded (nor vended) ITR_PARTNEROVERRIDE = 4, ///< Wedded partner can override ITR_NOTRADE restriction ITR_NOSELLTONPC = 8, ///< Item can't be sold to NPCs ITR_NOCART = 16, ///< Item can't be placed in the cart ITR_NOSTORAGE = 32, ///< Item can't be placed in the storage ITR_NOGSTORAGE = 64, ///< Item can't be placed in the guild storage ITR_NOMAIL = 128, ///< Item can't be attached to mail messages ITR_NOAUCTION = 256, ///< Item can't be auctioned ITR_ALL = 511 ///< Sum of all the above values}; Resolvido.
  9. Olá amigos, boa noite. Apesar de não ser recomendado usar o db_sql conforme vem avisado no inter-server.conf eu optei por usar sql pois *pra mim* é muito mais simples, prático e de fácil manuseio, além da manutenção ser infinitamente mais fácil. Gostaria de saber se alguém manja como fazer exatamente o exemplo abaixo em .txt pra .sql (os bloqueios do item): { Id: 111111 AegisName: "111111" Name: "111111" Type: 3 Buy: 0 Weight: 0 Trade: { override: 99 nodrop: true notrade: true partneroverride: true noselltonpc: true nocart: true nostorage: false nogstorage: true nomail: true noauction: true }}, Eu vi isso no item_db.txt e usando a base .txt eu consigo o que preciso, mais e no SQL alguém manja? se alguém tiver um exemplo simples fico agradecido. Tenho quase certeza que o bloqueio é no trad_flag pois alguns itens default vem com bloqueio só que não sei quais os valores de cada regra. Valeu pessoal.
  10. Perfeito o meu estava em português mas com a acentuação tudo bagunçada (direto no arquivo, tentei converter ansi/utf e o diabo mas os caracteres especiais já estavão bagunçados.) Obrigado.
  11. Show, muito obrigado.
  12. Perfeito, obrigado. Resolvido.
  13. Boa noite galera, eu criei(reescrevi) um evento que é aquele onde os Aprendizes lvl1 fogem dos Zombies. Ta funcionando 100% mas queria saber se da pra otimizar uma parte (retirar o SQL e deixar um comando nativo do emulador para checar a existência de um PET igual fiz com os Assistentes Mercenários). Tenho isso funcionando if(getmercinfo(0)){ mes .@nomedonpc$; mes "Você não pode entrar nesse evento com um Assistente Mercenário."; close; } query_sql "SELECT `char`.char_id FROM `char` INNER JOIN pet ON `char`.char_id = pet.char_id WHERE `char`.char_id = '"+getcharid(0)+"' AND `pet`.incubate = '0' LIMIT 1",.@char_idP; if(.@char_idP >= 1){ mes .@nomedonpc$; mes "Você não pode entrar nesse evento com um Bichinho de Estimação."; close; } Eu dei uma procurada aqui e externo e não achei, e também abri os arquivos da pasta doc e doc/sample e achei um getmonsterinfo mas nenhum exemplo para PET (se é que é esse o comando para PET). Obrigado galera.
  14. Boa tarde galera, estou com revisão do Hercules mais atual, o Jobmaster tem um problema nas transformações de conta Feminina, ao tentar transformar-se em Odalisca não aparece a opção, somente a opção Bardo e caso eu avançe o JobMaster transforma em Bardo class 19 e não class 20 que seria a odalisca, feito e transformação a conta fica bugada e não entra mais no jogo até que eu troque a classe direto na base. https://github.com/HerculesWS/Hercules/blob/master/npc/custom/jobmaster.txt A única alteração que fiz nesse script foi colocar 0 para não ter 3º classe. .third_classes = 0; Mudei direto na base a class para 4004 para tentar a transformação para Cigana 4021 e da o mesmo chabú, transforma em Menestrel 4020 e buga a conta. Provavelmente para transformar em Baby também vai bugar (Não testei). Obrigado galera. @Edit Pode fechar, apesar de não acusar nenhum erro sequer no map server eu recompilei o emulador e o problema foi solucionado!
  15. Boa tarde galera, Eu não sou usuário do Linux, eu compilei meu hercules revisão mais recente no windows (local), tudo certinho com os plugins que eu preciso (afk/costume/whoosell). Maravilha, tudo funciona como deveria. Minha hospedagem online do emulador oferece uma ferramente chamada RLCP (acho que alguns de vocês conhece), legal por essa ferramenta tem as opções de compilar via browser e já fica tudo funcionando. Porém essa ferramenta não está compilando os plugins, como eu disse não sou usuário Linux mas fiz as pesquisas e cheguei a conclusão (posso estar errado) que o emulador no servidor linux não usa as DLLs dos plugins (windows) e sim os .so (Linux), então comecei minhas pesquisas aqui e externo e fiz algumas edições no arquivo src/plugins/Makefile para tentar que a ferramenta RLCP compilasse os plugins MYPLUGINS = afk costumeitem whosell all: $(PLUGINS) Makefileafk: afk.socostumeitem: costumeitem.sowhosell: whosell.so Mandei rodar o RLCP e não compilou os plugins (seria criado os plugins .so na pasta plugin certo?) Então pelo que li no arquivo estava 'make plugins' or 'make all' Então mudei tudo que era referente a compilação de plugins nesse arquivo da pasta src/plugin e no configure da pasta raiz trocando todas makes para make all (onde referia-se a plugins), também não deu certo. Como a hospedagem não da suporte a uma ferramenta do tipo putty que poderia ser compilado com o comando make plugins (li aqui no fórum mesmo) então eu pensei, porra vou instalar o Linux numa máquina virtual local mesmo, compilo local e faço upload dos plugins para o emulador online (isso daria certo vendo que uso a mesma versão do emulador offline e online?), então segui esse tutorial: http://herc.ws/board/topic/475-instalar-y-compilar-hercules-en-ubuntu/ Porém o Ubuntu 9.0.4 que foi o Linux que instalei quando faço o comando sudo apt-get update && sudo apt-get upgrade ou o comando: sudo apt-get install git Que é para instalar o programa/pacote me retorna esse erro abaixo (estou online na máquina virtual, abrir o FF e naveguei normal) OBS: tentei instalar Ubuntu mais novo mas como minha máquina é muito antiga ficou pesado e não rodou. OBS: tentei usar o Terminal Linux como ROOT e deu o mesmo erro. OBS: tentei pegar o gancho desse tópico: http://herc.ws/board/topic/7581-erro-ao-compilar-no-ubuntu/ mas da o mesmo erro. Então quem puder me ajudar, tem duas formas "eu acho" 1) se alguém manja desse RLCP e puder me ajudar configurar para o bendito compilar os plugins resolve. 2) do jeito que pensei da certo? compilar local e enviar para o servidor online? se sim me ajude a fazer as instalações no Linux Ubuntu 9.0.4. Obrigado por enquanto galera. @EDIT, Pode fechar esse tópico, como não consegui resolver acabei optando por trocar por uma hospedagem com acesso a SSH e resolvi fácil digitando make plugins, obrigado a todos.