Jump to content

Ragno

Retired Staff
  • Content Count

    133
  • Joined

  • Last visited

  • Days Won

    13

Reputation Activity

  1. Upvote
    Ragno got a reaction from fogocalvoeua in Three suggestions to Huld   
    If any of them is possible, I would gladly help sending the sentences where noun gender is different when translated, or at least inform of them.
     
    --
     
    I have another suggestion to help Huld to be knowed and experienced for more people.
     
    Would it be possible have the capability to load multiple .po files for a same language? The purpouse of this is to be able to add individual translations to individual scripts instead of modify main language.po file (wich is cool as it is).
     
    That would help players to experience huld system with events, custom scripts, or new script releases and let gms to maintain a secondary po file to custom npc from server individual from main emulator npcs. Also, since those files would be less sized, it would be more friendly to translate them, allowing scripters to introduce themselves to po editor more easily.
  2. Upvote
    Ragno got a reaction from Virtue in Exp boost on certain maps   
    Maybe using "bexp" and "jexp" mapflags may boost exp rates in certain maps as you want to do.
  3. Upvote
    Ragno got a reaction from grimmm in [Help] My Custom Instance have little error.   
    In your test, the instance is trying to warp you to 0001@memhall and name has 12 characters length. I think that may be the problem since maps has limitations with the name length. Try to short the name to something like 1@mmhall. 
  4. Upvote
    Ragno got a reaction from Maple in Help mini-game PacPoring   
    The first warning about ".m$pacporing4" is originated in line 312:
    OnInit: getmapxy(getd(".m$"+strnpcinfo(3)),getd(".x"+strnpcinfo(3)),getd(".y"+strnpcinfo(3)),1); end; As far as I could see, that var is there only to fill the args needed by getmapxy command. It has no use in the script, as .x and .y has with the proper npcs.
    To fix it, just change the getd for the nex one:
    getd(".m"+strnpcinfo(3)+"$") I fix the indentation of the script, remove the menu commands and some gotos and change the set commands for direct assignation. I think it's a little bit more readeable now, here you have it:
    I didn't check about the infinite loop warning.
  5. Upvote
    Ragno reacted to Like it~* in [Guia e orientação] Criando habilidades. PT-BR   
    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:
    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:
    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:
     
    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  
     
     
     
    ===========================================================================   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:
     
    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 
  6. Upvote
    Ragno got a reaction from Fou-lu in Limit Array   
    It has almost no limit:
     
     
    For more info about arrays on Hercules, please check: http://herc.ws/board/topic/3886-hercules-1st-2014-megapatch/
  7. Upvote
    Ragno got a reaction from evilpuncker in Add usage of constants on item_db.conf structure   
    There are some numeric values that are constant to all items and doesn't change, it could be changed to constants and improve the understanding of item_db.
     
    Those values are: Type, Upper, Gender, Loc, View (can be seen constant name on lub files), Stack and Sprite.
     
    Example:
     
    { Id: 1626 AegisName: "Piercing_Staff" Name: "Piercing Staff" Type: TYPE_WEAPON Buy: 20 Weight: 500 Atk: 80 Matk: 145 Range: 1 Job: { Magician: true Acolyte: true Priest: true Wizard: true Monk: true Sage: true } Upper: { Upper: true Third Job: true Upper Third Job: true Baby Third Job: true } Loc: LOC_WEAPON WeaponLv: 3 EquipLv: 70 View: WEAPONTYPE_ROD Script: <" bonus bInt,4; bonus bIgnoreMdefRate,10+getrefine(); "> },  
    In this example is changed values from Type, Upper, Loc and View to constants.
  8. Upvote
    Ragno got a reaction from Legend in Add usage of constants on item_db.conf structure   
    There are some numeric values that are constant to all items and doesn't change, it could be changed to constants and improve the understanding of item_db.
     
    Those values are: Type, Upper, Gender, Loc, View (can be seen constant name on lub files), Stack and Sprite.
     
    Example:
     
    { Id: 1626 AegisName: "Piercing_Staff" Name: "Piercing Staff" Type: TYPE_WEAPON Buy: 20 Weight: 500 Atk: 80 Matk: 145 Range: 1 Job: { Magician: true Acolyte: true Priest: true Wizard: true Monk: true Sage: true } Upper: { Upper: true Third Job: true Upper Third Job: true Baby Third Job: true } Loc: LOC_WEAPON WeaponLv: 3 EquipLv: 70 View: WEAPONTYPE_ROD Script: <" bonus bInt,4; bonus bIgnoreMdefRate,10+getrefine(); "> },  
    In this example is changed values from Type, Upper, Loc and View to constants.
  9. Upvote
    Ragno got a reaction from bWolfie in Add usage of constants on item_db.conf structure   
    There are some numeric values that are constant to all items and doesn't change, it could be changed to constants and improve the understanding of item_db.
     
    Those values are: Type, Upper, Gender, Loc, View (can be seen constant name on lub files), Stack and Sprite.
     
    Example:
     
    { Id: 1626 AegisName: "Piercing_Staff" Name: "Piercing Staff" Type: TYPE_WEAPON Buy: 20 Weight: 500 Atk: 80 Matk: 145 Range: 1 Job: { Magician: true Acolyte: true Priest: true Wizard: true Monk: true Sage: true } Upper: { Upper: true Third Job: true Upper Third Job: true Baby Third Job: true } Loc: LOC_WEAPON WeaponLv: 3 EquipLv: 70 View: WEAPONTYPE_ROD Script: <" bonus bInt,4; bonus bIgnoreMdefRate,10+getrefine(); "> },  
    In this example is changed values from Type, Upper, Loc and View to constants.
  10. Upvote
    Ragno got a reaction from Klutz in Moving from eathena   
    Yes, and I forgot to mention, Haru provides support for convert item_db.txt and mob_db.txt to conf files:
     
    http://haru.ws/hercules/
     
    You can use that for conversion, but, if you have all your items in sql, then you need first to convert them previously to .txt (.csv format).
  11. Upvote
    Ragno got a reaction from Sephus in Moving from eathena   
    Hercules doesn't use txt database, instead uses also sql db and provide two sql files for conversion:
     
    Hercules\sql-files\upgrades\eAthena-logs-upgrade.sql
    Hercules\sql-files\upgrades\eAthena-main-upgrade.sql
     
    Both of them can be found on GitHub: https://github.com/HerculesWS/Hercules
     
    If you want to export query sql into a txt file, I'm not used on it.
  12. Upvote
    Ragno reacted to Emistry in Add config to save log of warnings   
    https://github.com/HerculesWS/Hercules/blob/master/conf/global/console.conf#L60-L66
  13. Upvote
    Ragno reacted to Ridley in R> How to squash commits on GitHub?   
    another issue was here
     
    fixup 285e1fc Adds a protection to 1st Barricade line on WoE SE maps to avoid splash damage without destroying Guardian Stones previously. pick 9450be2 Arrays improvement. Thanks Emistry! where it should be
     
    pick 285e1fc Adds a protection to 1st Barricade line on WoE SE maps to avoid splash damage without destroying Guardian Stones previously. fixup 9450be2 Arrays improvement. Thanks Emistry! fixup = squash without message
     
    and yes, thhen :wq and git push -f
  14. Upvote
    Ragno reacted to KirieZ in R> How to squash commits on GitHub?   
    You have to force push
    git push origin <your branch> --force
  15. Upvote
    Ragno reacted to Sephus in R> How to squash commits on GitHub?   
    pick 285e1fc Adds a protection to 1st Barricade line on WoE SE maps to avoid splash damage without destroying Guardian Stones previously. pick 9450be2 Arrays improvement. Thanks Emistry! If you want to squash 9450be2 into 285e1fc, when you're given the output in your step 3, press i (which means insertion mode). navigate to the line of 9450be2 and change pick or 's' or 'squash' like so - 
    s 9450be2 Arrays improvement. Thanks Emistry! then press esc
    then type :wq
    and hit enter.
     
    You'd have rebased your revisions unless some conflicts occur.
  16. Upvote
    Ragno reacted to Ridley in R> How to squash commits on GitHub?   
    git rebase --interactive HEAD~3
    here the 3 means the last 3 commits
    Then you change the ones you want to sqash (most of the time you want to fixup e.g in a pull request

    Afterwards you need to git push -f
  17. Upvote
    Ragno reacted to Asheraf in R> How to squash commits on GitHub?   
    Check this tutorial http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html
  18. Upvote
    Ragno reacted to Asheraf in Verus maps (NPC's & Monsters)   
    As ridley said those quests cant be completed due to missing of other official features. I have a completed Verus city scripts but it miss a lot because of that.
  19. Upvote
    Ragno reacted to Ridley in Verus maps (NPC's & Monsters)   
    Just saying I got this (and most up to episode 16) already done and waiting for some other pr's to be merged to make it as official. I can't tell exactly when I go to do the pr's, I also plan to do a server where I can test first. But I can assure you everything I do will go to Herc.
  20. Upvote
    Ragno reacted to KirieZ in SetQuest2   
    This seems like a great idea, I'll try something when I get some free time, no promises though
  21. Upvote
    Ragno reacted to KirieZ in SetQuest2   
    SetQuest2
    View File NOTE: This functionality got merged into Hercules (check setquest and getcalendartime). That being said, I'm NOT maintaining this plugin anymore.
    Hello,
    This plugin adds the setquest2 script command that allows you to add a quest with your own time limit, ignoring the one in quest_db, thus allowing you to, for example, make a quest end at a determined time next day independently of when it was originally given.
    *setquest(<ID>,<Time Limit>)Place quest of <ID> that will expire at <Time Limit> in the users quest log, the state of which is "active".    
    Examples:
     
    - Ask the player to come back in a random number of minutes (1 ~ 3)
    prontera,150,150,4 script SetQuest2 1_m_01,{ .@p = questprogress(7128,PLAYTIME); if (.@p == 1) { mes "Come back later!"; } else { if (.@p == 2) { mes "You came back!"; getitem Red_Potion, 1; erasequest 7128; } .@i = rand(1, 3); mes "Come back in " + .@i + " minutes"; setquest2 7128, gettimetick(2) + (.@i * 60); } close;}    
    - Ask the player to come back tomorrow (next day at 00:00)
    prontera,150,152,4 script SetQuest2b 1_m_01,{ .@p = questprogress(7126,PLAYTIME); if (.@p == 1) { mes "Come back later!"; } else { if (.@p == 2) { mes "You came back!"; getitem Red_Potion, 1; erasequest 7126; } .@i = 86400 - gettimetick(1); mes "Come back tomorrow"; setquest2 7126, gettimetick(2) + .@i; } close;}    
    If you find any bug let me know.
    Submitter KirieZ Submitted 02/22/17 Category Plugins  
  22. Upvote
    Ragno got a reaction from jaBote in hercules   
    El archivo que estás abriendo es un archivo para importar configuraciones custom, es decir, un archivo en donde puedes poner cosas custom sin la necesidad de tener que editar el archivo base.
     
    Para efectos prácticos, creo que saldría mejor editar el archivo base y para ello ve a la carpeta "conf\common\" y ahí busca el archivo "inter-server.conf", donde se muestran todas las configuraciones disponibles:
     
     
     
     
    Por cierto, te recomiendo poner un título más preciso al tema, ya que un título tan general como este generará mucha confusión en la comunidad.
  23. Upvote
    Ragno reacted to Anisotropic Defixation in When Dark Lord sprite is on my screen, blind effect centers around it   
    Open monster_size_effect.lub inside the system folder, search for the DL's ID (1272) and delete the line including it ( [1272] = { MonsterSize = 1, MonsterEff = EFFECT.EF_DEVIL5 }, ).
     
    This file adds special visual effects and changes the sprite's size for some monsters, like champions.
  24. Upvote
    Ragno got a reaction from bWolfie in Is there a way to disable broadcasts client side?   
    Afaik, eAmod has an alternative script command to broadcast battlegrounds messages. I don't remember what was the name of that command, but allows players to don't show those announces in ther chats. I never tested by myself, only read about it long time ago.
     
    However, if you don't want to create new script commands, you can use channelmes() command to send messages to channels and create a way to allow players to disable it through @channel command.
     
    To know more about it please read documentation:
     
    *channelmes("<#channel>", "<message>") This command will send a message to the specified chat channel. The sent message will not include any character's names. For special channels, such as #map and #ally, the attached RID's map or guild will be used. If the channel doesn't exist (or, in the case of a character-specific channel, no RID is attached), false will be returned. In case of success, true is returned. Hope this help you
  25. Upvote
    Ragno got a reaction from Ridley in Four Suggestions to Channel System   
    The channelmes() command is an awesome command to create and improve announcement systems, and there are two needs that can't be completed in the actual state.
     
    Suggestion 1. Please allow the usage of password on default channels.
     
    Rationale: Create channels for administrative purposes available only to gms and admins.
     
    Right now, I'm creating the channel "#system" with a password through a npc on the server start to send messages visible only to gms, that will send administrative messages of things happening while the server is running, and I would like to avoid the ussage of a npc for this.
     
    Suggestion 2. Please create a new permision to only read messages in channels.
     
    Rationale: Have a channel to send server's announcements to everybody, but players will not be able to send messages through that channel, only to read those announcements or leave channel if they want. Only those with hchsys_admin permission would be able to send messages to this channel.
     
    Right now I haven't a way to do this
     
    Suggestion 3. Please create a mapflag to deactivate specific channels on maps and/or zones.
     
    Rationale: Disable channels such as "#party" (custom one) in dungeons and fields and leave them only to towns. Actually there is the mapflag nomapchannelautojoin but this is only for #map autologin (I guess).
     
    Suggestion 4. Please add a command to ignore specific player's chat from channel without ban him from channel and without leaving the channel (if possible). Thanks to Dairel, a player from our server who suggested this originaly on our boards.
     
    Rationale: There is some times when player just don't want to read specific messages because may consider it spam, or just don't need to read it.
     
    Hope this suggestions could be implemented
×
×
  • Create New...

Important Information

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