Jump to content

Hadeszeus

Members
  • Content Count

    651
  • Joined

  • Last visited

  • Days Won

    1

Reputation Activity

  1. Upvote
    Hadeszeus reacted to Jedzkie in Daily Quest NPC   
    hi! i wan't to request a daily quest npc, if i click the npc, the npc will give me a quest randomly, a quest like, kill 5 satan morocc, kill 10 champions in WoE, after the i finished the quest, every quest has a different prizes, the quest can be repeated once per 20 hours. thank you!
  2. Upvote
    Hadeszeus got a reaction from JulioCF in Ultimate Guild Ranking   
    We all know that Guild System/WoE System is obviously one of the Best feature of Ragnarok. I can actually say that, it is indeed the BREAD & BUTTER of the game.
    Most of the players are playing this game for a long time because of it.
    So I'm thinking... Why not create a more complex Guild Ranking System that will make the battle more Intense, Engaging and Fun!? Maybe someone did this already or maybe not? 
     
     
    Definitely, I'm here to request this kind of SCRIPT. I'm not sure if someone will do this since this might fall under PAID service category.
     
    Basically, here's the details:
     
    * NPC for Ultimate Guild Ranking.
     
    Menu:
    Top 10 Guilds - displays the Top 10 Guilds base on [Guild Rank Formula]

               - Usually, most of the Guild Ranker NPC are all base on Agit counts. From OLD ranking system this might change using this Guild Rank Formula.
     
               * What is Guild Rank Formula? It's a 100% of the total CRITERIA.
     
                  ??...CRITERIA
                        Agit Counts = 30%
                            Formula: .30*(X/30*100) = 30%  where X is Agit Counts and 30 are days in the month. 
     
                        Player KDR = 40%
                              Formula: .40*(TK/TD*100) = 40% where TK is Overall Total Kills and TD is Overall Total deaths of the Guild. (Total Kills/Deaths counts will remain even the members leaves the guild.)
     
                        EmP Break = 20%
                               Formula: .20*(TB/HEB*100) = 20% where TB is Total Break while HEB is Highest Emp Break value. Meaning the highest break counts will be the default value to get the 20%. Meaning the most break counts guild will always get the 20% (Break counts will remain even the members leaves the guild.) 
     
     
                            Active Participants =  10%
                               Formula: .10*(AP/TAP*100) = 10% where AP is the # of Max Members online per day divided by TAP or total possible online players in 1 month 75*30 = 2250
           
    Top 10 Players of the Guild - displays top players who contributed the most base on KDR points of the Top 10 guilds. 

               - This menu shows the Top 5 Players of each Guilds on TOP 10.  
                  Formula (KILLS/DEATHS = KDR) is Base on top 5 players with MOST KILLS with lesser DEATHS = KDR  where Kills/Deaths is total kills/deaths on that GUILD.
     
                         For example presentation:
                         1. AAA  <-- Guild Name
                            - 1st Top Player        Kills           Death        KDR
                          - 2nd Top Player       Kills           Death        KDR
                            - 3rd Top Player      Kills           Death        KDR
                            - 4th Top Player      Kills           Death        KDR
                            - 5th Top Player
                         2. BBB <-- Guild Name
                            - 1st Top Player        Kills           Death        KDR
                          - 2nd Top Player       Kills           Death        KDR
                            - 3rd Top Player      Kills           Death        KDR
                            - 4th Top Player      Kills           Death       KDR
                            - 5th Top Player
                         3. CCC <-- Guild Name
                            - 1st Top Player        Kills           Death        KDR
                          - 2nd Top Player       Kills           Death        KDR
                            - 3rd Top Player      Kills           Death        KDR
                            - 4th Top Player      Kills           Death        KDR
                            - 5th Top Player
                         4. DDD
                         5. So on...
                         6. So forth...
    Most Active Guild - Top 10 Ranking base on Total Active Participants. Previous Month Top 10 Guilds - simply display the previous TOP 10. (so they can always look back who's the best from last month)

     
    Last but not the least. The compensation to those who gave their best to make it to the top.
    *Reward base on Ranking.
    *Reward will be sent via MAIL every end of month. (e.g March 30 11:59:59) send rewards to the Members of that guild regardless the joined date.)
     
    Additional Info:
    The formula is base on 30 days battle so the 31 might not valid or depends on coding.
    The formula can be change if you have a better one. (I'm not a mathematician)
    Thanks for taking time to read ...
  3. Upvote
    Hadeszeus reacted to Dastgir in Ultimate Guild Ranking   
    Here's the Script:
    UltimateGuildRanker: UltimateGuildRanker.diff
    For Updated Script, Go to this link: http://herc.ws/board/topic/4941-ultimate-guild-ranker/
    (Although in its initial stages, report any bug if found)
    (NOTE: this is diff not txt file.)
     
    At first just execute 2 querys in the top of the UltimateGuildRanker.txt
  4. Upvote
    Hadeszeus reacted to Neo-Mind in PEEK - Successor to Yommy's Packet Analyzer   
    Packet Extraction Evaluation Kit
     
    What is this?
    Its a joint venture from Yommy and me . It was made few weeks back but I never got the time to actually make a post about it. If you browsed around my github repository you would have seen it already.
     
    To put it in simple terms like it says in the topic title it brings you the functions of Amazing Yommy's Packet Analyzer Framework wrapped into a very user friendly interface.
    Essentially it enables you to record and analyze the packets received and sent by your client and also helps you build packet tables for any newer clients. 
     
    Any Screenshots?
    Well heres a few for you to see

     
    So how do you use it?
     
    1) Open PEEK.exe and put your client exe file name. If your client doesn't use the old login system
        (i.e. you start the client with the help of a launcher) click the Enable Launcher button and enter your Launcher exe file name.
     
    2) Click Start Analyzer and your launcher will start (or your client will start if you didnt enable the launcher).
         Simply login to your client and the packets will start recording into the table in PEEK.
         You can click on an entry to see the details of the respective packet in the second box.
         The Third box shows you the packet's byte stream.
     
    3) While the packet evaluation is in progress all the buttons get disabled except for Pause Analyzer to avoid mishaps.
         If at some point you wish to stop recording packets just click that button.
         Similarly to resume packet recording & evaluation later, click the Resume Analyzer button.
     
    4) Now what you didn't realize is that your client area had some changes done -
          i) Your original client was backed up
          ii) A fixed up version of your original (simple dll rename) was added to your client area
          iii)The required dll was also added to your client area - the same one from the Packet Analyzer framework
        These steps are also done by the Generate Tester Button. Once your tests and analysis is complete you can change everything
         back by clicking Restore original.
     
    Great but how do I make a Packet DB?
      Plan was to have an addon for generating this in future but it got delayed.
      Anyways I will have more Info soon but you can find the packet lengths in the output folder once you run a client. From which you can make the packet db like before.
     
    Alright where to get it?
     
    Github Repository: https://github.com/MStr3am/PEEK.git
     
    No this time i didn't bother to make a RAR file - Lets face it you must be already handling git repositories anyways
  5. Upvote
    Hadeszeus got a reaction from Toshiro in I think it is time..   
    Sad news. Good luck to you Yommy...
  6. Upvote
    Hadeszeus reacted to evilpuncker in 4 new permissions   
    thanks for the support, maybe I'll try to add a pull request today, last time I was not able to do it
  7. Upvote
    Hadeszeus reacted to AnnieRuru in Need this script applied to the party, not only the killer in the party   
    - script custom_drop -1,{OnNPCKillEvent: if ( !getcharid(1) ) { if ( checkidle() > 10 ) // 10 seconds end; if ( rand(4000) < 25 ) // .@rand_gc_drop ... 25/4000 = 1/160 getitem 512,1; if ( rand(2000) < 5 ) // .@rand_sc_drop .... 5/2000 = 1/400 getitem 513,1; if ( rand(1000) < 1 ) // .@rand_gc_drop .... 1/1000 getitem 511,1; } else { .@map$ = strcharinfo(3); // added a map check getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; for ( .@i = 0; .@i < $@partymembercount; .@i++ ) { if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { attachrid $@partymemberaid[.@i]; if ( strcharinfo(3) != .@map$ || checkidle() > 10 ) continue; if ( rand(4000) < 25 ) // .@rand_gc_drop ... 25/4000 = 1/160 getitem 512,1; if ( rand(2000) < 5 ) // .@rand_sc_drop .... 5/2000 = 1/400 getitem 513,1; if ( rand(1000) < 1 ) // .@rand_gc_drop .... 1/1000 getitem 511,1; } } } end;}
  8. Upvote
    Hadeszeus reacted to AnnieRuru in requesting this kind of script? if doable.   
    why not just use changelook ...
    prontera,156,183,5 script kjdhfsksjf 100,{ mes "input an item to preview the look"; next; input .@id, 500, 32768; if ( getitemname(.@id) == "null" ) { mes "no such item"; close; } if ( getiteminfo( .@id, 2 ) != IT_ARMOR && !( getiteminfo( .@id, 5 ) & 256 ) ) { mes "that item is not a upper headgear"; close; } @look_temp = getlook(LOOK_HEAD_TOP); addtimer 100, strnpcinfo(0)+"::OnQuit"; changelook LOOK_HEAD_TOP, getiteminfo( .@id, 11 ); mes "how's the look ?"; next; changelook LOOK_HEAD_TOP, @look_temp; @look_temp = 0; mes "bye"; close;OnQuit: changelook LOOK_HEAD_TOP, look_temp; @look_temp = 0; end;}euphy's quest shop already has the preview function isn't it ?
  9. Upvote
    Hadeszeus reacted to Dastgir in Facebook Share   
    File Name: Facebook Share
    File Submitter: Dastgir
    File Submitted: 12 Mar 2014
    File Category: Utility
     
    Facebook Share System(Works Only with New Clients)
     
    Configuration:
    Edit NPC FacebookShare.txt
    .link$ = "http://www.yourdomain.com/fbshare/"; //Trailing with "/" Edit the link with the link where you have PHP Scripts(Trailing with "/" or "/index.php")
     
    WebSite:
    Edit config.php
    $host = "127.0.0.1"; //MySQL Host$user = "root"; //MySQL Username$pass = ""; //MySQL Password$database = "fb_share"; //Ragnarok Database$site = "http://yourdomain.com/fbshare/"; //Link to FBShare Page(Directory where these scripts are installed) $site should match with .link$(in the npc), Other Info are self explanatory.
     
    It is a Simple Script Illustrating the usage of linking to website.
     
    Click here to download this file
  10. Upvote
    Hadeszeus reacted to Alexandria in (Guild) Antagonism System   
    My suggestion differs from  Lilith's incredible (but sadly abandonned) script; biggest difference being  Antagonism system is based on something natively implemented in RO (as a guild leader, right-click on someone from another guild and "set his guild as antagonist). The "Antagonists" interface  (CTRL+G) could finally be useful.
  11. Upvote
    Hadeszeus reacted to AnnieRuru in getmemberaid checkmes   
    I think not, might be a bug ... I not sure, though it works in my test server
     
    what's the line on 18555 and 18577 ?
     
    btw, if it falls on line uint16 m;
    I've fixed it int16 m; ages ago
  12. Upvote
    Hadeszeus reacted to Gerz in isequipped() can check same item?   
    if( getequipid(7) == itemid &&  getequipid(8) == itemid ) {
    blahblah
    }
  13. Upvote
    Hadeszeus reacted to Angelmelody in isequipped() can check same item?   
    use the same command  for both
    if(isequippedcnt(Ring_) == 2 ) || isequippedcnt(Ifrit_Card) == 2) { bonus bStr,50;} else { bonus bStr, 20;}
  14. Upvote
    Hadeszeus reacted to AnnieRuru in Ultimate Guild Ranking   
    just tested
    alter table `char` add kills int(11) unsigned not null default 0 after unban_time, add death int(11) unsigned not null default 0 after kills, add index (kills), add index (death);select * from `char`;select name, kills, death, kills/death, kills/(death+1) from `char` order by kills desc;select name, kills, death, kills/death, kills/(death+1) from `char` order by death asc;select name, kills, death, kills/death, kills/(death+1) from `char` order by kills/death desc;select name, kills, death, kills/death, kills/(death+1) from `char` order by kills/(death+1) desc;the last one ... is the one that we should useso just make the ratio as +1 to death only when calculating, not on the ladder itself
     
     
    btw ... I'm not interested in making this script ... just too big
    rather just update my sql dota ladder script
  15. Upvote
    Hadeszeus reacted to Dastgir in Attempt to call a nil value   
    Was there any other message displaying file name? And what data folder you are using?
    https://github.com/ROClientSide/Translation/blob/master/Data/luafiles514/lua%20files/effecttool/effectfunc.lub was updated by me, a month ago, contains that function, maybe if you are using this, error will vanish(dont only download this, since there is one more file for morroc named morroc.lub, you ahould have that too, so just get that whole folder),else maybe if you using this and still have error, then this file must have been updated recently.(but less chance, since you using client older than the lub file, so downloading those files, should vanish your errors.)
    So get the latest luafolder, and try to run.
  16. Upvote
    Hadeszeus reacted to AnnieRuru in Emperium Breaker ladder   
    being asked too much in script request section, so better just release one
     
    script
    emp_breaker_ladder_1.0.txt
    patch ... no need recompile ...
    http://upaste.me/0b1d4993914f05487
     
    what this script do ?
    hmm ... just display the top players who has broke emperium ..
     
     
  17. Upvote
    Hadeszeus reacted to AnnieRuru in Raid instances   
    its not triple post, I split topic so answering your question doesn't conflict with other member's post
     
    spoon feed btw
    http://upaste.me/4eaa1086717a3d067
  18. Upvote
    Hadeszeus reacted to AnnieRuru in Redeemer NPC / Coupon NPC / Promotional NPC   
    perfectly built script, I can only see 1 bug and 2 improvements
     
    1.
    bindatcmd "claim",strnpcinfo(3)+"::OnClaim"; bindatcmd "code",strnpcinfo(3)+"::OnEditCode";when you write an atcommand that player can usealways set charcommand level to 99 or 100
     
    its simple to reproduce
    when pvp/gvg, type '#claim <player name that you hated>' and will send a chat box on the player,
    cause him to have a moment of pause because need to type something
    yet again ... this kind of knowledge can only acquire when you have work on a live server =/
     
    2.
    so change into like this
    bindatcmd "claim",strnpcinfo(3)+"::OnClaim", 0, 100; bindatcmd "code",strnpcinfo(3)+"::OnEditCode", 99, 100;so you don't have to ( getgmlevel() < 99 ) end; 
    3.
    query_sql "SELECT `nameid`, `amount` FROM `reward_codes` WHERE `code` = '" + escape_sql(.@pc$) + "'", .@item, .@amt; if ( !.@item ) dispbottom "Either invalid code or the code is already claimed by other people";can be simplify as if ( !query_sql( "SELECT `nameid`, `amount` FROM `reward_codes` WHERE `code` = '" + escape_sql(.@pc$) + "'", .@item, .@amt ) ) dispbottom "Either invalid code or the code is already claimed by other people";
  19. Upvote
    Hadeszeus reacted to BuLaLaKaW in Pwede bang mahuli ka, ipakulong, ipasara ang server mo?   
    wla napa balita o hindi lang binalita
     
    pero may namatay na dahil sa ragna
     


     
    Grand Tip Bag murder case aka GTB ... bobo nung reporter
  20. Upvote
    Hadeszeus reacted to goddameit in Marking Warper (Ver.2)   
    Preview :

     
    You can click special NPC and put its location to your list,
    so you will be able to use this warper to go to there.
     
     
    How to put special NPC ?
    Open 2_Mark_Stone.txt and add new setting like this :
     
    <map>,<x>,<y>,<facing>%TAB%duplicate(GG_Record_Mark_Main)%TAB%<NPC Name>%TAB%<sprite id> All you need to notice is your npc name must look like this :
    " blablabla#blablabla_uz% " ( % = 1,2,3...9 )
     
    If you set this new npc is _uz2, then you will find it in "2" type when you use warper.
     
    --------------------------------------------------------------------------------------------------------
     
    Download :
    mark_warper_2.rar
  21. Upvote
    Hadeszeus reacted to Brynner in Devil Square Support   
    you can try this
     
    //===== rAthena Script =======================================//= Devil Square//===== By: ==================================================//= Kirlein, Stillhard (translation), AnnieRuru (rewrite)//===== Current Version: =====================================//= 1.0//===== Compatible With: =====================================//= rAthena Project//===== Description: =========================================//= Devil Square, based on the event in MU Online.//= Defeat three waves of monsters for treasure.//===== Additional Comments: =================================//= 1.0 First version, edited. [Euphy]//============================================================prontera,156,185,5 script Devil Square Guardian#1 406,{ set .@gm_level, 99; // GM level required to start/stop the event mes "[Devil Square Guardian]"; mes "This is the entrance to ^FF0000Devil Square^000000."; mes "If you fail or die, the door will close and you must wait until the event starts again to re-enter."; next; switch(select("Enter.:Information.:" + ((getgmlevel() >= .@gm_level) ? "GM Menu." : "") + ":Cancel.")) { case 1: if (.start != 1) { // registration period mes "[Devil Square Guardian]"; mes "Devil Square is now closed."; mes "It will open at these times:"; mes "00:00 , 02:00 , 04:00 , 06:00"; // display your times here mes "08:00 , 10:00 , 12:00 , 14:00"; mes "16:00 , 18:00 , 20:00 , 22:00"; close; } if (BaseLevel < 70 || Zeny < 20000) { // requirements mes "[Devil Square Guardian]"; mes "You do not meet the requirements to enter Devil Square."; mes " "; mes "Requirements:"; mes " - Base Level 70"; mes " - Registration fee 20,000z"; close; } Zeny -= 20000; announce strcharinfo(0)+" has entered Devil Square.", bc_npc; percentheal 100,100; warp "ordeal_1-1",183,182; close; case 2: mes "[Devil Square Guardian]"; mes "Inside, you will encounter 3 waves of monsters. The monsters will grow stronger with each wave."; next; mes "[Devil Square Guardian]"; mes "If you defeat all the enemies, you will be given the opportunity to open 10 Treasure Chests with items, equipment, and rare cards inside!"; close; case 3: mes "[Devil Square Guardian]"; switch (.start) { // event states case 0: mes "Devil Square has not yet started."; break; case 1: mes "Devil Square is currently accepting participants."; break; case 2: mes "Devil Square Event is currently running on Round "+ .round +" with "+ .mob +" monsters remaining."; break; } next; switch(select("Start event.:Stop event.:Cancel.")) { case 1: mes "[Devil Square Guardian]"; if (.start) mes "Devil Square has already started."; else { mes "Starting Devil Square..."; donpcevent strnpcinfo(0)+"::OnStartEvent"; } close; case 2: mes "[Devil Square Guardian]"; if (!.start) mes "Devil Square has not yet started."; else { mes "Stopping Devil Square..."; donpcevent strnpcinfo(0)+"::OnStopEvent"; } close; case 3: break; } break; case 4: break; } mes "[Devil Square Guardian]"; mes "Farewell."; close;OnStartEvent:OnClock0000:OnClock0200:OnClock0400:OnClock0600:OnClock0800:OnClock1000:OnClock1200:OnClock1400:OnClock1600:OnClock1800:OnClock2000:OnClock2200: .start = 1; disablenpc "ord11-12"; //from npc/warps/pvp.txt disablenpc "Devil Square Guardian#2"; mapannounce "ordeal_1-1","Devil Square is now closed.", bc_map; getmapxy .@map$, .@x, .@y, 1; mapwarp "ordeal_1-1", .@map$, .@x, .@y; killmonsterall "ordeal_1-1"; announce "Devil Square is OPEN. The event will begin in 5 minutes.", bc_all; sleep 60000; announce "Devil Square will begin in 4 minutes.", bc_all; sleep 60000; announce "Devil Square will begin in 3 minutes.", bc_all; sleep 60000; announce "Devil Square will begin in 2 minutes.", bc_all; sleep 60000; announce "Devil Square will begin in 1 minute.", bc_all; sleep 60000; announce "Devil Square has STARTED!", bc_all; if ( !getmapusers("ordeal_1-1") ) goto OnStopEvent; .start = 2; .round = 1; .mob = 75; areamonster "ordeal_1-1",183,182,246,244,"[DS] SOLDIER SKELETON",1028,10,strnpcinfo(0)+"::OnDevilDead"; areamonster "ordeal_1-1",183,182,246,244,"[DS] ORC ARCHER",1189,15,strnpcinfo(0)+"::OnDevilDead"; areamonster "ordeal_1-1",183,182,246,244,"[DS] SANDMAN",1165,10,strnpcinfo(0)+"::OnDevilDead"; areamonster "ordeal_1-1",183,182,246,244,"[DS] ARCHER SKELETON",1016,15,strnpcinfo(0)+"::OnDevilDead"; areamonster "ordeal_1-1",183,182,246,244,"[DS] MINOROUS",1149,15,strnpcinfo(0)+"::OnDevilDead"; areamonster "ordeal_1-1",183,182,246,244,"[DS] REQUIEM",1164,10,strnpcinfo(0)+"::OnDevilDead"; end;OnDevilDead: .mob--; if ( .mob == 25 || .mob == 5 ) announce "Devil Square : "+ .mob +" monsters remaining in round 1.", bc_map; else if ( .mob <= 0 ) { announce "Devil Square is entering round 2...", bc_map; goto OnDevil2; } end;OnDevil2: .round = 2; .mob = 70; areamonster "ordeal_1-1",183,182,246,244,"[DS] GARGOYLE",1253,15,strnpcinfo(0)+"::OnDevilDead2"; areamonster "ordeal_1-1",183,182,246,244,"[DS] ALARM",1193,10,strnpcinfo(0)+"::OnDevilDead2"; areamonster "ordeal_1-1",183,182,246,244,"[DS] HIGH ORC",1213,10,strnpcinfo(0)+"::OnDevilDead2"; areamonster "ordeal_1-1",183,182,246,244,"[DS] INJUSTICE",1257,10,strnpcinfo(0)+"::OnDevilDead2"; areamonster "ordeal_1-1",183,182,246,244,"[DS] MIMIC",1191,15,strnpcinfo(0)+"::OnDevilDead2"; areamonster "ordeal_1-1",183,182,246,244,"[DS] WRAITH",1192,10,strnpcinfo(0)+"::OnDevilDead2"; end;OnDevilDead2: .mob--; if ( .mob == 25 || .mob == 5 ) announce "Devil Square : "+ .mob +" monsters remaining in round 2.", bc_map; else if ( .mob <= 0 ) { announce "Devil Square is entering round 3...", bc_map; goto OnDevil3; } end;OnDevil3: .round = 3; .mob = 58; areamonster "ordeal_1-1",183,182,246,244,"[DS] ANOLIAN",1206,15,strnpcinfo(0)+"::OnDevilDead3"; areamonster "ordeal_1-1",183,182,246,244,"[DS] WANDERER",1208,15,strnpcinfo(0)+"::OnDevilDead3"; areamonster "ordeal_1-1",183,182,246,244,"[DS] DEVIRUCHI",1109,10,strnpcinfo(0)+"::OnDevilDead3"; areamonster "ordeal_1-1",183,182,246,244,"[DS] JOKER",1131,15,strnpcinfo(0)+"::OnDevilDead3"; areamonster "ordeal_1-1",183,182,246,244,"[DS] MOONLIGHT",1150,2,strnpcinfo(0)+"::OnDevilDead3"; areamonster "ordeal_1-1",183,182,246,244,"[DS] DARK ILLUSION",1302,1,strnpcinfo(0)+"::OnDevilDead3"; end;OnDevilDead3: .mob--; if ( .mob == 25 || .mob == 5 ) announce "Devil Square : "+ .mob +" monsters remaining in the final round.", bc_map; else if ( .mob <= 0 ) { announce "Devil Square : CONGRATULATIONS. These 10 Treasure Chests are yours.", bc_map; goto OnDevil4; } end;OnDevil4: .round = 4; .mob = 10; monster "ordeal_1-1",231,250,"Treasure Chest",1324,1,strnpcinfo(0)+"::OnTreasureDead"; monster "ordeal_1-1",234,247,"Treasure Chest",1328,1,strnpcinfo(0)+"::OnTreasureDead"; monster "ordeal_1-1",237,244,"Treasure Chest",1332,1,strnpcinfo(0)+"::OnTreasureDead"; monster "ordeal_1-1",240,241,"Treasure Chest",1336,1,strnpcinfo(0)+"::OnTreasureDead"; monster "ordeal_1-1",243,238,"Treasure Chest",1340,1,strnpcinfo(0)+"::OnTreasureDead"; monster "ordeal_1-1",246,235,"Treasure Chest",1344,1,strnpcinfo(0)+"::OnTreasureDead"; monster "ordeal_1-1",249,232,"Treasure Chest",1348,1,strnpcinfo(0)+"::OnTreasureDead"; monster "ordeal_1-1",252,229,"Treasure Chest",1352,1,strnpcinfo(0)+"::OnTreasureDead"; monster "ordeal_1-1",249,241,"Treasure Chest",1356,1,strnpcinfo(0)+"::OnTreasureDead"; monster "ordeal_1-1",240,249,"Treasure Chest",1360,1,strnpcinfo(0)+"::OnTreasureDead"; end;OnTreasureDead: .mob--; announce "Devil Square : "+ strcharinfo(0) +" has opened the Treasure Chest at Devil Square.", bc_all; if ( .mob <= 0 ) goto OnStopEvent; end;OnStopEvent: killmonsterall "ordeal_1-1"; enablenpc "ord11-12"; //from npc/warps/pvp.txt enablenpc "Devil Square Guardian#2"; .start = .round = .mob = 0; end;}ordeal_1-1,246,245,7 script Devil Square Guardian#2 406,{ mes "[Exit]"; mes "Farewell."; close2; warp "SavePoint",0,0; end;}ordeal_1-1 mapflag nowarpordeal_1-1 mapflag nowarptoordeal_1-1 mapflag noteleportordeal_1-1 mapflag monster_noteleportordeal_1-1 mapflag nosave SavePointordeal_1-1 mapflag nomemoordeal_1-1 mapflag nobranchordeal_1-1 mapflag nopenaltyordeal_1-1 mapflag noicewall https://raw.github.com/rathena/rathena/master/npc/custom/events/devil_square.txt
  22. Upvote
    Hadeszeus reacted to AnnieRuru in [Outdated] battleground system without waitingroom   
    This plugin has outdated
    Haru has already fixed queue iterator script command
    this plugin is no longer needed
     
    sample battleground script using queue iterator
    http://upaste.me/ab3022385d0127b7f
     

     
    outdated topics from eathena or rathena
    this one is more update
     
    Download: 1.5
    plugin
     
    -----------------------------------------
     
    *createbgid , , , , ;
    create a specific battleground ID, for the rest .... refer to doc
    .red = createbgid( "guild_vs3", 13,50, strnpcinfo(0)+"::Onredout", strnpcinfo(0)+"::Onreddead" );.blue = createbgid( "guild_vs3", 86,50, strnpcinfo(0)+"::Onblueout", strnpcinfo(0)+"::Onbluedead" );.-----------------------------------------
     
    *setbgid {, };
    *setbgid {, };
    player attached to the script will join the battleground team,
    but if a player name ( or account ID ) is specify, will let that player join the battleground team
     
    for debugging purposes
    this command can return positive number ( > 0 ) if the function is successful
    if it return negative :-
    -1: the battleground team haven't create yet ... has to be create with createbgid
    -2: the team already full, it reached MAX_BG_MEMBERS = 30 which can increase at srcmapbattleground.h
    -3: player not found ... happens when the input is not online or not found
    -5: the player already join the battleground ID that you specify
     
    if the player has joined battleground ID 3, and you use setbgid 5;
    this will force the player to leave battleground ID 3 and join battleground ID 5 without any notification
    ( player who same group will receive a message mention that "player xxx leaving battlefield" )
    only when the player joined bg ID 9, and use setbgid 9; then only the command return -5
    but the script will still continue running without posting any error, so don't worry
     
    setbgid 0; is equal to *bg_leave;
    and setbgid 0, "annie"; or setbgid 0, 2000000;
    will make the player "annie" ( or account id 2000000 ) leave the battleground team without using *attachrid + *bg_leave
    warpwaitingpc "guild_vs3", 0,0;for ( .@i = 0; .@i < $@warpwaitingpcnum; .@i++ )setbgid ( .@i % 2 )? .red : .blue, $@warpwaitingpc[.@i];.-----------------------------------------
     
    *getbgusers ;
    similar to getpartymember , 2; // <-- return account ID
    this will create an array "$@arenamembers" holding all the player's account ID from the battleground team
    and $@arenamembersnum is equal to bg_get_data(, 0), just like $@partymembercount
    getbgusers .red;for ( .@i = 0; .@i < $@arenamembersnum; .@i++ )getitem 501, 1, $@arenamembers[.@i];.-----------------------------------------
     
    sample script
    http://upaste.me/7de710709dbb6fa17
     
    example script for reference material
    default battleground system using waitingroom, works in clean rathena/hercules
    http://upaste.me/497010755d3295805
    this script using this custom script commands
    http://upaste.me/b2781075699b0f8d9
    you can tell it really does make the script shorter
     
     
     
  23. Upvote
    Hadeszeus reacted to AnnieRuru in WoW Domination Battleground (Olrox is not invited)   
    ok, took me more than 5 hours to rewrite this script
     
    wow_domi_0.5.txt
    the only thing that I'm not done is the respawn system ...
    someone need to clarify how it is exactly work
     
    other than that, I think I've fixed every single bugs I can find from previous version
    .
    .
    .
    thanks for answering ... lolyeah I know how it feels
    when you posted that topic 3 years ago, you wanted to make your 1st free release map as a thanks giving for the community
    but now you have totally past that stage
    perhaps you want to give this project to the next generation ?
    .
    .
    .
    its already on the eathena forumwww.eathena.ws/board/index.php?showtopic=272293

    .
    .
    .
    btw, call the friend of yours to make these few maps too
    7 element woe -> http://rathena.org/board/topic/72989-capture-the-flag-woe-script/?p=149792
    martial art tournament -> http://www.eathena.ws/board/index.php?showtopic=272624
  24. Upvote
    Hadeszeus reacted to AnnieRuru in MVP Ladder Script Enhancement   
    today I got time to write
    so I spoon feed
     
    http://upaste.me/2e2110748aa7496b0
    http://upaste.me/75f61074917489868#
  25. Upvote
    Hadeszeus reacted to AnnieRuru in Last Hit change to Dealt most damage   
    https://github.com/HerculesWS/Hercules/blob/master/conf/battle/monster.conf#L190
×
×
  • Create New...

Important Information

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