lipezpe Posted December 3, 2024 Group: Members Topic Count: 4 Topics Per Day: 0.00 Content Count: 14 Reputation: 0 Joined: 09/01/15 Last Seen: January 6 Share Posted December 3, 2024 Hello Guys! Help pls? 2023 version. @Louis T Steinhil pls Quote Link to comment Share on other sites More sharing options...
AinsLord Posted December 20, 2024 Group: Members Topic Count: 271 Topics Per Day: 0.08 Content Count: 792 Reputation: 20 Joined: 11/21/15 Last Seen: 18 hours ago Share Posted December 20, 2024 How can I make this instance 2x a week or 3x a week? thank you! Quote Link to comment Share on other sites More sharing options...
AinsLord Posted December 20, 2024 Group: Members Topic Count: 271 Topics Per Day: 0.08 Content Count: 792 Reputation: 20 Joined: 11/21/15 Last Seen: 18 hours ago Share Posted December 20, 2024 On 12/4/2024 at 7:31 AM, lipezpe said: Hello Guys! Help pls? 2023 version. @Louis T Steinhil pls Check this line .@level_mode = select( "[ Level 50+ ] Normal", "[ Level 100+ ] Veteran", "[ Level 150+ ] Nightmare", "[ Level 200+ ] Hell", "[ Level 240+ ] ^ff0000Torment^000000" ); $ENDLESSMODE[getcharid(1)] = .@level_mode; set .@required_level, 0; if (.@level_mode == 1) { .@required_level = 50; } else if (.@level_mode == 2) { .@required_level = 100; } else if (.@level_mode == 3) { .@required_level = 150; } else if (.@level_mode == 4) { .@required_level = 200; } else if (.@level_mode == 5) { .@required_level = 255; } // Change this to your server max level if (!instance_check_party(getcharid(1), .@online_members_count, .@required_level, 255)) { // Change this to your server max level Quote Link to comment Share on other sites More sharing options...
AinsLord Posted May 23 Group: Members Topic Count: 271 Topics Per Day: 0.08 Content Count: 792 Reputation: 20 Joined: 11/21/15 Last Seen: 18 hours ago Share Posted May 23 (edited) Hi @Louis T Steinhil can I ask if you can add a command how many E_tower points you have, so you dont need to bother going back to the NPC also I tried to finish the instance how ever no points acquired no errors in console, also I cant enter back to fight naugth seiger is that normal on your script Thank you! Additional : Also no announcement upon finishing the dungeon using the torch to jump in some floors have this error in console where can I find this NPC tried to warp on it but no NPC shows 2@tower,71,1,0 script #Manager Mode2 406,{ callfunc "F_GM_NPC"; mes "Please enter the password."; set .@i, callfunc("F_GM_NPC","dmc2008",1); next; if (.@i == 1) { mes "This NPC manages the tower from the 26st to the 50th Level."; mes "Please enter the Level number to open."; mes "(i.g.: 26F->26, 50F->50)"; input .@input,26,50; next; if (.@onput < 26 || .@input > 50) mes "You can only enter a number from 26 to 50."; else { donpcevent instance_npcname(.@input+"FGate102tower")+"::OnEnable"; mes "*** Level "+ .@input + " is now being opened. ***"; } } close; } Edited May 23 by AinsLord Quote Link to comment Share on other sites More sharing options...
Racaae Posted May 23 Group: Members Topic Count: 0 Topics Per Day: 0 Content Count: 253 Reputation: 114 Joined: 06/02/12 Last Seen: 15 minutes ago Share Posted May 23 (edited) 4 hours ago, AinsLord said: where can I find this NPC tried to warp on it but no NPC shows The NPC is in the empty space between floors. You can use @jump 53 8 to get close to it. 4 hours ago, AinsLord said: can I ask if you can add a command how many E_tower points you have, so you dont need to bother going back to the NPC - script ShowEndlessTowerPoints -1,{ OnAtcommand: .@size = getarraysize($@difficulty_mode$); if (!.@size) { dispbottom "Please talk to the Tower Protection Stone first."; end; } dispbottom "===================="; dispbottom "ENDLESS TOWER POINTS"; for (.@i = 1; .@i < .@size; .@i++) dispbottom $@difficulty_mode$[.@i] + ": " + getd("#" + $@var_names$[.@i]); dispbottom "===================="; end; OnInit: bindatcmd "ETpoints",strnpcinfo(3)+"::OnAtcommand"; end; } Edited May 23 by Racaae additional answer added 1 Quote Link to comment Share on other sites More sharing options...
AinsLord Posted May 24 Group: Members Topic Count: 271 Topics Per Day: 0.08 Content Count: 792 Reputation: 20 Joined: 11/21/15 Last Seen: 18 hours ago Share Posted May 24 (edited) 8 hours ago, Racaae said: The NPC is in the empty space between floors. You can use @jump 53 8 to get close to it. - script ShowEndlessTowerPoints -1,{ OnAtcommand: .@size = getarraysize($@difficulty_mode$); if (!.@size) { dispbottom "Please talk to the Tower Protection Stone first."; end; } dispbottom "===================="; dispbottom "ENDLESS TOWER POINTS"; for (.@i = 1; .@i < .@size; .@i++) dispbottom $@difficulty_mode$[.@i] + ": " + getd("#" + $@var_names$[.@i]); dispbottom "===================="; end; OnInit: bindatcmd "ETpoints",strnpcinfo(3)+"::OnAtcommand"; end; } Thanks sir appreciated how about this error i've been checking this one on how to fix it hehehe still no luck using the dust item to teleport from floors also the access in floor to the 101F EDIT: @Racaae seems no NPC on my end Edited May 24 by AinsLord Quote Link to comment Share on other sites More sharing options...
Racaae Posted Thursday at 10:53 PM Group: Members Topic Count: 0 Topics Per Day: 0 Content Count: 253 Reputation: 114 Joined: 06/02/12 Last Seen: 15 minutes ago Share Posted Thursday at 10:53 PM (edited) On 5/23/2025 at 11:08 PM, AinsLord said: how about this error i've been checking this one on how to fix it hehehe still no luck using the dust item to teleport from floors also the access in floor to the 101F The player is talking to the NPC in the original (non-instanced) map. The script is supposed to be used only inside the instance. On 5/23/2025 at 11:08 PM, AinsLord said: EDIT: @Racaae seems no NPC on my end You're right. The NPC is too far from the edge for you to see it. I'm able to see it because my view range is increased. You could move it to somewhere closer, make it cloaked and uncloak just for GMs/ADMs. On 12/20/2024 at 3:40 PM, AinsLord said: How can I make this instance 2x a week or 3x a week? thank you! I added the option to count weekly entrances. You still need to change the cooldown time of the quest. If you want to try it, replace the whole Stone NPC. e_tower,81,105,0 script Tower Protection Stone 2_MONEMUS,{ $@etower_allow_reenter = true; //Allow reentering same Endless Tower. (true/false) $@etower_weekly_type = 1; // 0=no weekly limit. 1=distinct ET weekly entry limit. 2=gain points weekly limit. $@etower_weekly_limit = 3; //how many times per week at max? // GM Bypass //============================================================ if(getgroupid() > 90){ mes "GM Options"; next; switch(select("Main Menu", "Reset Cooldowns", "Destroy Instance")){ case 1: break; case 2: if(isbegin_quest(60200)) erasequest(60200); if(isbegin_quest(60201)) erasequest(60201); etower_timer = 0; //etower_instanceid = 0; etower_weekly_count = 0; etower_week_cd = 0; etower_year_cd = 0; end; case 3: if(instance_id(IM_PARTY)) instance_destroy instance_id(IM_PARTY); end; } } //============================================================ set .@party_id, getcharid(1); getpartymember .@party_id, 1; set .@online_members_count, $@partymembercount; set .@md_name$,"Endless Tower"; set .@etower_timer,checkquest(60200,PLAYTIME); // 1 week set .@etower_timer2,checkquest(60201,PLAYTIME); // 4 hours callfunc "F_Tower_Settings"; //if (!instance_check_party(.@party_id,2)) { // mes "Make or join a party with more than 1 member and try again."; // close; //} switch(.@etower_timer) { case -1: if ($@etower_weekly_type == 1 && $@etower_weekly_limit) { .@week = atoi(gettimestr("%V",5)); .@year = gettime(DT_YEAR); if (etower_week_cd != .@week || etower_year_cd != .@year) { etower_weekly_count = 0; } .@remaining = $@etower_weekly_limit - etower_weekly_count; mes "^0000ffYou can only enter " + ($@etower_allow_reenter?"distinct":"the") + " " + .@md_name$ + " " + ($@etower_weekly_limit>1?$@etower_weekly_limit + " times":"once") + " a week.^000000"; if (etower_weekly_count >= $@etower_weekly_limit) { next; switch(select("Difficulty Information","Return to Alberta","Cancel")) { case 1: callsub L_Info; case 2: mes "It is dangerous here. Let me move you to Alberta."; close2; warp "alberta",223,36; end; case 3: end; } } if (etower_weekly_count) mes "You can still enter " + (.@remaining!=1?.@remaining + " times":"once") + "."; } if (is_party_leader() == true) { mes "Confirmed the party has been made. Would you like to reserve entrance to the " + .@md_name$ + "?"; next; switch(select( ( .@party_id && getpartyleader(.@party_id,2) && !instance_id(IM_PARTY) )? "Generate dungeon "+.@md_name$:"", ( .@party_id && instance_id(IM_PARTY) )?"Enter the dungeon":"", "Return to Alberta", "Difficulty Information", "Cancel")){ case 1: // Difficulty //============================================================ .@level_mode = select( "[ Level 50+ ] Normal", "[ Level 100+ ] Veteran", "[ Level 150+ ] Nightmare", "[ Level 200+ ] Hell", "[ Level 240+ ] ^ff0000Torment^000000" ); $ENDLESSMODE[getcharid(1)] = .@level_mode; set .@required_level, 0; if (.@level_mode == 1) { .@required_level = 50; } else if (.@level_mode == 2) { .@required_level = 100; } else if (.@level_mode == 3) { .@required_level = 150; } else if (.@level_mode == 4) { .@required_level = 200; } else if (.@level_mode == 5) { .@required_level = 260; } if (!instance_check_party(getcharid(1), .@online_members_count, .@required_level)) { mes "All party members need to be at least Level " + .@required_level + " to enter."; close; } mes "Your party meets the Memorial Dungeon requirements."; announce "The party [ " + getpartyname(.@party_id) + " ] has registered "+.@md_name$+" on " + $@difficulty_mode$[.@level_mode] + ".", bc_all; instance_create("Endless Tower"); close; //============================================================= case 2: callsub L_Enter,0,1; case 3: mes "I will move you to Alberta."; close2; warp "alberta",223,36; end; case 4: callsub L_Info; case 5: close; } } switch(select("Enter the "+.@md_name$,"Difficulty Information","Return to Alberta","Cancel")) { case 1: callsub L_Enter,0,1,1; case 2: callsub L_Info; case 3: mes "I will move you to Alberta."; close2; warp "alberta",223,36; end; case 4: end; } case 0: case 1: if ($@etower_allow_reenter && .@etower_timer2 < 2 && etower_instanceid == instance_id(IM_PARTY) && instance_live_info(ILI_NAME,instance_id(IM_PARTY)) == .@md_name$) { mes "If you have the dungeon generated already, you can enter it. "; next; switch(select("Enter the "+.@md_name$,"Difficulty Information","Return to Alberta","Cancel")) { case 1: callsub L_Enter,0,0; case 2: callsub L_Info; case 3: mes "I will move you to Alberta."; close2; warp "alberta",223,36; end; case 4: close; } } .@dun_lim_time = etower_timer+604800; // 1 week // .@dun_lim_time2 = etower_timer+14400; // 4 hours set .@dun_cur_time,gettimetick(2); set .@dun_ent_t,(.@dun_lim_time - .@dun_cur_time); set .@dun_h,(.@dun_ent_t / 3600); set .@dun_m,(.@dun_ent_t - (.@dun_h * 3600)) / 60; set .@dun_s,.@dun_ent_t - ((.@dun_h * 3600) + (.@dun_m * 60)); if (.@dun_h > 23) mes "Due to the tower's aftereffects, you cannot enter the dungeon right now, " + Time2Str(.@dun_lim_time) + " left to enter the next dungeon."; else mes "Due to the tower's aftereffects, you cannot enter the dungeon right now, " + .@dun_h + "hours " + .@dun_m + "minutes " + .@dun_s + "seconds left to enter the next dungeon."; next; switch(select("Difficulty Information","Return to Alberta","Cancel")) { case 1: callsub L_Info; case 2: mes "It is dangerous here. Let me move you to Alberta."; close2; warp "alberta",223,36; end; case 3: end; } case 2: etower_timer = 0; erasequest 60200; erasequest 60201; if ($@etower_weekly_type == 1 && $@etower_weekly_limit) { mes "^0000ffThe after effects related to the Endless Tower have been removed.^000000"; .@week = atoi(gettimestr("%V",5)); .@year = gettime(DT_YEAR); if (etower_week_cd != .@week || etower_year_cd != .@year) { etower_weekly_count = 0; etower_week_cd = 0; etower_year_cd = 0; mes "^0000ffYou can generate and enter the Endless Tower again.^000000"; close; } mes "^0000ffBut there are stronger after effects. You can only enter " + ($@etower_allow_reenter?"distinct":"the") + " " + .@md_name$ + " " + (etower_weekly_count!=1?etower_weekly_count + " times":"once") + " a week.^000000"; .@remaining = $@etower_weekly_limit - etower_weekly_count; if (etower_weekly_count >= $@etower_weekly_limit) mes "^0000ffWait till next week.^000000"; else mes "^0000ffYou can still enter " + (.@remaining!=1?.@remaining + " times":"once") + " this week.^000000"; } else mes "^0000ffThe records and after effects related to the Endless Tower have been removed. You can generate and enter the Endless Tower again.^000000"; close; } L_Info: mes "[ Difficulty Information ]"; mes "^ff0000-------------------------------------------^000000"; mes "Difficulty Level: ^ff0000[ " + $@difficulty_mode$[1] + " ]^000000"; mes "Monster max hp: + ^ff0000[ " + $@easy_mode_variables[0] + "% ]^000000"; mes "Monster damage: + ^ff0000[ " + $@easy_mode_variables[1] + "% ]^000000"; mes "Monster takes less damage: ^ff0000[ " + $@easy_mode_variables[2] + "% ]^000000"; mes "Monster def: + ^ff0000[ " + $@easy_mode_variables[3] + "% ]^000000"; mes "Monster mdef: + ^ff0000[ " + $@easy_mode_variables[4] + "% ]^000000"; mes "Monster hit: + ^ff0000[ " + $@easy_mode_variables[5] + "% ]^000000"; mes "Monster flee: + ^ff0000[ " + $@easy_mode_variables[6] + "% ]^000000"; mes "Monster bonus exp reward: x ^ff0000[ " + $@bonus_exp[1] + " ]^000000"; mes ""+.@md_name$ +" Easy Points: + ^ff0000[ " + $@instance_points[1] + " ]^000000"; mes "^ff0000-------------------------------------------^000000"; next; mes "[ Difficulty Information ]"; mes "^ff0000-------------------------------------------^000000"; mes "Difficulty Level: ^ff0000[ " + $@difficulty_mode$[2] + " ]^000000"; mes "Monster max hp: + ^ff0000[ " + $@veteran_mode_variables[0] + "% ]^000000"; mes "Monster damage: + ^ff0000[ " + $@veteran_mode_variables[1] + "% ]^000000"; mes "Monster takes less damage: ^ff0000[ " + $@veteran_mode_variables[2] + "% ]^000000"; mes "Monster def: + ^ff0000[ " + $@veteran_mode_variables[3] + "% ]^000000"; mes "Monster mdef: + ^ff0000[ " + $@veteran_mode_variables[4] + "% ]^000000"; mes "Monster hit: + ^ff0000[ " + $@veteran_mode_variables[5] + "% ]^000000"; mes "Monster flee: + ^ff0000[ " + $@veteran_mode_variables[6] + "% ]^000000"; mes "Monster bonus exp reward: x ^ff0000[ " + $@bonus_exp[2] + " ]^000000"; mes ""+.@md_name$ +" Veteran Points: + ^ff0000[ " + $@instance_points[2] + " ]^000000"; mes "^ff0000-------------------------------------------^000000"; next; mes "[ Difficulty Information ]"; mes "^ff0000-------------------------------------------^000000"; mes "Difficulty Level: ^ff0000[ " + $@difficulty_mode$[3] + " ]^000000"; mes "Monster max hp: + ^ff0000[ " + $@nightmare_mode_variables[0] + "% ]^000000"; mes "Monster damage: + ^ff0000[ " + $@nightmare_mode_variables[1] + "% ]^000000"; mes "Monster takes less damage: ^ff0000[ " + $@nightmare_mode_variables[2] + "% ]^000000"; mes "Monster def: + ^ff0000[ " + $@nightmare_mode_variables[3] + "% ]^000000"; mes "Monster mdef: + ^ff0000[ " + $@nightmare_mode_variables[4] + "% ]^000000"; mes "Monster hit: + ^ff0000[ " + $@nightmare_mode_variables[5] + "% ]^000000"; mes "Monster flee: + ^ff0000[ " + $@nightmare_mode_variables[6] + "% ]^000000"; mes "Monster bonus exp reward: x ^ff0000[ " + $@bonus_exp[3] + " ]^000000"; mes ""+.@md_name$ +" Nightmare Points: + ^ff0000[ " + $@instance_points[3] + " ]^000000"; mes "^ff0000-------------------------------------------^000000"; next; mes "[ Difficulty Information ]"; mes "^ff0000-------------------------------------------^000000"; mes "Difficulty Level: ^ff0000[ " + $@difficulty_mode$[4] + " ]^000000"; mes "Monster max hp: + ^ff0000[ " + $@hell_mode_variables[0] + "% ]^000000"; mes "Monster damage: + ^ff0000[ " + $@hell_mode_variables[1] + "% ]^000000"; mes "Monster takes less damage: ^ff0000[ " + $@hell_mode_variables[2] + "% ]^000000"; mes "Monster def: + ^ff0000[ " + $@hell_mode_variables[3] + "% ]^000000"; mes "Monster mdef: + ^ff0000[ " + $@hell_mode_variables[4] + "% ]^000000"; mes "Monster hit: + ^ff0000[ " + $@hell_mode_variables[5] + "% ]^000000"; mes "Monster flee: + ^ff0000[ " + $@hell_mode_variables[6] + "% ]^000000"; mes "Monster bonus exp reward: x ^ff0000[ " + $@bonus_exp[4] + " ]^000000"; mes ""+.@md_name$ +" Hell Points: + ^ff0000[ " + $@instance_points[4] + " ]^000000"; mes "^ff0000-------------------------------------------^000000"; next; mes "[ Difficulty Information ]"; mes "^ff0000-------------------------------------------^000000"; mes "Difficulty Level: ^ff0000[ " + $@difficulty_mode$[5] + " ]^000000"; mes "Monster max hp: + ^ff0000[ " + $@torment_mode_variables[0] + "% ]^000000"; mes "Monster damage: + ^ff0000[ " + $@torment_mode_variables[1] + "% ]^000000"; mes "Monster takes less damage: ^ff0000[ " + $@torment_mode_variables[2] + "% ]^000000"; mes "Monster def: + ^ff0000[ " + $@torment_mode_variables[3] + "% ]^000000"; mes "Monster mdef: + ^ff0000[ " + $@torment_mode_variables[4] + "% ]^000000"; mes "Monster hit: + ^ff0000[ " + $@torment_mode_variables[5] + "% ]^000000"; mes "Monster flee: + ^ff0000[ " + $@torment_mode_variables[6] + "% ]^000000"; mes "Monster bonus exp reward: x ^ff0000[ " + $@bonus_exp[5] + " ]^000000"; mes ""+.@md_name$ +" Torment Points: + ^ff0000[ " + $@instance_points[5] + " ]^000000"; mes "^ff0000-------------------------------------------^000000"; close; L_Enter: addrid(2,0,getcharid(1)); .@party_id = getcharid(1); .@md_name$ = "Endless Tower"; .@etower_timer = checkquest(60200,PLAYTIME); // 1 week .@etower_timer2 = checkquest(60201,PLAYTIME); // 4 hours if (.@etower_timer == 2) { erasequest 60200; erasequest 60201; } if (strcharinfo(3) != strnpcinfo(4)) end; if ($@etower_allow_reenter && .@etower_timer2 < 2 && etower_instanceid == instance_id(IM_PARTY) && instance_live_info(ILI_NAME,instance_id(IM_PARTY)) == .@md_name$) .@reentering = true; else { if ($@etower_weekly_type == 1 && $@etower_weekly_limit) { .@week = atoi(gettimestr("%V",5)); .@year = gettime(DT_YEAR); if (etower_week_cd != .@week || etower_year_cd != .@year) { etower_weekly_count = 0; } else if (etower_weekly_count >= $@etower_weekly_limit) { mes "^0000ffThere are stronger after effects. You can only enter " + ($@etower_allow_reenter?"distinct":"the") + " " + .@md_name$ + " " + (etower_weekly_count!=1?etower_weekly_count + " times":"once") + " a week.^000000"; mes "^0000ffWait till next week.^000000"; close; } } if (.@etower_timer == 0 || .@etower_timer == 1) { mes "Due to the tower's aftereffects, you cannot enter right now."; open_quest_ui 60200; close; } } switch(instance_enter("Endless Tower",-1,-1,getcharid(0),instance_id(IM_PARTY))) { case IE_OTHER: mes "An unknown error has occurred."; close; case IE_NOINSTANCE: mes "The memorial dungeon Endless Tower does not exist."; mes "The party leader did not generate the dungeon yet."; close; case IE_NOMEMBER: mes "You can enter the dungeon after making the party."; close; case IE_OK: //if (getarg(1)) { if (!isbegin_quest(60200) && !.@reentering) { etower_timer = gettimetick(2); etower_instanceid = instance_id(IM_PARTY); setquest 60200; setquest 60201; etower_weekly_count++; etower_week_cd = .@week; etower_year_cd = .@year; } //warpparty instance_mapname("1@tower"),52,354,getcharid(1); //warp "1@tower",52,354; //if (getarg(0,0) == 0) close; end; } } Edited Thursday at 11:01 PM by Racaae added script Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.