Jump to content

IndieRO

Members
  • Content Count

    286
  • Joined

  • Last visited

  • Days Won

    13

Reputation Activity

  1. Upvote
    IndieRO reacted to caspe in Hercules Battlegrounds   
    can anyone fix this?
  2. Upvote
    IndieRO reacted to Temtaime in New life for RO   
    Hi guys !
    I have one extra news for you.
    This or next week the client will be open sourced, so everyone will be able to make it better !
    Thank you for support.
  3. Upvote
    IndieRO reacted to Christian [epicRO] in Russian Roulette - NPC Managed Event, SQL Table required   
    New Event on epicRO - Russian Roulette

    I would like to share with you our new event on epicRO. Started with an atcommand, registration with Event Manager NPC and a simple SQL Db for registred Players.
    Autostart with Atcommand (e.g. atcommand_event) as gamemaster.
     
    - script atcommand_event -1,{ OnInit: bindatcmd "event",strnpcinfo(3)+"::OnAtcommand",1; end; OnAtcommand: mes "[Atcommand]"; set $eventgmname$, strcharinfo(0); mes "Event will start now."; close2; detachrid; set $RRDURCHGANG, $RRDURCHGANG + 1; set $RRREGISTREDUSER, 0; set $RRZENYPOT, 0; set $RRNEXTPLAYER, 0; query_sql("TRUNCATE TABLE `event_russian_roulette`"); set $russianroulette, 1; announce "Event Manager: "+$eventgmname$+" wants to play Russian Roulette with you!",bc_all|bc_blue; announce "Event Manager: Visit me for more informations and register yourself for 1.000 Zeny.",bc_all|bc_blue; sleep 5000; announce "Event Manager: Event will start in 5 minutes and runs until the last player standing.",bc_all|bc_blue; announce "Event Manager: Visit me for more informations and register yourself for 1.000 Zeny.",bc_all|bc_blue; sleep 60000; announce "Event Manager: Russian Roulette will start in 4 minutes.",bc_all|bc_blue; announce "Event Manager: I will use the pistol. You'll have a 1:4 chance to survive.",bc_all|bc_blue; sleep 60000; announce "Event Manager: Russian Roulette will start in 3 minutes.",bc_all|bc_blue; announce "Event Manager: Current Survive-Zenypot is filled with "+$RRZENYPOT+" Zeny.",bc_all|bc_blue; sleep 60000; announce "Event Manager: Russian Roulette will start in 2 minutes.",bc_all|bc_blue; announce "Event Manager: You'll earn at least 1 Loyality Coin (10%) for every survived round.",bc_all|bc_blue; sleep 60000; announce "Event Manager: Russian Roulette will start in 60 seconds.",bc_all|bc_blue; announce "Event Manager: For now we have "+$RRREGISTREDUSER+" registred player.",bc_all|bc_blue; sleep 60000; set $russianroulette, 0; announce "Event Manager: Event starts right now. No more registrations!",bc_all|bc_blue; announce "Event Manager: "+$RRREGISTREDUSER+" Players. 1:4 Chance. "+$RRZENYPOT+" Zeny.",bc_all|bc_blue; sleep 10000; set .color$, "0xFFD842"; query_sql("UPDATE `event_russian_roulette` SET `selected` = 0"); RUNDENBEGINN: set .color$, "0xFFD842"; set .@nb, query_sql("SELECT count(char_id) from `event_russian_roulette` LIMIT 1", .@playersleft); if (.@playersleft < 2) goto RRFINISH; set .round, .round + 1; areaannounce("prontera", 125, 240, 155, 200, "Event Manager: ROUND "+.round+"! START! "+.@playersleft+" PLAYERS LEFT!", bc_area, .color$); sleep 2000; SELECTNEXTPLAYER: if (.nextcolor == 1) { set .color$, "0xB5DA91"; set .nextcolor, 0; } else { set .nextcolor, .nextcolor + 1; set .color$, "0xB2CAE6"; } set .@nb, query_sql("SELECT count(char_id) from `event_russian_roulette` WHERE selected = 0 LIMIT 1", .playertoselect); if (.playertoselect == 0) { query_sql("UPDATE `event_russian_roulette` SET `selected` = 0"); goto RUNDENBEGINN; } set .nb, query_sql("SELECT `name`,`char_id`,`account_id` from `event_russian_roulette` WHERE selected = 0 ORDER BY RAND() LIMIT 1", .name$, .charid, .accountid); query_sql("UPDATE `event_russian_roulette` SET `selected` = 1 WHERE `char_id` = "+.charid+""); sleep 1000; set .rand, rand(1,5); if (.rand == 1) areaannounce("prontera", 125, 240, 155, 200, "Event Manager: Now it's your chance to win or die "+.name$+"!", bc_area, .color$); if (.rand == 2) areaannounce("prontera", 125, 240, 155, 200, "Event Manager: May Fortuna be with "+.name$+"!", bc_area, .color$); if (.rand == 3) areaannounce("prontera", 125, 240, 155, 200, "Event Manager: Look what I've got here for ya "+.name$+"!", bc_area, .color$); if (.rand == 4) areaannounce("prontera", 125, 240, 155, 200, "Event Manager: Pang! Haha~ Don't worry "+.name$+" ... 3 ... 2 ... 1!", bc_area, .color$); sleep 1000; set .x, 0; set .y, 0; set .toofar, 0; getmapxy(.map$, .x, .y, UNITTYPE_PC, .name$); if ((139 - .x) > 20) set .toofar, 1; if ((226 - .y) > 20) set .toofar, 1; if (.toofar == 1) { areaannounce("prontera", 125, 240, 155, 200, "Event Manager: "+.name$+" is too far away. > 20 cells. Dismissed.", bc_area, 0xFF692C); query_sql("DELETE FROM event_russian_roulette WHERE char_id = "+.charid+""); charcommand("#die "+.name$+""); } if (charid2rid(.charid) == 0) { areaannounce("prontera", 125, 240, 155, 200, "Event Manager: "+.name$+" is offline. Dismissed.", bc_area, 0xFF692C); query_sql("DELETE FROM event_russian_roulette WHERE char_id = "+.charid+""); } else { specialeffect(538, AREA, .accountid); if (rand(1,4) == 4) { specialeffect(643, AREA, .accountid); specialeffect(372, AREA, .accountid); areaannounce("prontera", 125, 240, 155, 200, "Event Manager: "+.name$+" "+.name$+" has been killed! Dismissed.", bc_area, .color$); charcommand("#die "+.name$+""); query_sql("DELETE FROM event_russian_roulette WHERE char_id = "+.charid+""); } else { specialeffect(639, AREA, .accountid); specialeffect(402, AREA, .accountid); areaannounce("prontera", 125, 240, 155, 200, "Event Manager: "+.name$+" has survived. No hit.", bc_area, .color$); if (rand(1,100) < 11) { areaannounce("prontera", 125, 240, 155, 200, "Event Manager: 10%! "+.name$+" has won a Loyality Coin.", bc_area, .color$); rodex_sendmail(.charid, "Event Manager", "Loyality Coin - Russian Roulette", "Take this as a parts reward.", 0, 29000, 1); } } } set .@nb, query_sql("SELECT count(char_id) from `event_russian_roulette` LIMIT 1", .@playersleft); if (.@playersleft < 2) goto RRFINISH; sleep 2000; goto SELECTNEXTPLAYER; RRFINISH: sleep 5000; set .nb, query_sql("SELECT `name`,`char_id`,`account_id` from `event_russian_roulette` ORDER BY RAND() LIMIT 1", .name$, .charid, .accountid); announce "Event Manager: Aaaaand the winner is: "+.name$+"! Congratulations!",bc_all|bc_blue; announce "Event Manager: "+.name$+" has won "+$RRZENYPOT+" Zeny.",bc_all|bc_blue; rodex_sendmail(.charid, "Event Manager", "Zeny Russian Roulette", "Take this as your reward.", $RRZENYPOT); end; }
    You'll need to create following table into your ragnarok database.
     
    CREATE TABLE `event_russian_roulette` ( `unique_id` INT(20) NULL DEFAULT NULL, `char_id` INT(11) NULL DEFAULT NULL, `account_id` INT(11) NULL DEFAULT NULL, `name` VARCHAR(50) NULL DEFAULT NULL, `selected` INT(11) NULL DEFAULT NULL ) COLLATE='latin1_swedish_ci' ENGINE=InnoDB ;  
    Registration while Event-Start for the players works well with a NPC located in Prontera.
    If you wants to relocate this NPC you should also edit the areaannounce (used because of anti chat flooding).

     
    prontera,139,226,5 script Event Manager 4_F_EDEN_OFFICER,{ set .@name$,"[^FF8000Event Manager^000000]"; if ($russianroulette == 1) { mes .@name$; mes "Welcome to the event called Russian Roulette. You can register yourself with a fee of 1.000 Zeny. This Zeny will become the reward of this event. Aditional you can earn 1 Loyality Coin for every survived round."; next; mes .@name$; mes "What is your choice?"; next; menu "Register me please.",RRREGISTER,"What to do?",RRINFO,"What to win?",RRREWARD; close; RRINFO: mes .@name$; mes "You have to register yourself within 5 minutes and stay here for a while. After some players have registred we will start the event."; next; mes .@name$; mes "I will load a pistole with 1 bullet. We use a pistol with 9 slots. As you can see your chance is 1:4 to survive."; next; RRREWARD: mes .@name$; mes "You can win with a 10% chance a Loyality Coin every round you've survived. If you are the last man standing you can also win the sum of registration zeny."; close; RRREGISTER: if ($RRDURCHGANG != getd("$RRDURCHGANG_"+uniqueid$+"")) { set RRREGISTRED, 0; setd("$RRREGISTRED_"+uniqueid$+"", 0); } mes .@name$; mes "Do you want to register you as a event player? It will cost you 1.000 Zeny."; next; menu "Register",-,"Info?",RRINFO,"Rewards?",RRREWARD; if (getd("$RRREGISTRED_"+uniqueid$+"") == 1) set RRREGISTRED, 1; if (RRREGISTRED == 1) { mes .@name$; mes "You are already registred. Please wait until the event starts."; close; } if (Zeny < 1000) { mes .@name$; mes "You don't have enough zeny my dear."; close; } set Zeny, Zeny - 1000; dispbottom "You've paid 1.000 Zeny for russian roulette registration."; set $RRZENYPOT, $RRZENYPOT + 1000; set RRREGISTRED, 1; setd("$RRREGISTRED_"+uniqueid$+"", 1); setd("$RRDURCHGANG_"+uniqueid$+"", $RRDURCHGANG); set .@nb, query_sql("INSERT INTO `event_russian_roulette` (`unique_id`, `char_id`, `account_id`, `name`) VALUES ('"+uniqueid$+"', '"+getcharid(CHAR_ID_CHAR)+"', '"+getcharid(CHAR_ID_ACCOUNT)+"', '"+strcharinfo(0)+"');", .@ausgabe$); mes .@name$; mes "You have been registred. Thank you. The current pot belongs "+$RRZENYPOT+" zeny."; set .@nb, query_sql("SELECT count(char_id) from `event_russian_roulette` LIMIT 1", $RRREGISTREDUSER); npctalk "Thank you for your registration "+strcharinfo(0)+". "+$RRREGISTREDUSER+". player."; next; mes .@name$; mes "Now please wait for my announcements. I wish you a lot of luck. The Event will start within the next seconds."; close; } mes .@name$; mes "No event is running."; close; } Disable uniqueid if you don't use gepard or harmony.

     
  4. Upvote
    IndieRO reacted to 4144 in where is i can find log/map-server.leaks   
    Then create log directory. And next time server save here logs.
  5. Upvote
    IndieRO reacted to Adel in Adel's Sprite Showcase   
    Christmas Sprites
     
             
          
       
           
           
             
          
          
             
          
          
  6. Upvote
    IndieRO reacted to Rytech in r836 - Sera Skills Added / FAW Skills Recoded / Map Cache Update   
    =General
    *Added the "monster_mobid" enum.
    -This is to set monster ID's for skill related stuff more easly.
    *Added the "menuskill_val2" value.
    -Using menuskill_itemused for certain things just lost me too easly.
    *Added the "skill_check_condition_mob_master_mer_sub" function.
    -Works just like the skill_check_condition_mob_master_sub, but
    -for homunculus and mercenary's.
    *Added a safety check to prevent the chance of a status activating
    -from going below 0.
    *Updated the map cache since prontera was reverted back to the old one.
     
    =Database
    *Updated listing for conditions.
    -I found these in the source code and they are used by some monsters.
    -Felt they should be listed here even tho their rarely used.
     
    =Skills
    *NC_SILVERSNIPER
    -Recoded the skill.
    -Updated the monster's database entry.
    -Updated the skill entry's for silver sniper.
    -No longer able to heal itself.
    -Updated the ATK bonus from used skill level.
    -MaxHP now affected by skill level and caster's BaseLV/MaxHP.
    *NC_MAGICDECOY
    -Recoded the skill.
    -Updated the monster's database entrys.
    -Updated the skill entry's for the magic decoys.
    -No longer able to heal itself.
    -MaxHP now affected by skill level and caster's BaseLV/MaxSP.
    *KO_ZANZOU
    -Updated the monster's database entry.
    -Corrected the AI type on the spawning of shadow clones.
    *GN_ILLUSIONDOPING
    *MH_SUMMON_LEGION
    *MH_NEEDLE_OF_PARALYZE
    *MH_PAIN_KILLER
    -Added support for these skills.
  7. Upvote
    IndieRO reacted to Rytech in Does Any Rebellion Skill work?   
    If there's any free dev power that can add the skills, I have close to all of their skills coded in my project. Should be easy to merge into Herc.
  8. Upvote
    IndieRO reacted to msecastro in NST_CUSTOM Trader Type Question   
    Good day, Hercules forums
    I was playing around the different trader types and came around the NST_CUSTOM type.
    I was able to create an NPC which trades items for TCG, however, I would like to ask a few things because my OCD is killing me:
    Is it possible to change the text on the dialogue box that pops up before purchasing (or totally disable that)? Is it possible to remove the "Free Cash" text and the "Use Free Cash" input box? I attached a screenshot of what I mean.
    EDIT: Somehow the file isn't uploading so here's the screenshot:
    Screenshot: https://prnt.sc/hlwmpt

    Thanks!
  9. Upvote
    IndieRO reacted to Rytech in r835 - GTB Resist Update / Vacuum Extreme Fixed And Not OP Broken Anymore / Other Recode And Bug Fixes   
    =General
    *Gold Thief Bug card / Wand of Hermode now blocks the following status's....
    -Adoramus / Imprison / Manhole / Chaos (Chaos Panic) / Bloody Lust /
    -Insignia's / Blood Sucker.
     
    =Skills
    *WL_HELLINFERNO
    -Recoded the skill.
    -Now deals 2 seprate hits of damage.
    -The first hit is fire damage and the 2nd hit is shadow damage.
    -Chance of burning now only applies to the fire damage.
    -Magic Power status now properly increases the damage of both hits.
    *RA_ELECTRICSHOCKER
    -Official duration reduction formula added.
    *RA_WUGBITE
    -No change, but noteing that duration reduction was removed in the
    -previous revision since its confirmed to be gone.
    *SR_FALLENEMPIRE
    -Now uses its official status and prevents regular attacking
    -and movement.
    *WM_DANCE_WITH_WUG
    -Now gives a ATK bonus to Ranger/Minstrel/Wanderer type jobs.
    *SO_VACUUM_EXTREME
    -Recoded the skill.
    -Affected enemy's will now be pulled to the center of the AoE.
    -Duration of status is now that of the AoE's remaining active time.
    -Duration reduction formula updated to official.
    -No longer affects those in Hallucination Walk or Hovering status.
    -Note: The durations basicly act as strength power.
    -The Vacuum's strength is affected by skill level and weakens
    -over time as the AoE is active. The higher your STR, the stronger
    -the vacuum's suction strength you can resist. 120 STR for example
    -lets you resist a vacuum that has a duration or 6 seconds or
    -less remaining.
    *GN_SPORE_EXPLOSION
    -Recoded the skill.
    -Countdown now handled the same way like Venom Splasher.
    -Target carrying the spore bomb will always be hit by the explosion.
    -The explosion animation will now only appear on the exploading target.
    *AB_OFFERTORIUM
    -Now removes the following status's from the caster....
    -Poison / Curse / Confusion / Blind / Bleeding / Burning / Frost /
    -Hallucination / Mandragora / Guillotine Cross Poisons (Except Oblivion).
  10. Upvote
    IndieRO reacted to Asheraf in Nemo patcher   
    Zero clients are the clients used in the new korean server RO:ZERO they have some new updates such as a new cashshop ui, char creation ui, quest ui and other stuff, however its still experimental for Hercules, feel free to test it and give us feedback on issues that could be related to the emulator :). 
  11. Upvote
    IndieRO reacted to bWolfie in getguildid Script Command   
    Hello! The following plugin will grant your server the getguildid("<Guild Name>") script command. It is quite self-explanatory. Simply enter the Guild Name for which you need the GID. Make sure you capture it too!
    Example:

    .@GID = getguildid("My Pro Guild"); // .@GID will now be equal to whatever the guild id of 'My Pro Guild' is. // example, can be used with flagemblem flagemblem(.@GID);
    Hopefully no errors and compiles first time ...and hopefully this will get added to source as I hadn't found a similar functionality to it yet in our existing commands.
    Download: https://pastebin.com/CpyT7WKm
  12. Upvote
    IndieRO reacted to meko in If table = 0, then VIP   
    - script AutoVIP FAKE_NPC,{ OnPCLoginEvent: // save the original group @ACTUAL_GROUP = getgroupid(); // check if the player was never a VIP if (##VIP_UNTIL < 1) { // give the free VIP status ##VIP_UNTIL = gettimetick(2) + .free_vip_length; } // check if the player is currently a VIP if (##VIP_UNTIL > gettimetick(2)) { // move the player to the VIP group until logout setgroupid(.vip_group); // notify the player dispbottom("You are a VIP player."); // schedule a timer to revert the group on expiration addtimer((##VIP_UNTIL - gettimetick(2)) * 1000, strnpcinfo(0) + "::OnExpire"); } // check if the player was a VIP but it expired while away else if (##VIP_UNTIL > 1) { goto OnExpire; } end; OnExpire: if (##VIP_UNTIL <= gettimetick(2)) { // revert to the original group setgroupid(@ACTUAL_GROUP); // notify the player dispbottom("Your VIP status expired. You are now a normal player."); // update the variable ##VIP_UNTIL = 1; } end; /////////// Configuration below OnInit: .vip_group = 1; // the ID of your VIP group .free_vip_length = (((60 * 60) * 24) * 5); // the length of the free VIP period (5 days) }  
  13. Upvote
    IndieRO reacted to Balfear in Req: Link setup RO Zero   
    HI !
    Click me =)
  14. Upvote
    IndieRO reacted to 4144 in Nemo patcher   
    This topic about Nemo fork https://gitlab.com/4144/Nemo
    Most changes present in ChangeLog
    Patches reports service: http://nemo.herc.ws
     
    For test Ragnarok zero clients need:
     
    this nemo fork and enable at least patches from https://gitlab.com/4144/Nemo/blob/master/profiles/zero_minimal.log this or similar clientinfo.xml https://gitlab.com/4144/Nemo/blob/master/configs/zero/clientinfo.xml  
    From 2018-11-14 in all clients must be enabled patch Remove hard coded address/port
    For clients newer than 2018-03-09:
    Need manually copy cdclient.dll from Nemo/input or enable patch "Copy patched Cheat Defender Game Guard"
     
    Clients exe downloads: http://nemo.herc.ws/downloads/
    Full client downloads: http://nemo.herc.ws/downloads/#downloadable-full-clients
     
    Discord: https://discord.com/invite/ByEQHDf
     
     
  15. Upvote
    IndieRO got a reaction from JulioCF in [Client-Side] Chat geral / chat genneral (Tradução/Translate)   
    u can setting on your RO folder find folder "savedata/chatWndInfo_U.lua"
      sorry with english i just try to help you
  16. Upvote
    IndieRO reacted to Murilo BiO' in Clan System   
    Tada!
     
    https://github.com/HerculesWS/Hercules/pull/1718
    Now we just need to wait for `mmo_charstatus`
  17. Upvote
    IndieRO reacted to 4144 in Block use item   
    Try set in conf/map/battle/items.conf
    item_enabled_npc: false
     
  18. Upvote
    IndieRO reacted to Asheraf in Remove Scripts from loading list   
    In order to use script remove you need to specify the path of the npc file, another solution would be to disable the include for the other files in scripts_main.conf and add load for your files only.
  19. Upvote
    IndieRO 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.
     
  20. Upvote
    IndieRO got a reaction from kukayasko in [Client-Side] Chat geral / chat genneral (Tradução/Translate)   
    u can setting on your RO folder find folder "savedata/chatWndInfo_U.lua"
      sorry with english i just try to help you
  21. Upvote
    IndieRO got a reaction from yashin16 in how to fix this??   
    Edit: problem solve 
    How to solve this problem, just add new function on luafile514\lua files\SkillInfoz\skillinfo_f.lub
    GetSkillScale = function(in_SKID, in_Level) local obj = SKILL_INFO_LIST[in_SKID] local x = 0 local y = 0 if nil ~= obj then obj = SKILL_INFO_LIST[in_SKID].SkillScale end if nil ~= obj then obj = SKILL_INFO_LIST[in_SKID].SkillScale[in_Level] end if nil ~= obj then x = SKILL_INFO_LIST[in_SKID].SkillScale[in_Level].x if nil == x then return 0, 0 else y = SKILL_INFO_LIST[in_SKID].SkillScale[in_Level].y if nil == y then return 0, 0 end end end return x, y end  
  22. Upvote
    IndieRO got a reaction from grimmm in Hercules Battlegrounds   
    someboody can help me to fix this error??

  23. Upvote
    IndieRO got a reaction from HaARiZz in Hercules WPE Free - June 14th Patch   
    works until 20171101 just see in folder src/map/packets_keys.h
  24. Upvote
    IndieRO reacted to Alayne in Veteran Quest   
    View File Veteran Quest
    This script contains a quest where an old adventurer will sing you a song, and where you'll have to ascomplish each step to become an adventurer yourself.
    If you need a guide, ask for it! (but please, read the file first, it's quite easy).
    Warning: All the quests I'm gonna release relied on item you might not have as they're custom ones. So think of editing the reward variable to ensure you'll be able to get the reward (on OnChooseItem).
    Info: as I'm planning to upload thousands of scripts, I can't take screenshot of all single quests. So I'll add only my avatar's one
    Submitter Alayne Submitted 11/22/17 Category Quest, Shops, Functions & Algorithms  
  25. Upvote
    IndieRO reacted to Kasthiel in Configurable Refiner   
    I would like to know how I can add more protection items up to +20 in npc, as I set it up and added it and it did not work, it still picks protection item +5 for any other refinement greater than +5.
    setarray .SecureItems[0], 6456, 6457, 6457, // +0 6456, 6457, 6457, // +1 6456, 6457, 6457, // +2 6456, 6457, 6457, // +3 6456, 6457, 6457, // +4 6456, 6457, 6457, // +5 6231, 6235, 6235, // +6 6230, 6234, 6234, // +7 6229, 6233, 6233, // +8 6228, 6232, 6232, // +9 6993, 6994, 6994, // +10 6238, 6239, 6239, // +11 6584, 6585, 6585, // +12 6870, 6876, 6876, // +13 6871, 6877, 6877, // +14 6872, 6878, 6878; // +15  
×
×
  • Create New...

Important Information

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