Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation since 12/29/19 in all areas

  1. 3 points
    Ciar

    Modern Lord of Vermillion

    Version 1.0.0

    80 downloads

    Minor retouches to the Lord of Vermillion .str file to make it look more "modern" compared to the original one. It's not much "vermillion" anymore, but it wasn't that much to begin with. On most clients, it goes in data/texture/effect. Liked any of the content I've uploaded and want to show your appreciation?
  2. 3 points
    =General *Elemental system recode part 10. -This update focuses on adding support for all of Tera's skills. -With this update, the recoding of the entire elemental system is now complete. -Any further updates to the system will be bug fixes and optimization. -Im sooooooo glad im finally done with this. *Reduced the amount of code used for some autocasting status's. =Skills *EL_WIND_SLASH -Fixed a issue where it was dealing magical damage instead of physical. *EL_SOLID_SKIN *EL_STONE_SHIELD *EL_POWER_OF_GAIA *EL_PETROLOGY *EL_CURSED_SOIL *EL_UPHEAVAL *EL_STONE_HAMMER *EL_ROCK_CRUSHER *EL_ROCK_CRUSHER_ATK *EL_STONE_RAIN -Added support for these skills.
  3. 2 points
    MuddyShadows

    Compilando o Hercules com Cygwin

    Este tutorial foi escrito no dia 21/01/2020. Até o momento, esse método se mostra funcional e compila o Hercules perfeitamente. Ao começar a mexer com desenvolvimento de Ragnarok, uma das primeiras barreiras que muitas pessoas encontram aparece na hora de compilar o emulador. Este guia é para aqueles que não querem instalar o Visual Studio, ou que não querem fazer dual boot com uma distribuição GNU/Linux. Índice O que é Cygwin? Baixando Instalando Compilando o Hercules 1. O que é Cygwin? Colocando de forma simples, Cygwin é um conjunto de ferramentas que você normalmente encontraria em uma distribuição GNU/Linux, só que no Windows. Diferente do Visual Studio, com seu tamanho medido em gigabytes, essas ferramentas são pequenas e vão tornar a tarefa de compilar o Hercules algo bem mais prático. Vantagens Rápido e fácil de usar. Desvantagens Não compila tão rápido quanto no Visual Studio; Gera binários (*.exe) dependentes das DLLs do Cygwin, ou seja, você não poderá executar seu emulador em outro computador caso ele não possua todas as DLLs necessárias. 2. Baixando Acesse o site do Cygwin e escolha um instalador compatível com a arquitetura de seu sistema operacional. No meu caso, usarei o setup-x86.exe. Não sabe qual instalador baixar? Leia: Como saber se o meu Windows é 32 ou 64 bits? 3. Instalando Abra o instalador. Você deve se deparar com uma tela parecida com esta. Clique em "Next". Nesta janela iremos escolher como instalar o Cygwin. Escolha a primeira opção caso nunca tenha instalado o programa antes. Install from Internet Nessa opção, o programa vai baixar tudo que precisa e guardar os arquivos em uma pasta de sua escolha para uso futuro. Isso inclui todos os pacotes que o Cygwin irá baixar mais para frente. Download without Installing Escolha essa opção caso deseje baixar os pacotes sem instalar nada agora. Install from Local Directory Escolha essa opção para usar os arquivos salvos pela primeira opção. Basicamente, serve para caso você precise reinstalar o Cygwin e ainda tenha a pasta com os pacotes salvos ao selecionar a primeira versão. É uma opção interessante para instalar o programa em outros computadores com todos os pacotes que você baixou. Clique em "Next" para prosseguir. Agora, vamos escolher onde o programa será instalado. Recomendo que mantenha a raíz do C:/ como opção para evitar problemas desnecessários. Clique em "Next" para prosseguir. Escolha onde salvar os arquivos de instalação. Pode escolher qualquer diretório, estes arquivos podem ser deletados no fim do processo caso você não queira guardá-los. "Next". Não recomendo que mexa nestas opções caso não saiba o que está fazendo. Apenas deixe "Use system proxy settings" marcado e siga adiante. Essa parte é importante. Nesta janela iremos indicar para o programa o repositório que ele consultará para baixar todos os pacotes que precisamos. Eu uso este repositório: http://mirrors.kernel.org/sourceware/cygwin/ Caso prefira escolher outro, dê uma olhada nessa lista: Cygwin Mirror Sites Copie e cole o link do repositório na janela "User URL" e clique em "Add"; Selecione o repositório que você adicionou na aba "Available download sites"; "Next". Aguarde um pouco até o instalador terminar de baixar alguns arquivos. Você deve ver uma janela em branco como esta abaixo. No canto superior esquerdo, clique na caixa "Pending" e troque para "Full". É nessa etapa que iremos selecionar tudo que o Hercules precisa para compilar sem problemas. Use a caixa "Search" para procurar pelo nome do pacote. Lista de pacotes: git gcc make mysql-devel zlib-devel libpcre-devel Na aba "New", troque a opção de "Skip" para a versão mais recente de cada pacote. No meu caso, as opções "Keep" e "Uninstall" aparecem pois eu já tenho os pacotes instalados. Caso você não tenha, as opções serão apenas as versões do programa selecionado. Com tudo selecionado, prossiga clicando em "Next". Estamos no final da instalação. Aqui, uma lista com tudo que será baixado e instalado aparecerá. Apenas siga em frente e aguarde. Essa etapa irá demorar um pouco. Por fim, clique em "Finish" para concluir a instalação. Crie um ícone no desktop se quiser. Seu Cygwin já está instalado e funcionando, mas ainda precisamos fazer mais uma coisa: Adicionar as DLLs do Cygwin no PATH do sistema. Abra o seu Menu Iniciar e escreva "Editar variáveis de ambiente do sistema". Se não aparecer nada, procure apenas por "ambiente", ou "var". Ao clicar na opção acima, uma janela parecida com esta deve abrir. Clique em "Variáveis de ambiente...". Agora, scrolle um pouco a caixa dentro da categoria "Variáveis do sistema". Encontre a variável PATH e clique em editar. Uma nova janela irá abrir. Coloque um ponto e vírgula ";" no final da linha caso não tenha, e em seguida escreva "C:\cygwin\bin" sem as aspas na caixinha. Dê OK em tudo para confirmar a mudança. Atenção: Caso esteja usando o Windows 10, o processo é um pouco diferente. Leia este artigo: Add to the PATH on Windows 10 4. Compilando o Hercules Caso você nunca tenha tido contato com um terminal bash antes, recomendo que leia este artigo e se familiarize com alguns comandos básicos. É tudo coisa simples, indico a leitura apenas para facilitar a vida de alguns: 10 Comandos Essenciais do Linux Abra o terminal do Cygwin. Você pode encontrar um ícone no Menu Iniciar, ou usar o ícone no seu desktop caso você tenha marcado a opção no fim da instalação. Atenção: Ao digitar os comandos, NÃO digite o "$" (cifrão). Este ícone está aí para representar o prompt do terminal. Digite apenas os comandos. Se tudo estiver certo, uma tela preta irá abrir com algo parecido com isto: [email protected] ~ $ Escreva: $ git init hercules A mensagem "Initialized empty Git repository in /home/username/hercules/.git/" irá aparecer logo em seguida. Agora, digite: $ cd hercules $ git remote add origin https://github.com/HerculesWS/Hercules.git $ git pull origin stable Ao digitar o último comando, o git irá importar o repositório do Hercules para sua pasta. Esse processo demora um pouco mesmo, apenas tenha paciência. Por fim, digite: $ clear $ ls Seu terminal deve estar mais ou menos assim: Agora, vamos começar a compilar o emulador propriamente dito. Escreva: $ ./configure Lembre-se: não escreva o cifrão, apenas o comando. Ele começa com um ponto mesmo. Aguarde o processo terminar. Se essa etapa falhar, significa que seu Cygwin não está com todos os pacotes necessários, ou que talvez esteja com uma versão incorreta de um ou mais pacotes. Digite: $ make clean && make sql Se tudo der certo, seu emulador irá compilar sem problemas. É isto, fim. Atenção: No momento, você possui apenas um emulador compilado, nada mais. Você ainda precisa configurar os arquivos necessários da pasta "/conf", configurar uma database SQL, e depois preparar a pasta do seu cliente com um hexed diffado e todos os outros arquivos necessários para que tenha um servidor funcional. A pasta do seu emulador deve estar em "C:\cygwin\home\username\hercules". Se quiser, pode tirar ela daí e jogar onde achar melhor, mas sempre que for compilar/recompilar o emulador, você deve colocá-lo nesse mesmo diretório. Como atualizar o meu Hercules para a versão mais recente? Digite dentro da pasta do emulador: $ git pull origin stable Como recompilar o Hercules? Digite: $ make sql Se preferir limpar a pasta e compilar tudo de novo, digite: $ make clean && make sql Próximo guia: Configurando o Hercules e sua database SQL (ainda não está pronto)
  4. 2 points
    Ciar

    Modernized Storm Gust

    Version 1.0.0

    133 downloads

    Minor retouches to the storm gust .str file to make it look more "modern". The files go in data/texture/effect, on most clients, at least. Liked any of the content I've uploaded and want to show your appreciation?
  5. 2 points
    vykimo

    ZeRObrowser : client upgrade

    For those who ask some demo/playthrough to see it live or the difference between AndRO and so on.. Here is a playthrough on my Samsung Galaxy S8+ (Android) : And since 03/01/2020 * iOS version is available ! For the first time ever, you'll be able to play Ragnarok on iPhone and iPad !
  6. 2 points
    Ciar

    Modern Lord of Vermillion

    View File Modern Lord of Vermillion Minor retouches to the Lord of Vermillion .str file to make it look more "modern" compared to the original one. It's not much "vermillion" anymore, but it wasn't that much to begin with. On most clients, it goes in data/texture/effect. Liked any of the content I've uploaded and want to show your appreciation? Submitter Ciar Submitted 12/29/19 Category Other Graphics  
  7. 2 points
    Rytech

    r896 - Elemental System Recode Part 6

    =General *Elemental system recode part 6. -This part focused on redoing all the SQL save/load related stuff for elementals -and the format that the data for them is saved in. Due to the major rework on -the format for their save data a SQL update is required. This update drops the -elemental table and all of the data for them and creates a new one with the new -format. This is also important to get rid of any unused elemental data caused -by a bug on character deletion. - -Glad I got this out of the way. All thats left is to code in all of the skills -for the elementals. Should be easy to do since their skills are simple. *Fixed a issue where deleting a character would not delete the data for a attached -elemental if one was active at the time of deletion. =Elementals *Base sub-stats are now calculated during the summoning of a elemental. -Once summoned, these base sub-stats will be set for the entire duration of the -elementals life. The only thing that will affect them after is changes through -status's. =SQL *Updated the main.sql file with the new format for the elemental table. *Added update 3CeAM_svn896.sql.
  8. 1 point

    Version 1.0.0

    17 downloads

    "Modern" replacement for the spellcasting part of safety wall. That is to say, the animation seen upon using the skill, not the 3D "wall" part, as that part is not a .str file and instead generated by the client. With this, safety wall won't use the exact same wavy lines that the songs Service For You and Loki's Veil uses. On most clients, it goes in data/texture/effect. Liked any of the content I've uploaded and want to show your appreciation?
  9. 1 point
    Ciar

    Modern Fortune's Kiss

    View File Modern Fortune's Kiss "Modernized" replacement for the original Fortune's Kiss hearts. There's several possible colors to pick: red, blue, green, yellow, purple, red/blue/purple, green/yellow/blue/pink, or rainbow. Just select which one you want and put it in data/texture/effect. Liked any of the content I've uploaded and want to show your appreciation? Submitter Ciar Submitted 01/25/20 Category Other Graphics  
  10. 1 point
    Dastgir

    how to make expired script for VIP ?

    - script VIP script FAKE_NPC,{ OnPCLoginEvent: if (#AccountVIP >= gettimetick(2)) { ModExp = 100; ModDrop = 100; } else if (getgroupid() == 2) { ModExp = 150; ModDrop = 150; } end; } function script F_TicketAddVip_3 { #AccountVIP = gettimetick(2) + (60*60*24*3); ModExp = 150; ModDrop = 150; mes "[ ^990099Geovani^000000 ]"; mes "You received 3 days of VIP Account!"; close; } Try this
  11. 1 point
    Ridley

    kRO Patch - 2020-01-22

    Original Patch Notes 안녕하세요. (주)그라비티 라그나로크 온라인 운영팀입니다. 1월 22일(수) 정기점검 시간 및 업데이트에 대한 안내입니다. ■ 점검시간 - 전 서버 : 10:00 ~ 17:00 ※ 점검시간 중 (10:00 ~ 13:00) GNJOY 시스템 점검이 진행되어 일부 서비스 (로그인, 웹몰, 캐시충전)가 중단됩니다. ■ 본 서버 패치내용 - 1월 냥다래 의상이 업데이트 됩니다. → 추가 목록(4종): 의상 얼음의 날개(한정), 의상 언더림 안경(파란색), 의상 모노크롬 캡, 의상 추억의 밤하늘 → 삭제 목록(3종): 의상 모란 머리장식, 의상 고양이 귀 리본, 의상 가넷 티아라 → 신규 의상장비는 "의상 인챈트 스톤 상자 21"로 교환 할 수 있습니다. - [패션스톤] 의상 인챈트에 아래 아이템이 추가됩니다. → 의상 대지의 마스터, 의상 라구엘의 날개, 의상 미라클 플랜트, 의상 지터벅 캡, 의상 그레이트 드라큘라 뿔, 의상 오렌지 토끼, 의상 히멜메즈의 가발(물색), 의상 히멜메즈의 가발(노랑), 의상 히멜메즈의 가발(흰색), 의상 히멜메즈의 가발(연보라), 의상 히멜메즈의 가발(핑크), 의상 히멜메즈의 가발(청록), 의상 히멜메즈의 가발(칠흑), 의상 히멜메즈의 가발(갈색), 의상 얼음의 날개, 의상 언더림 안경(파란색), 의상 모노크롬 캡, 의상 추억의 밤하늘 - 일루전 오브 언더워터가 업데이트됩니다. → 이즈루드의 게인(izlude 132 49)으로부터 친구가 실종된 사연을 들어주세요. → 일루전 오브 언더워터의 장비가 환상의 강화사 NPC의 인챈트 대상으로 적용됩니다. → 아이템 목록: 일루전 세인트 로브, 일루전 바다의 울부짖음, 일루전 메일, 일루전 모리아네의 헬름 일루전 모리아네의 망토, 일루전 모리아네의 벨트, 일루전 모리아네의 펜던트 - 일루전 오브 언더워터 업데이트 기념 이벤트가 진행됩니다. - 설날 맞이 이벤트가 진행됩니다. - 겨울 프로모션 도전하라! GO 이벤트가 종료됩니다. - 애시드 테러 스킬이 팔라딘의 디펜더 스킬에 데미지가 감소되지 않는 현상이 수정됩니다. - SP가 0인 경우 오토스펠로 아도라무스가 발동하지 않던 현상이 수정됩니다. - 리플레이에서 마도기어 외형이 특정상황에서 보이지 않는 현상이 수정됩니다. - 리플레이 재생 시 특정상황에서 클라이언트가 종료되는 현상이 수정됩니다. ■ 사크라이 서버 패치내용 - 캐릭터 생성 시 도람족 UI의 New 표시가 제거됩니다. - 길드창고 이용 내역 확인 시 아이템명이 Unknown item으로 출력되는 현상이 수정됩니다. - 일루전 오브 언더워터의 일부 몬스터의 HP 및 경험치가 조정됩니다. - 일부 일루전 오브 언더워터 몬스터명이 통일됩니다. → 변경 전: 심연의 → 변경 후: 심해의 - 미캐닉이 특정상황에서 마도기어에 탑승하지 않아도 마도기어에 탑승한 것처럼 보이는 현상이 수정됩니다. 점검 내용을 숙지하시어 이용에 차질 없으시길 바랍니다. 감사합니다. (주) 그라비티 라그나로크 온라인 운영팀 Translated Patch Notes References http://ro.gnjoy.com/news/notice/View.asp?BBSMode=10001&seq=7215&curpage=1 Retrieved from https://ragnarok.gamepedia.com/RO_Patch_(2020_Jan._22).
  12. 1 point
    JoJoSW

    Change name class?

    How can I change the name of the classes?
  13. 1 point
    Update 20-01-22 : - A few developers have contacted me and some of the tasks have been finished or are being looked at. - Monthly budget for january will be reached soon, so depending on the project that you can complete, i will only need 1 or 2 more devs to help me out. - In February i will be able to hire more people again (if necessary). - Feel free to contact me if interested!
  14. 1 point
    meko

    Functions

    The documentation resides in the /doc folder of your cloned git repository and the scripting engine documentation is in /doc/script_commands.txt The version you have locally may not be the version that is currently on GitHub so always use the documentation in the /doc subfolder of the emulator root folder since its version is always the same as the version of your Hercules emulator (when properly cloning and pulling with git) Please be aware that some commands have been deprecated over the years and replaced with other commands. The documentation will tell you when a command is deprecated and you can find more details in the Deprecation thread.
  15. 1 point
    Naruto

    How to put a skill as a platinum skill

    its the quest tag in your DB and in the skillinfo.lub
  16. 1 point
    Naruto

    Change name class?

    the name that appears in the top left corner with your HP is changed through client hexxing but idr totally if that particular change also changes some of the crucial files in your grf ( which means you have to change them ALL ) pretty sure its just the INF file... practically useless but responsible for some checks in the char selection and is EASILY skippable but not recommened itll still work fine though just gotta be careful
  17. 1 point
    CDER

    Change name class?

    I would also like to know ...
  18. 1 point
    Ciar

    Modern Apples of Idun

    Version 1.0.0

    36 downloads

    Apples of Idun effect more in line with the ones from Norse Mythology, which were said to be golden. On most clients, this file goes into data/texture/effect. Liked any of the content I've uploaded and want to show your appreciation?
  19. 1 point

    Version 1.0.0

    63 downloads

    Copied a portion of the "Comet" spell's newer official effect to attempt to modernize the Mental Breaker/Spirit Destruction skill (which originally just looked like a less bright chain lightning, or even bowling bash depending on the frame). Liked any of the content I've uploaded and want to show your appreciation?
  20. 1 point
    Ciar

    Fixed Violet Torch

    Version 1.0.0

    32 downloads

    Violet torch flame effects have a purple background rather than black (transparent), causing the flame in-game to have a purple square around it. The version I've uploaded are an attempt at fixing the issue. The image files go in data/texture/effect. Liked any of the content I've uploaded and want to show your appreciation?
  21. 1 point
    Kenpachi

    imune negative status

    pc_status_def_rate and mob_status_def_rate still exist in in conf/map/battle/status.conf. If you need pc_luk_status_def and mob_luk_status_def, I could probably write a patch for you, but have a look at the commit where they were removed and see @Ind's reasons to remove them. ~Kenpachi
  22. 1 point
    Rytech

    r899 - Elemental System Recode Part 9

    =General *Elemental system recode part 9. -This update focused on adding support for all of Ventus's skills. -3 elementals down. Only 1 more to go. Im so ready to finish this. =Skills *EL_WIND_STEP *EL_WIND_CURTAIN *EL_ZEPHYR *EL_GUST *EL_BLAST *EL_WILD_STORM *EL_WIND_SLASH *EL_HURRICANE *EL_HURRICANE_ATK *EL_TYPOON_MIS *EL_TYPOON_MIS_ATK -Added support for these skills.
  23. 1 point
    Rytech

    r898 - Elemental System Recode Part 8

    =General *Elemental system recode part 8. -This update focused on adding support for all of Aqua's skills. -2 elementals down. 2 more to go. *Added some checks to help stablize the elemental skills. =Skills *EL_PYROTECHNIC *EL_HEATER -Corrected the damage increase to certain skills. *EL_WATER_SCREEN *EL_WATER_DROP *EL_WATER_BARRIER *EL_AQUAPLAY *EL_COOLER *EL_CHILLY_AIR *EL_ICE_NEEDLE *EL_WATER_SCREW *EL_WATER_SCREW_ATK *EL_TIDAL_WEAPON -Added support for these skills.
  24. 1 point
    Tio Akima

    jobchange and sc_end

    when i use pc-> jobchange () it finishes some SC_ (sc originals) and my sc_ custom it doesn't finish ... The idea is that he will stop finishing all SCs the two original sc_ he is finalizing ... I can not understand why he finalizes these two, and my custom not I looked at the whole pc->jobchange() function And I found this condition that from status_change_end, I left commented // // if ((job & MAPID_UPPERMASK) != (sd->job & MAPID_UPPERMASK)) { //Things to remove when changing class tree. // const int class_idx = pc->class2idx(sd->status.class); // short id; // for (i = 0; i < MAX_SKILL_TREE && (id = pc->skill_tree[class_idx][i].id) > 0; i++) { //Remove status specific to your current tree skills. // enum sc_type sc = status->skill2sc(id); // if (sc > SC_COMMON_MAX && sd->sc.data[sc]){ // status_change_end(&sd->bl, sc, INVALID_TIMER); // } // } // } but it did not work the strange thing is that it finish (sc_end) only the original sc in sc_config they are set the same with these flags Flags: { NoDeathReset: true NoDispelReset: true NoClearanceReset: true NoMadoReset: true } @EDIT SOLVED!
  25. 1 point
    Rytech

    r897 - Elemental System Recode Part 7

    =General *Elemental system recode part 7. -This update focuses on adding the structures and handlings for the elementals -skills and the status for them. This update also adds support for all of Agni's -skills. Now that I have things set on how to handle these skills it should be -a smooth development for the remaining 3 elementals. =Elementals *Fixed a issue where LV 1 elementals would not stay in passive mode. =Skills *SA_AUTOSPELL -Aftercast delay is now properly triggered on autocast. *NC_RESEARCHFE -Recoded the skill. -Bonus ATK now only applies to fire and earth element monsters. -Damage reduction is corrected to be a fixed reduction. -The damage reduction only applies to attacks from fire and earth element monsters. *SO_WARMER -Recoded the skill. -Freeze, Frost Misty, and Crystalize status are now removed by the AoE itself. -HP recovery is now handled by the warmer status. This is the official handling. -Status is now removed when you walk outside of the AoE. -I had to recode this when adding Agni's Heater skill. *SO_EL_CONTROL -Fixed a issue where the skill would fail even if you have a elemental. *EL_CIRCLE_OF_FIRE *EL_FIRE_CLOAK *EL_PYROTECHNIC *EL_HEATER *EL_TROPIC *EL_FIRE_BOMB_ATK *EL_FIRE_WAVE_ATK -Added support for these skills. *EL_FIRE_MANTLE -Number of hits per cell changed to 1. -Due to the damage they deal and with no known official number, its best to keep -it safe for now. Especially when you can lure a enemy to walk through multiple -cells at a time. 1000% MATK is a lot of damage for 1 hit from a firewall. -A regular LV 10 firewall deals 50% MATK per hit for 12 hits per cell. -Thats 600% total. *EL_FIRE_BOMB *EL_FIRE_WAVE -Now has a 50/50 chance of casting 1 of 2 versions of itself.
  26. 1 point
    Cretino

    GID Error

    The actual 'getunitdata' has no support for player units. This is why you receive this message error. If you want to get values from player units, you'll need to make a source modification. I made one, you can test if you want. getunitdata_pc_type.diff
  27. 1 point
    meko

    get npc name

    use strnpcinfo() like strnpcinfo(NPC_NAME_UNIQUE, "", npc id)
  28. 1 point
    Ridley

    WeeThumbnail to win10

    I answered your question here to have it available if someone is looking for it
  29. 1 point
    Ridley

    WeeThumbnail under Windows 10

    As requested here WeeThumbnail.dll is part of the WeeTools and allows Windows to preview a .spr file. Original Author is Shinryo @rAthena In order to make it work in Windows 10 you need to register the .dll Download x86 or x64 based on your OS Copy the .dll to your windows/system32 folder Click the Windows/Start button in the lower left corner Type CMD - then right click it and select "Run as Administrator" Note: If you run it through Win+R you need to confirm with Ctrl+Shift+Enter to run it as administrator Now in CMD Run the following command regsvr32 "C:\Windows\System32\WeeThumbnail.dll" This is how it should look like: Afterwards a PopUp from RegSvr32 appears, saying the .dll was installed successfully. Now Restart your system and Windows should preview .spr files Troubleshooting: Error 0x80070005 means you didn't run CMD as admin.
  30. 1 point
    4144

    Russian language in RO Zero client

    can you update nemo from git and check is it works now?
  31. 1 point
    meko

    search for nearby targets

    // set the unit ID of the target [email protected]_id = XXXXX; // get the location of the target (change TYPE to PC/MOB/...) getmapxy([email protected]$, [email protected], [email protected], UNITTYPE_{{TYPE}}, [email protected]_id); // get all mobs within a 3 cell radius around the target [email protected] = getunits(BL_MOB, [email protected][0], false, [email protected]$, max(0, [email protected] - 3), max(0, [email protected] - 3), [email protected] + 3, [email protected] + 3); // iterate over the mob units for ([email protected] = 0; [email protected] < [email protected]; [email protected]) { [email protected] = [email protected][[email protected]]; // ... do something with your [email protected] }
  32. 1 point
    vykimo

    ZeRObrowser : client upgrade

    Thank you @Ridley ! And a cool preview on my iPad (Ragnarok is working on iOS, finally guys!!)
  33. 1 point
    kapslack

    iz_ac01 and iz_ac02

    iz_ac01 i can access after the table.. iz_ac02 i cant move at all first time using emulator step by step. guide how to resolve for resolution thank you
  34. 1 point
    Rytech

    r893 - Elemental System Recode Part 3

    =General *Elemental system recode part 3. -This part focused on adding AI support for the elementals. -With the AI requiring a lot of work its best to do the main functions here and -do the other functions in the next part. *Added AI support for the elementals. -Elementals appear to use the same AI as monsters in official and because of this -I decided to make a copy of the mob's AI and then do the needed edits to make it -usable for elementals. The basic functions and feature are complete which gives -the elementals life. They will follow its master, attack anything the master -attacks, attack anything that attacks it, search for and attack stuff when set -to aggressive, etc. - -Only the main parts of the AI is done. More features and functions will be added -in the next update. *Added the "elemtalk" command. -This allows you to make a elemental say what you type. Fun extra to have. *Added the "elemental_ai" config setting. -Allows setting custom AI settings for the elemental's AI. -Note: Not all of the settings work since the AI is still under development.
  35. 1 point
    Rytech

    r891 - Elemental System Recode Part 1

    =General *Elemental system recode part 1. -Removed all status and skill code for elemental skills. -There was a lot to track after doing this. Best to commit the changes before -doing the elemental system itself as it too is a lot of code to remove. *All elemental related skills in the Sorcerer's skill tree is set to passive type -for now to prevent use of those skills. They will be renabled once the recoding -is complete. Gotta error proof things for anyone updating past r890 not aware of -whats going on.
  36. 1 point
    Ridley

    PvP Frags Count

    From a first glance, I wouldn't use this script at all since it is abuseable. If you want an simple ladder i'd rather use Annie's old script and translate this few strings of text to your language. //===== eAthena Script ======================================= //= eAthena PVP-Ladder //===== By: ================================================== //= Terces //===== Current Version: ===================================== //= 1.7.2 //===== Compatible With: ===================================== //= Any Athena Version that has "for" implemented //===== Credits: ============================================= //= The whole eAthena Board and the eAthena Chat //===== Notes: =============================================== //= Note 1: //= Experience gain works like this formula: //= ([email protected](<new position>-1))*[email protected] //= so if someone gets the first place he'll get //= [email protected]*[email protected] experience points. //============================================================ //= Fixxed by Dante //= V1.7.2 //= Hosted by Dant3 aka Dante // HAFE FUN! READ THE TOPIC! IT DONT WORKS MAYBE ON OLDER REV // // // LAST UPDATE: 12th,February.2008 // // Main Script - Terces (Main Thanks to Terces ) // V1.7.0 - Dant3 // v1.7.1 - AnnieRuRu // v1.7.2 - Dant3 // THIS SCRIPT WORKS ONLY ON THE NEW EATHENA REVISIONS! ENJOY! - script PVPLADDEROPTIONS -1,{ end; OnInit: // 0 = Disabled (NO) // 1 = Enable (YES) set [email protected], 0; //Enable/Disable language selection [English/German] (Default: 1) set [email protected], 1; //Enable/Disable the announcement when a char reaches a new position in the ladder (Default: 1) set [email protected], 30; //Set the length of the Ladder [!Not higher than 128!] (Default: 30) set [email protected], 10; //Set the views per page (Default: 10) set [email protected], 100; //Enable/Disable experience gain when reaching a new position in the ladder (*Note1) set [email protected], 150; //Set Experience gain value (*Note1) // Update v1.7.0 set [email protected], 1; //Enable/Disable zeny gain when reaching a new position in the ladder set [email protected], 100; //Set Zeny gain value set [email protected], 1; //Enable/Disable an Chat Room over the NPC with the message "PvP Ladder" (Users can not enter the Chat room) // Update v1.7.1 (Thanks to AnnieRuRu) // Added GM PvP Ladder Reset Function // Update v1.7.2 // Thanks to for the Feedback set [email protected], 1; //Enable/Disable that the NPC asks about the Broadcast when a Player logins / or with the Npc Chat (0 = Login Ask , 1 = Npc Chat) Related: 0 } - script PVPLADDERS -1,{ OnPCKillEvent: setarray [email protected]$[0],"cell_game"; if (terces_PVP_resets != $terces_PVP_resets) { dispbottom "Please relog your character, in order to get the correct kills for you in the PVP ladder."; dispbottom "Because a GM just reset the ladder."; end; } if ( killedrid == getcharid(3) ) { set PVPDeaths, PVPDeaths +1; set #PVPDeathsAccount, #PVPDeathsAccount +1; set @PVPDeathstoday, @PVPDeathstoday +1; end; } set [email protected],[email protected]+1; set getd("[email protected]"[email protected]),getcharid(3); //getd to avoid errors when more than 1 people kill someone attachrid(killedrid); set PVPDeaths,PVPDeaths+1; set @PVPDeathstoday,@PVPDeathstoday+1; set #PVPDeathsAccount,#PVPDeathsAccount+1; set getd("[email protected]"[email protected]+"$"), strcharinfo(0); //again, getd to avoid possible glitches detachrid; attachrid(getd("[email protected]"[email protected])); CountKills: set PVPKills,PVPKills+1; set @PVPKillstoday,@PVPKillstoday+1; set #PVPKillsAccount,#PVPKillsAccount+1; setarray @playerstats[0],@PVPKillstoday,@PVPDeathstoday,PVPKills,PVPDeaths,#PVPKillsAccount,#PVPDeathsAccount; l_ladder: set @considerdeath,0; for (set @PosinLadder, 0; @PosinLadder < [email protected]; set @PosinLadder, @PosinLadder + 1){ if (PVPKills >= $terces_PVP_kills[@PosinLadder]){ //Player deserves to be in the ladder //Check if Death plays a role on the position if ((PVPKills == $terces_PVP_kills[@PosinLadder]) && (PVPDeaths > $terces_PVP_deaths[@PosinLadder])) set @considerdeath,1; //Consider Deaths //Check if the player only topped his own scores if ($terces_PVP_names$[@PosinLadder] == strcharinfo(0)){ set $terces_PVP_kills[@PosinLadder],PVPKills; set $terces_PVP_deaths[@PosinLadder],PVPDeaths; end; } //Moves all characters in the Ladder for (set @beginmoving, [email protected]; @beginmoving >= (@[email protected]); set @beginmoving, @beginmoving - 1){ if ($terces_PVP_names$[@beginmoving] == strcharinfo(0)){ //If the player already is in the Ladder it only has to move players between characters new position and characters old position callsub L_LadderMove,0; end; } else if (@beginmoving == (@[email protected])){ //Player is not in the Ladder and therefor it has to move all players from characters new position downwards callsub L_LadderMove,1; end; } } end; } } L_LadderMove: if (getarg(0) == 0) set @length,@beginmoving; if (getarg(0) == 1) set @length,[email protected]; for (set @movecycle, @length; @movecycle > (@[email protected]); set @movecycle, @movecycle - 1){ set $terces_PVP_names$[@movecycle],$terces_PVP_names$[(@movecycle-1)]; set $terces_PVP_kills[@movecycle],$terces_PVP_kills[(@movecycle-1)]; set $terces_PVP_deaths[@movecycle],$terces_PVP_deaths[(@movecycle-1)]; set $terces_PVP_times[@movecycle],$terces_PVP_times[(@movecycle-1)]; } //sets the character's stats in the new position set $terces_PVP_names$[(@[email protected])],strcharinfo(0); set $terces_PVP_kills[(@[email protected])],PVPKills; set $terces_PVP_deaths[(@[email protected])],PVPDeaths; set $terces_PVP_times[(@[email protected])],gettimetick(2); //Experience Gain if ([email protected] == 1){ set BaseExp,BaseExp+(([email protected]((@[email protected])-1))*[email protected]); dispbottom "You have just been rewarded with "+(([email protected]((@[email protected])-1))*[email protected])+" base experience points"; } //Zeny Gain if ([email protected] == 1){ set Zeny,Zeny+(([email protected]((@[email protected])-1))*[email protected]); dispbottom "You have just been rewarded with "+(([email protected]((@[email protected])-1))*[email protected])+" Zeny"; } //Announcement (Setting for Char) if (pvpbroadcast == 2){ announce strcharinfo(0)+" just claimed the "+((@[email protected])+1)+". Position in the Top "[email protected]dderLength+" after killing "+getd("[email protected]"[email protected]+"$")+".",16; } //Announcement (Setting for Account) if (#pvpbroadcast == 2){ announce strcharinfo(0)+" just claimed the "+((@[email protected])+1)+". Position in the Top "[email protected]+" after killing "+getd("[email protected]"[email protected]+"$")+".",16; } end; OnPCLoginEvent: if (terces_PVP_resets != $terces_PVP_resets){ set PVPDeaths,0; set @PVPDeathstoday,0; set #PVPDeathsAccount,0; set PVPKills,0; set @PVPKillstoday,0; set #PVPKillsAccount,0; set terces_PVP_resets,$terces_PVP_resets; } if ([email protected] == 0){ if (#pvpbroadcast == 2) goto L_ignore; if (pvpbroadcast == 2) goto L_ignore; if (#pvpbroadcast == 1) goto L_ignore; if (pvpbroadcast == 1) goto L_ignore; if (pvpbroadcast == 0) mes "Hi, "+strcharinfo(0)+""; mes "Me is the PvP Top Management!"; mes "Let me ask you one Question and i will let you play!"; menu "Later please",L_close,"Okay, fine",L_fine; L_fine: next; mes "Well, do you want read Broadcast Messages when a Player reach a new position on the PvP Ranglist?"; menu "Yeah, why not",L_accept,"No, thanks",L_accept_2,"Wtf is Broadcast?",L_broadcast; L_accept: next; mes "Yay, thank you! ^_^"; mes "Will this Setting work on all your Chars on this account or only this char?"; menu "Account",L_account,"Only this char",L_char; L_account: set #pvpbroadcast,2; next; mes "Okay, "+strcharinfo(0)+""; mes "Thank you for your time and have fun!"; close; L_char: set pvpbroadcast,2; next; mes "Okay, "+strcharinfo(0)+""; mes "Thank you for your time and have fun!"; goto access_eng; close; L_accept_2: next; mes "Yay, thank you! ^_^"; mes "Will this Setting work on all your Chars on this account or only this char?"; menu "Account",L_account_2,"Only this char",L_char_2; L_close: close; L_account_2: set #pvpbroadcast,1; next; mes "Okay, "+strcharinfo(0)+""; mes "Thank you for your time and have fun!"; close; L_char_2: set pvpbroadcast,1; next; mes "Okay, "+strcharinfo(0)+""; mes "Thank you for your time and have fun!"; goto access_eng; close; L_broadcast: mes "Broadcasts are this yellow messages from the GMs"; goto L_fine; } } rune,102,48,1 script PvP Ladder 57,{ if ([email protected] == 1) { waitingroom "PvP Top "[email protected]+"",0; // Look on the configuration! } set @name$,"[PvP-Ladder]"; //Colour of: Position Name Kills Deaths Time setarray @colour$[0], "^996600", "^006699", "^00AA00", "^FF0000", "^EE8800"; if ([email protected] == 1){ if (#pvpbroadcast == 2) goto access_eng; if (pvpbroadcast == 2) goto access_eng; if (#pvpbroadcast == 1) goto access_eng; if (pvpbroadcast == 1) goto access_eng; if (pvpbroadcast == 0) mes "Hi, "+strcharinfo(0)+""; mes "Me is the PvP Top Management!"; mes "Let me ask you one Question and i will let you play!"; menu "Later please",L_close,"Okay, fine",L_fine; L_fine: next; mes "Well, do you want read Broadcast Messages when a Player reach a new position on the PvP Ranglist?"; menu "Yeah, why not",L_accept,"No, thanks",L_accept_2,"Wtf is Broadcast?",L_broadcast; L_accept: next; mes "Yay, thank you! ^_^"; mes "Will this Setting work on all your Chars on this account or only this char?"; menu "Account",L_account,"Only this char",L_char; L_account: set #pvpbroadcast,2; next; mes "Okay, "+strcharinfo(0)+""; mes "Thank you for your time and have fun!"; close; L_char: set pvpbroadcast,2; next; mes "Okay, "+strcharinfo(0)+""; mes "Thank you for your time and have fun!"; goto access_eng; close; L_accept_2: next; mes "Yay, thank you! ^_^"; mes "Will this Setting work on all your Chars on this account or only this char?"; menu "Account",L_account_2,"Only this char",L_char_2; L_close: close; L_account_2: set #pvpbroadcast,1; next; mes "Okay, "+strcharinfo(0)+""; mes "Thank you for your time and have fun!"; close; L_char_2: set pvpbroadcast,1; next; mes "Okay, "+strcharinfo(0)+""; mes "Thank you for your time and have fun!"; goto access_eng; close; L_broadcast: mes "Broadcasts are this yellow messages from the GMs"; goto L_fine; } access_eng: mes @name$; mes "Hello "+strcharinfo(0)+"..."; mes "If you want to I can show you your PVP stats."; next; M_selection_eng: if ( getgmlevel () < 99 ) menu "Show me the PVP Ladder",M_Ladder_eng,"PvP stats since my login",M_seitLogin_eng,"PvP stats of this Char",M_dieserChar_eng,"Stats of the whole account",M_vomAccount_eng,"Cancel",M_abbrechen_eng; else menu "Show me the PVP Ladder",M_Ladder_eng,"PvP stats since my login",M_seitLogin_eng,"PvP stats of this Char",M_dieserChar_eng,"Stats of the whole account",M_vomAccount_eng,"Reset Ladder",L_reset,"Cancel",M_abbrechen_eng; M_Ladder_eng: mes "Alright...I'll show you the Top "+ [email protected] +" with "[email protected]+" entries per page."; mes "It'll be viewed like this:"; mes @colour$[0]+"Place^000000: "[email protected]$[1]+"<name>^000000 :"[email protected]$[2]+"<kills>^000000:"[email protected]$[3]+"<deaths>^000000 "[email protected]$[4]+"<time>"; next; callsub L_Ladder; goto M_selection_eng; M_seitLogin_eng: mes @name$; mes "Your stats since your login:"; mes @PVPKillstoday+"/"[email protected]+"(Kills/Deaths)"; next; goto M_selection_eng; M_dieserChar_eng: mes @name$; mes "Your stats of this Char:"; mes PVPKills+"/"+PVPDeaths+"(Kills/Deaths)"; next; goto M_selection_eng; M_vomAccount_eng: mes @name$; mes "Your stats of the whole account:"; mes #PVPKillsAccount+"/"+#PVPDeathsAccount+"(Kills/Deaths)"; next; goto M_selection_eng; M_abbrechen_eng: mes @name$; mes "OK. You can come back to me and see your stats whenever you want."; close; L_reset: if (getgmlevel() < 99) end; mes "Do you want to reset the ladder?"; if (select ("Yes","No") == 2) goto L_end; mes "Are you really really sure you want to reset it?"; menu "Yes, ffs!!",-,"No",L_end; deletearray $terces_PVP_kills,128; deletearray $terces_PVP_deaths,128; deletearray $terces_PVP_names$,128; deletearray $terces_PVP_times,128; set $terces_PVP_resets,$terces_PVP_resets +1; L_end: mes "Okay...cya"; close; L_Ladder: for (set @y,0; @y < [email protected]; set @y,@[email protected]){ for (set @x,@y; (@x < (@[email protected])) && (@x < ([email protected])); set @x,@x+1){ if ($terces_PVP_names$[@x] != ""){ mes @colour$[0]+(@x+1)+"^000000: "[email protected]$[1]+$terces_PVP_names$[@x]+"^000000 "[email protected]$[2]+$terces_PVP_kills[@x]+"^000000:"[email protected]$[3]+$terces_PVP_deaths[@x]+"^000000 ~ "[email protected]$[4]+callfunc ("Gettime",$terces_PVP_times[@x])+"^000000"; } else { mes "^DD0000"+(@x+1)+": ^006699None^000000 "; } } next; } return; } function script Gettime { if (getarg(0)==0) return; set @difftimedays,(gettimetick(2) - getarg(0)); set @difftimehours,@difftimedays%86400; set @difftimeminutes,@difftimehours%3600; set @difftimeseconds,@difftimeminutes%60; set @days,@difftimedays/86400; set @hours,@difftimehours/3600; set @minutes,@difftimeminutes/60; set @seconds,@difftimeseconds; set @result$,""; if(@days != 0) set @result$,@[email protected]+"d "; if(@hours != 0) set @result$,@[email protected]+"h "; if(@minutes != 0) set @result$,@[email protected]+"m "; if(@seconds != 0) set @result$,@[email protected]+"s"; return (@result$); } Soundpack: https://drive.google.com/open?id=0B2BM920mmHQgcThaQl9ETllVQlU
  37. 1 point
    The team at Hercules wishes you peace, joy and prosperity throughout the coming year. Thank you for your continued support and contributions. We are here, because each member of our boards is proud to be part of it. I really look forward to see what 2020 will bring us. Relax and enjoy your well-earned free time as much as possible, We wish you and your family a Merry Christmas and a Happy New Year! Thank you, Ridley
  38. 1 point
    Olá a todos sei que existem outros guia aqui no forum para adiconar custom itens, Porém faltam algumas informações para funcionar corretamente (em cliente novos no meu caso 2018-06-20) Item Necessarios GIT > https://git-scm.com/downloads Tortoise - > https://tortoisegit.org/download/ NEMO - > https://gitlab.com/4144/Nemo EXE -> http://nemo.herc.ws/downloads/ (pode se encontrar um aqui para você estou a versão 2018-06-20) Bom vamos lá. - Compilar o cliente ( irei usar o NEMO) Imagem auto explicativa, Segue abaixo: Dependendo do Seu cliente no passo "3" da imagem, pode dar um erro "Always call SelectKoreaClientInfo" Apenas ignore. DATA.INI System/itemInfo_Sak.lub -> para algumas pessoas pode ser necessário mudar dependendo da sua pasta no meu caso não preciso. Always Load Korea ExternalSetting lua files Read Data Folder First Increase Headgear ViewID - > Coloque o numero conforme necessidade vai até 32000 O mais importante ( Não funcionara se não ativar ira dar crash não esqueça de Ativá-lo) Esses são os necessários porém sintase a vontade de editar seu EXE, conforme sua necessidade, feito isso ficara algo parecido com isso. Feito isso vamos para pasta do servidor Hercules\db\item_db2.conf Obs: Aqui estou usando um spr que peguei aqui no site então caso queira é só fazer download aqui. creditos ao ~Wolfeh. Obs²: neste SPR alterei o nome que estava Tobi_Mask.spr/act para item01 caso for usar este item altere para item01 tudo se não vai dar erro mantendo ¿©_ / ³²_ ou altere os AgeisName { Id: 40000 //ID Do seu custom Item AegisName: "item01" Name: "Tobi Mask" Type: 5 Buy: 20 Weight: 40 Atk: 20 Def: 20 Slots: 2 Job: 0xFFFFFFFE Loc: 769 EquipLv: 1 View: 4500 //ID DO SPRITE }, Agora vamos para pasta do seu RO e vamos na pasta data Pasta - >> data\sprite\¾ÆÀÌÅÛ item01.spr // mesmo nome do AegisName colocado no item_db2.conf item01.act // mesmo nome do AegisName colocado no item_db2.conf Pasta - >> data\sprite\¾Ç¼¼»ç¸® // Existem duas pasta ³² para masculino e ¿© para Feminino. Pasta - >> ³² ³²_item01.spr ³²_item01.act Pasta - >> ¿© ¿©_item01.spr ¿©_item01.act Pasta - texture\À¯ÀúÀÎÅÍÆäÀ̽º // Existem duas pasta caso contrario crie 1 - Item e a 2 - collection item - item01.bmp //icone do item mostrado no jogo collection - item01.bmp //foto do item que mostra com a descrição feito isso vamos para data\luafiles514\lua files\datainfo 1 - Abra o accessoryid.lub e adicione na ultima linha antes do } conforme esta á baixo.// Aqui estou usando o note++ ACCESSORY_C_Luna_On_Shoulder = 1881, //IMPORTANTE FECHE A VIRGULA SE NÃO DAR ERRO. -- Custom Item ACCESSORY_item01 = 4500, // aqui coloque o ID que colocou no item_db2.conf caso usou esse memso numero deixe esse // A ULTIMA LINHA NÃO PRECISA COLOCAR MAIS SE QUISER PODE POR. } 2 - Abra o accname.lub e adcione. // Lembrando que tem que ser antes do "}" conforme abaixo, [ACCESSORY_IDs.ACCESSORY_C_Luna_On_Shoulder] = "_C_Luna_On_Shoulder", -- Custom Itens [ACCESSORY_IDs.ACCESSORY_item01] = "_item01", } 3 - Agora ultima etapa vá para a pasta SEURO\System e abra itemInfo_Sak.lub (o mesmo nome, que colocou no nemo) Procure "function main()" vai estar +- assim: } function main() for ItemID, DESC in pairs(tbl) do result, msg = pcall(AddItem, ItemID, DESC.unidentifiedDisplayName, DESC.unidentifiedResourceName, DESC.identifiedDisplayName, DESC.identifiedResourceName, DESC.slotCount, DESC.ClassNum) if not msg then result, msg = pcall(AddItem, ItemID, DESC.unidentifiedDisplayName, DESC.unidentifiedResourceName, DESC.identifiedDisplayName, DESC.identifiedResourceName, DESC.slotCount, DESC.ClassNum, DESC.costume) end Antes do } adicione: [40000] = { unidentifiedDisplayName = "Tobi Mask", unidentifiedResourceName = "item01", unidentifiedDescriptionName = { "Item desconhecido, voce precisa identificar usando a ^6666CCLupa^000000." }, identifiedDisplayName = "Tobi Mask", identifiedResourceName = "item01", identifiedDescriptionName = { "Uma mascara laranja com desenho espiral e um orificio para o olho direito.", "Ataque :^777777 20^000000", "Defesa :^0000FF 20^000000", "Equipped on :^777777 Upper, Mid, Lower^000000", "Weight :^009900 40^000000", "Applicable Job :^777777 Every Job^000000", "Spriter :^777777 Wolfeh^000000", "Level Requirement:^009900 1^000000", "Jobs:^6666CC All except Novice^000000" }, slotCount = 2, ClassNum = 4500, costume = false }, ficando parecido com isso : [40000] = { unidentifiedDisplayName = "Tobi Mask", unidentifiedResourceName = "item01", unidentifiedDescriptionName = { "Item desconhecido, voce precisa identificar usando a ^6666CCLupa^000000." }, identifiedDisplayName = "Tobi Mask", identifiedResourceName = "item01", identifiedDescriptionName = { "Uma mascara laranja com desenho espiral e um orificio para o olho direito.", "Ataque :^777777 20^000000", "Defesa :^0000FF 20^000000", "Equipped on :^777777 Upper, Mid, Lower^000000", "Weight :^009900 40^000000", "Applicable Job :^777777 Every Job^000000", "Spriter :^777777 Wolfeh^000000", "Level Requirement:^009900 1^000000", "Jobs:^6666CC All except Novice^000000" }, slotCount = 2, ClassNum = 4500, costume = false }, } function main() for ItemID, DESC in pairs(tbl) do result, msg = pcall(AddItem, ItemID, DESC.unidentifiedDisplayName, DESC.unidentifiedResourceName, DESC.identifiedDisplayName, DESC.identifiedResourceName, DESC.slotCount, DESC.ClassNum) if not msg then result, msg = pcall(AddItem, ItemID, DESC.unidentifiedDisplayName, DESC.unidentifiedResourceName, DESC.identifiedDisplayName, DESC.identifiedResourceName, DESC.slotCount, DESC.ClassNum, DESC.costume) end if not result then return false, msg end for k, v in pairs(DESC.unidentifiedDescriptionName) do result, msg = AddItemUnidentifiedDesc(ItemID, v) if not result then return false, msg end end for k, v in pairs(DESC.identifiedDescriptionName) do result, msg = AddItemIdentifiedDesc(ItemID, v) if not result then return false, msg end end if nil ~= DESC.EffectID and nil ~= AddItemEffectInfo then result, msg = AddItemEffectInfo(ItemID, DESC.EffectID) if not result then return false, msg end end if nil ~= DESC.costume and nil ~= AddItemIsCostume then result, msg = AddItemIsCostume(ItemID, DESC.costume) if not result then return false, msg end end end return true, "good" end function main_server() for ItemID, DESC in pairs(tbl) do result, msg = AddItem(ItemID, DESC.identifiedDisplayName, DESC.slotCount) if not result then return false, msg end end return true, "good" end Abra seu servidor, e logue nele crie o item e teste. Considerações: Resolvi fazer esse guia pois não achei nenhum atualizado e faltava informações ( como a parte do nemo eu mesmo nunca tinha visto um guia sitando para ativar esse viewID) a maioria dos tutorial que via, ou pasta de exemplos sempre mandava adicionar em outros arquivos como idnum e etc e no caso do cliente novo não precisa. espero que este guia ajude.
  39. 1 point
    Rytech

    Elemental Spirits Research

    Back in March of 2010 (earliest I can find in 3CeAM's records) we started adding the first of the data found for the Sorcerer's elemental spirits and during the next few months other things like tags and ID's for skills, stats, and what else was added. During those first 6 months not much happened with them until September when Pakpil released a working version of the elemental system which excited many. During the next few months their skills and other functions were added and since then nothing else happened other then a few bug fixes. In May 2012 I did the Sorcerer 2011 update and noted that the elemental system would be worked on in a separate future update. But it never came due to many other things having a priority over it. Not only that but I didn't know much about them and detailed info on them was lacking. The 2011 iRO document had info, but it was small compared to what the entire system holds. And to top it off, the system with its current coding is kinda....meh. So I avoided working on it. But now that things are pretty much up-to-date and complete for all existing jobs and the latest jobs like Star Emperor and Soul Reaper, there really isnt much to do other then bug fixes and code cleanups. But after coming across some code for the status's that elementals give to allow autocasting bolt skills, I felt its time to tackle the system. Starting with r888 I spent a lot of time updating checks for them and figuring out how this entity is supposed to be handled and how to recode it in the proper way. Then with r889 came the 2nd update to them which brought huge changes. Took much longer since I was still figuring out how to handle them. That 2nd update made a huge difference with their sub-stats. I added a command to show their sub-stats so I could see if their being calculated correctly since there's no official way to see this. Seeing how well the command worked I decided to keep it in so player's can use it in other server's to see the sub-stats of their elementals. Below are 2 pics showing before and after the updates.... Before r889 After r889 Seeing this big of a difference I really want to do more to improve the system and make it work like official. But to do that I will have to recode the entire core of the system which will take a lot of time to do. Along with this, all of the skills that the elementals cast will need to be properly recoded as well and with that I wanted to know exactly how they work before doing so. Matter of fact, I want to know how everything works. So for around a entire week I spent most of my free time doing research by poking around in aegis files and its zone.exe and created a document containing all of the data and information ive extracted from the files. With the document now complete I will now share everything I learned from this research.... Elemental Spirits Information.txt I learned a lot of interesting things about the elementals but at the same time wondered what the hell they were thinking when they made this system. That thought popped in my mind multiple times which isn't good. I feel like they failed to make a proper logical system and kinda rushed it. But hopefully the current dev team at Gravity will rework it into a more proper system when they do the update for the Sorcerer's skills. But seeing that no dev note announcements were made yet and the fact that most of the existing 3rd jobs already got updates, Sorcerers will likely be last on the list due to the elemental system. Might not hear anything til mid or late 2020. Lets cross our fingers and hope for the best. Expect more major updates in the next few upcoming updates for 3CeAM.
  40. 1 point
    Aeromesi

    [Instance] Instanced Farming Zones

    I actually completely forgot I coded an rA version of this https://github.com/Aeromesi/AeromesiCodes/tree/master/Instances/Server-Side/rAthena/rAthena - Farming Instances
  41. 1 point
    w0wZukuBg

    [w0w] Advanced Maps Project

    Probably my most ambitious and personal project. I often met on my way interesting places in the world of RO, to which it was impossible to get. Then I began to find such places with the help of the BrowEdit program and make them available for visiting. As the project expanded, I decided to allow shooting and use skills from the hills on the maps, where this feature was disabled (or Gravity was too lazy busy), add plants and trees, create comfortable climbs and so on. I suggest you watch a promo video that clearly explains my idea. .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. At the moment, almost ready the locations of the Schwartzwald and Arunafeltz for the release, there is a reserve for many other locations. Since the appearance of the video, there have been some changes, so the final result may be different. Below I attach screenshots from BrowEdit "before" and "after" and gif files with changes of territories on the finished mini-maps. Some screenshots of my work: From the important places are opened: the airport in Veins, the left exit from Einbroch, the northern Einbroch railway station on Ein_Field04, the industrial zone on Ein_Field02, the border post between Ein_Field04 and Ein_Field05, the fortress on the map of Yuno_Field12, the entrance to the tower of Thanatos on Hu_Field01, the arch with a fountain on Ein_Fild09, the bridge in Lhz_Field02, the road from Ra_Fild06 to Ein_Field03 and more. Mini-maps changes (if any map is missing, it means everything is fine with it): .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. P>S> Since the map of Ein_Field05 won in the nomination of the most extended territory - a small comic video showing progress in its honor: CODE: Warps lines below: //===== eAthena Script ======================================= //= New Warps for AMP //===== By: ================================================== //= w0wZukuBg //===== Current Version: ===================================== //= 1.0 //===== Compatible With: ===================================== //= eAthena SVN //===== Description: ========================================= //= New Warps for AMP //===== Additional Comments: ================================= //= The NPC's were born. [w0wZukuBg] //============================================================ //======================================================= // ein_fild //======================================================= ein_fild02,134,123,0 warp newein01 1,1,ein_fild02,118,134 ein_fild02,121,131,0 warp newein02 1,1,ein_fild02,137,123 ein_fild02,223,137,0 warp newein03 1,1,ein_fild02,223,148 ein_fild02,223,145,0 warp newein04 1,1,ein_fild02,220,137 ein_fild02,186,226,0 warp newein05 1,1,ein_fild02,204,224 ein_fild02,201,224,0 warp newein06 1,1,ein_fild02,183,229 ein_fild04,385,181,0 warp newein07 1,1,ein_fild05,36,185 ein_fild05,33,185,0 warp newein08 1,1,ein_fild04,382,181 ein_fild05,35,167,0 warp newein09 1,1,ein_fild04,382,181 ein_fild05,120,292,0 warp newein10 1,1,ein_fild05,120,300 ein_fild05,120,297,0 warp newein11 1,1,ein_fild05,120,289 ein_fild06,231,81,0 warp newein12 1,1,ein_fild06,231,67 ein_fild06,231,70,0 warp newein13 1,1,ein_fild06,231,84 ein_fild03,245,55,0 script Lift-E02 139,2,2,{ OnTouch: mes "Lift up?"; next; if(select("Yes","Stay")==1) warp "ein_fild03",201,41; close; } ein_fild03,204,43,0 script Lift-E01 139,2,2,{ OnTouch: mes "Lift down?"; next; if(select("Yes","Stay")==1) warp "ein_fild03",248,53; close; } //======================================================= // ra_fild //======================================================= ra_fild09,362,76,0 warp newra01 1,1,lhz_fild01,15,79 lhz_fild01,12,79,0 warp newra02 1,1,ra_fild09,359,76 //======================================================= // ra_fild -> ein_fild //======================================================= ein_fild03,19,181,0 warp newraein01 1,1,ra_fild06,374,223; ra_fild06,377,223,0 warp newraein02 1,1,ein_fild03,22,181; //======================================================= // hu_fild //======================================================= hu_fild02,378,244,0 warp newhu01 1,1,hu_fild03,22,253 hu_fild03,19,253,0 warp newhu02 1,1,hu_fild02,375,244 hu_fild02,378,194,0 warp newhu03 1,1,hu_fild03,22,205 hu_fild03,19,205,0 warp newhu04 1,1,hu_fild02,375,194 hu_fild02,375,303,0 warp newhu05 1,1,hu_fild03,22,308 hu_fild03,19,308,0 warp newhu06 1,1,hu_fild02,372,303 hu_fild02,378,125,0 warp newhu07 1,1,hu_fild03,22,129 hu_fild03,19,129,0 warp newhu08 1,1,hu_fild02,375,125 //======================================================= // ve_fild //======================================================= ve_fild03,327,294,0 warp newve01 1,1,ve_fild04,34,322 ve_fild04,31,322,0 warp newve02 1,1,ve_fild03,324,294 ve_fild03,316,251,0 warp newve03 1,1,ve_fild04,42,295 ve_fild04,39,295,0 warp newve04 1,1,ve_fild03,312,251 //======================================================= // einbroch //======================================================= einbech,50,223,0 warp neweinb01 1,1,einbech,50,230 einbech,50,227,0 warp neweinb02 1,1,einbech,50,220 einbech,37,223,0 warp neweinb03 1,1,einbech,37,230 einbech,37,227,0 warp neweinb04 1,1,einbech,37,220 //======================================================= // veins //======================================================= veins,296,335,0 warp newve05 1,1,veins,290,342 veins,293,342,0 warp newve06 1,1,veins,275,352 veins,278,352,0 warp newve07 1,1,veins,296,332 //======================================================= // lighthalzen //======================================================= lighthalzen,241,163,0 warp newlhzs01 1,1,lighthalzen,265,163 lighthalzen,262,163,0 warp newlhzs02 1,1,lighthalzen,238,163 lighthalzen,282,327,0 warp newlhzs03 1,1,lhz_fild01,278,19 lhz_fild01,278,16,0 warp newlhzs04 1,1,lighthalzen,282,324 //======================================================= // juperos_ //======================================================= juperos_01,96,220,0 warp newjup01 1,1,juperos_01,152,183 juperos_01,149,185,0 warp newjup01-1 1,1,juperos_01,93,217 //======================================================= // jawaii //======================================================= jawaii,138,182,4 script Stairs#ja1 111,{ mes "[Stairs]"; mes "Want to go up or go down?"; next; switch(select("Up","Down")) { case 1: warp "jawaii",136,183; close; case 2: warp "jawaii",140,180; close; } close; }
  42. 1 point
    Because you screwed up my job and the people who use it, I have a duty to answer you here. All that you wrote here (very bad formatted to be clear) - I just did in the RO offline pack and saved a lot of nervous and time for a lot of people. Why someone needs to do all of these things in the topic, if they just simply download, run, and everything will work out the box just fine? I think you and many people like you don't understand why the topic exists. Because of the secret in simplicity. Key = Keep It Simple Stupid. While all existing solution = very bad. Another problem: super hard entry point for newbies for the next reasons: Almost all guides presented very hard to find (whole process) Or Not actual most of them Or Not accurate Or Not correct at all Or confusing Or do not explain things very simple Or boring to read Or authors do not give a heck to answer in their support topics at all. Or everyone run around money and want to keep the entry point as hardest as it possible for very primitive things. "pay me $$ I will set up everything". And I do not talk about 100000500000 problems what people will have due to different operating system/software bundle, antiviruses, firewalls, etc. It's what exactly done in this free package you don't need to pay anyone and will get absolutely ready emulator what you can run on your pc via single clicks without reading tons of useless weird structured documentation located anywhere (but not centralized and not structured) (or without documentation at all) with avoided pitfalls and everything else. You just run, and learn in practice while having a complete and ready product for doing mistakes, errors, and learn on them. I know already several guys which stuck on just setup process, and just right now write a lot of really great scripts, events, so on. I think you just don't understand a really important thing and don't care about newbies at all. For a lot of people super hard to learn something new without terminology or past experience. People learn on examples and real practice much faster, then if they will read tons of useless theory. And when even the theory isn't well designed, how can they learn something, even if the training/guides materials are extremely bad? Go to my topic and read it again. I wrote next there: Now, analyze what you wrote in your topic And compare with the text above. And now each mine new line = around 10-20 pitfalls/problems which will force people to stuck or even drop continuing doing what they begin to do. Is it "newbie friendly?" Do you even understand, that a lot of people have skype running, or different software which locks ports? Or antiviruses? Or simply don't know where to get the software? Or they do not even realize what patches need to select in NEMO if they completely newbies? Or they do ever hear about any great tools like SDE / GRF Editor? You saying about contribution. Where do you get the assistance from (contributors)? If the entry point is too high - you will not have a funnel of people who eventually become developers, scripters, mappers, etc. I'm sorry. Do you have a problem with that? Or what? You have not heard about portable solutions of webservers (USB-server)? Or everyone must make dirty their computers with unnecessary garbage, solve dependencies and conflicts over the installation of standard software? This is (OpenServer) super great software, one of the best in the market, which always just works and works just fine. Windows very good operation system, that why it has 90% of people on it. Because it's very easy to use, and you can just focus on work, instead of on reading how to do primitive things, what in Windows I can do by a single click. It does not work like that. The era when it was popular (torrenting/p2p networks) = over. If you need contributors = you need to grow them from newbies. Newbies -> scripters -> src devs -> contributors. You want newbies -> contributors. Cool, and how many messes you will see on issue tracker then? Or what they can share if they do not know how to setup server? imgur, keep links for years. Or you can use GitHub images properly =) Proper guide with what reason?) And for who?) And what people will get? wasted a lot of time on things, what they can always learn in real experience with 1 click solution?) How did you learn how to ride a bicycle, you first read a whole book about cycling, or you were just put on a bicycle, and then you were pushed, and then you learned how to ride after some falls?) This is exactly the reading of the book you suggest instead of just to sit down and ride, and in the process - to deal with everything, having an example when everything works, and thus (reading the manual) you cut off tens of thousands of people. I understand that Linux has imposed its thinking on you, but as you said yourself, 90% of users choose Windows over Linux =) Peace <3
  43. 1 point
    luizragna

    NPC

    Search the command *getmapxy in the doc/scripts_commands.txt
  44. 1 point
    luizragna

    NPC

    Try add to get the same item when he is used. For example, Fly Wing add this line in the fly wing getitem Wing_Of_Fly, 1; The full item + script: { Id: 601 AegisName: "Wing_Of_Fly" Name: "Fly Wing" Type: "IT_DELAYCONSUME" Buy: 60 Weight: 50 BuyingStore: true Script: <"itemskill AL_TELEPORT,1; getitem Wing_Of_Fly, 1; "> },
  45. 1 point
    Ind

    Hercules Ultimate Localization Design

    Hercules Ultimate Localization Design Hello~! - What?! Servers are now able to run under any number of languages, without having any of the default files modified Designed by Haruna and Ind Translating NPCs without editing them By launching map server with the --generate-translations param a .pot (.po template) file will be created with all of the servers translate-able strings (including all npc dialogue), this file can be edited in text mode or by utilising any .po editor (there are many out there; for a high range of OSes) A .po file does not need to be fully translated to be used, map server will know when loading the file, and will fallback to the hardcoded string in the npc files as necessary Users are able to change their language with the new @lang command, @lang controls what language users see in @commands (msg_txt stuff) as well as over npc dialogues map-server.conf has a new setting called default_language where server owners may specify which language should be used as a base When you have a new .po file you want map server to use, add it to db/translations.conf Easy to Maintain Since .po is a widely used format there are many tools that can help with merging for example Poedit, which easily consolidates a translated .po file with a newly generated .pot. For example when you have a translated .po and since it was created npc dialogs were added or modified all you have to do is launch map server to generate a new .pot, open your old .po in Poedit, go "Catalog -> Update from POT file" and it will insert the new translatable strings without touching your existing translations, it will also notify you of any "obsolete" strings that are in your .po file but that are no longer in useScript Command Macro Besides messages.conf, all the dialogue utilised by 'mes' and 'select' is included in the .pot automatically, this patch also introduces a mechanism for utilising strings outside of these commands, the script macro _() which can be employed just as if it were a script function, for example set [email protected]$,_("Available"); tells map server to export "Available" as a translate-able string when it is run with --generate-translations (when running map server normally the macro has no overhead during runtime)Special Thanks to Raizen and Roberto from Cronus, we would not have worked on this if it weren't for themLinks~! CommitEditing Example
  46. 1 point
    Nihad

    Setup Proxy in Server

    I've used plenty of proxy servers, so this is just a heads up from my experience. VPS are a waste of time as far as proxy servers are concerned. I had some really expensive vps in some of the Asian and S.A. countries and they helped very little or slowed down most people. This is because most vps use a crap port speed which doesn't help anyone. But I even upgraded the port speed to 1 Gbps on some and still didn't help. Shared connection is a bish. I had the same experience with cloud servers. These all claimed 1 gbps port speeds and great connection, but same result. My positive results have been and continue to be dedicated servers as proxies. Sure it's significantly more expensive, but players that use dedicated proxies confirm that the delay and ping are noticeably better. You can slightly reduce the cost if you do not get the proxy ddos protected and just set up the ip to get nullrouted if it gets spammed. That way people can just go on your main ip in case of an attack. Location of proxies is extremely important. I'll use Brazil as an example since this is here we found this to be very important. We first got a proxy somewhere towards the middle of Brazil, since we could target the most people. Even though people there have crap connections, the ones that were further up north than the proxy ended up getting more delay by using the proxy. That's because our main server was in Canada. The people that were coming from southern Brazil had a better connection using the proxy than going directly to the main. Lastly to the people that say proxies don't help, you are right for the most part. You have to set it up properly and get proper equipment for it to make any noticeable difference. But doing it right does help quite a lot of people. We are currently running a West Coast proxy optimized for Asian connections and about 20-30% of our total players use it over the main connection. Just my own experience in the matter.
  47. 1 point
    Ragno

    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.
  48. 1 point
    Neo

    [WIP]Pokemon MOD Package for Hercules

    is that the one from PokemonRO.com?? looks similar to what they had. (no not PokemonRO.net) PokemonRO.com had an excellent project in progress that was developing a complete Pokemon system including Pokemon Evolution, Skills, Pokemon Catching etc. The classes would be the jobs that we see in Pokemon - Trainer, Bug catcher, Breeder etc. And they were using different sprites than the ones we have seen lurking around SADLY the site suddenly disappeared one day and no news after that EDIT: Looks like what you have is from PkRO.net found two videos of it
×
×
  • Create New...

Important Information

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