Louis T Steinhil Posted May 3 Share Posted May 3 View File Endless Tower Instance with Difficulty Good day! I've been an observer since the beginning of time and I want to share this script hoping that it will help fellow human beings who need it. This was a paid script of mine and I hired @sader1992 to help me finish it in 2020. I'm hoping someone will improve the code in the near future with other stuff to give another flavor for Endless Tower. This works with the latest version of rAthena. Requirement: Y'all need this patch for +damage to work setunitdata script command monster stat recaulculation fixes #3968 About the script: It is simply Endless Tower with Easy, Veteran, Nightmare, Hell & Torment Difficulties. You can edit the values I pre-assigned: Spoiler [email protected]_hp_rate += 0; // The zero / "0" is calculated in % [email protected]_dmg_rate += 0; [email protected]_damagetaken += 0; [email protected]_hit += 0; [email protected]_str += 0; [email protected]_agi += 0; [email protected]_vit += 0; [email protected]_int += 0; [email protected]_dex += 0; [email protected]_luk += 0; This part is for the difficulty settings and adding stats to the monsters: Spoiler // Difficulty Function //============================================================ function script F_Tower_Monster_Summon { [email protected]$ = getarg(0, ""); [email protected] = getarg(1, 0); [email protected] = getarg(2, 0); [email protected] = getarg(3, 0); [email protected] = getarg(4, 0); [email protected]_name$ = getarg(5, 0); [email protected]_id = getarg(6, 0); [email protected] = getarg(7, 0); [email protected]$ = getarg(8, ""); switch('level_mode){ case 1://Easy [email protected]_hp_rate += 0; [email protected]_dmg_rate += 0; [email protected]_damagetaken += 0; [email protected]_hit += 0; [email protected]_str += 0; [email protected]_agi += 0; [email protected]_vit += 0; [email protected]_int += 0; [email protected]_dex += 0; [email protected]_luk += 0; break; case 2://Veteran [email protected]_hp_rate += 100; [email protected]_dmg_rate += 100; [email protected]_damagetaken += -10; [email protected]_hit += 100; [email protected]_str += 100; [email protected]_agi += 100; [email protected]_vit += 100; [email protected]_int += 100; [email protected]_dex += 100; [email protected]_luk += 100; break; case 3://Nightmare [email protected]_hp_rate += 250; [email protected]_dmg_rate += 250; [email protected]_damagetaken += -20; [email protected]_hit += 250; [email protected]_str += 250; [email protected]_agi += 250; [email protected]_vit += 250; [email protected]_int += 250; [email protected]_dex += 250; [email protected]_luk += 250; break; case 4://Hell [email protected]_hp_rate += 500; [email protected]_dmg_rate += 500; [email protected]_damagetaken += -30; [email protected]_hit += 500; [email protected]_str += 500; [email protected]_agi += 500; [email protected]_vit += 500; [email protected]_int += 500; [email protected]_dex += 500; [email protected]_luk += 500; break; case 5://Torment [email protected]_hp_rate += 1000; [email protected]_dmg_rate += 1000; [email protected]_damagetaken += -40; [email protected]_hit += 1000; [email protected]_str += 1000; [email protected]_agi += 1000; [email protected]_vit += 1000; [email protected]_int += 1000; [email protected]_dex += 1000; [email protected]_luk += 1000; break; } deletearray [email protected],getarraysize([email protected]); areamonster [email protected]$, [email protected], [email protected], [email protected], [email protected], [email protected]_name$, [email protected]_id, [email protected], [email protected]$; copyarray [email protected], [email protected], getarraysize([email protected]); if([email protected]_hp_rate&& [email protected]_dmg_rate&& [email protected]_damagetaken&& [email protected]_hit&& [email protected]_str&& [email protected]_agi&& [email protected]_vit&& [email protected]_int&& [email protected]_dex&& [email protected]_luk) return; getunitdata [email protected], [email protected]; if([email protected]_hp_rate){ [email protected] = [email protected][UMOB_MAXHP] + (([email protected][UMOB_MAXHP] * [email protected]_hp_rate ) /100); for([email protected]=0;[email protected]<getarraysize([email protected]);[email protected]++){ setunitdata([email protected][[email protected]], UMOB_MAXHP, [email protected]); setunitdata([email protected][[email protected]], UMOB_HP, [email protected]); } } if([email protected]_dmg_rate){ [email protected] = [email protected][UMOB_ATKMIN] + (([email protected][UMOB_ATKMIN] * [email protected]_dmg_rate) /100); [email protected] = [email protected][UMOB_ATKMAX] + (([email protected][UMOB_ATKMAX] * [email protected]_dmg_rate) /100); [email protected] = [email protected][UMOB_MATKMIN] + (([email protected][UMOB_MATKMIN] * [email protected]_dmg_rate) /100); [email protected] = [email protected][UMOB_MATKMAX] + (([email protected][UMOB_MATKMAX] * [email protected]_dmg_rate) /100); for([email protected]=0;[email protected]<getarraysize([email protected]);[email protected]++){ setunitdata([email protected][[email protected]], UMOB_ATKMIN, [email protected]); setunitdata([email protected][[email protected]], UMOB_ATKMAX, [email protected]); setunitdata([email protected][[email protected]], UMOB_MATKMIN, [email protected]); setunitdata([email protected][[email protected]], UMOB_MATKMAX, [email protected]); } } if([email protected]_damagetaken){ [email protected] = [email protected][UMOB_DAMAGETAKEN] + (([email protected][UMOB_DAMAGETAKEN] * [email protected]_damagetaken) /100); for([email protected]=0;[email protected]<getarraysize([email protected]);[email protected]++){ setunitdata([email protected][[email protected]], UMOB_DAMAGETAKEN, [email protected]); } } if([email protected]_hit){ [email protected] = [email protected][UMOB_HIT] + (([email protected][UMOB_HIT] * [email protected]_hit) /100); for([email protected]=0;[email protected]<getarraysize([email protected]);[email protected]++){ setunitdata([email protected][[email protected]], UMOB_HIT, [email protected]); } } if([email protected]_str){ [email protected] = [email protected][UMOB_STR] + (([email protected][UMOB_STR] * [email protected]_str) /100); for([email protected]=0;[email protected]<getarraysize([email protected]);[email protected]++){ setunitdata([email protected][[email protected]], UMOB_STR, [email protected]); } } if([email protected]_agi){ [email protected] = [email protected][UMOB_AGI] + (([email protected][UMOB_AGI] * [email protected]_agi) /100); for([email protected]=0;[email protected]<getarraysize([email protected]);[email protected]++){ setunitdata([email protected][[email protected]], UMOB_AGI, [email protected]); } } if([email protected]_vit){ [email protected] = [email protected][UMOB_VIT] + (([email protected][UMOB_VIT] * [email protected]_vit) /100); for([email protected]=0;[email protected]<getarraysize([email protected]);[email protected]++){ setunitdata([email protected][[email protected]], UMOB_VIT, [email protected]); } } if([email protected]_int){ [email protected] = [email protected][UMOB_INT] + (([email protected][UMOB_INT] * [email protected]_int) /100); for([email protected]=0;[email protected]<getarraysize([email protected]);[email protected]++){ setunitdata([email protected][[email protected]], UMOB_INT, [email protected]); } } if([email protected]_dex){ [email protected] = [email protected][UMOB_DEX] + (([email protected][UMOB_DEX]) * [email protected]_dex) /100); for([email protected]=0;[email protected]<getarraysize([email protected]);[email protected]++){ setunitdata([email protected][[email protected]], UMOB_DEX, [email protected]); } } if([email protected]_luk){ [email protected] = [email protected][UMOB_LUK] + (([email protected][UMOB_LUK] * [email protected]_luk) /100); for([email protected]=0;[email protected]<getarraysize([email protected]);[email protected]++){ setunitdata([email protected][[email protected]], UMOB_LUK, [email protected]); } } return; } This part is for the rewards: It gives #INSTANCEPOINTS and EXP depending on the difficulty you're on. Spoiler // Reward Function //============================================================ function script F_Tower_Reward { setarray [email protected][1],1,3,6,12,24; setarray [email protected]$[1],"Easy Mode","Veteran Mode","Nightmare Mode","Hell Mode","Torment Mode"; setarray [email protected][1],653047446,672905476,843378037,6160565694,45000661693; 'rewardz = [email protected]['level_mode]; 'modez$ = [email protected]$['level_mode]; 'bonuzExp = [email protected]['level_mode]; 'party_id = instance_live_info(ILI_OWNER); getpartymember 'party_id, 1; getpartymember 'party_id, 2; 'map$ = instance_mapname("[email protected]"); copyarray [email protected],[email protected],[email protected]; copyarray [email protected],[email protected],[email protected]; for([email protected]=0;[email protected]<getarraysize([email protected]);[email protected]++){ if(isloggedin([email protected][[email protected]],[email protected][[email protected]])){ if(strcharinfo(3,[email protected][[email protected]]) == 'map$){ set(#INSTANCEPOINTS,(getvar(#INSTANCEPOINTS,[email protected][[email protected]]) + 'rewardz),[email protected][[email protected]]); announce "The party [ "+ getpartyname('party_id) +" ] has defeated Endless Tower on " + 'modez$ + ".",bc_all; message strcharinfo(0,[email protected][[email protected]]),"You've been granted " + 'rewardz + " Instance Points."; message strcharinfo(0,[email protected][[email protected]]),"You now have " + getvar(#INSTANCEPOINTS,[email protected][[email protected]]) + " Instance Points"; getexp 'bonuzExp,'bonuzExp,[email protected][[email protected]]; } } } return; } I assigned a monster (1613 : metalling) to show us that the stats boost really works: Spoiler //if(unitexists([email protected])){ // if([email protected]_id == 1613){ // debugmes "BEFORE UMOB_MAXHP " + [email protected][UMOB_MAXHP]; // debugmes "BEFORE UMOB_ATKMIN " + [email protected][UMOB_ATKMIN]; // debugmes "BEFORE UMOB_ATKMAX " + [email protected][UMOB_ATKMAX]; // debugmes "BEFORE UMOB_MATKMIN " + [email protected][UMOB_MATKMIN]; // debugmes "BEFORE UMOB_MATKMAX " + [email protected][UMOB_MATKMAX]; // debugmes "BEFORE UMOB_HIT " + [email protected][UMOB_HIT]; // debugmes "BEFORE UMOB_STR " + [email protected][UMOB_STR]; // debugmes "BEFORE UMOB_AGI " + [email protected][UMOB_AGI]; // debugmes "BEFORE UMOB_VIT " + [email protected][UMOB_VIT]; // debugmes "BEFORE UMOB_INT " + [email protected][UMOB_INT]; // debugmes "BEFORE UMOB_DEX " + [email protected][UMOB_DEX]; // debugmes "BEFORE UMOB_LUK " + [email protected][UMOB_LUK]; // } // } //if(unitexists([email protected])){ // if([email protected]_id == 1613){ // getunitdata [email protected], [email protected]; // debugmes "AFTER UMOB_MAXHP " + [email protected][UMOB_MAXHP]; // debugmes "AFTER UMOB_ATKMIN " + [email protected][UMOB_ATKMIN]; // debugmes "AFTER UMOB_ATKMAX " + [email protected][UMOB_ATKMAX]; // debugmes "AFTER UMOB_MATKMIN " + [email protected][UMOB_MATKMIN]; // debugmes "AFTER UMOB_MATKMAX " + [email protected][UMOB_MATKMAX]; // debugmes "AFTER UMOB_HIT " + [email protected][UMOB_HIT]; // debugmes "AFTER UMOB_STR " + [email protected][UMOB_STR]; // debugmes "AFTER UMOB_AGI " + [email protected][UMOB_AGI]; // debugmes "AFTER UMOB_VIT " + [email protected][UMOB_VIT]; // debugmes "AFTER UMOB_INT " + [email protected][UMOB_INT]; // debugmes "AFTER UMOB_DEX " + [email protected][UMOB_DEX]; // debugmes "AFTER UMOB_LUK " + [email protected][UMOB_LUK]; // } //} PS: I'm also integrating this to other instances. Maybe I'll post it if people requests it. Submitter Louis T Steinhil Submitted 05/02/23 Category Games, Events, Quests Video Content Author Ylen X. Walker 2 Quote Link to comment Share on other sites More sharing options...
Tiki59 Posted May 3 Share Posted May 3 Nice ! Thx bro ! I tested the script and i have some errors in my console Quote Link to comment Share on other sites More sharing options...
Louis T Steinhil Posted May 27 Author Share Posted May 27 On 5/4/2023 at 12:50 AM, Tiki59 said: Nice ! Thx bro ! I tested the script and i have some errors in my console Increase your Event Queue https://rathena.org/board/topic/126700-warning-npc_event-players-event-queue-is-full-cant-add-event-onpcloadmapevent/ Quote Link to comment Share on other sites More sharing options...
AinsLord Posted Friday at 12:04 PM Share Posted Friday at 12:04 PM (edited) On 5/3/2023 at 5:07 PM, Louis T Steinhil said: View File Endless Tower Instance with Difficulty Good day! I've been an observer since the beginning of time and I want to share this script hoping that it will help fellow human beings who need it. This was a paid script of mine and I hired @sader1992 to help me finish it in 2020. I'm hoping someone will improve the code in the near future with other stuff to give another flavor for Endless Tower. This works with the latest version of rAthena. Requirement: Y'all need this patch for +damage to work setunitdata script command monster stat recaulculation fixes #3968 About the script: It is simply Endless Tower with Easy, Veteran, Nightmare, Hell & Torment Difficulties. You can edit the values I pre-assigned: Reveal hidden contents [email protected]_hp_rate += 0; // The zero / "0" is calculated in % [email protected]_dmg_rate += 0; [email protected]_damagetaken += 0; [email protected]_hit += 0; [email protected]_str += 0; [email protected]_agi += 0; [email protected]_vit += 0; [email protected]_int += 0; [email protected]_dex += 0; [email protected]_luk += 0; This part is for the difficulty settings and adding stats to the monsters: Reveal hidden contents // Difficulty Function //============================================================ function script F_Tower_Monster_Summon { [email protected]$ = getarg(0, ""); [email protected] = getarg(1, 0); [email protected] = getarg(2, 0); [email protected] = getarg(3, 0); [email protected] = getarg(4, 0); [email protected]_name$ = getarg(5, 0); [email protected]_id = getarg(6, 0); [email protected] = getarg(7, 0); [email protected]$ = getarg(8, ""); switch('level_mode){ case 1://Easy [email protected]_hp_rate += 0; [email protected]_dmg_rate += 0; [email protected]_damagetaken += 0; [email protected]_hit += 0; [email protected]_str += 0; [email protected]_agi += 0; [email protected]_vit += 0; [email protected]_int += 0; [email protected]_dex += 0; [email protected]_luk += 0; break; case 2://Veteran [email protected]_hp_rate += 100; [email protected]_dmg_rate += 100; [email protected]_damagetaken += -10; [email protected]_hit += 100; [email protected]_str += 100; [email protected]_agi += 100; [email protected]_vit += 100; [email protected]_int += 100; [email protected]_dex += 100; [email protected]_luk += 100; break; case 3://Nightmare [email protected]_hp_rate += 250; [email protected]_dmg_rate += 250; [email protected]_damagetaken += -20; [email protected]_hit += 250; [email protected]_str += 250; [email protected]_agi += 250; [email protected]_vit += 250; [email protected]_int += 250; [email protected]_dex += 250; [email protected]_luk += 250; break; case 4://Hell [email protected]_hp_rate += 500; [email protected]_dmg_rate += 500; [email protected]_damagetaken += -30; [email protected]_hit += 500; [email protected]_str += 500; [email protected]_agi += 500; [email protected]_vit += 500; [email protected]_int += 500; [email protected]_dex += 500; [email protected]_luk += 500; break; case 5://Torment [email protected]_hp_rate += 1000; [email protected]_dmg_rate += 1000; [email protected]_damagetaken += -40; [email protected]_hit += 1000; [email protected]_str += 1000; [email protected]_agi += 1000; [email protected]_vit += 1000; [email protected]_int += 1000; [email protected]_dex += 1000; [email protected]_luk += 1000; break; } deletearray [email protected],getarraysize([email protected]); areamonster [email protected]$, [email protected], [email protected], [email protected], [email protected], [email protected]_name$, [email protected]_id, [email protected], [email protected]$; copyarray [email protected], [email protected], getarraysize([email protected]); if([email protected]_hp_rate&& [email protected]_dmg_rate&& [email protected]_damagetaken&& [email protected]_hit&& [email protected]_str&& [email protected]_agi&& [email protected]_vit&& [email protected]_int&& [email protected]_dex&& [email protected]_luk) return; getunitdata [email protected], [email protected]; if([email protected]_hp_rate){ [email protected] = [email protected][UMOB_MAXHP] + (([email protected][UMOB_MAXHP] * [email protected]_hp_rate ) /100); for([email protected]=0;[email protected]<getarraysize([email protected]);[email protected]++){ setunitdata([email protected][[email protected]], UMOB_MAXHP, [email protected]); setunitdata([email protected][[email protected]], UMOB_HP, [email protected]); } } if([email protected]_dmg_rate){ [email protected] = [email protected][UMOB_ATKMIN] + (([email protected][UMOB_ATKMIN] * [email protected]_dmg_rate) /100); [email protected] = [email protected][UMOB_ATKMAX] + (([email protected][UMOB_ATKMAX] * [email protected]_dmg_rate) /100); [email protected] = [email protected][UMOB_MATKMIN] + (([email protected][UMOB_MATKMIN] * [email protected]_dmg_rate) /100); [email protected] = [email protected][UMOB_MATKMAX] + (([email protected][UMOB_MATKMAX] * [email protected]_dmg_rate) /100); for([email protected]=0;[email protected]<getarraysize([email protected]);[email protected]++){ setunitdata([email protected][[email protected]], UMOB_ATKMIN, [email protected]); setunitdata([email protected][[email protected]], UMOB_ATKMAX, [email protected]); setunitdata([email protected][[email protected]], UMOB_MATKMIN, [email protected]); setunitdata([email protected][[email protected]], UMOB_MATKMAX, [email protected]); } } if([email protected]_damagetaken){ [email protected] = [email protected][UMOB_DAMAGETAKEN] + (([email protected][UMOB_DAMAGETAKEN] * [email protected]_damagetaken) /100); for([email protected]=0;[email protected]<getarraysize([email protected]);[email protected]++){ setunitdata([email protected][[email protected]], UMOB_DAMAGETAKEN, [email protected]); } } if([email protected]_hit){ [email protected] = [email protected][UMOB_HIT] + (([email protected][UMOB_HIT] * [email protected]_hit) /100); for([email protected]=0;[email protected]<getarraysize([email protected]);[email protected]++){ setunitdata([email protected][[email protected]], UMOB_HIT, [email protected]); } } if([email protected]_str){ [email protected] = [email protected][UMOB_STR] + (([email protected][UMOB_STR] * [email protected]_str) /100); for([email protected]=0;[email protected]<getarraysize([email protected]);[email protected]++){ setunitdata([email protected][[email protected]], UMOB_STR, [email protected]); } } if([email protected]_agi){ [email protected] = [email protected][UMOB_AGI] + (([email protected][UMOB_AGI] * [email protected]_agi) /100); for([email protected]=0;[email protected]<getarraysize([email protected]);[email protected]++){ setunitdata([email protected][[email protected]], UMOB_AGI, [email protected]); } } if([email protected]_vit){ [email protected] = [email protected][UMOB_VIT] + (([email protected][UMOB_VIT] * [email protected]_vit) /100); for([email protected]=0;[email protected]<getarraysize([email protected]);[email protected]++){ setunitdata([email protected][[email protected]], UMOB_VIT, [email protected]); } } if([email protected]_int){ [email protected] = [email protected][UMOB_INT] + (([email protected][UMOB_INT] * [email protected]_int) /100); for([email protected]=0;[email protected]<getarraysize([email protected]);[email protected]++){ setunitdata([email protected][[email protected]], UMOB_INT, [email protected]); } } if([email protected]_dex){ [email protected] = [email protected][UMOB_DEX] + (([email protected][UMOB_DEX]) * [email protected]_dex) /100); for([email protected]=0;[email protected]<getarraysize([email protected]);[email protected]++){ setunitdata([email protected][[email protected]], UMOB_DEX, [email protected]); } } if([email protected]_luk){ [email protected] = [email protected][UMOB_LUK] + (([email protected][UMOB_LUK] * [email protected]_luk) /100); for([email protected]=0;[email protected]<getarraysize([email protected]);[email protected]++){ setunitdata([email protected][[email protected]], UMOB_LUK, [email protected]); } } return; } This part is for the rewards: It gives #INSTANCEPOINTS and EXP depending on the difficulty you're on. Reveal hidden contents // Reward Function //============================================================ function script F_Tower_Reward { setarray [email protected][1],1,3,6,12,24; setarray [email protected]$[1],"Easy Mode","Veteran Mode","Nightmare Mode","Hell Mode","Torment Mode"; setarray [email protected][1],653047446,672905476,843378037,6160565694,45000661693; 'rewardz = [email protected]['level_mode]; 'modez$ = [email protected]$['level_mode]; 'bonuzExp = [email protected]['level_mode]; 'party_id = instance_live_info(ILI_OWNER); getpartymember 'party_id, 1; getpartymember 'party_id, 2; 'map$ = instance_mapname("[email protected]"); copyarray [email protected],[email protected],[email protected]; copyarray [email protected],[email protected],[email protected]; for([email protected]=0;[email protected]<getarraysize([email protected]);[email protected]++){ if(isloggedin([email protected][[email protected]],[email protected][[email protected]])){ if(strcharinfo(3,[email protected][[email protected]]) == 'map$){ set(#INSTANCEPOINTS,(getvar(#INSTANCEPOINTS,[email protected][[email protected]]) + 'rewardz),[email protected][[email protected]]); announce "The party [ "+ getpartyname('party_id) +" ] has defeated Endless Tower on " + 'modez$ + ".",bc_all; message strcharinfo(0,[email protected][[email protected]]),"You've been granted " + 'rewardz + " Instance Points."; message strcharinfo(0,[email protected][[email protected]]),"You now have " + getvar(#INSTANCEPOINTS,[email protected][[email protected]]) + " Instance Points"; getexp 'bonuzExp,'bonuzExp,[email protected][[email protected]]; } } } return; } I assigned a monster (1613 : metalling) to show us that the stats boost really works: Reveal hidden contents //if(unitexists([email protected])){ // if([email protected]_id == 1613){ // debugmes "BEFORE UMOB_MAXHP " + [email protected][UMOB_MAXHP]; // debugmes "BEFORE UMOB_ATKMIN " + [email protected][UMOB_ATKMIN]; // debugmes "BEFORE UMOB_ATKMAX " + [email protected][UMOB_ATKMAX]; // debugmes "BEFORE UMOB_MATKMIN " + [email protected][UMOB_MATKMIN]; // debugmes "BEFORE UMOB_MATKMAX " + [email protected][UMOB_MATKMAX]; // debugmes "BEFORE UMOB_HIT " + [email protected][UMOB_HIT]; // debugmes "BEFORE UMOB_STR " + [email protected][UMOB_STR]; // debugmes "BEFORE UMOB_AGI " + [email protected][UMOB_AGI]; // debugmes "BEFORE UMOB_VIT " + [email protected][UMOB_VIT]; // debugmes "BEFORE UMOB_INT " + [email protected][UMOB_INT]; // debugmes "BEFORE UMOB_DEX " + [email protected][UMOB_DEX]; // debugmes "BEFORE UMOB_LUK " + [email protected][UMOB_LUK]; // } // } //if(unitexists([email protected])){ // if([email protected]_id == 1613){ // getunitdata [email protected], [email protected]; // debugmes "AFTER UMOB_MAXHP " + [email protected][UMOB_MAXHP]; // debugmes "AFTER UMOB_ATKMIN " + [email protected][UMOB_ATKMIN]; // debugmes "AFTER UMOB_ATKMAX " + [email protected][UMOB_ATKMAX]; // debugmes "AFTER UMOB_MATKMIN " + [email protected][UMOB_MATKMIN]; // debugmes "AFTER UMOB_MATKMAX " + [email protected][UMOB_MATKMAX]; // debugmes "AFTER UMOB_HIT " + [email protected][UMOB_HIT]; // debugmes "AFTER UMOB_STR " + [email protected][UMOB_STR]; // debugmes "AFTER UMOB_AGI " + [email protected][UMOB_AGI]; // debugmes "AFTER UMOB_VIT " + [email protected][UMOB_VIT]; // debugmes "AFTER UMOB_INT " + [email protected][UMOB_INT]; // debugmes "AFTER UMOB_DEX " + [email protected][UMOB_DEX]; // debugmes "AFTER UMOB_LUK " + [email protected][UMOB_LUK]; // } //} PS: I'm also integrating this to other instances. Maybe I'll post it if people requests it. Submitter Louis T Steinhil Submitted 05/02/2023 Category Games, Events, Quests Video Content Author Ylen X. Walker sorry to bump in to this post can i ask how can i put item as a reward for the party who cleared the ET like 1 - 3 random items for whole party drop by NS or automatically transfer to party leaders inv EDIT: i hope there is also for nidhogg nest Edited Friday at 01:20 PM by AinsLord Quote Link to comment Share on other sites More sharing options...
Louis T Steinhil Posted Friday at 02:08 PM Author Share Posted Friday at 02:08 PM setarray .@item[1],[item_id],[item_id],[item_id],[item_id],[item_id]; ....... message strcharinfo(0,.@CID[.@i]),"You now have " + getvar(#MEMORIALDUNGEONPOINTS,.@CID[.@i]) + " Memorial Dungeon Points"; ..... getitem .@item['level_mode],1,[email protected][[email protected]]; You can declare it something like this. Just look for the function reward. You'll follow Quote Link to comment Share on other sites More sharing options...
Legend Posted 52 minutes ago Share Posted 52 minutes ago I have a problem with your endless tower script. The monsters are only born in the easy level, in the other levels only the first monster of each line is born Quote Link to comment Share on other sites More sharing options...
Legend Posted 46 minutes ago Share Posted 46 minutes ago case 1://Normal [email protected]_hp_rate += 0; [email protected]_dmg_rate += 0; [email protected]_damagetaken += 0; [email protected]_def += 0; [email protected]_mdef += 0; [email protected]_hit += 0; [email protected]_flee += 0; Is there a way to add level bonuses to the monster? Quote Link to comment Share on other sites More sharing options...