Jump to content

Barbiroto

Members
  • Content Count

    15
  • Joined

  • Last visited

Posts posted by Barbiroto


  1. vc pode tentar usar:

     

    unittalk strcharinfo(0),"/am";

     

    caso não dê certo vc vai ter q alterar na source, seguindo o exemplo a seguir:

     

    sprintf(command, "/kick %s (%d)", status->get_name(target), status->get_class(target));

     

    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.

     

     

    Rapaz.. isso é nativo faz alguns anos nos servidores oficiais pelo o que lembro, algum comando /

     

    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.  

    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.

     

    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 :no1:


  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.

     

    S4joocN.png

     

    Valeu pessoal.


  10. 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.


  11. 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!


  12. 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)
     
    iYP1t0W.png

     

     

    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.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.