Jump to content

Tsuuu

Members
  • Content Count

    80
  • Joined

  • Last visited

  • Days Won

    4

Reputation Activity

  1. Like
    Tsuuu reacted to bWolfie in how to optimize this script   
    In my opinion, best thing to do is to save all data as char_reg variables, e.g.
    WoE_Kill += 1; 
    And then once WoE is finished, run a SQL query to copy data from char_reg_num_db and char_reg_str_db to your custom table. E.g.
    OnAgitEnd:     query_sql("TRUNCATE TABLE `woe_rank`;"); // clear old data. this table is only used to hold temporary values for displaying elsewhere     .@count = query_sql("SELECT `char_id`, `value` FROM `char_reg_num_db` WHERE `key` = 'WoE_Kill';", .@CID, .@WoE_Kill);     for (.@i = 0; .@i < .@count; .@i++) {         query_sql(sprintf("INSERT INTO `woe_rank`(`char_id`, `kills`) VALUES(%d, %d);", .@CID, .@WoE_Kill));         sleep(50); // don't perform too many queries at once (20 per second)     }     end; So then the query_sql() command is only being run under controlled circumstances, and only used once.
  2. Upvote
    Tsuuu reacted to bWolfie in [Guide] Mapcache Generation 2018   
    As of Release v2018.03.13, the method to generate mapcache for Hercules has changed. A lot of people. myself included, were confused as to how it works. In this thread, I will do my best to explain the new way to generate your cache. This guide is intended to help people using the old system, not to aid new people (i.e. never generated mapcache before), so if you are new, some of it may seem like alien talk.
    Old (your source predates [is older than] Feb 18, 2018)
    In the old system, there were two ways to generate mapcache
    You could run the mapcache executable in Hercules root folder. Or use a program such as WeeMapCache to edit in your required mapcache. These two methods would generate or alter your required mapcache located in db/[pre-re or re]/map_cache.dat. However, they are no longer supported.
    New (your source is using Release v2018.03.13 or newer)
    The new system involves the use of the new 'mapcache' plugin to generate files. Some quick points:
    db/[pre-re or re]/map_cache.dat has been dropped (no longer supported). In its place are individual .mcache files for every map located in maps/[pre-re or re]/ Mapcache executable has been removed. Replaced with the mapcache plugin (src/plugins/mapcache.c). How to generate the mapcache?
    Same as before, check conf/map/maps.conf and db/map_index.txt have all the maps you want to cache. Your maps need to exist somewhere in your repository! There are two ways for the plugin to find them:
    a. Place all your maps, including resnametable.txt, inside the data folder of your Hercules repo. I.e. Hercules/data/prontera.gat/gnd/gnd/rsw (note: I forget if all three files are needed).
    b. OR Configure your conf/grf-files.txt to tell it where to find your GRF(s) which contains your maps. Build the mapcache plugin. On linux, this can be done by running the following command:
    make plugin.mapcache
    If using MSVC, compile as you would any other plugin. Execute plugin. This can be done using the following command:
    ./map-server --load-plugin mapcache [param]
    In windows, just remove the './' and run the commands in your command prompt. The params:
    The first thing you should do is run
    ./map-server --load-plugin mapcache --help
    A list of usable parameters will appear. Here are the ones you need to know for mapcache:
    [Info]:   --convert-old-mapcache         Converts an old db/pre-re/map_cache.dat file to the new format. [Mapcache] [Info]:   --rebuild-mapcache             Rebuilds the entire mapcache folder (maps/pre-re/), using db/map_index.txt as index. [Mapcache] [Info]:   --map <name>                   Rebuilds an individual map's cache into maps/pre-re/ (usage: --map <map_name_without_extension>). [Mapcache] [Info]:   --fix-md5                      Updates the checksum for the files in maps/pre-re/, using db/map_index.txt as index (see PR #1981). [Mapcache] ./map-server --load-plugin mapcache --convert-old-mapcache
    Rebuild all the .mcache files using your old db/[pre-re or re]map_cache.dat file.
    NOTE: You should only run this command when you have an old map_cache.dat file you need to convert.
    ./map-server --load-plugin mapcache --rebuild-mapcache
    Rebuild all the .mcache files using your map files specified in step 2 of generation.
    NOTE: You should only run this command in special circumstances. This erases ALL the existing mapcache and rebuilds it with whatever files you provide it. If you don't have the required files, the build will fail and you will be left with missing mapcache files, meaning you won't be able to access those particular maps.
    ./map-server --load-plugin mapcache --map <name>
    Rebuild the .mcache file for the map name you specify. E.g. if you replace <name> with prontera, the maps/[pre-re or re]/prontera.mcache file will be rebuilt.
    NOTE: This is the best command to run, as it only caches a single map at a time.
    ./map-server --load-plugin mapcache --fix-md5
    I don't know what checksum is for.
    The End
    Feel free to ask for help here. I'll try to answer questions re: mapcache if possible. And if you think anything needs correcting or added, let me know.
    Hope this helps!
  3. Upvote
    Tsuuu reacted to AnnieRuru in Deprecated Features   
    Related commit : https://github.com/HerculesWS/Hercules/pull/842
    if you have event scripts that uses *pcblockmove, its time to convert into *setpcblock
     
    Example : (old)
    pcblockmove(getcharid(CHAR_ID_ACCOUNT), true); now should be
    setpcblock(PCBLOCK_MOVE, true);  
    the new one is more flexible and can limit other actions too
  4. Upvote
    Tsuuu reacted to Ridley in [Collection] Official Full Clients + latest kRO   
    Changelog:
    - Updated all Clients
    - Updated twRO BGMS (3 new ones)
    NOTE: to disable the Snow effect in Prontera, open your grf and navigate to data/etcinfo.txt
    Then add (or edit) the following:
    weather# //prontera.rsw# //snow# Collection of official Full Clients. Those are vanilla, not modified in any way or whatever. They are patched up to date. Let me know if I've missed something.
    Server Name
    With BGM
    Without BGM
    BGM only
    South Korea (kRO)
    21. Dec. 2018
    2,70 GB
    Mega
    OneDrive
    2,42 GB
    Mega
    OneDrive
    294 MB
    Mega
    OneDrive
    South Korea (Ragnarok Zero)
    21. Dec. 2018
    2,22 GB
    Mega
    OneDrive
        Taiwan and Hongkong (twRO)
    21. Dec. 2018
    2,24 GB
    Mega
    OneDrive
    1,95 GB
    Mega
    OneDrive
    310 MB
    Mega
    OneDrive
    Japan (jRO)
    21. Dec. 2018
    2,23 GB
    Mega
    OneDrive
    1,93 GB
    Mega
    OneDrive
    311 MB
    Mega
    OneDrive
    Thailland (tRO)
    21. Dec. 2018
    1,67 GB
    Mega
    OneDrive
    1,41 GB
    Mega
    OneDrive
    272 MB
    Mega
    OneDrive
    International (iRO)
    21. Dec. 2018
    2,42 GB
    Mega
    OneDrive
    2,14 GB
    Mega
    OneDrive
    294 MB
    Mega
    OneDrive
    Philippines (pRO)
    21. Dec. 2018
    1,5 GB
    Mega
    OneDrive
    1,25 GB
    Mega
    OneDrive
    272 MB
    Mega
    OneDrive
    Indonesia (idRO)
    21. Dec. 2018
    1,88 GB
    Mega
    OneDrive
    1,61 GB
    Mega
    OneDrive
    282 MB
    Mega
    OneDrive
    Brazil (bRO)
    21. Dec. 2018
    1,95 GB
    Mega
    OneDrive
    1,69 GB
    Mega
    OneDrive
    273 MB
    Mega
    OneDrive
    France, Europe (fRO, euRO) 21. Dec. 2018
    1,85 GB
    Mega
    OneDrive
    1,59 GB
    Mega
    OneDrive
    273 MB
    Mega
    OneDrive
  5. Upvote
    Tsuuu reacted to fxfreitas in Hair Costume   
    Provavelmente está usando um ID inválido ou ocupado, 1:
    Client-Side
    Grf:
    Adicione a sua sprite junto com a dos outros mobs.
    Lua files:
    Datainfo/jobidenty.lua, jobname e npcidenty.lua
    Nos 3 você define os IDs, lembre-se de seguir o modelo dos mobs que já existem, eu recomendo encontrar o ultimo mob da lista de cada arquivo e colocar o seu depois dele usando o ID seguinte ao do ultimo mob existente (não pode ser maior que 3998) ah sim, os arquivos contem o monster_last, um ID reservado que define que a database de mobs acaba ali, geralmente ele fica com o ultimo id disponível (no caso 3999), então por conta disso digamos que seu mob terá o id 3998.
    Server-side:
    Na mob_db, novamente seguindo o modelo dos mobs já existentes (aqui recomendo até pegar mobs que existem e copiar para fazer o seu, tentando sempre encontrar um mob com configurações de modo que você precise alterar o minimo possivel)
    Depois de copiar o mob Altere para o seu id (no exemplo 3998) e o nome da sprite que deve ser igual a do seu grf e das lua files, daí pra frente ajuste hp, sp, exp, drops, status, de forma que te agrade.
    Com isso feito teste in-game
     
    Nã pude explicar mais detalhadamente pois estou respondendo via celular, mas espero que tenha entendido.
  6. Upvote
    Tsuuu reacted to 4144 in RODEX crashs when delete message   
    you compiled server with debug information?
    because if not, most protections disabled and server may crash in any code.
     
  7. Upvote
    Tsuuu reacted to 4144 in RODEX crashs when delete message   
    I mean configure switch --enable-debug. And for not very old server it should be enabled by default.
  8. Upvote
    Tsuuu reacted to 4144 in Identification functions   
    See for example battle_weapon_attack, battle_calc_damage or similar functins.
  9. Upvote
    Tsuuu reacted to Adel in Adel's Sprite Showcase   
    Christmas Sprites
     
             
          
       
           
           
             
          
          
             
          
          
  10. Upvote
    Tsuuu reacted to fxfreitas in Custom Monster - New Client causes Crash   
    The client is crashing because you are using a occupied ID and does not have the necessary files https://www.divine-pride.net/database/monster/3300
    Try another ID (my suggestion is use 3998 and going down when add mobs, 3997, 3996, etc)
    Go to npcidenty, jobidenty and jobname.lua and add your monsters with the last possible ID, then add on your mob database with the same ID.
     
    oh lelz the last ID is full too https://www.divine-pride.net/database/monster/3998
    lets see where the new IDs are...
    Ok for some reason, I'm not able to update kRO, and can't see the updated files... Sorry, lest try this:
    Take the lua files mentioned before and find these mobs with the last ID avalible (3998 or lower) and overwrite the name to make your mob, it should work
  11. Upvote
    Tsuuu reacted to Alayne in healer with identify   
    Here's the basic loop for an identifier. Just add this in a healer npc.
    getinventorylist; for( set .@i,0; .@i < @inventorylist_count; set .@i, .@i + 1 ) { if ( @inventorylist_identify[.@i] == 1 ) continue; delitem2 @inventorylist_id[.@i],1,0,0,0,0,0,0,0; getitem @inventorylist_id[.@i],1; }  
  12. Upvote
    Tsuuu reacted to 4144 in Block use item   
    Try set in conf/map/battle/items.conf
    item_enabled_npc: false
     
  13. Upvote
    Tsuuu reacted to Asheraf in how to fix this??   
    The lua files you're using seems to not have support for SkillScale you should update skillinfolist.lub by adding the SkillScale field to your version of the file from kRO lua files.
     
  14. Upvote
    Tsuuu reacted to Alayne in Alayne's Scripts Collection   
    < Alayne's Script Collection >
    After several asks, here's a link to my github
    Feel free to comment or add anything that might be usefull and that I won't think of
    I've decided to release my scripts here, it'll be easier to me so I can duplicate it on hercules and rathena rather than uploading twice. So sorry for multiple upload between there and download section
    Don't mind the name Nyliar in the git, that's me too ^^
     
    < Instances >
     
    < Quests >
     
    < Event >
     
    < PvP Content >
     
    < Utilities >
     
    < Full Systems >
     
    < Dungeons >
     
    < Raid >
     
    < Battleground >
  15. Upvote
    Tsuuu got a reaction from CLps in [ Pedido ] WOE - Mostrar quem matou   
    - script woeanun -1,{ OnPCKillEvent: dispbottom "Mensagem no chat só de quem matou"; message strcharinfo(0), "Mensagem no chat e em cima do personagem só de quem matou"; announce "O jogador "+strcharinfo(0)+" matou o "+rid2name(killedrid)+" e essa mensagem está aparecendo no global só pra ele !",bc_self; end; OnPCDieEvent: dispbottom "Mensagem no chat só de quem morreu"; message strcharinfo(0), "Mensagem no chat e em cima do personagem só de quem morreu"; announce "O jogador "+strcharinfo(0)+" morreu para o "+rid2name(killerrid)+" e essa mensagem está aparecendo no global só pra ele !",bc_self; end; } Obs: Essa informação é super básica, você deveria pesquisar um pouco mais. rsrsrsrs <3
    Obs²:  No announce basta passar a flag "bc_self" que vai anunciar somente pro jogador, no exemplo acima citei 3 formas que eu sei que aparece só pro jogador !
  16. Upvote
    Tsuuu reacted to CLps in [Ajuda] Script MVP Score , filtrar mapas   
    Irei testar no servidor e caso não tenha problemas eu edito aqui . Mas mesmo assim , muito obrigado por perder um tempo pra me ajudar cara . Vlw mesmo 
  17. Upvote
    Tsuuu got a reaction from CLps in [Ajuda] Script MVP Score , filtrar mapas   
    Acabei testando aqui no meu servidor e funcionou, não sou um programador muito experiente, com meu conhecimento deu pra fazer essa gambiarra aí, qualquer dúvida pode postar aí que a gente tenta ajudar !   Valeu. (Y)
  18. Upvote
    Tsuuu got a reaction from CLps in [ Pedido ] NPC transformador de quests em VISUAL   
    Os créditos do npc está no cabeçalho, peguei aqui no Hercules mesmo à bastante tempo, te garanto que está 100% funcional e facilmente configurável.
    Bom proveito !
    visuais.txt
  19. Upvote
    Tsuuu reacted to Rytech in r834 - Big Update To Common Status's / Magma Eruption Added / Other Skill Updates   
    =General
    *This update focuses heavly on fixing all the common status's that
    -were introduced during renewal and is a follow up for r742 and r759
    -that is long overdue. Resistance for success and duration are now
    -official and items/equips should work better with them.
    -
    -Below is the changes, along with what to expect with this update.
    -Of corse a few other things were done in this update as well.
    *Changed the name of a few status's to be easier to refer to.
    -whiteimprison -> imprison / freezing -> frost.
    -Note: The confusion between freeze and freezing was annoying.
    -So its best to refer to freezing as frost.
    *Fixed a possible issue that allowed players to attack while on
    -a rental mount.
    *Did some code cleanup and optomize for the initChangeTables
    -entrys for some status's.
    *Corrected the immunity for pre-re common status's.
    -Its been proven that the 97 stat immunity isn't real.
    -Honestly, im supprised people thought it was a thing.
    -The real immunity is with 100 of a certain stat.
    -97 is high enough to bring success chances so low, the chance
    -of getting affected by that certain status for some skills is
    -near impossible.
     
    =Database
    *Updated the const file with needed Effect and SC's.
    -Should allow items and NPC's to better refer to the commons.
    *Updated the exp requirements for levels 100 to 150 for mutated
    -homunculus to be more well balanced. This is due to the big
    -2017 homunculus update on official which they switched back to
    -the old exp table and extended it to level 175.
    *Updated the mob_skill_db's with info on the new status's conditions.
     
    =Skills
    *RK_WINDCUTTER
    *RK_DRAGONBREATH
    *WL_COMET
    *RA_FIRINGTRAP
    *RA_ICEBOUNDTRAP
    *NC_COLDSLOWER
    -The duration for the status these skills give are updated to the
    -REAL official durations. Damn that 2011 iRO document was wrong again.
    *RK_GIANTGROWTH
    -Weapon break chance now only happens when the 2x/3x damage burst
    -happens.
    *RK_FIGHTINGSPIRIT
    -Updated the ATK increase formula.
    Officially its now 70 + 7 * Party Members.
    *WL_WHITEIMPRISON
    -Skill now fails if casted on a boss/mvp monster.
    -Corrected the duration reduction.
    -Players reduce it with natural immunity which is by a percentage.
    -Monsters reduce the duration by a fixed amount.
    *WM_DANCE_WITH_WUG
    -Adjusted the damage bonus on Ranger's Wug skills.
    -Turns out a actural ATK bonus is given to Ranger/Minstrel/Wanderer
    -players. ill have to code this in later on a future update.
    *SR_HOWLINGOFLION
    -Fear duration updated to official.
    -Now only removes solo/chorus music buffs when hit.
    *SO_PSYCHIC_WAVE
    -Fixed a issue where the element was always fire.
    *SO_ARRULLO
    -Updated the duration reduction formula to follow the official formula.
    -Skill animation now only appears on players affected successfully.
    -Note: There's a client side bug that makes the particle effects
    -sometimes appear on the wrong affected enemys. That can't be fixed.
    *NC_MAGMA_ERUPTION
    *NC_MAGMA_ERUPTION_DOTDAMAGE
    -Added support for these skills.
     
    =Status's
    *Too much to list in a small area. =P
    *Boss/MVP's are immune to these status....
    -Fear,Burning,Imprison,Deep Sleep, Frost, Crystalize.
    -They are also immune to Guillotine Coss poisons.
    -All common and new poison status's can't overlap (restart).
    *Bite and Manhole status no longer overlaps.
    *Fixed a few status's to properly stop current attacks / movement.
    *Updated list of status's on MVP's that are treated as rude attack.
    *Boss/MVP's are now immune to Shadow Chaster's Masquerade skills.
    *Updated the list of status's monster's can detect.
    -They can now detect enemy's in bleeding, deadly poison, fear,
    -burning, imprison, deep sleep, frost, and crystalize.
    *Fear
    -Unable to move for the first 2 seconds of duration.
    -The first 2 seconds act as a ankle snared status with hit/flee
    -reduction. The remaining duration allows movement.
    -Reduces HIT/FLEE by 20%.
    -Removes blind status and makes you immune to blind.
    -
    -Resistance formula updated.
    -Formula: ( INT + BaseLV + LUK/2 ) / 5
    -Resistance reduces success chance and duration by percentage.
    -Duration can't be reduced below 2 seconds.
    *Burning
    -Fixed a issue where the status would make all incomindg attacks
    -hit, ignoring accuracy checks. Also fixed a issue where the
    -status wouldn't end on death sometimes.
    -Deals 3% MaxHP + 1000 damage every 3 seconds.
    -Makes you immune to frost status.
    -
    -Resistance formula updated.
    -Formula: ( AGI + BaseLV + LUK/2 ) / 5
    -Resistance reduces success chance and duration by percentage.
    -Duration can't be reduced below 10 seconds.
    *Imprison
    -Can't move, attack, or use skills.
    -Blocks all attacks except for ghost element.
    -Ghost attacks deal extra damage and ends the status.
    -Deals 400 * SkillLV damage when the status ends.
    -
    -Resistance formula updated.
    -Formula: ( STR + BaseLV + LUK/2 ) / 5
    -Resistance reduces success chance and duration by percentage.
    -Duration can't be reduced below 10 seconds on monsters.
    *Deep Sleep
    -Can't talk, move, attack, or use skills while active.
    -Damage taken from the next hit is increased by 50%.
    -Recovers 3% MaxHP/MaxSP every 2 seconds.
    -Status ends when hit.
    -
    -Resistance formula updated.
    -Only duration is reduceable and by a fixed amount.
    -Duration: Time - 1000ms * ( INT / 40 + BaseLV / 20 )
    *Frost
    -Reduces DEF by 30%. (10% if on a monster.)
    -Reduces movement speed by 70%.
    -Reduces ASPD by 30%
    -Increases variable cast time by 50%
    -Makes you immune to burning status.
    -Duration can't be reduced below 10 seconds.
    -
    -Resistance formula updated.
    -Only duration is reduceable and by a fixed amount.
    -Duration: Time - 1000ms * (( VIT + DEX ) / 20)
    -Duration can't be reduced below 10 seconds.
    -Note: iRO was right about one thing. The 10% reduction on DEF,
    -but it never said it was on monster's only while players got 30%.
    *Crystalize
    -Can't move, attack, use skills, or use items while active.
    -Damage taken from wind attack is increased by 50%.
    -Damage taken from daggers, swords, and bows is reduced by 50%.
    -Damage taken from axes and maces is increased by 50%
    -Fire attacks now remove the status.
    -Takes 2% of your MaxHP and 1% of your MaxSP every second.
    -The status will end if current SP goes below 1% MaxSP.
    -
    -Resistance formula updated.
    -Only duration is reduceable and by a fixed amount.
    -Duration: Time - 1000ms * VIT / 10
  20. Upvote
    Tsuuu reacted to Habilis in Mapcache guides?   
    0 - Use WeeMapCache Editor  (To edit mapcaches)
    It allows quickly edit/add/delete maps into cache file (Don't forget to do a backup of your mapcache)
    1. Add ".gat", ".gnd", ".rsw" files to data folder.
    2. Edit "mapnametable.txt" and "resnametable.txt" files in data folder.
    3. Edit "map_index.txt" in db folder.
    4. Create(update) mapcache "map_cache.dat" file in pre-re OR re /db folder.
    5. Edit conf/maps.conf 
    6. Add flags/warps/monsters to the map as a script in npc folder
  21. Upvote
    Tsuuu reacted to Ridley in [Release] The (data) GRF Project   
    try tokei's grf editor, he added support for lzma libraries
  22. Upvote
    Tsuuu reacted to Michi in Client Translation Project   
    This is a new translation client project that Dastgir and Me want to share for Hercules only.
     
    What this Project contain?
     
    - itemInfo.lua with iro/kro translation.
    - Some lua that contain last translation found on the board or made by us.
    - Last accessoryid.lub / accname.lub / jobname.lub / NPCIdentity.lub decompiled.
    - Texture Buttons translate.
    - msgstringtable.txt fully translate.
    - Txt files translate (questid2display.txt, mapnametable.txt etc...)
    - Up-To-Date itemInfo and other files required to run a basic Translated client.
     
    You can help us by opening PR, or just pm Dastgir to get access to the repo...
     
     
    What Client is compatible?
     
    - Client compatible until 2016.
    Link:
     
  23. Upvote
    Tsuuu reacted to Monsieur Panda in [Guide] Create your server & Client (2016/08)   
    Hello,
    For some reason, I decided to write my own guide for super newbie people. And when I say newbie, I say REAL newbie. I will not ask you to learn anything or saying rude things like "go google ffs".
    I believe people that want to create their server are not necessary interested being a linux master or whatever. Never people are saying that before leaning guitar, people should learn how string and guitar are made.
    Enough talk, lets start !
     
     
    Prerequisites
    Patience, meticulousness, cogitation kRO full client: Mirror #1 (mediafire), Mirror #2 (Direct Link from my ftp) kRO last actual compatible exe: Mirror #1 (mega.nz), Mirror #2 (Direct Link from my ftp) Setup exe: Download (Page), Mirror #1 (Direct Link from my ftp) N.E.M.O. Diff Patcher Download (git) BGM parameter files. Download (Direct Link herc.ws), Mirror #1 (Direct Link from my ftp) Translation Package. Download (git) Putty: Download (Page) If Putty does not work, use Kitty Download (Page) 1~2 hours of your time Things you should know:
    You cannot see password in Putty / Kitty when you type it. nano is a text editor. At the bottom of the screen you can see a menu. To use it, press CTRL + the option's letter You cannot use numeric pad in nano Being polite is always rewarding  
    I. Dedicated server
     
    A. Get your server
    You can find very cheap solution at Kimsufi. Choose anything you want. I recommend you to choose Debian 8 (Jessie) for your OS.  In Kimsufi manager, you will find your server IP. You have your login (root) and password in an email after installing the OS B. Configure your server
    Start Putty and enter server's IP address Connect with root then type the password you got by email. (You wont see " * " when you type) To change your password enter the following line passwd Install required package by enter this (copy this and paste it with a right-click): apt-get install git make gcc mysql-server libmysqlclient-dev zlib1g-dev libpcre3-dev screen ​The following is meant to make a web server. Even if you don't plan to make a website, I suggest you to take it, just because phpmyadmin is easy to use. While installing phpmyadmin, select apache2. apt-get install apache2 apt-get install php5 php5-cli libapache2-mod-php5 php5-mysql apt-get install phpmyadmin ln -s /usr/share/phpmyadmin /var/www/html/ ​Because hercules doesn't work if you use root login, we will create a new user. useradd ragnarok passwd ragnarok [choose_a_password] Connect to phpmyadmin and login with the information you chose at this address: http://your_server_ip/phpmyadmin Create a new database ragnarok and choose utf8_unicode_ci as collation Create another database and name it ragnarok_log with same collation Click on the tab Users (top of the page), Add User and fill the form. Username: ragnarok, password: [choose_a_assword], Click on Check All in the privilege group. (or if you know what are you doing, select options you need) Now you can log out from your server in Putty logout C. Install Hercules
    Login again in Kitty with the new user ragnarok Download Hercules emulator git clone https://github.com/HerculesWS/Hercules.git ~/Hercules We will need to reach the database installation folder: cd Hercules/sql-files/ We will now import tables in the database. You will have to write your mysql password each time (set in step B.4). mysql -u ragnarok -p ragnarok < main.sql mysql -u ragnarok -p ragnarok_log < logs.sql mysql -u ragnarok -p ragnarok < item_db2.sql mysql -u ragnarok -p ragnarok < mob_db2.sql mysql -u ragnarok -p ragnarok < mob_skill_db2.sql if you want to make a PRE-RENEWAL server, enter also this mysql -u ragnarok -p ragnarok < item_db.sql mysql -u ragnarok -p ragnarok < mob_db.sql mysql -u ragnarok -p ragnarok < mob_skill_db.sql If you want to make a RENEWAL server: mysql -u ragnarok -p ragnarok < item_db_re.sql mysql -u ragnarok -p ragnarok < mob_db_re.sql mysql -u ragnarok -p ragnarok < mob_skill_db_re.sql D. Configure hercules
    It is required to set up a server login and password for char-server, map-server and the login database. It can be done by editing few files and the table login. Start by editing conf/inter-server.conf. cd ../​​ nano conf/inter-server.conf Find the line sql.db_username and fill it with the user and password we created in step B.10. fill also the database name with ragnarok As the same time, you will need to edit conf/import/inter_conf.txt. nano conf/import/inter_conf.txt sql.db_username: ragnarok sql.db_password: your_sql_password sql.db_database: ragnarok log_db_id: ragnarok log_db_pw: your_sql_password log_db_db: ragnarok_log now edit conf/import/char_conf.txt and fill it with this following text nano conf/import/char_conf.txt // Server Communication username and password.
    userid: [new user]
    passwd: [new password] Do the same to conf/import/map_conf.txt with the same userid and passwd. nano conf/import/map_conf.txt // Server Communication username and password. userid: [new user]
    passwd: [new password] You will need to update the login table from ragnarok database. Connect again to your phpmyadmin (I.B.7) Find the table login and edit the only row available. userid must have the same value as [new user] user_pass must have the same value as [new password] char-server.conf nano conf/char-server.conf server_name: [your_server_name] wisp_server_name: Admin For some reason, you must reboot your server. reboot Close the Terminal and connect again after a minute. Now you will need to work on your server ports iptables -I INPUT 1 -p tcp --dport 6900 -j ACCEPT iptables -I INPUT 1 -p tcp --dport 5121 -j ACCEPT iptables -I INPUT 1 -p tcp --dport 6121 -j ACCEPT iptables save We are done with the server for now. You can log out if you want. Lets prepare our client!   II. Create the Client   A. Organization Extract the full client in C:\ro_client\RO\ and launch update with rsu-kro-renewal-lite.exe or rsu-kro-rag-lite.exe if you set a pre-re server. Extract the Ragexe.exe in C:\ro_client\fresh\ Extract data and System folders from the translation Package in C:\ro_client\fresh\ Extract the opensetup.exe in C:\ro_client\fresh\ Extract Mssfast.m3d and Mp3dec.asi from BGM.zip in C:\ro_client\fresh\ Extract N.E.M.O. content in C:\ro_client\NEMO\ Once Step 1 is DONE: Copy All *.dll and *.INI files from C:\ro_client\RO\ to C:\ro_client\fresh\ Copy BGM and savedata folders from C:\ro_client\RO\ to C:\ro_client\fresh\ Copy rdata.grf and data.grf files from C:\ro_client\RO\ to C:\ro_client\fresh\ B. Configure the Client
    Launch N.E.M.O. and load 2015-05-13aRagexe.exe  Hit "Select Recommended" Confirm DATA.INI Rename iteminfo.lub to iteminfo_n.lub Now search "Read Data Folder First" and check it Hit "Apply Selected" and you will have a new 2015-05-13aRagexe_patched.exe file. You should "Save Profile" now, because you will probably want to edit again your client later C. Add the translation
    Rename C:\ro_client\fresh\System\itemInfo.lub to iteminfo_n.lub You might need to rename C:\ro_client\fresh\data\texture\À¯ÀúÀÎÅÍÆäÀ̽º\ folder to 유저인터페이스 later, but for now, just skip this step (not sure if you encounter this problem). Open C:\ro_client\fresh\data\clientinfo.xml with a text editor (I recommend Notepad++) Update the address with your server IP <address>[ip_address]</address> Done with the translation. Now we will say to the server, which client players are using.  
    III. Finish Server configuration
     
    A. Compile the server
    Launch Putty again and login to your server. We will compile Hercules. It will take time so be patient. cd ./Hercules ​​./configure --enable-packetver=20150513 make clean make sql once it is done, you can verify if the version has been properly set. nano src/common/mmo.h Find following lines #ifndef PACKETVER         #define PACKETVER Change #define PACKETVER to #define PACKETVER 20150513 if not done yet. If you did change something in mmo.h, you need to recompile again. Process again the step III.A.1 B. Start the server
    To start the server, you simply need the following line (while being in Hercules folder) ./athena-start start  
     
    IV. Player Side
     
    A. Create a Game Master Account
    Go to your phpmyadmin (step I.B.7) and find again the login table. Hit the Insert tab userid: [login_nickname] user_pass: [login_pass] group_id: 99 gender: M or F You have now your Game Master Account B. Play
    Launch C:\ro_client\fresh\2015-05-13aRagexe_patched.exe Login with your newly created game master account Process thru in game. type @go 0 Be happy.  
    V. Customize
     
    A.  Back to the N.E.M.O.
    This Diff patcher is really cool, be aware of that. You can now edit again your client. repeat the step II.B.1 Hit "Load Profile" and choose the previous file you created in step II.B.7 Check the list and hit option you want. repeat step II.B.6 and 7 B. Options & Fix
    Remove the Pin Secure Code Be sure to always be in Hercules folder ( cd ./Hercules) ./athena-start stop ​​nano conf/import/char_conf.txt add this line: pincode_enabled: 0 process to step III.A.1 To edit clientinfo.xml, I suggest you to check the wiki page if you can't see in game button Rename C:\ro_client\fresh\data\texture\À¯ÀúÀÎÅÍÆäÀ̽º to 유저인터페이스 Get Unbollox: Download (Download Page), Mirror #1 (Direct Link from my ftp) In unbollox, select the texture folder and click on À¯ÀúÀÎÅÍÆäÀ̽º Changing starting point nano conf/import/char_conf.txt add start_point_re: prt_fild08,170,365 Changing starting items nano conf/import/char_conf.txt ​add start_items: 2393,1,0,5055,1,0,569,20,1 Changin starting Zeny nano conf/import/char_conf.txt add start_zeny: 5,000 == More options to come, just reply to this topic if you can't find how to do what == C. Adding Custom Content
    NPC ​Add your script in npc/custom/your_script_name.txt Edit npc/script_custom.conf and add the following line: npc: npc/custom/your_script_name.txt ITEM Read the wiki about custom item (Link) System/iteminfo_n.lub [<item id>] = {
    unidentifiedDisplayName = "My custom Item", // Or "Accessory" or "Headgear" if it is an equipment
    unidentifiedResourceName = "my_custom_item", //This will set the sprite you will use (ex: my_custom_item.spr / actmy_custom_item.act)
    unidentifiedDescriptionName =  {             "Unknown Item, can be identified by using a ^6666CCMagnifier^000000."         }, //Or basically juste { }, if it is not an equipment.
    identifiedDisplayName = "My custom Item", identifiedResourceName = "my_custom_item",
    identifiedDescriptionName =  {             "Bleh this item is a custom item.",             "Bleh this is a second line"         },  // Description of your item.
    slotCount = 0, ClassNum = 0 // Read the wiki page for the list.
    }, Sprites. Drop item sprite (also the same as click and drag) must be in: data/sprite/¾ÆÀÌÅÛ/my_custom_item.spr / my_custom_item.act Inventory texture (24x24 size 256 bit bmp) must be in: data/texture/À¯ÀúÀÎÅÍÆäÀ̽º/item/my_custom_item.bmp Headgears: Copy the headgear in: data\sprite\¾Ç¼¼»ç¸®\¿©\¿©_my_custom_item.spr / ¿©_Helmet.act for Female data\sprite\¾Ç¼¼»ç¸®\³²\³²_my_custom_item.spr / ³²_Helmet.act for Male Collection picture (75x100 256 bit bmp) must be in: data/sprite/¾ÆÀÌÅÛ/collection/my_custom_item.bmp MAP Cient side Your map file name and ID cannot be longer than 13 caracters. ​my_map.gat, my_map.gnd, my_map.rsw, my_map.extra must be in data/ folder (inside grf) Additional textures (bmp) must be in data/texture/À¯ÀúÀÎÅÍÆäÀ̽º/map/  BGM must be in BGM/ folder. Add the bgm in data/mp3nametable.txt (ex: my_map.rsw#bgm\\44.mp3#) Add following lines to data/resnametable.txt my_map.gnd#my_map.gnd# my_map.gat#my_map.gat# my_map.rsw#my_map.rsw# Add this line to data/mapnametable.txt my_map.rsw#Title of my Map# Server Side Add the following line to​​ db/map_index.txt my_map Add the following line to conf/maps.conf map: my_map Cache Create a map.grf and include a folder data/. Add inside your map files (gat, rsw, gnd, extra) Create a folder grf/ in your server root (Hercules/) and upload map.grf inside grf/ folder. Connect via ssh (putty) to your server and log in. Stop your server  ./athena-start stop Edit conf/grf-files.txt ​nano conf/grf-files.txt Add the following line, save and close. ​grf: grf/map.grf Do the following command ./mapcache start your serveur ./athena-start start
  24. Upvote
    Tsuuu got a reaction from ljsb in Bug bg_message   
    Não tem nada haver com a codificação do arquivo está em UTF-8 e não em ANSI?
  25. Upvote
    Tsuuu reacted to Cretino in Sistema de Fogueira   
    Aqui está um exemplo básico amigo.
    Está funcionando bem, agora só você fazer suas modificações.
     
     
     
×
×
  • Create New...

Important Information

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