Jump to content

Dolphin86

Members
  • Posts

    757
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by Dolphin86

  1. nevermind i simply did not remove databse,
  2. MariaDB [(none)]> CREATE DATABASE database bbmain; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'dat abase bbmain' at line 1 how can i counter this?
  3. Hello guys, i just bought a vps but i think its kinda empty.. i dont have cpnel that for a start.. do i need a cpanel to run my private server?, or is there any other options ? updates: i try to install rathena following the guide from here https://github.com/rathena/rathena/wiki/Install-on-Centos but when i try to install mariadb it says : Failed to start mariadb.service: Unit not found.
  4. knp ada istilah lawan? kalau niat nk tuang petrol rasa nya tak perlu kot? plus saya tak pernah pun login Trinity tue, focus lebih pada entertainment, kalau nk lawan baik serang jew server tue kan? sedangkan nk shopping pun ada bnyk mall, nk beli ikan pun ada banyak pilihan
  5. wont that effect other item as well?
  6. Seperti tajuk, saya baru release server saya dimana saya memerlukan player dan juga staff untuk membantu saya memperbesarkan server baru ini, Server rate x1/x1/x1 Pre Re Max lv : 99/70 Saya memerlukan staff untuk membantu saya dalam pembikinan server ini dalam banyak hal, seperti scripter, graphic, core, dan macam2 hal lagi, kebanyakan telah saya sediakan seorang diri, tetapi sekiranya ada yang sudi menghulurkan bantuan saya amat berterima kasih bayaran untuk setiap jawatan akan diberi dalam bentuk in game item, Sekiranya berminat boleh pm inbox saya, Terima Kasih Website : Rising Force RO
  7. As title, i would like to know if there is a way that i could remove all type of weapon and armor completely from monster drop? also i would like to remove any npc that sell weapon or armor, and also from any box, or usable item that could generate weapon or armor summary : i want literally every weapon and armor cant be gained from mobs, item, npc and literally anywhere
  8. well here is my lates sever released 31 Jan 2019, still fairly new and lots of work been doing to develop it back on topic, i just wana show my work on the web sites, the objective was to minimize it, or so called landing page RFRO WEBSITE
  9. yes that, well when player accept the quest player can view the item, same way as we open an item descriptions, only for the item reward that is
  10. i did not see the preview functions?
  11. hye guys, i would request if anyone or the author Annieruru herself could remake the old Mission Board? as the old ones dint have access to preview the item reward, and yes i do know emistry did manage to make it but it require SQL i would prefer without sql, just plain script, here are the script, and if i did repost this script without permission from Annieruru before-handed, i am deeply apologize mod have full rights to remove or delete this post // ~~~~~ Please use this latest int__ function that support negative numbers ~~~~~ function script int__ { .@i = getstrlen( .@str$ = getarg(0) ) -3; .@is_negative = charat( .@str$, 0 ) == "-"; while ( .@i > .@is_negative ) { .@str$ = insertchar( .@str$, ",", .@i ); .@i -= 3; } return .@str$; } //===== eAthena Script ============================================ //= Mission Board //===== By: ======================================================= //= AnnieRuru //===== Current Version: ========================================== //= 2.4b //===== Compatible With: ========================================== //= hercules & rathena 2018-04-15 //===== Description: ============================================== //= allow admin to setup their own quests dynamically //===== Topic ===================================================== //= http://herc.ws/board/topic/15578-mission-board-only-once-doesnt-work/ //===== Additional Comments: ====================================== //= very outdated script ... but yet ... its still a popular script ... //================================================================= - script mission board#127::ms_b_ -1,{ mes "["+ strnpcinfo(1) +"]"; if ( atoi( strnpcinfo(2) ) <= 0 || atoi( strnpcinfo(2) ) > 127 ) { mes "This board is currently down"; mes "Please report to GM"; mes "Reason: Invalid NPC ID"; close; } if ( .duplicate_id ) { set .@size, getarraysize(.duplicate_id); for ( set .@i, 0; .@i < .@size; set .@i, .@i +1 ) { if ( .duplicate_id[.@i] == atoi( strnpcinfo(2) ) ) { mes "This board is currently down"; mes "Please report to GM"; mes "Reason: duplicate NPC ID#"+ strnpcinfo(2); close; } } } if ( .loading == 1 ) { mes "The board is currently loading mission data, please try again!"; close; } if ( @ms_b_loading == 1 ) { mes "The board is currently loading player data"; mes "Please wait"; close; } mes "The Mission Board will instruct you to hunt certain monsters or items. Completing missions will result into rewards such as EXP and Midgard Coins"; next; mes "["+ strnpcinfo(1) +"]"; mes "Every player may pick up to ^FF00004^000000 missions from the Mission Board."; mes "Missions that end with '^FF0000Slayer^000000' are kill count missions and those that end with '^FF0000Collector^000000' are item gathering missions."; next; mes "["+ strnpcinfo(1) +"]"; mes "^FF0000Please remember that, when accepting a mission, you need to be within the assigned level range when you ACCEPT and SUBMIT it!^000000"; set @slot, 0; next; for ( set .@i, 1; .@i <= 4; set .@i, .@i +1 ) { if ( getd("@ms_b_m_"+ .@i) ) { if ( getd("$ms_b_m_"+ getd("@ms_b_m_"+ .@i +"[0]") +"$[0]") == "" ) { dispbottom "Mission Board: Your Mission#"+ .@i +" has been deleted because it is no longer available."; deletearray getd("@ms_b_m_"+ .@i); setd "ms_b_m_"+ .@i +"$", ""; deltimer "ms_b_::OnQuest"+ .@i +"TimeUp"; } else if ( getd("@ms_b_m_"+ .@i +"[1]") && getd("@ms_b_m_"+ .@i +"[1]") <= gettimetick(2) ) { dispbottom "Mission #"+ .@i +": "+ getd("$ms_b_m_"+ getd("@ms_b_m_"+ .@i +"[0]") +"$[0]") +" has expired!"; deletearray getd("@ms_b_m_"+ .@i); setd "ms_b_m_"+ .@i +"$", ""; deltimer "ms_b_::OnQuest"+ .@i +"TimeUp"; } } } set .@size, getarraysize( getd("@ms_b_n_"+ strnpcinfo(2)) ); for ( set .@i, 1; .@i < .@size; set .@i, .@i +1 ) { if ( getd("@ms_b_n_"+ strnpcinfo(2) +"[0]") != atoi( gettimestr("%Y%m%d", 9) ) && getd(".ms_b_m_"+ getd("@ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") +"[6]") == 1 || getd(".ms_b_m_"+ getd("@ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") +"[6]") == 0 ) { deletearray getd("@ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]"), 1; set .@i, .@i -1 ; set .@size, .@size -1; } } if ( getd("@ms_b_n_"+ strnpcinfo(2) +"[1]") ) { setd "ms_b_n_"+ strnpcinfo(2) +"$", gettimestr("%Y%m%d", 9); set .@size, getarraysize( getd("@ms_b_n_"+ strnpcinfo(2) ) ); for ( set .@i, 1; .@i < .@size; set .@i, .@i +1 ) setd "ms_b_n_"+ strnpcinfo(2) +"$", getd("ms_b_n_"+ strnpcinfo(2) +"$") +"#"+ getd("@ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]"); setd "ms_b_n_"+ strnpcinfo(2) +"$", getd("ms_b_n_"+ strnpcinfo(2) +"$") +"#"; } else setd "ms_b_n_"+ strnpcinfo(2) +"$", ""; switch ( select ( "- Submit completed mission", "- Drop a mission", "- Accept a mission", ( getgmlevel() < 99 )?"":"^FF0000Administrator Settings^000000" ) ) { case 1: mes "["+ strnpcinfo(1) +"]"; mes "Please select the mission you wish to submit:"; set @slot, select( "#1 "+( ( @ms_b_m_1[0] )?"^0000FF"+ getd("$ms_b_m_"+ @ms_b_m_1[0] +"$[0]"):"^FF0000Empty" )+"^000000", "#2 "+( ( @ms_b_m_2[0] )?"^0000FF"+ getd("$ms_b_m_"+ @ms_b_m_2[0] +"$[0]"):"^FF0000Empty" )+"^000000", "#3 "+( ( @ms_b_m_3[0] )?"^0000FF"+ getd("$ms_b_m_"+ @ms_b_m_3[0] +"$[0]"):"^FF0000Empty" )+"^000000", "#4 "+( ( @ms_b_m_4[0] )?"^0000FF"+ getd("$ms_b_m_"+ @ms_b_m_4[0] +"$[0]"):"^FF0000Empty" )+"^000000"); if ( getd("@ms_b_m_"+ @slot +"[0]") == 0 ) { mes "It appears that you have selected a empty slot!"; close; } callsub L_showprogress; mes "Are you sure you want to submit the selected mission?"; next; if ( select ( "Yes", "No" ) == 2 ) close; mes "["+ strnpcinfo(1) +"]"; if ( getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[11]") != atoi( strnpcinfo(2) ) ) { mes "Please submit this mission to:"; mes "^0000FF"+ .ms_b_name$[ getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[11]") ] +"^000000"; close; } set .@size, getarraysize( getd(".ms_b_t_"+ getd("@ms_b_m_"+ @slot +"[0]") ) ); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) { if ( getd("@ms_b_m_"+ @slot +"["+( .@i/2 +2 )+"]") < getd(".ms_b_t_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ (.@i +1)+"]") ) { mes "You do not meet the requirements to submit this mission. Please submit the mission once you've killed the required amount of monsters!"; close; } } set .@size, getarraysize( getd(".ms_b_ir_"+ getd("@ms_b_m_"+ @slot +"[0]") ) ); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) { if ( countitem( getd(".ms_b_ir_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ .@i +"]") ) < getd(".ms_b_ir_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ (.@i +1)+"]") ) { mes "You do not meet the requirements to submit this mission. Please submit this mission once you've gathered the required item(s)!"; close; } } if ( getd(".ms_b_ia_"+ getd("@ms_b_m_"+ @slot +"[0]") ) ) { getinventorylist; deletearray @inventorylist_id, @inventorylist_count; deletearray @inventorylist_amount, @inventorylist_count; deletearray @inventorylist_equip, @inventorylist_count; deletearray @inventorylist_refine, @inventorylist_count; deletearray @inventorylist_identify, @inventorylist_count; deletearray @inventorylist_attribute, @inventorylist_count; deletearray @inventorylist_card1, @inventorylist_count; deletearray @inventorylist_card2, @inventorylist_count; deletearray @inventorylist_card3, @inventorylist_count; deletearray @inventorylist_card4, @inventorylist_count; set .@size, getarraysize( getd(".ms_b_ia_"+ getd("@ms_b_m_"+ @slot +"[0]") ) ); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) { set .@itemWeight, .@itemWeight + getiteminfo( getd(".ms_b_ia_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ .@i +"]"), 6 ) * getd(".ms_b_ia_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ (.@i +1) +"]"); } if ( @inventorylist_count > 95 || Weight + .@itemWeight > MaxWeight ) { mes "It appears that you are overWeight, please clean up some inventory space."; set @inventorylist_count, 0; close; } set @inventorylist_count, 0; } if ( getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[3]") && ( BaseLevel < getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[3]") || BaseLevel > getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[4]") ) ) { mes "You're not within the level range to submit this mission!"; close; } mes "Congratulations, the mission has been completed!"; mes " "; set .@size, getarraysize( getd(".ms_b_ir_"+ getd("@ms_b_m_"+ @slot +"[0]") ) ); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) delitem getd(".ms_b_ir_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ .@i +"]"), getd(".ms_b_ir_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ (.@i +1)+"]"); mes "[Rewards]"; if ( getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[7]") ) { mes "Base Exp : ^0000FF"+ callfunc("int__", getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[7]") ) +"^000000"; dispbottom "Mission Reward - Base EXP : "+ callfunc("int__", getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[7]") ); set BaseExp, BaseExp + getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[7]"); } if ( getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[8]") ) { mes "Job Exp : ^0000FF"+ callfunc("int__", getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[8]") ) +"^000000"; dispbottom "Mission Reward - Job EXP : "+ callfunc("int__", getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[8]") ); set JobExp, JobExp + getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[8]"); } if ( getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[9]") ) { mes "Zeny : ^0000FF"+ callfunc("int__", getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[9]") ) +"^000000"; dispbottom "Mission Reward - "+ callfunc("int__", getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[9]") ) +" Zeny"; set Zeny, Zeny + getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[9]"); } if ( getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[10]") ) { mes "Cash Point : ^0000FF"+ callfunc("int__", getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[10]") ) +"^000000"; dispbottom "Mission Reward - "+ callfunc("int__", getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[10]") ) +" Cash Points"; set #CASHPOINTS, #CASHPOINTS + getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[10]"); } set .@size, getarraysize( getd(".ms_b_ia_"+ getd("@ms_b_m_"+ @slot +"[0]") ) ); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) { mes "Item : ^0000FF"+ getd(".ms_b_ia_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ (.@i +1) +"]") +" "+ getitemname( getd(".ms_b_ia_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ .@i +"]") ) +"^000000"; getitem getd(".ms_b_ia_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ .@i +"]"), getd(".ms_b_ia_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ (.@i +1) +"]"); } if ( getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[6]") ) { set .@size, getarraysize( getd("@ms_b_n_"+ strnpcinfo(2) ) ); setd "@ms_b_n_"+ strnpcinfo(2) +"[0]", gettimestr("%Y%m%d", 9); setd "@ms_b_n_"+ strnpcinfo(2) +"["+ .@size +"]", getd("@ms_b_m_"+ @slot +"[0]"); setd "ms_b_n_"+ strnpcinfo(2) +"$", gettimestr("%Y%m%d", 9); for ( set .@i, 1; .@i <= .@size; set .@i, .@i +1 ) setd "ms_b_n_"+ strnpcinfo(2) +"$", getd("ms_b_n_"+ strnpcinfo(2) +"$") +"#"+ getd("@ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]"); setd "ms_b_n_"+ strnpcinfo(2) +"$", getd("ms_b_n_"+ strnpcinfo(2) +"$") +"#"; } deletearray getd("@ms_b_m_"+ @slot); setd "ms_b_m_"+ @slot +"$", ""; deltimer "ms_b_::OnQuest"+ @slot +"TimeUp"; set @slot, 0; close; case 2: mes "["+ strnpcinfo(1) +"]"; mes "Please select the slot with the mission that you wish to drop:"; set @slot, select( "#1 "+( ( @ms_b_m_1[0] )?"^0000FF"+ getd("$ms_b_m_"+ @ms_b_m_1[0] +"$[0]"):"^FF0000Empty" )+"^000000", "#2 "+( ( @ms_b_m_2[0] )?"^0000FF"+ getd("$ms_b_m_"+ @ms_b_m_2[0] +"$[0]"):"^FF0000Empty" )+"^000000", "#3 "+( ( @ms_b_m_3[0] )?"^0000FF"+ getd("$ms_b_m_"+ @ms_b_m_3[0] +"$[0]"):"^FF0000Empty" )+"^000000", "#4 "+( ( @ms_b_m_4[0] )?"^0000FF"+ getd("$ms_b_m_"+ @ms_b_m_4[0] +"$[0]"):"^FF0000Empty" )+"^000000"); if ( getd("@ms_b_m_"+ @slot +"[0]") == 0 ) { mes "It appears that you have selected a empty slot!"; close; } callsub L_showprogress; mes "Are you sure that you want to give up this mission?"; mes "^777777NOTE: Any progress you've made for this mission will be lost!^000000"; next; if ( select ( "Yes", "No" ) == 2 ) close; mes "["+ strnpcinfo(1) +"]"; mes "^0000FF"+ getd("$ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"$[0]") +"^000000"; mes " "; mes "Mission has given up successfully"; deletearray getd("@ms_b_m_"+ @slot); setd "ms_b_m_"+ @slot +"$", ""; deltimer "ms_b_::OnQuest"+ @slot +"TimeUp"; set @slot, 0; close; case 3: mes "["+ strnpcinfo(1) +"]"; mes "Please select a (empty) slot:"; if ( getd(".ms_b_n_"+ strnpcinfo(2) ) == 0 ) { mes "There is no mission available"; close; } set .@slot, select( "#1 "+( ( @ms_b_m_1[0] )?"^0000FF"+ getd("$ms_b_m_"+ @ms_b_m_1[0] +"$[0]"):"^FF0000Empty" )+"^000000", "#2 "+( ( @ms_b_m_2[0] )?"^0000FF"+ getd("$ms_b_m_"+ @ms_b_m_2[0] +"$[0]"):"^FF0000Empty" )+"^000000", "#3 "+( ( @ms_b_m_3[0] )?"^0000FF"+ getd("$ms_b_m_"+ @ms_b_m_3[0] +"$[0]"):"^FF0000Empty" )+"^000000", "#4 "+( ( @ms_b_m_4[0] )?"^0000FF"+ getd("$ms_b_m_"+ @ms_b_m_4[0] +"$[0]"):"^FF0000Empty" )+"^000000"); if ( getd("@ms_b_m_"+ .@slot +"[0]") ) { mes "The slot that you've selected is already taken by another mission. Please select another (empty) slot!"; close; } mes "Select a mission to accept below:"; mes "^00CC00Green missions^000000 are within your level range and can be accepted."; mes "^FF0000Red missions^000000 can not be accepted. The reason(s) can be: you're not within the level range or the daily cool-down delay hasn't passed yet."; if ( basejob == Job_Novice || basejob == Job_SuperNovice ) set .@basejob, pow(2,0); else if ( basejob == Job_Swordman ) set .@basejob, pow(2,1); else if ( basejob == Job_Mage ) set .@basejob, pow(2,2); else if ( basejob == Job_Archer ) set .@basejob, pow(2,3); else if ( basejob == Job_Acolyte ) set .@basejob, pow(2,4); else if ( basejob == Job_Merchant ) set .@basejob, pow(2,5); else if ( basejob == Job_Thief ) set .@basejob, pow(2,6); else if ( basejob == Job_Knight ) set .@basejob, pow(2,7); else if ( basejob == Job_Priest ) set .@basejob, pow(2,8); else if ( basejob == Job_Wizard ) set .@basejob, pow(2,9); else if ( basejob == Job_Blacksmith ) set .@basejob, pow(2,10); else if ( basejob == Job_Hunter ) set .@basejob, pow(2,11); else if ( basejob == Job_Assassin ) set .@basejob, pow(2,12); else if ( basejob == Job_Crusader ) set .@basejob, pow(2,13); else if ( basejob == Job_Monk ) set .@basejob, pow(2,14); else if ( basejob == Job_Sage ) set .@basejob, pow(2,15); else if ( basejob == Job_Rogue ) set .@basejob, pow(2,16); else if ( basejob == Job_Alchemist ) set .@basejob, pow(2,17); else if ( basejob == Job_Bard || basejob == Job_Dancer ) set .@basejob, pow(2,18); else if ( basejob == Job_Taekwon ) set .@basejob, pow(2,19); else if ( basejob == Job_Star_Gladiator ) set .@basejob, pow(2,20); else if ( basejob == Job_Soul_Linker ) set .@basejob, pow(2,21); else if ( basejob == Job_Gunslinger ) set .@basejob, pow(2,22); else if ( basejob == Job_Ninja ) set .@basejob, pow(2,23); next; while (1) { set .@menu$, ""; set .@i, 0; set .@size1, getarraysize( getd(".ms_b_n_"+ strnpcinfo(2)) ); set .@size2, getarraysize( getd("@ms_b_n_"+ strnpcinfo(2)) ); while ( .@i < .@size1 ) { set .@j, 1; while ( .@j < .@size2 && getd("@ms_b_n_"+ strnpcinfo(2) +"["+ .@j +"]") != getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") ) set .@j, .@j +1 ; set .@color$, "^00AA00"; if ( .@j != .@size2 && .@size2 || @ms_b_m_1[0] == getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") || @ms_b_m_2[0] == getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") || @ms_b_m_3[0] == getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") || @ms_b_m_4[0] == getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") || getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") +"[3]") && ( BaseLevel < getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") +"[3]") || BaseLevel > getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") +"[4]") ) || getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") +"[2]") && getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") +"[2]") & .@basejob == 0 ) set .@color$, "^FF0000"; set .@menu$, .@menu$ + .@color$ + getd("$ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") +"$") +":"; set .@i, .@i +1 ; } set .@menu, select(.@menu$) -1; set .@m_id, getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@menu +"]"); mes "["+ strnpcinfo(1) +"]"; mes "^0000FF"+ getd("$ms_b_m_"+ .@m_id +"$[0]") +"^000000"; mes "Description: ^0000FF"+ getd("$ms_b_m_"+ .@m_id +"$[1]") +"^000000"; if ( getd(".ms_b_m_"+ .@m_id +"[6]") ) { for ( set .@i, 1; .@i < .@size2; set .@i, .@i +1 ) { if ( getd("@ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") == .@m_id ) break; } mes "Status : "+( ( .@i == .@size2 || getd("@ms_b_n_"+ strnpcinfo(2)) == 0 )?"^FF0000Incomplete":"^00CC00Completed" )+"^000000"; } mes " "; set .@size, getarraysize( getd(".ms_b_t_"+ .@m_id) ); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) mes "Require Mobs : ^0000FF"+ getd(".ms_b_t_"+ .@m_id +"["+ (.@i +1) +"]") +" "+ getmonsterinfo( getd(".ms_b_t_"+ .@m_id +"["+ .@i +"]") , 0) +"^000000"; set .@size, getarraysize( getd(".ms_b_ir_"+ .@m_id) ); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) mes "Require Items : ^0000FF"+ getd(".ms_b_ir_"+ .@m_id +"["+ (.@i +1) +"]") +" "+ getitemname( getd(".ms_b_ir_"+ .@m_id +"["+ .@i +"]") ) +"^000000"; mes " "; if ( getd(".ms_b_m_"+ .@m_id +"[6]") || getd(".ms_b_m_"+ .@m_id +"[3]") || getd(".ms_b_m_"+ .@m_id +"[5]") || getd(".ms_b_m_"+ .@m_id +"[2]") ) { mes "[^FF0000Limitations^000000]"; if ( getd(".ms_b_m_"+ .@m_id +"[6]") ) mes "Can do : "+( ( getd(".ms_b_m_"+ .@m_id +"[6]") == 1 )?"^00CC00Everyday":"^FF0000Only Once" )+"^000000"; if ( getd(".ms_b_m_"+ .@m_id +"[3]") ) mes "Base Level :"+( ( getd(".ms_b_m_"+ .@m_id +"[3]") )?" ^0000FF"+ getd(".ms_b_m_"+ .@m_id +"[3]") +( ( getd(".ms_b_m_"+ .@m_id +"[3]") != getd(".ms_b_m_"+ .@m_id +"[4]") )?"~"+ getd(".ms_b_m_"+ .@m_id +"[4]"):"" )+"^000000":"" ); if ( getd(".ms_b_m_"+ .@m_id +"[5]") ) mes "Time Limit : ^FF0000"+( ( getd(".ms_b_m_"+ .@m_id +"[5]") /60 )?getd(".ms_b_m_"+ .@m_id +"[5]") /60 +" hour"+( ( getd(".ms_b_m_"+ .@m_id +"[5]") %60 )?" ":"" ):"" )+( ( getd(".ms_b_m_"+ .@m_id +"[5]") %60 )?getd(".ms_b_m_"+ .@m_id +"[5]") %60 +" min":"" )+"^000000"; if ( getd(".ms_b_m_"+ .@m_id +"[2]") ) { deletearray .@joblimit; for ( set .@i, 0; .@i < 24; set .@i, .@i +1 ) { if ( getd(".ms_b_m_"+ .@m_id +"[2]") & pow( 2, .@i ) ) { set .@joblimit[ getarraysize(.@joblimit) ], .@i +1; } } set .@joblimit$, .jobname$[ .@joblimit[0] -1 ]; set .@size, getarraysize(.@joblimit); for ( set .@i, 1; .@i < .@size; set .@i, .@i +1 ) set .@joblimit$, .@joblimit$ +", "+ .jobname$[ .@joblimit[.@i] -1 ]; mes "Job Limit : ^00CC00"+ .@joblimit$ +"^000000"; } mes " "; } mes "[^009900Rewards^000000]"; if ( getd(".ms_b_m_"+ .@m_id +"[7]") ) mes "Base Exp : ^0000FF"+ callfunc("int__", getd(".ms_b_m_"+ .@m_id +"[7]") ) +"^000000"; if ( getd(".ms_b_m_"+ .@m_id +"[8]") ) mes "Job Exp : ^0000FF"+ callfunc("int__", getd(".ms_b_m_"+ .@m_id +"[8]") ) +"^000000"; if ( getd(".ms_b_m_"+ .@m_id +"[9]") ) mes "Zeny : ^0000FF"+ callfunc("int__", getd(".ms_b_m_"+ .@m_id +"[9]") ) +"^000000"; if ( getd(".ms_b_m_"+ .@m_id +"[10]") ) mes "Cash Point : ^0000FF"+ callfunc("int__", getd(".ms_b_m_"+ .@m_id +"[10]") ) +"^000000"; set .@size, getarraysize( getd(".ms_b_ia_"+ .@m_id ) ); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) mes "Item : ^0000FF"+ getd(".ms_b_ia_"+ .@m_id +"["+ (.@i +1) +"]") +" "+ getitemname( getd(".ms_b_ia_"+ .@m_id +"["+ .@i +"]") ) +"^000000"; next; if ( select ( "- Accept this mission", "- Pick another mission" ) == 1 ) { for ( set .@i, 1; .@i < .@size2; set .@i, .@i +1 ) { if ( getd("@ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") == .@m_id ) { mes "["+ strnpcinfo(1) +"]"; mes "It appears that you have already completed this mission. This mission can either only be completed once, or the daily cool-down delay hasn't passed yet!"; set .@break, 1; next; break; } } if ( .@break == 0 && ( @ms_b_m_1[0] == .@m_id || @ms_b_m_2[0] == .@m_id || @ms_b_m_3[0] == .@m_id || @ms_b_m_4[0] == .@m_id ) ) { mes "["+ strnpcinfo(1) +"]"; mes "You already taken this mission"; set .@break, 1; next; } if ( .@break == 0 && getd(".ms_b_m_"+ .@m_id +"[3]") && ( BaseLevel < getd(".ms_b_m_"+ .@m_id +"[3]") || BaseLevel > getd(".ms_b_m_"+ .@m_id +"[4]") ) ) { mes "["+ strnpcinfo(1) +"]"; mes "You're not within the level range to accept this mission!"; set .@break, 1; next; } if ( .@break == 0 && getd(".ms_b_m_"+ .@m_id +"[2]") ) { if ( getd(".ms_b_m_"+ .@m_id +"[2]") & .@basejob == 0 ) { mes "["+ strnpcinfo(1) +"]"; mes "Your current job class is not allowed to do this mission"; set .@break, 1; next; } } if ( .@break == 0 ) break; } set .@break, 0; } mes "["+ strnpcinfo(1) +"]"; mes "You have accepted the following mission:"; mes "^0000FF"+ getd("$ms_b_m_"+ .@m_id +"$[0]") +"^000000"; if ( getd(".ms_b_m_"+ .@m_id +"[5]") ) { mes "Time Left : ^FF0000"+( ( getd(".ms_b_m_"+ .@m_id +"[5]") /60 )?getd(".ms_b_m_"+ .@m_id +"[5]") /60 +" hour"+( ( getd(".ms_b_m_"+ .@m_id +"[5]") %60 )?" ":"" ):"" )+( ( getd(".ms_b_m_"+ .@m_id +"[5]") %60 )?getd(".ms_b_m_"+ .@m_id +"[5]") %60 +" min":"" )+"^000000"; addtimer getd(".ms_b_m_"+ .@m_id +"[5]") * 60 * 1000, "ms_b_::OnQuest"+ .@slot +"TimeUp"; setd "@ms_b_m_"+ .@slot +"[1]", gettimetick(2) + getd(".ms_b_m_"+ .@m_id +"[5]") * 60; } setd "@ms_b_m_"+ .@slot +"[0]", .@m_id; setd "ms_b_m_"+ .@slot +"$", getd("@ms_b_m_"+ .@slot +"[0]") +"#"+ getd("@ms_b_m_"+ .@slot +"[1]"); close; case 4: if ( getgmlevel() < 99 ) end; while (1) { mes "["+ strnpcinfo(1) +"]"; mes "Please select an option below:"; next; switch ( select ( "Setup a mission", "Edit a mission", "Remove a mission", "Swap mission order" ) ) { case 1: if ( $ms_b_id >= 99999 ) { mes "["+ strnpcinfo(1) +"]"; mes "This is the end, you can't create anymore missions"; close; } else if ( getarraysize( getd(".ms_b_n_"+ strnpcinfo(2) ) ) == 40 ) { mes "["+ strnpcinfo(1) +"]"; mes "Each NPC are only allowed to setup 40 missions"; next; break; } deletearray @tmp_ms_b_m_$; deletearray @tmp_ms_b_m_; deletearray @tmp_ms_b_t_; deletearray @tmp_ms_b_ir_; deletearray @tmp_ms_b_ia_; if ( callsub( L_setupmission, 0 ) == 0 ) { deletearray @tmp_ms_b_m_$; deletearray @tmp_ms_b_m_; deletearray @tmp_ms_b_t_; deletearray @tmp_ms_b_ir_; deletearray @tmp_ms_b_ia_; break; } set $ms_b_id, $ms_b_id +1 ; setd ".ms_b_n_"+ strnpcinfo(2) +"["+ getarraysize( getd(".ms_b_n_"+ strnpcinfo(2) ) ) +"]", $ms_b_id; setd "$ms_b_n_"+ strnpcinfo(2) +"$", getd(".ms_b_n_"+ strnpcinfo(2) +"[0]"); set .@size, getarraysize( getd(".ms_b_n_"+ strnpcinfo(2) ) ); for ( set .@i, 1; .@i < .@size; set .@i, .@i +1 ) setd "$ms_b_n_"+ strnpcinfo(2) +"$", getd("$ms_b_n_"+ strnpcinfo(2) +"$") +"#"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]"); set @tmp_ms_b_m_[11], strnpcinfo(2); copyarray getd(".ms_b_m_"+ $ms_b_id +"$"), @tmp_ms_b_m_$, 128; copyarray getd(".ms_b_m_"+ $ms_b_id), @tmp_ms_b_m_, 128; copyarray getd(".ms_b_t_"+ $ms_b_id ), @tmp_ms_b_t_, 128; copyarray getd(".ms_b_ir_"+ $ms_b_id ), @tmp_ms_b_ir_, 128; copyarray getd(".ms_b_ia_"+ $ms_b_id ), @tmp_ms_b_ia_, 128; setarray getd("$ms_b_m_"+ $ms_b_id +"$"), @tmp_ms_b_m_$[0], @tmp_ms_b_m_$[1], ( ( @tmp_ms_b_m_[2] )?@tmp_ms_b_m_[2]:"" )+"#"+( ( @tmp_ms_b_m_[3] )?@tmp_ms_b_m_[3]:"" )+"#"+( ( @tmp_ms_b_m_[4] )?@tmp_ms_b_m_[4]:"" )+"#"+( ( @tmp_ms_b_m_[5] )?@tmp_ms_b_m_[5]:"" )+"#"+( ( @tmp_ms_b_m_[6] )?@tmp_ms_b_m_[6]:"" )+"#"+( ( @tmp_ms_b_m_[7] )?@tmp_ms_b_m_[7]:"" )+"#"+( ( @tmp_ms_b_m_[8] )?@tmp_ms_b_m_[8]:"" )+"#"+( ( @tmp_ms_b_m_[9] )?@tmp_ms_b_m_[9]:"" )+"#"+( ( @tmp_ms_b_m_[10] )?@tmp_ms_b_m_[10]:"" )+"#"+( ( @tmp_ms_b_m_[11] )?@tmp_ms_b_m_[11]:"" )+"#"+( ( @tmp_ms_b_m_[12] )?@tmp_ms_b_m_[12]:"" )+"#"+( ( @tmp_ms_b_m_[13] )?@tmp_ms_b_m_[13]:"" ), ( ( @tmp_ms_b_t_[0] )?@tmp_ms_b_t_[0]:"" )+"#"+( ( @tmp_ms_b_t_[1] )?@tmp_ms_b_t_[1]:"" )+"#"+( ( @tmp_ms_b_t_[2] )?@tmp_ms_b_t_[2]:"" )+"#"+( ( @tmp_ms_b_t_[3] )?@tmp_ms_b_t_[3]:"" )+"#"+( ( @tmp_ms_b_t_[4] )?@tmp_ms_b_t_[4]:"" )+"#"+( ( @tmp_ms_b_t_[5] )?@tmp_ms_b_t_[5]:"" )+"#"+( ( @tmp_ms_b_t_[6] )?@tmp_ms_b_t_[6]:"" )+"#"+( ( @tmp_ms_b_t_[7] )?@tmp_ms_b_t_[7]:"" )+"#"+( ( @tmp_ms_b_t_[8] )?@tmp_ms_b_t_[8]:"" )+"#"+( ( @tmp_ms_b_t_[9] )?@tmp_ms_b_t_[9]:"" )+"#"+( ( @tmp_ms_b_t_[10] )?@tmp_ms_b_t_[10]:"" )+"#"+( ( @tmp_ms_b_t_[11] )?@tmp_ms_b_t_[11]:"" )+"#"+( ( @tmp_ms_b_t_[12] )?@tmp_ms_b_t_[12]:"" )+"#"+( ( @tmp_ms_b_t_[13] )?@tmp_ms_b_t_[13]:"" )+"#"+( ( @tmp_ms_b_t_[14] )?@tmp_ms_b_t_[14]:"" )+"#"+( ( @tmp_ms_b_t_[15] )?@tmp_ms_b_t_[15]:"" )+"#"+( ( @tmp_ms_b_ir_[0] )?@tmp_ms_b_ir_[0]:"" )+"#"+( ( @tmp_ms_b_ir_[1] )?@tmp_ms_b_ir_[1]:"" )+"#"+( ( @tmp_ms_b_ir_[2] )?@tmp_ms_b_ir_[2]:"" )+"#"+( ( @tmp_ms_b_ir_[3] )?@tmp_ms_b_ir_[3]:"" )+"#"+( ( @tmp_ms_b_ir_[4] )?@tmp_ms_b_ir_[4]:"" )+"#"+( ( @tmp_ms_b_ir_[5] )?@tmp_ms_b_ir_[5]:"" )+"#"+( ( @tmp_ms_b_ir_[6] )?@tmp_ms_b_ir_[6]:"" )+"#"+( ( @tmp_ms_b_ir_[7] )?@tmp_ms_b_ir_[7]:"" )+"#"+( ( @tmp_ms_b_ir_[8] )?@tmp_ms_b_ir_[8]:"" )+"#"+( ( @tmp_ms_b_ir_[9] )?@tmp_ms_b_ir_[9]:"" )+"#"+( ( @tmp_ms_b_ia_[0] )?@tmp_ms_b_ia_[0]:"" )+"#"+( ( @tmp_ms_b_ia_[1] )?@tmp_ms_b_ia_[1]:"" )+"#"+( ( @tmp_ms_b_ia_[2] )?@tmp_ms_b_ia_[2]:"" )+"#"+( ( @tmp_ms_b_ia_[3] )?@tmp_ms_b_ia_[3]:"" )+"#"+( ( @tmp_ms_b_ia_[4] )?@tmp_ms_b_ia_[4]:"" )+"#"+( ( @tmp_ms_b_ia_[5] )?@tmp_ms_b_ia_[5]:"" )+"#"+( ( @tmp_ms_b_ia_[6] )?@tmp_ms_b_ia_[6]:"" )+"#"+( ( @tmp_ms_b_ia_[7] )?@tmp_ms_b_ia_[7]:"" )+"#"+( ( @tmp_ms_b_ia_[8] )?@tmp_ms_b_ia_[8]:"" )+"#"+( ( @tmp_ms_b_ia_[9] )?@tmp_ms_b_ia_[9]:"" ); deletearray @tmp_ms_b_m_$; deletearray @tmp_ms_b_m_; deletearray @tmp_ms_b_t_; deletearray @tmp_ms_b_ir_; deletearray @tmp_ms_b_ia_; mes " "; mes "Mission has setup successfully"; next; break; case 2: mes "["+ strnpcinfo(1) +"]"; if ( getd(".ms_b_n_"+ strnpcinfo(2) ) == 0 ) { mes "There is no mission available to edit."; next; break; } mes "Select a mission below to edit:"; next; if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"[0]") +"[6]") == 0 ) set .@color$, "^0000FF"; else if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"[0]") +"[6]") == 1 ) set .@color$, "^00CC00"; else if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"[0]") +"[6]") == 2 ) set .@color$, "^FF0000"; set .@menu$, "^996600"+ getd(".ms_b_n_"+ strnpcinfo(2) +"[0]") +". "+ .@color$ + getd("$ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"[0]") +"$"); set .@size, getarraysize( getd(".ms_b_n_"+ strnpcinfo(2)) ); for ( set .@i, 1; .@i < .@size; set .@i, .@i +1 ) { if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") +"[6]") == 0 ) set .@color$, "^0000FF"; else if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") +"[6]") == 1 ) set .@color$, "^00CC00"; else if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") +"[6]") == 2 ) set .@color$, "^FF0000"; set .@menu$, .@menu$ +":^996600"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") +". "+ .@color$ + getd("$ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") +"$"); } set .@menu$, .@menu$ +":^000000 - back"; set .@menu, select(.@menu$) -1; if ( .@menu == .@size ) break; set @m_id, getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@menu +"]"); deletearray @tmp_ms_b_m_$; deletearray @tmp_ms_b_m_; deletearray @tmp_ms_b_t_; deletearray @tmp_ms_b_ir_; deletearray @tmp_ms_b_ia_; copyarray @tmp_ms_b_m_$, getd("$ms_b_m_"+ @m_id +"$"), 128; copyarray @tmp_ms_b_m_, getd(".ms_b_m_"+ @m_id ), 128; copyarray @tmp_ms_b_t_, getd(".ms_b_t_"+ @m_id ), 128; copyarray @tmp_ms_b_ir_, getd(".ms_b_ir_"+ @m_id ), 128; copyarray @tmp_ms_b_ia_, getd(".ms_b_ia_"+ @m_id ), 128; if ( callsub( L_setupmission, 1 ) == 0 ) { deletearray @tmp_ms_b_m_$; deletearray @tmp_ms_b_m_; deletearray @tmp_ms_b_t_; deletearray @tmp_ms_b_ir_; deletearray @tmp_ms_b_ia_; set @m_id, 0; break; } copyarray getd(".ms_b_m_"+ @m_id +"$"), @tmp_ms_b_m_$, 128; copyarray getd(".ms_b_m_"+ @m_id), @tmp_ms_b_m_, 128; copyarray getd(".ms_b_t_"+ @m_id ), @tmp_ms_b_t_, 128; copyarray getd(".ms_b_ir_"+ @m_id ), @tmp_ms_b_ir_, 128; copyarray getd(".ms_b_ia_"+ @m_id ), @tmp_ms_b_ia_, 128; setarray getd("$ms_b_m_"+ @m_id +"$"), @tmp_ms_b_m_$[0], @tmp_ms_b_m_$[1], ( ( @tmp_ms_b_m_[2] )?@tmp_ms_b_m_[2]:"" )+"#"+( ( @tmp_ms_b_m_[3] )?@tmp_ms_b_m_[3]:"" )+"#"+( ( @tmp_ms_b_m_[4] )?@tmp_ms_b_m_[4]:"" )+"#"+( ( @tmp_ms_b_m_[5] )?@tmp_ms_b_m_[5]:"" )+"#"+( ( @tmp_ms_b_m_[6] )?@tmp_ms_b_m_[6]:"" )+"#"+( ( @tmp_ms_b_m_[7] )?@tmp_ms_b_m_[7]:"" )+"#"+( ( @tmp_ms_b_m_[8] )?@tmp_ms_b_m_[8]:"" )+"#"+( ( @tmp_ms_b_m_[9] )?@tmp_ms_b_m_[9]:"" )+"#"+( ( @tmp_ms_b_m_[10] )?@tmp_ms_b_m_[10]:"" )+"#"+( ( @tmp_ms_b_m_[11] )?@tmp_ms_b_m_[11]:"" )+"#"+( ( @tmp_ms_b_m_[12] )?@tmp_ms_b_m_[12]:"" )+"#"+( ( @tmp_ms_b_m_[13] )?@tmp_ms_b_m_[13]:"" ), ( ( @tmp_ms_b_t_[0] )?@tmp_ms_b_t_[0]:"" )+"#"+( ( @tmp_ms_b_t_[1] )?@tmp_ms_b_t_[1]:"" )+"#"+( ( @tmp_ms_b_t_[2] )?@tmp_ms_b_t_[2]:"" )+"#"+( ( @tmp_ms_b_t_[3] )?@tmp_ms_b_t_[3]:"" )+"#"+( ( @tmp_ms_b_t_[4] )?@tmp_ms_b_t_[4]:"" )+"#"+( ( @tmp_ms_b_t_[5] )?@tmp_ms_b_t_[5]:"" )+"#"+( ( @tmp_ms_b_t_[6] )?@tmp_ms_b_t_[6]:"" )+"#"+( ( @tmp_ms_b_t_[7] )?@tmp_ms_b_t_[7]:"" )+"#"+( ( @tmp_ms_b_t_[8] )?@tmp_ms_b_t_[8]:"" )+"#"+( ( @tmp_ms_b_t_[9] )?@tmp_ms_b_t_[9]:"" )+"#"+( ( @tmp_ms_b_t_[10] )?@tmp_ms_b_t_[10]:"" )+"#"+( ( @tmp_ms_b_t_[11] )?@tmp_ms_b_t_[11]:"" )+"#"+( ( @tmp_ms_b_t_[12] )?@tmp_ms_b_t_[12]:"" )+"#"+( ( @tmp_ms_b_t_[13] )?@tmp_ms_b_t_[13]:"" )+"#"+( ( @tmp_ms_b_t_[14] )?@tmp_ms_b_t_[14]:"" )+"#"+( ( @tmp_ms_b_t_[15] )?@tmp_ms_b_t_[15]:"" )+"#"+( ( @tmp_ms_b_ir_[0] )?@tmp_ms_b_ir_[0]:"" )+"#"+( ( @tmp_ms_b_ir_[1] )?@tmp_ms_b_ir_[1]:"" )+"#"+( ( @tmp_ms_b_ir_[2] )?@tmp_ms_b_ir_[2]:"" )+"#"+( ( @tmp_ms_b_ir_[3] )?@tmp_ms_b_ir_[3]:"" )+"#"+( ( @tmp_ms_b_ir_[4] )?@tmp_ms_b_ir_[4]:"" )+"#"+( ( @tmp_ms_b_ir_[5] )?@tmp_ms_b_ir_[5]:"" )+"#"+( ( @tmp_ms_b_ir_[6] )?@tmp_ms_b_ir_[6]:"" )+"#"+( ( @tmp_ms_b_ir_[7] )?@tmp_ms_b_ir_[7]:"" )+"#"+( ( @tmp_ms_b_ir_[8] )?@tmp_ms_b_ir_[8]:"" )+"#"+( ( @tmp_ms_b_ir_[9] )?@tmp_ms_b_ir_[9]:"" )+"#"+( ( @tmp_ms_b_ia_[0] )?@tmp_ms_b_ia_[0]:"" )+"#"+( ( @tmp_ms_b_ia_[1] )?@tmp_ms_b_ia_[1]:"" )+"#"+( ( @tmp_ms_b_ia_[2] )?@tmp_ms_b_ia_[2]:"" )+"#"+( ( @tmp_ms_b_ia_[3] )?@tmp_ms_b_ia_[3]:"" )+"#"+( ( @tmp_ms_b_ia_[4] )?@tmp_ms_b_ia_[4]:"" )+"#"+( ( @tmp_ms_b_ia_[5] )?@tmp_ms_b_ia_[5]:"" )+"#"+( ( @tmp_ms_b_ia_[6] )?@tmp_ms_b_ia_[6]:"" )+"#"+( ( @tmp_ms_b_ia_[7] )?@tmp_ms_b_ia_[7]:"" )+"#"+( ( @tmp_ms_b_ia_[8] )?@tmp_ms_b_ia_[8]:"" )+"#"+( ( @tmp_ms_b_ia_[9] )?@tmp_ms_b_ia_[9]:"" ); deletearray @tmp_ms_b_m_$; deletearray @tmp_ms_b_m_; deletearray @tmp_ms_b_t_; deletearray @tmp_ms_b_ir_; deletearray @tmp_ms_b_ia_; set @m_id, 0; mes " "; mes "Mission has edited successfully"; next; break; case 3: mes "["+ strnpcinfo(1) +"]"; if ( getd(".ms_b_n_"+ strnpcinfo(2) ) == 0 ) { mes "There is no mission available to remove."; next; break; } mes "Select a mission below to delete:"; next; if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"[0]") +"[6]") == 0 ) set .@color$, "^0000FF"; else if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"[0]") +"[6]") == 1 ) set .@color$, "^00CC00"; else if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"[0]") +"[6]") == 2 ) set .@color$, "^FF0000"; set .@menu$, "^996600"+ getd(".ms_b_n_"+ strnpcinfo(2) +"[0]") +". "+ .@color$ + getd("$ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"[0]") +"$"); set .@size, getarraysize( getd(".ms_b_n_"+ strnpcinfo(2)) ); for ( set .@i, 1; .@i < .@size; set .@i, .@i +1 ) { if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") +"[6]") == 0 ) set .@color$, "^0000FF"; else if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") +"[6]") == 1 ) set .@color$, "^00CC00"; else if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") +"[6]") == 2 ) set .@color$, "^FF0000"; set .@menu$, .@menu$ +":^996600"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") +". "+ .@color$ + getd("$ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") +"$"); } set .@menu$, .@menu$ +":^000000 - back"; set .@menu, select(.@menu$) -1; if ( .@menu == .@size ) break; mes "["+ strnpcinfo(1) +"]"; mes "Are you sure that you want to delete the selected mission?"; mes " "; set .@m_id, getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@menu +"]"); if ( getd(".ms_b_m_"+ .@m_id +"[6]") == 0 ) set .@color$, "^0000FF"; else if ( getd(".ms_b_m_"+ .@m_id +"[6]") == 1 ) set .@color$, "^00CC00"; else if ( getd(".ms_b_m_"+ .@m_id +"[6]") == 2 ) set .@color$, "^FF0000"; mes "^996600"+ .@m_id +". "+ .@color$ + getd("$ms_b_m_"+ .@m_id +"$") +"^000000"; mes "Description: ^0000FF"+ getd("$ms_b_m_"+ .@m_id +"$[1]") +"^000000"; next; if ( select ( "No", "Yes" ) == 1 ) break; mes "["+ strnpcinfo(1) +"]"; mes "Mission has deleted successfully"; mes " "; mes "^996600"+ .@m_id +". "+ .@color$ + getd("$ms_b_m_"+ .@m_id +"$") +"^000000"; deletearray getd(".ms_b_m_"+ .@m_id +"$"); deletearray getd(".ms_b_m_"+ .@m_id ); deletearray getd(".ms_b_t_"+ .@m_id ); deletearray getd(".ms_b_ir_"+ .@m_id ); deletearray getd(".ms_b_ia_"+ .@m_id ); deletearray getd("$ms_b_m_"+ .@m_id +"$"); deletearray getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@menu +"]"), 1; setd "$ms_b_n_"+ strnpcinfo(2) +"$", ( ( getd(".ms_b_n_"+ strnpcinfo(2) +"[0]") )?getd(".ms_b_n_"+ strnpcinfo(2) +"[0]"):"" ); set .@size, getarraysize( getd(".ms_b_n_"+ strnpcinfo(2) ) ); for ( set .@i, 1; .@i < .@size; set .@i, .@i +1 ) setd "$ms_b_n_"+ strnpcinfo(2) +"$", getd("$ms_b_n_"+ strnpcinfo(2) +"$") +"#"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") +"#"; next; break; case 4: mes "["+ strnpcinfo(1) +"]"; if ( getd(".ms_b_n_"+ strnpcinfo(2) ) == 0 ) { mes "There is no mission available to swap"; next; break; } mes "Select a mission below to swap:"; next; if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"[0]") +"[6]") == 0 ) set .@color$, "^0000FF"; else if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"[0]") +"[6]") == 1 ) set .@color$, "^00CC00"; else if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"[0]") +"[6]") == 2 ) set .@color$, "^FF0000"; set .@menu$, "^996600"+ getd(".ms_b_n_"+ strnpcinfo(2) +"[0]") +". "+ .@color$ + getd("$ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"[0]") +"$"); set .@size, getarraysize( getd(".ms_b_n_"+ strnpcinfo(2)) ); for ( set .@i, 1; .@i < .@size; set .@i, .@i +1 ) { if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") +"[6]") == 0 ) set .@color$, "^0000FF"; else if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") +"[6]") == 1 ) set .@color$, "^00CC00"; else if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") +"[6]") == 2 ) set .@color$, "^FF0000"; set .@menu$, .@menu$ +":^996600"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") +". "+ .@color$ + getd("$ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") +"$"); } set .@menu$, .@menu$ +":^000000 - back"; set .@menu, select(.@menu$) -1; if ( .@menu == .@size ) break; mes "["+ strnpcinfo(1) +"]"; mes "mission selected :"; set .@m_id1, getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@menu +"]"); if ( getd(".ms_b_m_"+ .@m_id1 +"[6]") == 0 ) set .@color1$, "^0000FF"; else if ( getd(".ms_b_m_"+ .@m_id1 +"[6]") == 1 ) set .@color1$, "^00CC00"; else if ( getd(".ms_b_m_"+ .@m_id1 +"[6]") == 2 ) set .@color1$, "^FF0000"; mes "^996600"+ .@m_id1 +". "+ .@color1$ + getd("$ms_b_m_"+ .@m_id1 +"$") +"^000000"; mes " "; mes "Please select another mission to be swapped:"; next; set .@menu2, select(.@menu$) -1; if ( .@menu2 == .@size ) break; mes "["+ strnpcinfo(1) +"]"; mes "Missions has swapped successfully"; set .@m_id2, getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@menu2 +"]"); if ( getd(".ms_b_m_"+ .@m_id2 +"[6]") == 0 ) set .@color2$, "^0000FF"; else if ( getd(".ms_b_m_"+ .@m_id2 +"[6]") == 1 ) set .@color2$, "^00CC00"; else if ( getd(".ms_b_m_"+ .@m_id2 +"[6]") == 2 ) set .@color2$, "^FF0000"; mes "^996600"+ .@m_id1 +". "+ .@color1$ + getd("$ms_b_m_"+ .@m_id1 +"$") +"^000000"; mes "^996600"+ .@m_id2 +". "+ .@color2$ + getd("$ms_b_m_"+ .@m_id2 +"$") +"^000000"; setd ".ms_b_n_"+ strnpcinfo(2) +"["+ .@menu +"]", .@m_id2; setd ".ms_b_n_"+ strnpcinfo(2) +"["+ .@menu2 +"]", .@m_id1; setd "$ms_b_n_"+ strnpcinfo(2) +"$", getd(".ms_b_n_"+ strnpcinfo(2) +"[0]"); set .@size, getarraysize( getd(".ms_b_n_"+ strnpcinfo(2) ) ); for ( set .@i, 1; .@i < .@size; set .@i, .@i +1 ) setd "$ms_b_n_"+ strnpcinfo(2) +"$", getd("$ms_b_n_"+ strnpcinfo(2) +"$") +"#"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]"); next; break; } } } close; OnQuest1TimeUp: dispbottom "Mission #1: "+ getd("$ms_b_m_"+ @ms_b_m_1[0] +"$[0]") +" has Time Up"; deletearray @ms_b_m_1; set ms_b_m_1$, ""; end; OnQuest2TimeUp: dispbottom "Mission #2: "+ getd("$ms_b_m_"+ @ms_b_m_2[0] +"$[0]") +" has Time Up"; deletearray @ms_b_m_2; set ms_b_m_2$, ""; end; OnQuest3TimeUp: dispbottom "Mission #3: "+ getd("$ms_b_m_"+ @ms_b_m_3[0] +"$[0]") +" has Time Up"; deletearray @ms_b_m_3; set ms_b_m_3$, ""; end; OnQuest4TimeUp: dispbottom "Mission #4: "+ getd("$ms_b_m_"+ @ms_b_m_4[0] +"$[0]") +" has Time Up"; deletearray @ms_b_m_4; set ms_b_m_4$, ""; end; L_showprogress: mes "^0000FF"+ getd("$ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"$[0]") +"^000000"; mes "Description: ^0000FF"+ getd("$ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"$[1]") +"^000000"; mes " "; mes "[^804000Mission Progress^000000]"; if ( getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[5]") ) { set .@left, getd("@ms_b_m_"+ @slot +"[1]") - gettimetick(2); set .@hour, .@left / 3600; set .@min, .@left % 3600 / 60; set .@sec, .@left % 60; mes "Time Left: ^FF0000"+( ( .@hour )?.@hour +" hour ":"" )+( ( .@hour || .@min )?.@min +" min ":"" )+ .@sec +" sec^000000"; } set .@size, getarraysize( getd(".ms_b_t_"+ getd("@ms_b_m_"+ @slot +"[0]") ) ); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) mes "Mobs : ^0000FF"+ getmonsterinfo( getd(".ms_b_t_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ .@i +"]") , 0) +"^000000 ["+( ( getd("@ms_b_m_"+ @slot +"["+( .@i/2 +2 )+"]") > getd(".ms_b_t_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ (.@i +1) +"]") )?getd(".ms_b_t_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ (.@i +1) +"]"):getd("@ms_b_m_"+ @slot +"["+( .@i/2 +2 )+"]") ) +"/"+ getd(".ms_b_t_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ (.@i +1) +"]") +"]"; set .@size, getarraysize( getd(".ms_b_ir_"+ getd("@ms_b_m_"+ @slot +"[0]") ) ); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) mes "Items : ^0000FF"+ getitemname( getd(".ms_b_ir_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ .@i +"]") ) +"^000000 ["+ countitem( getd(".ms_b_ir_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ .@i +"]") ) +"/"+ getd(".ms_b_ir_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ (.@i +1) +"]") +"]"; mes " "; mes "[^009900Rewards^000000]"; if ( getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[7]") ) mes "Base Exp : ^0000FF"+ callfunc("int__", getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[7]") ) +"^000000"; if ( getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[8]") ) mes "Job Exp : ^0000FF"+ callfunc("int__", getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[8]") ) +"^000000"; if ( getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[9]") ) mes "Zeny : ^0000FF"+ callfunc("int__", getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[9]") ) +"^000000"; if ( getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[10]") ) mes "Cash Point : ^0000FF"+ callfunc("int__", getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[10]") ) +"^000000"; set .@size, getarraysize( getd(".ms_b_ia_"+ getd("@ms_b_m_"+ @slot +"[0]") ) ); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) mes "Item : ^0000FF"+ getd(".ms_b_ia_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ (.@i +1) +"]") +" "+ getitemname( getd(".ms_b_ia_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ .@i +"]") ) +"^000000"; mes " "; return; L_setupmission: while (1) { mes "["+ strnpcinfo(1) +"]"; mes "Name : "+( ( @tmp_ms_b_m_$[0] != "" )?"^0000FF"+ @tmp_ms_b_m_$[0]:"^FF0000Incomplete" )+"^000000"; mes "Description: "+( ( @tmp_ms_b_m_$[1] != "" )?"^0000FF"+ @tmp_ms_b_m_$[1]:"^FF0000Incomplete" )+"^000000"; mes " "; if ( @tmp_ms_b_t_ == 0 && @tmp_ms_b_ir_ == 0 ) mes "Require mobs : ^FF0000Incomplete^000000"; set .@size, getarraysize(@tmp_ms_b_t_); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) mes "Require mobs : ^0000FF"+ @tmp_ms_b_t_[.@i +1] +" "+ getmonsterinfo(@tmp_ms_b_t_[.@i], 0) +"^000000"; if ( @tmp_ms_b_t_ == 0 && @tmp_ms_b_ir_ == 0 ) mes "Require items : ^FF0000Incomplete^000000"; set .@size, getarraysize(@tmp_ms_b_ir_); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) mes "Require items : ^0000FF"+ @tmp_ms_b_ir_[.@i +1] +" "+ getitemname(@tmp_ms_b_ir_[.@i]) +"^000000"; mes " "; if ( @tmp_ms_b_m_[6] || @tmp_ms_b_m_[3] || @tmp_ms_b_m_[5] || @tmp_ms_b_m_[2] ) { mes "[^FF0000Limitations^000000]"; if ( @tmp_ms_b_m_[6] ) mes "Can do : "+( ( @tmp_ms_b_m_[6] == 1 )?"^00CC00Everyday":"^FF0000Only Once" )+"^000000"; if ( @tmp_ms_b_m_[3] ) mes "Base Level :"+( ( @tmp_ms_b_m_[3] )?" ^0000FF"+ @tmp_ms_b_m_[3] +( ( @tmp_ms_b_m_[3] != @tmp_ms_b_m_[4] )?"~"+ @tmp_ms_b_m_[4]:"" )+"^000000":"" ); if ( @tmp_ms_b_m_[5] ) mes "Time Limit : ^FF0000"+( ( @tmp_ms_b_m_[5] /60 )?@tmp_ms_b_m_[5] /60 +" hour"+( ( @tmp_ms_b_m_[5] %60 )?" ":"" ):"" )+( ( @tmp_ms_b_m_[5] %60 )?@tmp_ms_b_m_[5] %60 +" min":"" )+"^000000"; if ( @tmp_ms_b_m_[2] ) { deletearray .@joblimit; for ( set .@i, 0; .@i < 24; set .@i, .@i +1 ) { if ( @tmp_ms_b_m_[2] & pow( 2, .@i ) ) { set .@joblimit[ getarraysize(.@joblimit) ], .@i +1; } } set .@joblimit$, .jobname$[ .@joblimit[0] -1 ]; set .@size, getarraysize(.@joblimit); for ( set .@i, 1; .@i < .@size; set .@i, .@i +1 ) set .@joblimit$, .@joblimit$ +", "+ .jobname$[ .@joblimit[.@i] -1 ]; mes "Job Limit : ^00CC00"+ .@joblimit$ +"^000000"; } mes " "; } mes "[^009900Rewards^000000]"; if ( @tmp_ms_b_m_[7] || @tmp_ms_b_m_[8] || @tmp_ms_b_m_[9] || @tmp_ms_b_m_[10] || @tmp_ms_b_ia_ ) set .@color_reward$, ""; else { mes "^FF0000Incomplete^000000"; set .@color_reward$, " - ^FF0000Incomplete^000000"; } if ( @tmp_ms_b_m_[7] ) mes "Base Exp : ^0000FF"+ callfunc("int__", @tmp_ms_b_m_[7] ) +"^000000"; if ( @tmp_ms_b_m_[8] ) mes "Job Exp : ^0000FF"+ callfunc("int__", @tmp_ms_b_m_[8] ) +"^000000"; if ( @tmp_ms_b_m_[9] ) mes "Zeny : ^0000FF"+ callfunc("int__", @tmp_ms_b_m_[9] ) +"^000000"; if ( @tmp_ms_b_m_[10] ) mes "Cash Point : ^0000FF"+ callfunc("int__", @tmp_ms_b_m_[10] ) +"^000000"; set .@size, getarraysize(@tmp_ms_b_ia_); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) mes "Item : ^0000FF"+ @tmp_ms_b_ia_[.@i +1] +" "+ getitemname(@tmp_ms_b_ia_[.@i]) +"^000000"; next; if ( @tmp_ms_b_m_$[0] != "" && @tmp_ms_b_m_$[1] != "" && ( @tmp_ms_b_t_ || @tmp_ms_b_ir_ ) && ( @tmp_ms_b_m_[7] || @tmp_ms_b_m_[8] || @tmp_ms_b_m_[9] || @tmp_ms_b_m_[10] || @tmp_ms_b_ia_ ) ) set .@color_all$, "^00CC00"; else set .@color_all$, "^FF0000"; set .@setupmenu, select ( "Important Settings"+( ( @tmp_ms_b_m_$[0] != "" && @tmp_ms_b_m_$[1] != "" && ( @tmp_ms_b_t_ || @tmp_ms_b_ir_ ) )?"":" - ^FF0000Incomplete^000000" ), "Mission Limitations", "Rewards"+ .@color_reward$, .@color_all$ +"Complete "+( ( getarg(0) )?"Edit":"Setup" )+"^000000", "- back" ); switch ( .@setupmenu ) { case 1: while (1) { mes "["+ strnpcinfo(1) +"]"; mes "Name : "+( ( @tmp_ms_b_m_$[0] != "" )?"^0000FF"+ @tmp_ms_b_m_$[0]:"^FF0000Incomplete" )+"^000000"; mes "Description: "+( ( @tmp_ms_b_m_$[1] != "" )?"^0000FF"+ @tmp_ms_b_m_$[1]:"^FF0000Incomplete" )+"^000000"; mes " "; if ( @tmp_ms_b_t_ == 0 && @tmp_ms_b_ir_ == 0 ) mes "Require mobs : ^FF0000Incomplete^000000"; set .@size, getarraysize(@tmp_ms_b_t_); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) mes "Require mobs : ^0000FF"+ @tmp_ms_b_t_[.@i +1] +" "+ getmonsterinfo(@tmp_ms_b_t_[.@i], 0) +"^000000"; if ( @tmp_ms_b_t_ == 0 && @tmp_ms_b_ir_ == 0 ) mes "Require items : ^FF0000Incomplete^000000"; set .@size, getarraysize(@tmp_ms_b_ir_); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) mes "Require items : ^0000FF"+ @tmp_ms_b_ir_[.@i +1] +" "+ getitemname(@tmp_ms_b_ir_[.@i]) +"^000000"; next; set .@importantmenu, select ( "Mission Name"+( ( @tmp_ms_b_m_$[0] != "" )?"":" - ^FF0000Incomplete^000000" ), "Description"+( ( @tmp_ms_b_m_$[1] != "" )?"":" - ^FF0000Incomplete^000000" ), "Require Mobs", "Require Items", "- back" ); switch ( .@importantmenu ) { case 1: mes "["+ strnpcinfo(1) +"]"; mes "Name : "+( ( @tmp_ms_b_m_$[0] != "" )?"^0000FF"+ @tmp_ms_b_m_$[0]:"^FF0000Incomplete" )+"^000000"; mes " "; mes "Input the mission name"; next; input .@tmp$; mes "["+ strnpcinfo(1) +"]"; if ( getstrlen(.@tmp$) > 60 ) { mes "Mission name must not more than 60 characters"; next; break; } else if ( compare ( .@tmp$, ":" ) || compare ( .@tmp$, "^" ) ) { mes "Mission name must not allow to use these symbols"; mes "-> : <- colon"; mes "-> ^ <- caret"; next; break; } mes "Name : "+( ( @tmp_ms_b_m_$[0] != "" )?"^0000FF"+ @tmp_ms_b_m_$[0]:"^FF0000Incomplete" )+"^000000"; mes "Description: "+( ( @tmp_ms_b_m_$[1] != "" )?"^0000FF"+ @tmp_ms_b_m_$[1]:"^FF0000Incomplete" )+"^000000"; mes " "; mes "Are you sure to change the name to"; mes "^0000FF"+ .@tmp$ +"^000000"; next; if ( select ( "Yes", "No" ) == 2 ) break; set @tmp_ms_b_m_$[0], .@tmp$; break; case 2: mes "["+ strnpcinfo(1) +"]"; mes "Name : "+( ( @tmp_ms_b_m_$[0] != "" )?"^0000FF"+ @tmp_ms_b_m_$[0]:"^FF0000Incomplete" )+"^000000"; mes "Description: "+( ( @tmp_ms_b_m_$[1] != "" )?"^0000FF"+ @tmp_ms_b_m_$[1]:"^FF0000Incomplete" )+"^000000"; mes " "; mes "Input the descriptions"; next; set .@tmp1$, ""; set .@tmp2$, ""; set .@tmp3$, ""; set .@tmp, 0; do { set .@tmp, .@tmp +1 ; input getd(".@tmp"+ .@tmp +"$"); } while ( getstrlen( getd(".@tmp"+ .@tmp +"$") ) > 50 && .@tmp < 3 ); mes "["+ strnpcinfo(1) +"]"; mes "Name : "+( ( @tmp_ms_b_m_$[0] != "" )?"^0000FF"+ @tmp_ms_b_m_$[0]:"^FF0000Incomplete" )+"^000000"; mes "Description: "+( ( @tmp_ms_b_m_$[1] != "" )?"^0000FF"+ @tmp_ms_b_m_$[1]:"^FF0000Incomplete" )+"^000000"; mes " "; mes "Are you sure to change description to"; mes "^0000FF"+ .@tmp1$ + .@tmp2$ + .@tmp3$ +"^000000"; next; if ( select ( "Yes", "No" ) == 2 ) break; set @tmp_ms_b_m_$[1], .@tmp1$ + .@tmp2$ + .@tmp3$; break; case 3: if ( getarg(0) ) { mes "["+ strnpcinfo(1) +"]"; mes "Name : "+( ( @tmp_ms_b_m_$[0] != "" )?"^0000FF"+ @tmp_ms_b_m_$[0]:"^FF0000Incomplete" )+"^000000"; mes " "; mes "Require Mobs are not allow to edit"; next; break; } while (1) { mes "["+ strnpcinfo(1) +"]"; mes "Name : "+( ( @tmp_ms_b_m_$[0] != "" )?"^0000FF"+ @tmp_ms_b_m_$[0]:"^FF0000Incomplete" )+"^000000"; mes " "; if ( @tmp_ms_b_t_ == 0 ) mes "Require mobs :"; set .@size, getarraysize(@tmp_ms_b_t_); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) mes "Require mobs : ^0000FF"+ @tmp_ms_b_t_[.@i +1] +" "+ getmonsterinfo(@tmp_ms_b_t_[.@i], 0) +"^000000"; next; set .@mobmenu, select ( "Add a monster requirement", "Remove a monster requirement", "- back" ); switch ( .@mobmenu ) { case 1: mes "["+ strnpcinfo(1) +"]"; mes "Name : "+( ( @tmp_ms_b_m_$[0] != "" )?"^0000FF"+ @tmp_ms_b_m_$[0]:"^FF0000Incomplete" )+"^000000"; mes " "; if ( @tmp_ms_b_t_ == 0 ) mes "Require mobs :"; set .@size, getarraysize(@tmp_ms_b_t_); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) mes "Require mobs : ^0000FF"+ @tmp_ms_b_t_[.@i +1] +" "+ getmonsterinfo(@tmp_ms_b_t_[.@i], 0) +"^000000"; mes " "; if ( .@size == 16 ) { mes "Require mobs are only allow up to 8 different kinds"; next; break; } mes "Input monster ID"; next; input .@tmp, 0, 9999; mes "["+ strnpcinfo(1) +"]"; if ( .@tmp == 0 ) { mes "Invalid monster ID"; next; break; } else if ( getmonsterinfo(.@tmp, 1) == -1 ) { mes "Invalid monster ID"; next; break; } if ( @tmp_ms_b_t_ == 0 ) mes "Require mobs :"; for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) mes "Require mobs : ^0000FF"+ @tmp_ms_b_t_[.@i +1] +" "+ getmonsterinfo(@tmp_ms_b_t_[.@i], 0) +"^000000"; mes " "; for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) { if ( .@tmp == @tmp_ms_b_t_[.@i] ) break; } if ( .@i != .@size ) { mes "Monster ^0000FF"+ getmonsterinfo(.@tmp, 0) +"^000000 is Repeated"; next; break; } mes "Require mobs : ^0000FF"+ getmonsterinfo(.@tmp, 0) +"^000000"; mes "Input an amount need to be hunt"; next; input .@tmp2, 0, 999; if ( .@tmp2 == 0 ) { mes "["+ strnpcinfo(1) +"]"; mes "Invalid amount"; next; } else setarray @tmp_ms_b_t_[ .@size ], .@tmp, .@tmp2; break; case 2: mes "["+ strnpcinfo(1) +"]"; mes "Name : "+( ( @tmp_ms_b_m_$[0] != "" )?"^0000FF"+ @tmp_ms_b_m_$[0]:"^FF0000Incomplete" )+"^000000"; mes " "; if ( @tmp_ms_b_t_ == 0 ) { mes "There are no monster to remove"; next; break; } set .@size, getarraysize(@tmp_ms_b_t_); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) mes "Require mobs : ^0000FF"+ @tmp_ms_b_t_[.@i +1] +" "+ getmonsterinfo(@tmp_ms_b_t_[.@i], 0) +"^000000"; mes " "; mes "Select a mob to delete"; next; set .@menu$, "^0000FF"+ @tmp_ms_b_t_[1] +" "+ getmonsterinfo(@tmp_ms_b_t_, 0); for ( set .@i, 2; .@i < .@size; set .@i, .@i +2 ) set .@menu$, .@menu$ +":"+ @tmp_ms_b_t_[.@i +1] +" "+ getmonsterinfo(@tmp_ms_b_t_[.@i], 0); set .@menu$, .@menu$ +"^000000:- back"; set .@menu, select(.@menu$) -1; if ( .@menu == .@size /2 ) break; deletearray @tmp_ms_b_t_[ .@menu *2 ], 2; case 3: } if ( .@mobmenu == 3 ) break; } break; case 4: while (1) { mes "["+ strnpcinfo(1) +"]"; mes "Name : "+( ( @tmp_ms_b_m_$[0] != "" )?"^0000FF"+ @tmp_ms_b_m_$[0]:"^FF0000Incomplete" )+"^000000"; mes " "; if ( @tmp_ms_b_ir_ == 0 ) mes "Require items :"; set .@size, getarraysize(@tmp_ms_b_ir_); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) mes "Require items : ^0000FF"+ @tmp_ms_b_ir_[.@i +1] +" "+ getitemname(@tmp_ms_b_ir_[.@i]) +"^000000"; next; set .@item_require_menu, select ( "add item requirement", "remove a require item", "- back" ); switch ( .@item_require_menu ) { case 1: mes "["+ strnpcinfo(1) +"]"; mes "Name : "+( ( @tmp_ms_b_m_$[0] != "" )?"^0000FF"+ @tmp_ms_b_m_$[0]:"^FF0000Incomplete" )+"^000000"; mes " "; if ( @tmp_ms_b_ir_ == 0 ) mes "Require items : "; set .@size, getarraysize(@tmp_ms_b_ir_); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) mes "Require items : ^0000FF"+ @tmp_ms_b_ir_[.@i +1] +" "+ getitemname(@tmp_ms_b_ir_[.@i]) +"^000000"; mes " "; if ( .@size == 10 ) { mes "Require items are only allow up to 5 different kinds"; next; break; } mes "Input item ID"; next; input .@tmp, 0, 32767; mes "["+ strnpcinfo(1) +"]"; if ( getitemname(.@tmp) == "null" ) { mes "Invalid item ID"; next; break; } mes "Name : "+( ( @tmp_ms_b_m_$[0] != "" )?"^0000FF"+ @tmp_ms_b_m_$[0]:"^FF0000Incomplete" )+"^000000"; mes " "; if ( @tmp_ms_b_ir_ == 0 ) mes "Require items : "; for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) mes "Require items : ^0000FF"+ @tmp_ms_b_ir_[.@i +1] +" "+ getitemname(@tmp_ms_b_ir_[.@i]) +"^000000"; mes " "; for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) { if ( .@tmp == @tmp_ms_b_ir_[.@i] ) break; } if ( .@i != .@size ) { mes "Item ^0000FF"+ getitemname(.@tmp) +"^000000 is repeated"; next; break; } mes "Require items : ^0000FF"+ getitemname(.@tmp) +"^000000"; mes "input the amount required for this item"; next; input .@tmp2, 0, 30000; if ( .@tmp2 == 0 ) { mes "["+ strnpcinfo(1) +"]"; mes "Invalid amount"; next; } else setarray @tmp_ms_b_ir_[ .@size ], .@tmp, .@tmp2; break; case 2: mes "["+ strnpcinfo(1) +"]"; mes "Name : "+( ( @tmp_ms_b_m_$[0] != "" )?"^0000FF"+ @tmp_ms_b_m_$[0]:"^FF0000Incomplete" )+"^000000"; mes " "; if ( @tmp_ms_b_ir_ == 0 ) { mes "There are no item to be remove"; next; break; } set .@size, getarraysize(@tmp_ms_b_ir_); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) mes "Require items : ^0000FF"+ @tmp_ms_b_ir_[.@i +1] +" "+ getitemname(@tmp_ms_b_ir_[.@i]) +"^000000"; mes " "; mes "Select an item to delete"; next; set .@menu$, "^0000FF"+ @tmp_ms_b_ir_[1] +" "+ getitemname(@tmp_ms_b_ir_); for ( set .@i, 2; .@i < .@size; set .@i, .@i +2 ) set .@menu$, .@menu$ +":"+ @tmp_ms_b_ir_[.@i +1] +" "+ getitemname(@tmp_ms_b_ir_[.@i]); set .@menu$, .@menu$ +"^000000:- back"; set .@menu, select(.@menu$) -1; if ( .@menu == .@size /2 ) break; deletearray @tmp_ms_b_ir_[ .@menu *2 ], 2; case 3: } if ( .@item_require_menu == 3 ) break; } case 5: } if ( .@importantmenu == 5 ) break; } break; case 2: while (1) { mes "["+ strnpcinfo(1) +"]"; mes "Name : "+( ( @tmp_ms_b_m_$[0] != "" )?"^0000FF"+ @tmp_ms_b_m_$[0]:"^FF0000Incomplete" )+"^000000"; mes " "; mes "[^FF0000Limitations^000000]"; mes "Can do : "+( ( @tmp_ms_b_m_[6] == 0 )?"^0000FFRepeatedly": ( @tmp_ms_b_m_[6] == 1 )?"^00CC00Everyday":"^FF0000Only Once" )+"^000000"; mes "Base Level :"+( ( @tmp_ms_b_m_[3] )?" ^0000FF"+ @tmp_ms_b_m_[3] +( ( @tmp_ms_b_m_[3] != @tmp_ms_b_m_[4] )?"~"+ @tmp_ms_b_m_[4]:"" )+"^000000":"" ); mes "Time Limit : "+( ( @tmp_ms_b_m_[5] )?"^FF0000"+( ( @tmp_ms_b_m_[5] /60 )?@tmp_ms_b_m_[5] /60 +" hour"+( ( @tmp_ms_b_m_[5] %60 )?" ":"" ):"" )+( ( @tmp_ms_b_m_[5] %60 )?@tmp_ms_b_m_[5] %60 +" min":"" )+"^000000":"" ); if ( @tmp_ms_b_m_[2] == 0 ) mes "Job Limit : ^FF0000<none>^000000"; else { deletearray .@joblimit; for ( set .@i, 0; .@i < 24; set .@i, .@i +1 ) { if ( @tmp_ms_b_m_[2] & pow( 2, .@i ) ) { set .@joblimit[ getarraysize(.@joblimit) ], .@i +1; } } set .@joblimit$, .jobname$[ .@joblimit[0] -1 ]; set .@size, getarraysize(.@joblimit); for ( set .@i, 1; .@i < .@size; set .@i, .@i +1 ) set .@joblimit$, .@joblimit$ +", "+ .jobname$[ .@joblimit[.@i] -1 ]; mes "Job Limit : ^00CC00"+ .@joblimit$ +"^000000"; } next; set .@limitmenu, select ( "Mission Status (Can do)", "Base Level", "Time Limit", "Job limitation", "- back" ); switch ( .@limitmenu ) { case 1: mes "["+ strnpcinfo(1) +"]"; mes "Name : "+( ( @tmp_ms_b_m_$[0] != "" )?"^0000FF"+ @tmp_ms_b_m_$[0]:"^FF0000Incomplete" )+"^000000"; mes " "; mes "Can do : "+( ( @tmp_ms_b_m_[6] == 0 )?"^0000FFRepeatedly": ( @tmp_ms_b_m_[6] == 1 )?"^00CC00Everyday":"^FF0000Only Once" )+"^000000"; mes "Please select a status"; next; switch ( select ( "^0000FFRepeatedly^000000", "^00CC00Everyday^000000", "^FF0000Only Once^000000" ) ) { case 1: set @tmp_ms_b_m_[6], 0; break; case 2: set @tmp_ms_b_m_[6], 1; break; case 3: set @tmp_ms_b_m_[6], 2; } break; case 2: mes "["+ strnpcinfo(1) +"]"; mes "Name : "+( ( @tmp_ms_b_m_$[0] != "" )?"^0000FF"+ @tmp_ms_b_m_$[0]:"^FF0000Incomplete" )+"^000000"; mes " "; mes "Base Level :"; mes " "; mes "Input starting range"; next; input .@tmp, 0, 1000; if ( .@tmp == 0 ) { mes "["+ strnpcinfo(1) +"]"; mes "invalid value"; set @tmp_ms_b_m_[3], 0; set @tmp_ms_b_m_[4], 0; next; break; } mes "["+ strnpcinfo(1) +"]"; mes "Name : "+( ( @tmp_ms_b_m_$[0] != "" )?"^0000FF"+ @tmp_ms_b_m_$[0]:"^FF0000Incomplete" )+"^000000"; mes " "; mes "Base Level : ^0000FF"+ .@tmp +"~^000000"; mes " "; mes "Input ending range"; next; input .@tmp2, 0, 1000; if ( .@tmp2 == 0 ) { mes "["+ strnpcinfo(1) +"]"; mes "invalid value"; set @tmp_ms_b_m_[3], 0; set @tmp_ms_b_m_[4], 0; next; break; } else if ( .@tmp > .@tmp2 ) { mes "["+ strnpcinfo(1) +"]"; mes "Ending range cannot higher than starting range"; next; break; } else setarray @tmp_ms_b_m_[3], .@tmp, .@tmp2; break; case 3: mes "["+ strnpcinfo(1) +"]"; mes "Name : "+( ( @tmp_ms_b_m_$[0] != "" )?"^0000FF"+ @tmp_ms_b_m_$[0]:"^FF0000Incomplete" )+"^000000"; mes " "; mes "Time Limit : "+( ( @tmp_ms_b_m_[5] )?"^FF0000"+( ( @tmp_ms_b_m_[5] /60 )?@tmp_ms_b_m_[5] /60 +" hour"+( ( @tmp_ms_b_m_[5] %60 )?" ":"" ):"" )+( ( @tmp_ms_b_m_[5] %60 )?@tmp_ms_b_m_[5] %60 +" min":"" )+"^000000":"" ); mes " 1 = 1 minute"; mes " 60 = 1 hour"; mes "1440 = 1 day"; next; input @tmp_ms_b_m_[5], 0, 1440; break; case 4: while (1) { mes "["+ strnpcinfo(1) +"]"; mes "Name : "+( ( @tmp_ms_b_m_$[0] != "" )?"^0000FF"+ @tmp_ms_b_m_$[0]:"^FF0000Incomplete" )+"^000000"; mes " "; if ( @tmp_ms_b_m_[2] == 0 ) mes "Job Limit : ^FF0000<none>^000000"; else { deletearray .@joblimit; for ( set .@i, 0; .@i < 24; set .@i, .@i +1 ) { if ( @tmp_ms_b_m_[2] & pow( 2, .@i ) ) { set .@joblimit[ getarraysize(.@joblimit) ], .@i +1; } } set .@joblimit$, .jobname$[ .@joblimit[0] -1 ]; set .@size, getarraysize(.@joblimit); for ( set .@i, 1; .@i < .@size; set .@i, .@i +1 ) set .@joblimit$, .@joblimit$ +", "+ .jobname$[ .@joblimit[.@i] -1 ]; mes "Job Limit : ^00CC00"+ .@joblimit$ +"^000000"; } next; set .@menu$, ( ( @tmp_ms_b_m_[2] & pow( 2, 0 ) )?"^00CC00":"^FF0000" )+ .jobname$; for ( set .@i, 1; .@i < 24; set .@i,.@i +1 ) set .@menu$, .@menu$ +":"+( ( @tmp_ms_b_m_[2] & pow( 2, .@i ) )?"^00CC00":"^FF0000" )+ .jobname$[.@i]; set .@menu$, .@menu$ +":^000000- back"; set .@menu, select(.@menu$) -1; if ( .@menu == 24 ) break; set @tmp_ms_b_m_[2], @tmp_ms_b_m_[2] ^ pow( 2, .@menu ); } break; case 5: } if ( .@limitmenu == 5 ) break; } break; case 3: while (1) { mes "["+ strnpcinfo(1) +"]"; mes "Name : "+( ( @tmp_ms_b_m_$[0] != "" )?"^0000FF"+ @tmp_ms_b_m_$[0]:"^FF0000Incomplete" )+"^000000"; mes " "; mes "[^009900Rewards^000000]"; mes "Base Exp : "+( ( @tmp_ms_b_m_[7] )?"^0000FF"+ callfunc("int__", @tmp_ms_b_m_[7] ):"^FF00000" ) +"^000000"; mes "Job Exp : "+( ( @tmp_ms_b_m_[8] )?"^0000FF"+ callfunc("int__", @tmp_ms_b_m_[8] ):"^FF00000" ) +"^000000"; mes "Zeny : "+( ( @tmp_ms_b_m_[9] )?"^0000FF"+ callfunc("int__", @tmp_ms_b_m_[9] ):"^FF00000" ) +"^000000 "; mes "Cash Point : "+( ( @tmp_ms_b_m_[10] )?"^0000FF"+ callfunc("int__", @tmp_ms_b_m_[10] ):"^FF00000" ) +"^000000"; if ( @tmp_ms_b_ia_ == 0 ) mes "Item : "; set .@size, getarraysize(@tmp_ms_b_ia_); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) mes "Item : ^0000FF"+ @tmp_ms_b_ia_[.@i +1] +" "+ getitemname(@tmp_ms_b_ia_[.@i]) +"^000000"; next; set .@rewardmenu, select ( "Base Exp", "Job Exp", "Zeny", "Cash Points", "Item Rewards", "- back" ); switch ( .@rewardmenu ) { case 1: input @tmp_ms_b_m_[7], 0, 2000000000; break; case 2: input @tmp_ms_b_m_[8], 0, 2000000000; break; case 3: input @tmp_ms_b_m_[9], 0, 2000000000; break; case 4: input @tmp_ms_b_m_[10], 0, 2000000000; break; case 5: while (1) { mes "["+ strnpcinfo(1) +"]"; mes "Name : "+( ( @tmp_ms_b_m_$[0] != "" )?"^0000FF"+ @tmp_ms_b_m_$[0]:"^FF0000Incomplete" )+"^000000"; mes " "; if ( @tmp_ms_b_ia_ == 0 ) mes "Item :"; set .@size, getarraysize(@tmp_ms_b_ia_); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) mes "Item : ^0000FF"+ @tmp_ms_b_ia_[.@i +1] +" "+ getitemname(@tmp_ms_b_ia_[.@i]) +"^000000"; next; set .@item_reward_menu, select ( "Add an item reward", "Remove an item reward", "- back" ); switch ( .@item_reward_menu ) { case 1: mes "["+ strnpcinfo(1) +"]"; mes "Name : "+( ( @tmp_ms_b_m_$[0] != "" )?"^0000FF"+ @tmp_ms_b_m_$[0]:"^FF0000Incomplete" )+"^000000"; mes " "; if ( @tmp_ms_b_ia_ == 0 ) mes "Item : "; set .@size, getarraysize(@tmp_ms_b_ia_); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) mes "Item : ^0000FF"+ @tmp_ms_b_ia_[.@i +1] +" "+ getitemname(@tmp_ms_b_ia_[.@i]) +"^000000"; mes " "; if ( .@size == 10 ) { mes "Items Rewards are only allow up to 5 different kinds"; next; break; } mes "Input item id"; next; input .@tmp, 0, 32767; mes "["+ strnpcinfo(1) +"]"; if ( getitemname(.@tmp) == "null" ) { mes "Invalid item id"; next; break; } mes "Name : "+( ( @tmp_ms_b_m_$[0] != "" )?"^0000FF"+ @tmp_ms_b_m_$[0]:"^FF0000Incomplete" )+"^000000"; mes " "; if ( @tmp_ms_b_ia_ == 0 ) mes "Item : "; for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) mes "Item : ^0000FF"+ @tmp_ms_b_ia_[.@i +1] +" "+ getitemname(@tmp_ms_b_ia_[.@i]) +"^000000"; mes " "; for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) { if ( .@tmp == @tmp_ms_b_ia_[.@i] ) break; } if ( .@i != .@size ) { mes "Item ^0000FF"+ getitemname(.@tmp) +"^000000 is repeated"; next; break; } mes "Item : ^0000FF"+ getitemname(.@tmp) +"^000000"; mes "Input the amount rewards for this item"; next; input .@tmp2, 0, 30000; if ( .@tmp2 == 0 ) { mes "["+ strnpcinfo(1) +"]"; mes "Invalid amount"; next; } else setarray @tmp_ms_b_ia_[ .@size ], .@tmp, .@tmp2; break; case 2: mes "["+ strnpcinfo(1) +"]"; mes "Name : "+( ( @tmp_ms_b_m_$[0] != "" )?"^0000FF"+ @tmp_ms_b_m_$[0]:"^FF0000Incomplete" )+"^000000"; mes " "; if ( @tmp_ms_b_ia_ == 0 ) { mes "There is no item rewards to remove"; next; break; } set .@size, getarraysize(@tmp_ms_b_ia_); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) mes "Item : ^0000FF"+ @tmp_ms_b_ia_[.@i +1] +" "+ getitemname(@tmp_ms_b_ia_[.@i]) +"^000000"; mes " "; mes "Select an item rewards to delete"; next; set .@menu$, "^0000FF"+ @tmp_ms_b_ia_[1] +" "+ getitemname(@tmp_ms_b_ia_); for ( set .@i, 2; .@i < .@size; set .@i, .@i +2 ) set .@menu$, .@menu$ +":"+ @tmp_ms_b_ia_[.@i +1] +" "+ getitemname(@tmp_ms_b_ia_[.@i]); set .@menu$, .@menu$ +"^000000:- back"; set .@menu, select(.@menu$) -1; if ( .@menu == .@size /2 ) break; deletearray @tmp_ms_b_ia_[ .@menu *2 ], 2; case 3: } if ( .@item_reward_menu == 3 ) break; } case 6: } if ( .@rewardmenu == 6 ) break; } break; case 4: mes "["+ strnpcinfo(1) +"]"; if ( @tmp_ms_b_m_$[0] != "" && @tmp_ms_b_m_$[1] != "" && ( @tmp_ms_b_t_ || @tmp_ms_b_ir_ ) && ( @tmp_ms_b_m_[7] || @tmp_ms_b_m_[8] || @tmp_ms_b_m_[9] || @tmp_ms_b_m_[10] || @tmp_ms_b_ia_ ) ) { mes "mission ID: ^996600"+( ( getarg(0) == 0 )?$ms_b_id +1:@m_id )+"^000000"; mes "Name : ^0000FF"+ @tmp_ms_b_m_$[0] +"^000000"; } else { mes "Name : "+( ( @tmp_ms_b_m_$[0] != "" )?"^0000FF"+ @tmp_ms_b_m_$[0]:"^FF0000Incomplete" )+"^000000"; mes " "; mes "Some field are still Incomplete !"; next; break; } mes "Description: ^0000FF"+ @tmp_ms_b_m_$[1] +"^000000"; mes " "; set .@size, getarraysize(@tmp_ms_b_t_); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) mes "Require mobs : ^0000FF"+ @tmp_ms_b_t_[.@i +1] +" "+ getmonsterinfo(@tmp_ms_b_t_[.@i], 0) +"^000000"; set .@size, getarraysize(@tmp_ms_b_ir_); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) mes "Require items : ^0000FF"+ @tmp_ms_b_ir_[.@i +1] +" "+ getitemname(@tmp_ms_b_ir_[.@i]) +"^000000"; mes " "; if ( @tmp_ms_b_m_[6] || @tmp_ms_b_m_[3] || @tmp_ms_b_m_[5] || @tmp_ms_b_m_[2] ) { mes "[^FF0000Limitations^000000]"; if ( @tmp_ms_b_m_[6] ) mes "Can do : "+( ( @tmp_ms_b_m_[6] == 1 )?"^00CC00Everyday":"^FF0000Only Once" )+"^000000"; if ( @tmp_ms_b_m_[3] ) mes "Base Level :"+( ( @tmp_ms_b_m_[3] )?" ^0000FF"+ @tmp_ms_b_m_[3] +( ( @tmp_ms_b_m_[3] != @tmp_ms_b_m_[4] )?"~"+ @tmp_ms_b_m_[4]:"" )+"^000000":"" ); if ( @tmp_ms_b_m_[5] ) mes "Time Limit : ^FF0000"+( ( @tmp_ms_b_m_[5] /60 )?@tmp_ms_b_m_[5] /60 +" hour"+( ( @tmp_ms_b_m_[5] %60 )?" ":"" ):"" )+( ( @tmp_ms_b_m_[5] %60 )?@tmp_ms_b_m_[5] %60 +" min":"" )+"^000000"; if ( @tmp_ms_b_m_[2] ) { deletearray .@joblimit; for ( set .@i, 0; .@i < 24; set .@i, .@i +1 ) { if ( @tmp_ms_b_m_[2] & pow( 2, .@i ) ) { set .@joblimit[ getarraysize(.@joblimit) ], .@i +1; } } set .@joblimit$, .jobname$[ .@joblimit[0] -1 ]; set .@size, getarraysize(.@joblimit); for ( set .@i, 1; .@i < .@size; set .@i, .@i +1 ) set .@joblimit$, .@joblimit$ +", "+ .jobname$[ .@joblimit[.@i] -1 ]; mes "Job Limit : ^00CC00"+ .@joblimit$ +"^000000"; } mes " "; } mes "[^009900Rewards^000000]"; if ( @tmp_ms_b_m_[7] ) mes "Base Exp : ^0000FF"+ callfunc("int__", @tmp_ms_b_m_[7] ) +"^000000"; if ( @tmp_ms_b_m_[8] ) mes "Job Exp : ^0000FF"+ callfunc("int__", @tmp_ms_b_m_[8] ) +"^000000"; if ( @tmp_ms_b_m_[9] ) mes "Zeny : ^0000FF"+ callfunc("int__", @tmp_ms_b_m_[9] ) +"^000000"; if ( @tmp_ms_b_m_[10] ) mes "Cash Point : ^0000FF"+ callfunc("int__", @tmp_ms_b_m_[10] ) +"^000000"; set .@size, getarraysize(@tmp_ms_b_ia_); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) mes "Item : ^0000FF"+ @tmp_ms_b_ia_[.@i +1] +" "+ getitemname(@tmp_ms_b_ia_[.@i]) +"^000000"; return 1; case 5: return 0; } } end; OnInit: bindatcmd "mission", "mission::OnWhisperGlobal"; set .loading, 1; set .total_npc, .total_npc +1 ; if ( atoi( strnpcinfo(2) ) <= 0 || atoi( strnpcinfo(2) ) > 127 ) { debugmes "Mission Board: invalid npc id #"+ strnpcinfo(2); goto L_load_finish; } else if ( .ms_b_name$[ atoi( strnpcinfo(2) ) ] != "" ) { debugmes "Mission Board: duplicate npc id #"+ strnpcinfo(2); set .duplicate_id[ getarraysize(.duplicate_id) ], atoi( strnpcinfo(2) ); goto L_load_finish; } set .ms_b_name$[ atoi( strnpcinfo(2) ) ], strnpcinfo(1); explode .@ms_b_n_$, getd("$ms_b_n_"+ strnpcinfo(2) +"$"), "#"; set .@ex_size, getarraysize(.@ms_b_n_$); set .@i, 0; while ( .@i < .@ex_size ) { setd ".ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]", atoi( .@ms_b_n_$[.@i] ); set .@i, .@i +1 ; } set .@size, getarraysize( getd(".ms_b_n_"+ strnpcinfo(2) ) ); while ( .@id < .@size ) { set .@m_id, getd(".ms_b_n_"+ strnpcinfo(2) +"["+ .@id +"]"); explode .@ms_b_m_$[2], getd("$ms_b_m_"+ .@m_id +"$[2]"), "#"; set .@ex_size, getarraysize(.@ms_b_m_$); set .@i, 0; while ( .@i < .@ex_size ) { setd ".ms_b_m_"+ .@m_id +"["+ .@i +"]", atoi( .@ms_b_m_$[.@i] ); set .@i, .@i +1 ; } explode .@ms_b_t_$, getd("$ms_b_m_"+ .@m_id +"$[3]"), "#"; set .@ex_size, getarraysize(.@ms_b_t_$); set .@i, 0; while ( .@i < .@ex_size ) { setd ".ms_b_t_"+ .@m_id +"["+ .@i +"]", atoi( .@ms_b_t_$[.@i] ); set .@i, .@i +1 ; } copyarray getd(".ms_b_ir_"+ .@m_id), getd(".ms_b_t_"+ .@m_id +"[16]"), 10; copyarray getd(".ms_b_ia_"+ .@m_id), getd(".ms_b_t_"+ .@m_id +"[26]"), 10; deletearray getd(".ms_b_t_"+ .@m_id +"[16]"), 20; set .@id, .@id +1 ; sleep 1; } L_load_finish: set .finish, .finish +1; if ( .finish == .total_npc ) { set .finish, 0; set .total_npc, 0; set .loading, 0; setarray .jobname$, "(Super) Novice","Swordman","Mage","Archer","Acolyte","Merchant","Thief","Knight","Priest","Wizard","Blacksmith","Hunter","Assassin","Crusader","Monk","Sage","Rogue","Alchemist","Bard/Dancer","Taekwon","Star Gladiator","Soul Linker","Gunslinger","Ninja"; } end; } - script mission -1,{ OnWhisperGlobal: if ( getvariableofnpc( .loading, "ms_b_") == 1 ) { dispbottom "Mission Board: Loading Mission Data ......"; end; } if ( @ms_b_loading == 1 ) { dispbottom "Mission Board: Loading Player Data ......"; end; } for ( set .@i, 1; .@i <= 4; set .@i, .@i +1 ) { if ( getd("@ms_b_m_"+ .@i) ) { if ( getd("$ms_b_m_"+ getd("@ms_b_m_"+ .@i +"[0]") +"$[0]") == "" ) { dispbottom "Mission Board: Your Mission#"+ .@i +" has deleted because it is no longer available"; deletearray getd("@ms_b_m_"+ .@i); setd "ms_b_m_"+ .@i +"$", ""; deltimer "ms_b_::OnQuest"+ .@i +"TimeUp"; } else if ( getd("@ms_b_m_"+ .@i +"[1]") && getd("@ms_b_m_"+ .@i +"[1]") <= gettimetick(2) ) { dispbottom "Mission #1: "+ getd("$ms_b_m_"+ getd("@ms_b_m_"+ .@i +"[0]") +"$[0]") +" has Time Up"; deletearray getd("@ms_b_m_"+ .@i); setd "ms_b_m_"+ .@i +"$", ""; deltimer "ms_b_::OnQuest"+ .@i +"TimeUp"; } } } dispbottom "[Mission Progress]"; if ( @ms_b_m_1 == 0 && @ms_b_m_2 == 0 && @ms_b_m_3 == 0 && @ms_b_m_4 == 0 ) { dispbottom "You haven't accepted any mission(s) yet!"; end; } for ( set .@j, 1; .@j <= 4; set .@j, .@j +1 ) { if ( getd("@ms_b_m_"+ .@j +"[0]") ) { dispbottom "-----------------------"; dispbottom "Mission #"+ .@j +": "+ getd("$ms_b_m_"+ getd("@ms_b_m_"+ .@j +"[0]") +"$[0]"); if ( getvariableofnpc( getd(".ms_b_m_"+ getd("@ms_b_m_"+ .@j +"[0]") +"[5]"), "ms_b_" ) ) { set .@left, getd("@ms_b_m_"+ .@j +"[1]") - gettimetick(2); set .@hour, .@left / 3600; set .@min, .@left % 3600 / 60; set .@sec, .@left % 60; dispbottom "Time Left: "+( ( .@hour )?.@hour +" hour ":"" )+( ( .@hour || .@min )?.@min +" min ":"" )+ .@sec +" sec"; } if ( getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ .@j +"[0]") ), "ms_b_" ) ) { set .@size, getarraysize( getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ .@j +"[0]") ), "ms_b_" ) ); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) dispbottom "Monsters killed: "+ getmonsterinfo( getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ .@j +"[0]") +"["+ .@i +"]"), "ms_b_" ) , 0) +" ["+( ( getd("@ms_b_m_"+ .@j +"["+( .@i/2 +2 )+"]") > getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ .@j +"[0]") +"["+ (.@i +1) +"]"), "ms_b_" ) )?getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ .@j +"[0]") +"["+ (.@i +1) +"]"), "ms_b_" ):getd("@ms_b_m_"+ .@j +"["+( .@i/2 +2 )+"]") ) +"/"+ getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ .@j +"[0]") +"["+ (.@i +1) +"]"), "ms_b_" ) +"]"; } if ( getvariableofnpc( getd(".ms_b_ir_"+ getd("@ms_b_m_"+ .@j +"[0]") ), "ms_b_" ) ) { set .@size, getarraysize( getvariableofnpc( getd(".ms_b_ir_"+ getd("@ms_b_m_"+ .@j +"[0]") ), "ms_b_" ) ); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) dispbottom "Items Collected: "+ getitemname( getvariableofnpc( getd(".ms_b_ir_"+ getd("@ms_b_m_"+ .@j +"[0]") +"["+ .@i +"]"), "ms_b_" ) ) +" ["+ countitem( getvariableofnpc( getd(".ms_b_ir_"+ getd("@ms_b_m_"+ .@j +"[0]") +"["+ .@i +"]"), "ms_b_" ) ) +"/"+ getvariableofnpc( getd(".ms_b_ir_"+ getd("@ms_b_m_"+ .@j +"[0]") +"["+ (.@i +1) +"]"), "ms_b_" ) +"]"; } } } dispbottom " -----------------------"; end; OnNPCKillEvent: set .@killedrid, killedrid; if ( getvariableofnpc( .loading, "ms_b_") == 1 ) end; if ( getcharid(1) == 0 ) { if ( @ms_b_loading == 1 ) end; for ( set .@j, 1; .@j <= 4; set .@j, .@j +1 ) { if ( getd("@ms_b_m_"+ .@j +"[0]") ) { if ( getd("$ms_b_m_"+ getd("@ms_b_m_"+ .@j +"[0]") +"$[0]") == "" ) { dispbottom "Mission Board: Your Mission#"+ .@j +" has deleted because it is no longer available"; deletearray getd("@ms_b_m_"+ .@j); setd "ms_b_m_"+ .@j +"$", ""; deltimer "ms_b_::OnQuest"+ .@j +"TimeUp"; } else { set .@size, getarraysize( getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ .@j +"[0]") ), "ms_b_" ) ); for ( set .@i, 0; .@i < .@size; set .@i, .@i +2 ) { if ( .@killedrid == getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ .@j +"[0]") +"["+ .@i +"]"), "ms_b_" ) && getd("@ms_b_m_"+ .@j +"["+( .@i/2 +2 )+"]") < getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ .@j +"[0]") +"["+( .@i +1 )+"]"), "ms_b_" ) ) { setd "@ms_b_m_"+ .@j +"["+( .@i/2 +2 )+"]", getd("@ms_b_m_"+ .@j +"["+( .@i/2 +2 )+"]") +1; dispbottom "Mission #"+ .@j +". You have killed "+ getmonsterinfo( getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ .@j +"[0]") +"["+ .@i +"]"), "ms_b_" ), 0 ) +" ["+ getd("@ms_b_m_"+ .@j +"["+( .@i/2 +2 )+"]") +"/"+ getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ .@j +"[0]") +"["+( .@i +1 )+"]"), "ms_b_" ) +"]"; setd "ms_b_m_"+ .@j +"$", getd("@ms_b_m_"+ .@j +"[0]") +"#"+( ( getd("@ms_b_m_"+ .@j +"[1]") )?getd("@ms_b_m_"+ .@j +"[1]"):"" )+"#"+( ( getd("@ms_b_m_"+ .@j +"[2]") )?getd("@ms_b_m_"+ .@j +"[2]"):"" )+"#"+( ( getd("@ms_b_m_"+ .@j +"[3]") )?getd("@ms_b_m_"+ .@j +"[3]"):"" )+"#"+( ( getd("@ms_b_m_"+ .@j +"[4]") )?getd("@ms_b_m_"+ .@j +"[4]"):"" )+"#"+( ( getd("@ms_b_m_"+ .@j +"[5]") )?getd("@ms_b_m_"+ .@j +"[5]"):"" )+"#"+( ( getd("@ms_b_m_"+ .@j +"[6]") )?getd("@ms_b_m_"+ .@j +"[6]"):"" )+"#"+( ( getd("@ms_b_m_"+ .@j +"[7]") )?getd("@ms_b_m_"+ .@j +"[7]"):"" )+"#"+( ( getd("@ms_b_m_"+ .@j +"[8]") )?getd("@ms_b_m_"+ .@j +"[8]"):"" )+"#"+( ( getd("@ms_b_m_"+ .@j +"[9]") )?getd("@ms_b_m_"+ .@j +"[9]"):"" ); } } } } } end; } getmapxy .@map1$, .@x1, .@y1, 0; getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; set .@k, 0; while ( .@k < $@partymembercount ) { if ( isloggedin( $@partymemberaid[.@k], $@partymembercid[.@k] ) ) { attachrid $@partymemberaid[.@k]; getmapxy .@map2$, .@x2, .@y2, 0; if ( @ms_b_loading == 0 && .@map1$ == .@map2$ && distance(.@x1,.@y1,.@x2,.@y2) <= 30 && Hp ) { set .@j, 1; while ( .@j <= 4 ) { if ( getd("@ms_b_m_"+ .@j +"[0]") ) { if ( getd("$ms_b_m_"+ getd("@ms_b_m_"+ .@j +"[0]") +"$[0]") == "" ) { dispbottom "Mission Board: Your Mission#"+ .@j +" has deleted because it is no longer available"; deletearray getd("@ms_b_m_"+ .@j); setd "ms_b_m_"+ .@j +"$", ""; deltimer "ms_b_::OnQuest"+ .@j +"TimeUp"; } else { set .@i, 0; set .@size, getarraysize( getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ .@j +"[0]") ), "ms_b_" ) ); while ( .@i < .@size ) { if ( .@killedrid == getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ .@j +"[0]") +"["+ .@i +"]"), "ms_b_" ) && getd("@ms_b_m_"+ .@j +"["+( .@i/2 +2 )+"]") < getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ .@j +"[0]") +"["+( .@i +1 )+"]"), "ms_b_" ) ) { setd "@ms_b_m_"+ .@j +"["+( .@i/2 +2 )+"]", getd("@ms_b_m_"+ .@j +"["+( .@i/2 +2 )+"]") +1; dispbottom "Mission #"+ .@j +". You have killed "+ getmonsterinfo( getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ .@j +"[0]") +"["+ .@i +"]"), "ms_b_" ), 0 ) +" ["+ getd("@ms_b_m_"+ .@j +"["+( .@i/2 +2 )+"]") +"/"+ getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ .@j +"[0]") +"["+( .@i +1 )+"]"), "ms_b_" ) +"]"; setd "ms_b_m_"+ .@j +"$", getd("@ms_b_m_"+ .@j +"[0]") +"#"+( ( getd("@ms_b_m_"+ .@j +"[1]") )?getd("@ms_b_m_"+ .@j +"[1]"):"" )+"#"+( ( getd("@ms_b_m_"+ .@j +"[2]") )?getd("@ms_b_m_"+ .@j +"[2]"):"" )+"#"+( ( getd("@ms_b_m_"+ .@j +"[3]") )?getd("@ms_b_m_"+ .@j +"[3]"):"" )+"#"+( ( getd("@ms_b_m_"+ .@j +"[4]") )?getd("@ms_b_m_"+ .@j +"[4]"):"" )+"#"+( ( getd("@ms_b_m_"+ .@j +"[5]") )?getd("@ms_b_m_"+ .@j +"[5]"):"" )+"#"+( ( getd("@ms_b_m_"+ .@j +"[6]") )?getd("@ms_b_m_"+ .@j +"[6]"):"" )+"#"+( ( getd("@ms_b_m_"+ .@j +"[7]") )?getd("@ms_b_m_"+ .@j +"[7]"):"" )+"#"+( ( getd("@ms_b_m_"+ .@j +"[8]") )?getd("@ms_b_m_"+ .@j +"[8]"):"" )+"#"+( ( getd("@ms_b_m_"+ .@j +"[9]") )?getd("@ms_b_m_"+ .@j +"[9]"):"" ); } set .@i, .@i +2 ; } } } set .@j, .@j +1 ; } } } set .@k, .@k +1 ; } end; OnPCLoginEvent: set @ms_b_loading, 1; set .@j, 1; while ( .@j <= 4 ) { if ( getd("ms_b_m_"+ .@j +"$") != "" ) { explode getd(".@ms_b_m_"+ .@j +"$"), getd("ms_b_m_"+ .@j +"$"), "#"; set .@ex_size, getarraysize( getd(".@ms_b_m_"+ .@j +"$") ); set .@i, 0; while ( .@i < .@ex_size ) { setd "@ms_b_m_"+ .@j +"["+ .@i +"]", atoi( getd(".@ms_b_m_"+ .@j +"$["+ .@i +"]") ); set .@i, .@i +1 ; } } set .@j, .@j +1 ; } sleep2 1; set .@l, 0; while ( .@npc_id < 128 ) { if ( getvariableofnpc( .ms_b_name$[.@npc_id], "ms_b_" ) != "" ) { explode getd(".@ms_b_n_"+ .@npc_id +"$"), getd("ms_b_n_"+ .@npc_id +"$"), "#"; set .@ex_size, getarraysize( getd(".@ms_b_n_"+ .@npc_id +"$") ); set .@i, 0; while ( .@i < .@ex_size ) { setd "@ms_b_n_"+ .@npc_id +"["+ .@i +"]", atoi( getd(".@ms_b_n_"+ .@npc_id +"$["+ .@i +"]") ); set .@i, .@i +1 ; } sleep2 1; } set .@npc_id, .@npc_id +1 ; } sleep2 1; set @ms_b_loading, 0; if ( getvariableofnpc( .loading, "ms_b_" ) == 0 ) { set .@j, 1; while ( .@j <= 4 ) { if ( getd("@ms_b_m_"+ .@j +"[0]") ) { if ( getd("$ms_b_m_"+ getd("@ms_b_m_"+ .@j +"[0]") +"$[0]") == "" ) { dispbottom "Mission Board: Your Mission#"+ .@j +" has deleted because it is no longer available"; deletearray getd("@ms_b_m_"+ .@j); setd "ms_b_m_"+ .@j +"$", ""; } else if ( getd("@ms_b_m_"+ .@j +"[1]") ) { if ( getd("@ms_b_m_"+ .@j +"[1]") > gettimetick(2) ) addtimer ( getd("@ms_b_m_"+ .@j +"[1]") - gettimetick(2) ) *1000, "ms_b_::OnQuest"+ .@j +"TimeUp"; else doevent "ms_b_::OnQuest"+ .@j +"TimeUp"; } } set .@j, .@j +1 ; } } end; } // create more missions by using npc duplicates // display name can be anything, but the hidden name #1 #2 #35 must be a number within 1 ~ 126 // Note: npc display name plus the hidden name must not more than 23 characters veil,90,112,6 duplicate(ms_b_) Useable Item Quest#3 805 veil,89,115,6 duplicate(ms_b_) Headgear Quest#4 805 veil,88,118,6 duplicate(ms_b_) Costume Quest#5 805
  12. i am trying to add item script in item_db.txt, but somehow when i test it kinda fail, i tested by making the item +5, it suppose to +20 INT, but in my char it dint add up.. 32024,Blue_Butterfly_Wings,Blue Butterfly Wings,4,,,100,,5,,0,0xFFFFFFFF,7,2,256,,0,1,2001,{ skill "AL_HEAL",5; skill "AL_TELEPORT",1; if(getrefine()>9) {bonus bDex,20;} if(getrefine()>7) { bonus bVit,20;} if(getrefine()>5) {bonus bInt,20;}},{},{} also is this correct?? 32022,Blue_Butterfly_Wings8,Blue Butterfly Wings Tier 8,4,,,100,,1,,0,0xFFFFFFFF,7,2,4096,,0,1,2000,{ bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player,55; },{},{}
  13. Thank you guys, i will try both options and see which is better. again thank you, i will post later after done several testing
  14. Hello guys, im not sure if these question falls either source modification or here, if your a mod please move it to proper section, thanks Back to topic as title i want to disable vending to the whole entire map, and only 1 map are able for player to vend, i did some search, but somehow it claim that all i need is to edit, rathena/conf/mapflag/novending.txt ?? but it seems that my rathena folder dont even have that file, Please and thank you for your time
  15. err how ??? im kinda confused there
  16. i have 3 custom item, which all 3 using the same sprite, will these error effect my server? like crash or something later on? # i was planing to have 10 custom item using the same sprites # p/s : not sure if these question fall in the right categories, please, kindly move my question to proper section if these fall to wrong section MOD
  17. Hello guys, i got some question, recently i have added a custom item which is costume wings in mid costume slot, but somehow when ever i equip any mid headgear armor, it wont show, any idea how to fix? Wearing Red Glasses no costume wing equipped Wearing Red Glasses with costume wing equipped, as u can see Red Glasses is missing
  18. i am not sure which part i did wrong, i know it had something to do with server cant locate the sprite, but how can i fix it?
  19. a continue problem from my previous question that had been resolve, which can be read from here: Previous Question the objective was to add a custom item, but once i had resolve with iteminfo.lua problem, this error came up... any idea what it is? and how can i resolve it??
  20. still not working, same error ( " ) missing on other line, i have used note++ still same result, brackets same result, after searching for answer, i found this topic https://rathena.org/board/topic/113177-issue-adding-slots-to-iteminfolua/#comment-335580 it resolve the issue regarding iteminfo.lua but new problem appear, i will make a new question, since this question have been answer
  21. Yea i have check and correct it, but whenever i save it, then run sever another line will lose its ( " ) So when i fix that other line, and save it, the same process repeat, another line lose ( " ) and again, again, and again and emmmm yeah again ! Lol....
  22. after edited as shown same error came out, here is my item info.lua in full length : Download current error :
  23. software used notepad+++ added custom wing but sadly this error came up, how can i resolve it? iteminfo.lua [32014] = { unidentifiedDisplayName = "Blue_Butterfly_Wings", unidentifiedResourceName = "Blue_Butterfly_Wings", unidentifiedDescriptionName = { "Unknown Item, can be identified by using a ^6666CCMagnifier^000000." }, identifiedDisplayName = "Blue_Butterfly_Wings", identifiedResourceName = "Blue_Butterfly_Wings", identifiedDescriptionName = { "..." }, slotCount = 0, ClassNum = 1004 },
  24. AnnieRuru wow thanks, i will try it now
×
×
  • Create New...