Jump to content

Hadeszeus

Members
  • Content Count

    651
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Hadeszeus

  1. Ok Annie i'll try. Thank you!
  2. Thanks for this if(killerrid==getcharid(3))----->killed by him/her self if(!killerrid) ----->eat poison potion I was able to solved it using killerrid >= 110000000 Thanks everyone!
  3. killerrid < 1500000 (min char_id) Dunno why it's not working.. I tried if OnPCDieEvent: if ( killerrid < 1500000 ) { do; } else and OnPCDieEvent: if ( killerrid < 150000 ) { do; } else EDITED: Solved. killerrid >= 110000000
  4. Thanks. Annie, I really want to display the remaining time before entering instance again. On this line how can I get the timetick and convert to time format. else if ( .@denycount ) { mes "[MvP Ladder Warper]"; mes "There are a few party members that just enter this dungeon recently"; mes "You can only go there every 5 hours."; .@delayTime = .deny_enter - #raid_ins_deny; mes .@delayTime; <----- I can't get the time it returns 0. .@hours = .@delayTime / 60 /60; .@minutes = (.@delayTime % (60 * 60)) / 60; .@seconds = .@delayTime % 60; mes "Please come back in " + sprintf("%02d:%02d:%02d", .@hours, .@minutes, .@seconds) + " hours." ; for ( .@i = 0; .@i < .@denycount; .@i++ ) mes ( .@i +1 ) +". "+ .@denyname$[.@i]; close; }
  5. How to check if players killed by mobs. OnPCDieEvent: if ( killerrid >= 3000000) { do something; } else
  6. Spoon feed again.. Sigh. Thanks!
  7. Lufet mo pre! heheheeh nahanap mo po yan! Grand Tip Bag made may day!
  8. Oh.. that's why I cant find the issue I'm searching the forum not the bugs. Thanks Bro!
  9. Hi guys, I'm using 2014-01-15 client. Just now I found out that when renting a pushcart then you relogin the cart disappeared. Anyone please help??
  10. you mean add a deny timer to those players who already join the eventthen if they already played, they can't play again in another 3 hours ? Can you help me on this... Im trying but after the delay time I got error: -1 instead of creating instance. .@delayTime = #delayTimer- gettimetick(2); if(.@delayTime > 0) { mes "[Riss]"; mes "You can only go there every 5 hours."; .@minutes = .@delayTime / 60; .@seconds = .@delayTime - (.@minutes * 60); mes "Please come back in " + sprintf("%02d:%02d", .@minutes, .@seconds) + " minutes." ; close; } instance_set_timeout 0, 1, .@ins; instance_init .@ins; instance_attach .@ins; delitem .register_item, 1; warpparty has_instance("guild_vs2"), 0,0, getcharid(1), strnpcinfo(4); 'lives = .party_lives; set #delayTimer, gettimetick(2) + (5 * 60 *60); The delay should affect all members in the party not just the leader.
  11. I'm afraid that 2012 clients doesn't use keys yet ay! sorry about that...
  12. Diff your client with correct packet keys.
  13. This work in CentOS? work without root privileges? what port need this for work? No idea with linux, since I'm still working offline.
  14. you mean add a deny timer to those players who already join the eventthen if they already played, they can't play again in another 3 hours ? have you tried debug the script ?like put debugmes on every single variable in the script otherwise, post your edited script Yes Annie. I think adding a timetick as optional setting to prevent entering multiple times is a good addition to this script.
  15. Another very useful and very good script from Annie! Also thanks leloush @Annie One more question. Im trying to add a timetick to avoid multiple entries of the players who already joined or part of a party. How to make it work. if ( instance_attachmap( "guild_vs2", .@ins, 1, getcharid(1)+"RAID" ) == "" ) { mes "error : 5"; instance_destroy .@ins; close; } else if( #delay > gettimetick(1) ){ dispbottom "Delaying..."; } instance_set_timeout 0, 1, .@ins; instance_init .@ins; instance_attach .@ins; delitem .register_item, 1; warpparty has_instance("guild_vs2"), 0,0, getcharid(1), strnpcinfo(4); 'lives = .party_lives; set #delay,#delay + ( 3600 * 5 );
  16. I tested it and working fine. However, inside the Event map I can hit my party member and once killed he will be warp back outside the event map..
  17. Ohh okay bro i'll check it later.. Didn't know that.
  18. Did that already not working.. The only stats that effects fee here is AGI //ID,Sprite_Name,kROName,iROName,LV,HP,SP,EXP,JEXP,Range1,ATK1,ATK2,DEF,MDEF,STR,AGI,VIT,INT,DEX,LUK,Range2,Range3,Scale,Race,Element,Mode,Speed,aDelay,aMotion,dMotion 1288,EMPELIUM,Emperium,Emperium,90,700,1,0,0,1,60,73,64,50,1,17,80,50,26,20,10,12,0,8,26,0x160,300,1288,288,384,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  19. How to completely remove the FLEE of EMPERIUM. Please help
  20. It's really unique Most of the CP for RO are just the same but this is one is different. However, I find it very corporate, somehow I can't see and feel the touch of games on it. But overall its cool. Keep it up!
  21. Thanks Bro I'll try this out. Edited: It's working Bro! Thanks!
  22. This script was re-write by AnnieRuru @ http://rathena.org/board/topic/77632-devil-square/ I'm trying to make it work in Hercules. When the Round start there's now mobs on the map and keep announcing "2 players is still at Devil Square." // Made:By Kirlein (Tyirial Script Concept) //// Devil Square based off the mmorpg Muonline //// Have Fun and feel free to leave suggestions //// Leave This intacted //// + Translated by Stillhard aka Dewa //// + Add times for 24 hours of play //// + Add a little bit infos for newbie users //// Completely rewrite by ~AnnieRuru~ //// + Tested with rAthena 17101 //// http://rathena.org/board/topic/77632-devil-square//////////////////////////////////////////////////prontera,156,185,5 script Devil Square 100,{ mes "[Devil Square Guardian]"; mes "Welcome to the entrance door to ^FF0000Devil Square^000000"; mes "If you failed or die, the door will be closed and you have to wait until it start to open again"; next; if ( select ( "Enter", "Info", "Cancel " ) == 3 ) { mes "[Devil Square Guardian]"; mes "See ya"; close; } else if ( @menu == 2 ) { // Info mes "[Devil Square Guardian]"; mes "There are 3 level monster you'll encounter"; mes "Each level the enemies will grow stronger"; mes "If you succeded to win all 3 level monster, you'll get the opportunity to open 10 Treasure Box with items, equips, and rare cards inside!!"; close; } else if ( .start != 1 ) { // time mes "[Devil Square Guardian]"; mes "Devil Square is now closed"; mes "It'll be open again at:"; mes "00:00 , 02:00 , 04:00 , 06:00"; // display your time here mes "08:00 , 10:00 , 12:00 , 14:00"; mes "16:00 , 18:00 , 20:00 , 22:00"; close; } else if ( BaseLevel < 150 || Zeny < 1000 ) { // requirement mes "[Devil Square Guardian]"; mes "Minimum base level to enter is 150"; mes "The registration fee is 1000z"; close; } else if ( .register_num >= .register_limit ) { // room FULL mes "[Devil Square Guardian]"; mes "I'm sorry but the Devil Square is FULL"; mes "Maximum users to enter is "+ .register_limit +" players"; close; } zeny = zeny - 1000; announce strcharinfo(0)+" has entered the Devil Square", bc_npc; percentheal 100,100; warp "ordeal_1-1",183,182; .register_aid[ .register_num ] = getcharid(3); .register_num++; end;OnInit: .register_limit = 10; // maximum amount of players can play in this event .ann_survive = 30000; // the rate at which announce the players that still survive in devil square, in mili-seconds bindatcmd "devilsquare", strnpcinfo(0)+"::Onatcmd", 99,100; end;Onatcmd: if ( compare( .@atcmd_parameters$, "on" ) || compare( .@atcmd_parameters$, "start" ) ) { if ( .start ) dispbottom "Devil Square Event already started."; else goto L_Start; } else if ( compare( .@atcmd_parameters$, "off" ) || compare( .@atcmd_parameters$, "end" ) ) { if ( !.start ) dispbottom "Devil Square Event not yet start."; else goto L_End; } else if ( !.start ) { dispbottom "Devil Square Event is currently not running."; dispbottom "Use "+ .@atcmd_command$ +" on | start to start the event."; dispbottom "Use "+ .@atcmd_command$ +" off | end to end this event"; } else if ( .start == 1 ) dispbottom "Devil Square Event is currently accepting participations."; else dispbottom "Devil Square Event is currently running. Currently on Round "+ .round +" with "+ .mob +" mobs left."; end;L_Start:OnClock0000: // yeah I know about OnMinute ... it just that more people knows better using OnClockOnClock0200:OnClock0400:OnClock0600:OnClock0800:OnClock1000:OnClock1200:OnClock1400:OnClock1600:OnClock1800:OnClock2000:OnClock2200: if ( .start ) end; .start = 1; disablenpc "Exit#DS"; 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 OPENED NOW!! 5 Minutes until it starts..!!", 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 minutes..!!", bc_all; sleep 60000; announce "Devil Square is STARTED NOW !!", bc_all; if ( !.register_num ) goto L_End; .start = 2; donpcevent strnpcinfo(0)+"::OnSurvive"; .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 +" mobs to enter the 2nd round", bc_map; else if ( !.mob ) { announce "Devil Square will enter to 2nd round", 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 +" mobs left to enter the 3rd round", bc_map; else if ( !.mob ) { announce "Devil Square will enter to 3rd round", 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 +" mobs left to VICTORY", bc_map; else if ( !.mob ) { announce "Devil Square : CONGRATULATION - 10 Treasure Boxs will be yours now", bc_map; goto Ondevil4; } end;Ondevil4: .round = 4; .mob = 10; monster "ordeal_1-1",231,250,"Treasure Box",1324,1,strnpcinfo(0)+"::Onboxdead"; monster "ordeal_1-1",234,247,"Treasure Box",1328,1,strnpcinfo(0)+"::Onboxdead"; monster "ordeal_1-1",237,244,"Treasure Box",1332,1,strnpcinfo(0)+"::Onboxdead"; monster "ordeal_1-1",240,241,"Treasure Box",1336,1,strnpcinfo(0)+"::Onboxdead"; monster "ordeal_1-1",243,238,"Treasure Box",1340,1,strnpcinfo(0)+"::Onboxdead"; monster "ordeal_1-1",246,235,"Treasure Box",1344,1,strnpcinfo(0)+"::Onboxdead"; monster "ordeal_1-1",249,232,"Treasure Box",1348,1,strnpcinfo(0)+"::Onboxdead"; monster "ordeal_1-1",252,229,"Treasure Box",1352,1,strnpcinfo(0)+"::Onboxdead"; monster "ordeal_1-1",249,241,"Treasure Box",1356,1,strnpcinfo(0)+"::Onboxdead"; monster "ordeal_1-1",240,249,"Treasure Box",1360,1,strnpcinfo(0)+"::Onboxdead"; end;Onboxdead: .mob--; announce "Devil Square : "+ strcharinfo(0) +" has opened the treasure box at Devil Square", bc_all; if ( !.mob ) goto L_End; end;L_End: killmonsterall "ordeal_1-1"; enablenpc "Exit#DS"; deletearray .register_aid; .start = .round = .mob = .register_num = 0; end;OnPCDieEvent:OnPCLogoutEvent: if ( .start && strcharinfo(3) == "ordeal_1-1" ) { while ( .register_aid[.@i] != getcharid(3) && .@i < .register_num ) .@i++; deletearray .register_aid[.@i], 1; .register_num--; if ( !.register_num ) { announce "All players failed to survive at Devil Square", bc_all; killmonsterall "ordeal_1-1"; goto L_End; } } end;OnSurvive: while ( .start == 2 ) { mapannounce "ordeal_1-1", .register_num +" players is still survive at Devil Square", bc_map; sleep .ann_survive; } end;}ordeal_1-1,246,245,7 script Exit#DS 51,{ mes "[Exit]"; mes "See ya"; next; warp "SavePoint", 0,0 ; close;}ordeal_1-1 mapflag nowarpordeal_1-1 mapflag nowarptoordeal_1-1 mapflag noteleportordeal_1-1 mapflag nosave SavePointordeal_1-1 mapflag nomemoordeal_1-1 mapflag nobranchordeal_1-1 mapflag nopenaltyordeal_1-1 mapflag noicewall @Annie can you make this script compatible in Hercules. Thanks
  23. Yes pan. That line was the problem. I was able to fixed mine using SC_ALL? BTW, dunno what is the purpose of this line.. Yes pan. That line was the problem. I was able to fixed mine using SC_ALL? BTW, dunno what is the purpose of this line..SC_ALL is used for checking purposes, it must always be the last status change. It serves this purpose because of the way that enums work in C.Here is my diff file with all modifications needed in the source: diff --git a/src/map/skill.c b/src/map/skill.cindex 0df90a5..c10f89c 100644--- a/src/map/skill.c+++ b/src/map/skill.c@@ -6628,7 +6628,8 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin clif->skill_nodamage(src,bl,skill_id,skill_lv,1); if((dstsd && (dstsd->class_&MAPID_UPPERMASK) == MAPID_SOUL_LINKER) || (tsc && tsc->data[SC_SOULLINK] && tsc->data[SC_SOULLINK]->val2 == SL_ROGUE) //Rogue's spirit defends againt dispel.- || rnd()%100 >= 50+10*skill_lv )+ || rnd()%100 >= 50+10*skill_lv || (tsc && tsc->data[SC_IGNOREDISPELL])+ ) { if (sd) clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);diff --git a/src/map/status.h b/src/map/status.hindex d3148b4..ed2f182 100644--- a/src/map/status.h+++ b/src/map/status.h@@ -699,7 +699,8 @@ typedef enum sc_type { SC_OKTOBERFEST, SC_STRANGELIGHTS, SC_DECORATION_OF_MUSIC,- ++ SC_IGNOREDISPELL, SC_MAX, //Automatically updated max, used in for's to check we are within bounds. } sc_type; // Official status change ids, used to display status icons on the client.Regards PAN can you check this please.. its not working anymore on latest rev..
×
×
  • Create New...

Important Information

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