-
Posts
547 -
Joined
-
Last visited
-
Days Won
3
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by Dolphin86
-
im trying to install flux cp but this error came up saying host is not allowed to connect, also i upload mysql database user, i have my web hosting and my vps on different hosting server.php: are these correct? if so it will still have same result <?php return array( // Example server configuration. You may have more arrays like this one to // specify multiple server groups (however they should share the same login // server whilst they are allowed to have multiple char/map pairs). array( 'ServerName' => 'Jebat RO FluxCP', // Global database configuration (excludes logs database configuration). 'DbConfig' => array( //'Socket' => '/tmp/mysql.sock', //'Port' => 3306, //'Encoding' => 'utf8', // Connection encoding -- use whatever here your MySQL tables collation is. 'Convert' => 'utf8', // -- 'Convert' option only works when 'Encoding' option is specified and iconv (http://php.net/iconv) is available. // -- It specifies the encoding to convert your MySQL data to on the website (most likely needs to be utf8) 'Hostname' => 'VPS IP', 'Username' => 'root', <-- should these be root or non root linux user? i try both didnt work 'Password' => 'HIDE', 'Database' => 'server_rag', 'Persistent' => true, 'Timezone' => null // Example: '+0:00' is UTC. // The possible values of 'Timezone' is as documented from the MySQL website: // "The value can be given as a string indicating an offset from UTC, such as '+10:00' or '-6:00'." // "The value can be given as a named time zone, such as 'Europe/Helsinki', 'US/Eastern', or 'MET'." (see below continuation!) // **"Named time zones can be used only if the time zone information tables in the mysql database have been created and populated." ), // This is kept separate because many people choose to have their logs // database accessible under different credentials, and often on a // different server entirely to ensure the reliability of the log data. 'LogsDbConfig' => array( //'Socket' => '/tmp/mysql.sock', //'Port' => 3306, //'Encoding' => null, // Connection encoding -- use whatever here your MySQL tables collation is. 'Convert' => 'utf8', // -- 'Convert' option only works when 'Encoding' option is specified and iconv (http://php.net/iconv) is available. // -- It specifies the encoding to convert your MySQL data to on the website (most likely needs to be utf8) 'Hostname' => 'VPS IP', 'Username' => 'root', 'Password' => 'HIDE', 'Database' => 'server_rag', 'Persistent' => true, 'Timezone' => null // Possible values is as described in the comment in DbConfig. ), // Login server configuration. 'LoginServer' => array( 'Address' => 'VPS IP', 'Port' => 6900, 'UseMD5' => false, 'NoCase' => true, // rA account case-sensitivity; Default: Case-INsensitive (true). 'GroupID' => 0, // Default account group ID during registration. //'Database' => 'ragnarok' ), 'CharMapServers' => array( array( 'ServerName' => 'JebatRO FluxCP', 'Renewal' => false, 'MaxCharSlots' => 9, 'DateTimezone' => null, // Specifies game server's timezone for this char/map pair. (See: http://php.net/timezones) //'ResetDenyMaps' => 'sec_pri', // Defaults to 'sec_pri'. This value can be an array of map names. //'Database' => 'ragnarok', // Defaults to DbConfig.Database 'ExpRates' => array( 'Base' => 100, // Rate at which (base) exp is given 'Job' => 100, // Rate at which job exp is given 'Mvp' => 100 // MVP bonus exp rate ), 'DropRates' => array( // The rate the common items (in the ETC tab, besides card) are dropped 'Common' => 100, 'CommonBoss' => 100, // The rate healing items (that restore HP or SP) are dropped 'Heal' => 100, 'HealBoss' => 100, // The rate usable items (in the item tab other then healing items) are dropped 'Useable' => 100, 'UseableBoss' => 100, // The rate at which equipment is dropped 'Equip' => 100, 'EquipBoss' => 100, // The rate at which cards are dropped 'Card' => 100, 'CardBoss' => 100, // The rate adjustment for the MVP items that the MVP gets directly in their inventory 'MvpItem' => 100 ), 'CharServer' => array( 'Address' => 'VPS IP', 'Port' => 6121 ), 'MapServer' => array( 'Address' => 'VPS IP', 'Port' => 5121 ), // -- WoE days and times -- // First parameter: Starding day 0=Sunday / 1=Monday / 2=Tuesday / 3=Wednesday / 4=Thursday / 5=Friday / 6=Saturday // Second parameter: Starting hour in 24-hr format. // Third paramter: Ending day (possible value is same as starting day). // Fourth (final) parameter: Ending hour in 24-hr format. // ** (Note, invalid times are ignored silently.) 'WoeDayTimes' => array( //array(0, '12:00', 0, '14:00'), // Example: Starts Sunday 12:00 PM and ends Sunday 2:00 PM //array(3, '14:00', 3, '15:00') // Example: Starts Wednesday 2:00 PM and ends Wednesday 3:00 PM ), // Modules and/or actions to disallow access to during WoE. 'WoeDisallow' => array( array('module' => 'character', 'action' => 'online'), // Disallow access to "Who's Online" page during WoE. array('module' => 'character', 'action' => 'mapstats') // Disallow access to "Map Statistics" page during WoE. ) ) ) ) ); ?> ok soo GRANT ALL PRIVILEGES ON `database`.* TO 'username'@'ip' IDENTIFIED BY 'password' WITH GRANT OPTION; database is rathena_rag username is non root linux id ip is my vps ip or my web hosting ip? and password is my non root linux id password?
-
found the problem turns out i did not install mariadb...
-
ok i need help when i try to compile my fresh new server it came with these error, i did make some search it say i need gcc package and yes i did install it but same error came up.. help? make: *** No rule to make target `clean'. Stop.
-
what i did wrong? MariaDB [(none)]> GRANT SELECT,INSERT,UPDATE,DELETE ON rathena8601\_rag.* TO 'rathena8601'@'localhost'; ERROR: Unknown command '\_'. ERROR 1046 (3D000): No database selected MariaDB [(none)]>
-
nevermind i simply did not remove databse,
-
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?
-
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.
-
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
-
wont that effect other item as well?
-
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
-
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
-
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
-
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
-
i did not see the preview functions?
-
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__ { [email protected] = getstrlen( [email protected]$ = getarg(0) ) -3; [email protected]_negative = charat( [email protected]$, 0 ) == "-"; while ( [email protected] > [email protected]_negative ) { [email protected]$ = insertchar( [email protected]$, ",", [email protected] ); [email protected] -= 3; } return [email protected]$; } //===== 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 [email protected], getarraysize(.duplicate_id); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +1 ) { if ( .duplicate_id[[email protected]] == 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 [email protected], 1; [email protected] <= 4; set [email protected], [email protected] +1 ) { if ( getd("@ms_b_m_"+ [email protected]) ) { if ( getd("$ms_b_m_"+ getd("@ms_b_m_"+ [email protected] +"[0]") +"$[0]") == "" ) { dispbottom "Mission Board: Your Mission#"+ [email protected] +" has been deleted because it is no longer available."; deletearray getd("@ms_b_m_"+ [email protected]); setd "ms_b_m_"+ [email protected] +"$", ""; deltimer "ms_b_::OnQuest"+ [email protected] +"TimeUp"; } else if ( getd("@ms_b_m_"+ [email protected] +"[1]") && getd("@ms_b_m_"+ [email protected] +"[1]") <= gettimetick(2) ) { dispbottom "Mission #"+ [email protected] +": "+ getd("$ms_b_m_"+ getd("@ms_b_m_"+ [email protected] +"[0]") +"$[0]") +" has expired!"; deletearray getd("@ms_b_m_"+ [email protected]); setd "ms_b_m_"+ [email protected] +"$", ""; deltimer "ms_b_::OnQuest"+ [email protected] +"TimeUp"; } } } set [email protected], getarraysize( getd("@ms_b_n_"+ strnpcinfo(2)) ); for ( set [email protected], 1; [email protected] < [email protected]; set [email protected], [email protected] +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) +"["+ [email protected] +"]") +"[6]") == 1 || getd(".ms_b_m_"+ getd("@ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]") +"[6]") == 0 ) { deletearray getd("@ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]"), 1; set [email protected], [email protected] -1 ; set [email protected], [email protected] -1; } } if ( getd("@ms_b_n_"+ strnpcinfo(2) +"[1]") ) { setd "ms_b_n_"+ strnpcinfo(2) +"$", gettimestr("%Y%m%d", 9); set [email protected], getarraysize( getd("@ms_b_n_"+ strnpcinfo(2) ) ); for ( set [email protected], 1; [email protected] < [email protected]; set [email protected], [email protected] +1 ) setd "ms_b_n_"+ strnpcinfo(2) +"$", getd("ms_b_n_"+ strnpcinfo(2) +"$") +"#"+ getd("@ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]"); 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 [email protected], getarraysize( getd(".ms_b_t_"+ getd("@ms_b_m_"+ @slot +"[0]") ) ); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) { if ( getd("@ms_b_m_"+ @slot +"["+( [email protected]/2 +2 )+"]") < getd(".ms_b_t_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ ([email protected] +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 [email protected], getarraysize( getd(".ms_b_ir_"+ getd("@ms_b_m_"+ @slot +"[0]") ) ); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) { if ( countitem( getd(".ms_b_ir_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ [email protected] +"]") ) < getd(".ms_b_ir_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ ([email protected] +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 [email protected], getarraysize( getd(".ms_b_ia_"+ getd("@ms_b_m_"+ @slot +"[0]") ) ); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) { set [email protected], [email protected] + getiteminfo( getd(".ms_b_ia_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ [email protected] +"]"), 6 ) * getd(".ms_b_ia_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ ([email protected] +1) +"]"); } if ( @inventorylist_count > 95 || Weight + [email protected] > 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 [email protected], getarraysize( getd(".ms_b_ir_"+ getd("@ms_b_m_"+ @slot +"[0]") ) ); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) delitem getd(".ms_b_ir_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ [email protected] +"]"), getd(".ms_b_ir_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ ([email protected] +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 [email protected], getarraysize( getd(".ms_b_ia_"+ getd("@ms_b_m_"+ @slot +"[0]") ) ); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) { mes "Item : ^0000FF"+ getd(".ms_b_ia_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ ([email protected] +1) +"]") +" "+ getitemname( getd(".ms_b_ia_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ [email protected] +"]") ) +"^000000"; getitem getd(".ms_b_ia_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ [email protected] +"]"), getd(".ms_b_ia_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ ([email protected] +1) +"]"); } if ( getd(".ms_b_m_"+ getd("@ms_b_m_"+ @slot +"[0]") +"[6]") ) { set [email protected], 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) +"["+ [email protected] +"]", getd("@ms_b_m_"+ @slot +"[0]"); setd "ms_b_n_"+ strnpcinfo(2) +"$", gettimestr("%Y%m%d", 9); for ( set [email protected], 1; [email protected] <= [email protected]; set [email protected], [email protected] +1 ) setd "ms_b_n_"+ strnpcinfo(2) +"$", getd("ms_b_n_"+ strnpcinfo(2) +"$") +"#"+ getd("@ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]"); 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 [email protected], 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_"+ [email protected] +"[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 [email protected], pow(2,0); else if ( basejob == Job_Swordman ) set [email protected], pow(2,1); else if ( basejob == Job_Mage ) set [email protected], pow(2,2); else if ( basejob == Job_Archer ) set [email protected], pow(2,3); else if ( basejob == Job_Acolyte ) set [email protected], pow(2,4); else if ( basejob == Job_Merchant ) set [email protected], pow(2,5); else if ( basejob == Job_Thief ) set [email protected], pow(2,6); else if ( basejob == Job_Knight ) set [email protected], pow(2,7); else if ( basejob == Job_Priest ) set [email protected], pow(2,8); else if ( basejob == Job_Wizard ) set [email protected], pow(2,9); else if ( basejob == Job_Blacksmith ) set [email protected], pow(2,10); else if ( basejob == Job_Hunter ) set [email protected], pow(2,11); else if ( basejob == Job_Assassin ) set [email protected], pow(2,12); else if ( basejob == Job_Crusader ) set [email protected], pow(2,13); else if ( basejob == Job_Monk ) set [email protected], pow(2,14); else if ( basejob == Job_Sage ) set [email protected], pow(2,15); else if ( basejob == Job_Rogue ) set [email protected], pow(2,16); else if ( basejob == Job_Alchemist ) set [email protected], pow(2,17); else if ( basejob == Job_Bard || basejob == Job_Dancer ) set [email protected], pow(2,18); else if ( basejob == Job_Taekwon ) set [email protected], pow(2,19); else if ( basejob == Job_Star_Gladiator ) set [email protected], pow(2,20); else if ( basejob == Job_Soul_Linker ) set [email protected], pow(2,21); else if ( basejob == Job_Gunslinger ) set [email protected], pow(2,22); else if ( basejob == Job_Ninja ) set [email protected], pow(2,23); next; while (1) { set [email protected]$, ""; set [email protected], 0; set [email protected], getarraysize( getd(".ms_b_n_"+ strnpcinfo(2)) ); set [email protected], getarraysize( getd("@ms_b_n_"+ strnpcinfo(2)) ); while ( [email protected] < [email protected] ) { set [email protected], 1; while ( [email protected] < [email protected] && getd("@ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]") != getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]") ) set [email protected], [email protected] +1 ; set [email protected]$, "^00AA00"; if ( [email protected] != [email protected] && [email protected] || @ms_b_m_1[0] == getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]") || @ms_b_m_2[0] == getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]") || @ms_b_m_3[0] == getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]") || @ms_b_m_4[0] == getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]") || getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]") +"[3]") && ( BaseLevel < getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]") +"[3]") || BaseLevel > getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]") +"[4]") ) || getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]") +"[2]") && getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]") +"[2]") & [email protected] == 0 ) set [email protected]$, "^FF0000"; set [email protected]$, [email protected]$ + [email protected]$ + getd("$ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]") +"$") +":"; set [email protected], [email protected] +1 ; } set [email protected], select([email protected]$) -1; set [email protected]_id, getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]"); mes "["+ strnpcinfo(1) +"]"; mes "^0000FF"+ getd("$ms_b_m_"+ [email protected]_id +"$[0]") +"^000000"; mes "Description: ^0000FF"+ getd("$ms_b_m_"+ [email protected]_id +"$[1]") +"^000000"; if ( getd(".ms_b_m_"+ [email protected]_id +"[6]") ) { for ( set [email protected], 1; [email protected] < [email protected]; set [email protected], [email protected] +1 ) { if ( getd("@ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]") == [email protected]_id ) break; } mes "Status : "+( ( [email protected] == [email protected] || getd("@ms_b_n_"+ strnpcinfo(2)) == 0 )?"^FF0000Incomplete":"^00CC00Completed" )+"^000000"; } mes " "; set [email protected], getarraysize( getd(".ms_b_t_"+ [email protected]_id) ); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) mes "Require Mobs : ^0000FF"+ getd(".ms_b_t_"+ [email protected]_id +"["+ ([email protected] +1) +"]") +" "+ getmonsterinfo( getd(".ms_b_t_"+ [email protected]_id +"["+ [email protected] +"]") , 0) +"^000000"; set [email protected], getarraysize( getd(".ms_b_ir_"+ [email protected]_id) ); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) mes "Require Items : ^0000FF"+ getd(".ms_b_ir_"+ [email protected]_id +"["+ ([email protected] +1) +"]") +" "+ getitemname( getd(".ms_b_ir_"+ [email protected]_id +"["+ [email protected] +"]") ) +"^000000"; mes " "; if ( getd(".ms_b_m_"+ [email protected]_id +"[6]") || getd(".ms_b_m_"+ [email protected]_id +"[3]") || getd(".ms_b_m_"+ [email protected]_id +"[5]") || getd(".ms_b_m_"+ [email protected]_id +"[2]") ) { mes "[^FF0000Limitations^000000]"; if ( getd(".ms_b_m_"+ [email protected]_id +"[6]") ) mes "Can do : "+( ( getd(".ms_b_m_"+ [email protected]_id +"[6]") == 1 )?"^00CC00Everyday":"^FF0000Only Once" )+"^000000"; if ( getd(".ms_b_m_"+ [email protected]_id +"[3]") ) mes "Base Level :"+( ( getd(".ms_b_m_"+ [email protected]_id +"[3]") )?" ^0000FF"+ getd(".ms_b_m_"+ [email protected]_id +"[3]") +( ( getd(".ms_b_m_"+ [email protected]_id +"[3]") != getd(".ms_b_m_"+ [email protected]_id +"[4]") )?"~"+ getd(".ms_b_m_"+ [email protected]_id +"[4]"):"" )+"^000000":"" ); if ( getd(".ms_b_m_"+ [email protected]_id +"[5]") ) mes "Time Limit : ^FF0000"+( ( getd(".ms_b_m_"+ [email protected]_id +"[5]") /60 )?getd(".ms_b_m_"+ [email protected]_id +"[5]") /60 +" hour"+( ( getd(".ms_b_m_"+ [email protected]_id +"[5]") %60 )?" ":"" ):"" )+( ( getd(".ms_b_m_"+ [email protected]_id +"[5]") %60 )?getd(".ms_b_m_"+ [email protected]_id +"[5]") %60 +" min":"" )+"^000000"; if ( getd(".ms_b_m_"+ [email protected]_id +"[2]") ) { deletearray [email protected]; for ( set [email protected], 0; [email protected] < 24; set [email protected], [email protected] +1 ) { if ( getd(".ms_b_m_"+ [email protected]_id +"[2]") & pow( 2, [email protected] ) ) { set [email protected][ getarraysize([email protected]) ], [email protected] +1; } } set [email protected]$, .jobname$[ [email protected][0] -1 ]; set [email protected], getarraysize([email protected]); for ( set [email protected], 1; [email protected] < [email protected]; set [email protected], [email protected] +1 ) set [email protected]$, [email protected]$ +", "+ .jobname$[ [email protected][[email protected]] -1 ]; mes "Job Limit : ^00CC00"+ [email protected]$ +"^000000"; } mes " "; } mes "[^009900Rewards^000000]"; if ( getd(".ms_b_m_"+ [email protected]_id +"[7]") ) mes "Base Exp : ^0000FF"+ callfunc("int__", getd(".ms_b_m_"+ [email protected]_id +"[7]") ) +"^000000"; if ( getd(".ms_b_m_"+ [email protected]_id +"[8]") ) mes "Job Exp : ^0000FF"+ callfunc("int__", getd(".ms_b_m_"+ [email protected]_id +"[8]") ) +"^000000"; if ( getd(".ms_b_m_"+ [email protected]_id +"[9]") ) mes "Zeny : ^0000FF"+ callfunc("int__", getd(".ms_b_m_"+ [email protected]_id +"[9]") ) +"^000000"; if ( getd(".ms_b_m_"+ [email protected]_id +"[10]") ) mes "Cash Point : ^0000FF"+ callfunc("int__", getd(".ms_b_m_"+ [email protected]_id +"[10]") ) +"^000000"; set [email protected], getarraysize( getd(".ms_b_ia_"+ [email protected]_id ) ); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) mes "Item : ^0000FF"+ getd(".ms_b_ia_"+ [email protected]_id +"["+ ([email protected] +1) +"]") +" "+ getitemname( getd(".ms_b_ia_"+ [email protected]_id +"["+ [email protected] +"]") ) +"^000000"; next; if ( select ( "- Accept this mission", "- Pick another mission" ) == 1 ) { for ( set [email protected], 1; [email protected] < [email protected]; set [email protected], [email protected] +1 ) { if ( getd("@ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]") == [email protected]_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 [email protected], 1; next; break; } } if ( [email protected] == 0 && ( @ms_b_m_1[0] == [email protected]_id || @ms_b_m_2[0] == [email protected]_id || @ms_b_m_3[0] == [email protected]_id || @ms_b_m_4[0] == [email protected]_id ) ) { mes "["+ strnpcinfo(1) +"]"; mes "You already taken this mission"; set [email protected], 1; next; } if ( [email protected] == 0 && getd(".ms_b_m_"+ [email protected]_id +"[3]") && ( BaseLevel < getd(".ms_b_m_"+ [email protected]_id +"[3]") || BaseLevel > getd(".ms_b_m_"+ [email protected]_id +"[4]") ) ) { mes "["+ strnpcinfo(1) +"]"; mes "You're not within the level range to accept this mission!"; set [email protected], 1; next; } if ( [email protected] == 0 && getd(".ms_b_m_"+ [email protected]_id +"[2]") ) { if ( getd(".ms_b_m_"+ [email protected]_id +"[2]") & [email protected] == 0 ) { mes "["+ strnpcinfo(1) +"]"; mes "Your current job class is not allowed to do this mission"; set [email protected], 1; next; } } if ( [email protected] == 0 ) break; } set [email protected], 0; } mes "["+ strnpcinfo(1) +"]"; mes "You have accepted the following mission:"; mes "^0000FF"+ getd("$ms_b_m_"+ [email protected]_id +"$[0]") +"^000000"; if ( getd(".ms_b_m_"+ [email protected]_id +"[5]") ) { mes "Time Left : ^FF0000"+( ( getd(".ms_b_m_"+ [email protected]_id +"[5]") /60 )?getd(".ms_b_m_"+ [email protected]_id +"[5]") /60 +" hour"+( ( getd(".ms_b_m_"+ [email protected]_id +"[5]") %60 )?" ":"" ):"" )+( ( getd(".ms_b_m_"+ [email protected]_id +"[5]") %60 )?getd(".ms_b_m_"+ [email protected]_id +"[5]") %60 +" min":"" )+"^000000"; addtimer getd(".ms_b_m_"+ [email protected]_id +"[5]") * 60 * 1000, "ms_b_::OnQuest"+ [email protected] +"TimeUp"; setd "@ms_b_m_"+ [email protected] +"[1]", gettimetick(2) + getd(".ms_b_m_"+ [email protected]_id +"[5]") * 60; } setd "@ms_b_m_"+ [email protected] +"[0]", [email protected]_id; setd "ms_b_m_"+ [email protected] +"$", getd("@ms_b_m_"+ [email protected] +"[0]") +"#"+ getd("@ms_b_m_"+ [email protected] +"[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 [email protected], getarraysize( getd(".ms_b_n_"+ strnpcinfo(2) ) ); for ( set [email protected], 1; [email protected] < [email protected]; set [email protected], [email protected] +1 ) setd "$ms_b_n_"+ strnpcinfo(2) +"$", getd("$ms_b_n_"+ strnpcinfo(2) +"$") +"#"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]"); 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] )[email protected]_ms_b_m_[2]:"" )+"#"+( ( @tmp_ms_b_m_[3] )[email protected]_ms_b_m_[3]:"" )+"#"+( ( @tmp_ms_b_m_[4] )[email protected]_ms_b_m_[4]:"" )+"#"+( ( @tmp_ms_b_m_[5] )[email protected]_ms_b_m_[5]:"" )+"#"+( ( @tmp_ms_b_m_[6] )[email protected]_ms_b_m_[6]:"" )+"#"+( ( @tmp_ms_b_m_[7] )[email protected]_ms_b_m_[7]:"" )+"#"+( ( @tmp_ms_b_m_[8] )[email protected]_ms_b_m_[8]:"" )+"#"+( ( @tmp_ms_b_m_[9] )[email protected]_ms_b_m_[9]:"" )+"#"+( ( @tmp_ms_b_m_[10] )[email protected]_ms_b_m_[10]:"" )+"#"+( ( @tmp_ms_b_m_[11] )[email protected]_ms_b_m_[11]:"" )+"#"+( ( @tmp_ms_b_m_[12] )[email protected]_ms_b_m_[12]:"" )+"#"+( ( @tmp_ms_b_m_[13] )[email protected]_ms_b_m_[13]:"" ), ( ( @tmp_ms_b_t_[0] )[email protected]_ms_b_t_[0]:"" )+"#"+( ( @tmp_ms_b_t_[1] )[email protected]_ms_b_t_[1]:"" )+"#"+( ( @tmp_ms_b_t_[2] )[email protected]_ms_b_t_[2]:"" )+"#"+( ( @tmp_ms_b_t_[3] )[email protected]_ms_b_t_[3]:"" )+"#"+( ( @tmp_ms_b_t_[4] )[email protected]_ms_b_t_[4]:"" )+"#"+( ( @tmp_ms_b_t_[5] )[email protected]_ms_b_t_[5]:"" )+"#"+( ( @tmp_ms_b_t_[6] )[email protected]_ms_b_t_[6]:"" )+"#"+( ( @tmp_ms_b_t_[7] )[email protected]_ms_b_t_[7]:"" )+"#"+( ( @tmp_ms_b_t_[8] )[email protected]_ms_b_t_[8]:"" )+"#"+( ( @tmp_ms_b_t_[9] )[email protected]_ms_b_t_[9]:"" )+"#"+( ( @tmp_ms_b_t_[10] )[email protected]_ms_b_t_[10]:"" )+"#"+( ( @tmp_ms_b_t_[11] )[email protected]_ms_b_t_[11]:"" )+"#"+( ( @tmp_ms_b_t_[12] )[email protected]_ms_b_t_[12]:"" )+"#"+( ( @tmp_ms_b_t_[13] )[email protected]_ms_b_t_[13]:"" )+"#"+( ( @tmp_ms_b_t_[14] )[email protected]_ms_b_t_[14]:"" )+"#"+( ( @tmp_ms_b_t_[15] )[email protected]_ms_b_t_[15]:"" )+"#"+( ( @tmp_ms_b_ir_[0] )[email protected]_ms_b_ir_[0]:"" )+"#"+( ( @tmp_ms_b_ir_[1] )[email protected]_ms_b_ir_[1]:"" )+"#"+( ( @tmp_ms_b_ir_[2] )[email protected]_ms_b_ir_[2]:"" )+"#"+( ( @tmp_ms_b_ir_[3] )[email protected]_ms_b_ir_[3]:"" )+"#"+( ( @tmp_ms_b_ir_[4] )[email protected]_ms_b_ir_[4]:"" )+"#"+( ( @tmp_ms_b_ir_[5] )[email protected]_ms_b_ir_[5]:"" )+"#"+( ( @tmp_ms_b_ir_[6] )[email protected]_ms_b_ir_[6]:"" )+"#"+( ( @tmp_ms_b_ir_[7] )[email protected]_ms_b_ir_[7]:"" )+"#"+( ( @tmp_ms_b_ir_[8] )[email protected]_ms_b_ir_[8]:"" )+"#"+( ( @tmp_ms_b_ir_[9] )[email protected]_ms_b_ir_[9]:"" )+"#"+( ( @tmp_ms_b_ia_[0] )[email protected]_ms_b_ia_[0]:"" )+"#"+( ( @tmp_ms_b_ia_[1] )[email protected]_ms_b_ia_[1]:"" )+"#"+( ( @tmp_ms_b_ia_[2] )[email protected]_ms_b_ia_[2]:"" )+"#"+( ( @tmp_ms_b_ia_[3] )[email protected]_ms_b_ia_[3]:"" )+"#"+( ( @tmp_ms_b_ia_[4] )[email protected]_ms_b_ia_[4]:"" )+"#"+( ( @tmp_ms_b_ia_[5] )[email protected]_ms_b_ia_[5]:"" )+"#"+( ( @tmp_ms_b_ia_[6] )[email protected]_ms_b_ia_[6]:"" )+"#"+( ( @tmp_ms_b_ia_[7] )[email protected]_ms_b_ia_[7]:"" )+"#"+( ( @tmp_ms_b_ia_[8] )[email protected]_ms_b_ia_[8]:"" )+"#"+( ( @tmp_ms_b_ia_[9] )[email protected]_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 [email protected]$, "^0000FF"; else if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"[0]") +"[6]") == 1 ) set [email protected]$, "^00CC00"; else if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"[0]") +"[6]") == 2 ) set [email protected]$, "^FF0000"; set [email protected]$, "^996600"+ getd(".ms_b_n_"+ strnpcinfo(2) +"[0]") +". "+ [email protected]$ + getd("$ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"[0]") +"$"); set [email protected], getarraysize( getd(".ms_b_n_"+ strnpcinfo(2)) ); for ( set [email protected], 1; [email protected] < [email protected]; set [email protected], [email protected] +1 ) { if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]") +"[6]") == 0 ) set [email protected]$, "^0000FF"; else if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]") +"[6]") == 1 ) set [email protected]$, "^00CC00"; else if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]") +"[6]") == 2 ) set [email protected]$, "^FF0000"; set [email protected]$, [email protected]$ +":^996600"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]") +". "+ [email protected]$ + getd("$ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]") +"$"); } set [email protected]$, [email protected]$ +":^000000 - back"; set [email protected], select([email protected]$) -1; if ( [email protected] == [email protected] ) break; set @m_id, getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]"); 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] )[email protected]_ms_b_m_[2]:"" )+"#"+( ( @tmp_ms_b_m_[3] )[email protected]_ms_b_m_[3]:"" )+"#"+( ( @tmp_ms_b_m_[4] )[email protected]_ms_b_m_[4]:"" )+"#"+( ( @tmp_ms_b_m_[5] )[email protected]_ms_b_m_[5]:"" )+"#"+( ( @tmp_ms_b_m_[6] )[email protected]_ms_b_m_[6]:"" )+"#"+( ( @tmp_ms_b_m_[7] )[email protected]_ms_b_m_[7]:"" )+"#"+( ( @tmp_ms_b_m_[8] )[email protected]_ms_b_m_[8]:"" )+"#"+( ( @tmp_ms_b_m_[9] )[email protected]_ms_b_m_[9]:"" )+"#"+( ( @tmp_ms_b_m_[10] )[email protected]_ms_b_m_[10]:"" )+"#"+( ( @tmp_ms_b_m_[11] )[email protected]_ms_b_m_[11]:"" )+"#"+( ( @tmp_ms_b_m_[12] )[email protected]_ms_b_m_[12]:"" )+"#"+( ( @tmp_ms_b_m_[13] )[email protected]_ms_b_m_[13]:"" ), ( ( @tmp_ms_b_t_[0] )[email protected]_ms_b_t_[0]:"" )+"#"+( ( @tmp_ms_b_t_[1] )[email protected]_ms_b_t_[1]:"" )+"#"+( ( @tmp_ms_b_t_[2] )[email protected]_ms_b_t_[2]:"" )+"#"+( ( @tmp_ms_b_t_[3] )[email protected]_ms_b_t_[3]:"" )+"#"+( ( @tmp_ms_b_t_[4] )[email protected]_ms_b_t_[4]:"" )+"#"+( ( @tmp_ms_b_t_[5] )[email protected]_ms_b_t_[5]:"" )+"#"+( ( @tmp_ms_b_t_[6] )[email protected]_ms_b_t_[6]:"" )+"#"+( ( @tmp_ms_b_t_[7] )[email protected]_ms_b_t_[7]:"" )+"#"+( ( @tmp_ms_b_t_[8] )[email protected]_ms_b_t_[8]:"" )+"#"+( ( @tmp_ms_b_t_[9] )[email protected]_ms_b_t_[9]:"" )+"#"+( ( @tmp_ms_b_t_[10] )[email protected]_ms_b_t_[10]:"" )+"#"+( ( @tmp_ms_b_t_[11] )[email protected]_ms_b_t_[11]:"" )+"#"+( ( @tmp_ms_b_t_[12] )[email protected]_ms_b_t_[12]:"" )+"#"+( ( @tmp_ms_b_t_[13] )[email protected]_ms_b_t_[13]:"" )+"#"+( ( @tmp_ms_b_t_[14] )[email protected]_ms_b_t_[14]:"" )+"#"+( ( @tmp_ms_b_t_[15] )[email protected]_ms_b_t_[15]:"" )+"#"+( ( @tmp_ms_b_ir_[0] )[email protected]_ms_b_ir_[0]:"" )+"#"+( ( @tmp_ms_b_ir_[1] )[email protected]_ms_b_ir_[1]:"" )+"#"+( ( @tmp_ms_b_ir_[2] )[email protected]_ms_b_ir_[2]:"" )+"#"+( ( @tmp_ms_b_ir_[3] )[email protected]_ms_b_ir_[3]:"" )+"#"+( ( @tmp_ms_b_ir_[4] )[email protected]_ms_b_ir_[4]:"" )+"#"+( ( @tmp_ms_b_ir_[5] )[email protected]_ms_b_ir_[5]:"" )+"#"+( ( @tmp_ms_b_ir_[6] )[email protected]_ms_b_ir_[6]:"" )+"#"+( ( @tmp_ms_b_ir_[7] )[email protected]_ms_b_ir_[7]:"" )+"#"+( ( @tmp_ms_b_ir_[8] )[email protected]_ms_b_ir_[8]:"" )+"#"+( ( @tmp_ms_b_ir_[9] )[email protected]_ms_b_ir_[9]:"" )+"#"+( ( @tmp_ms_b_ia_[0] )[email protected]_ms_b_ia_[0]:"" )+"#"+( ( @tmp_ms_b_ia_[1] )[email protected]_ms_b_ia_[1]:"" )+"#"+( ( @tmp_ms_b_ia_[2] )[email protected]_ms_b_ia_[2]:"" )+"#"+( ( @tmp_ms_b_ia_[3] )[email protected]_ms_b_ia_[3]:"" )+"#"+( ( @tmp_ms_b_ia_[4] )[email protected]_ms_b_ia_[4]:"" )+"#"+( ( @tmp_ms_b_ia_[5] )[email protected]_ms_b_ia_[5]:"" )+"#"+( ( @tmp_ms_b_ia_[6] )[email protected]_ms_b_ia_[6]:"" )+"#"+( ( @tmp_ms_b_ia_[7] )[email protected]_ms_b_ia_[7]:"" )+"#"+( ( @tmp_ms_b_ia_[8] )[email protected]_ms_b_ia_[8]:"" )+"#"+( ( @tmp_ms_b_ia_[9] )[email protected]_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 [email protected]$, "^0000FF"; else if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"[0]") +"[6]") == 1 ) set [email protected]$, "^00CC00"; else if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"[0]") +"[6]") == 2 ) set [email protected]$, "^FF0000"; set [email protected]$, "^996600"+ getd(".ms_b_n_"+ strnpcinfo(2) +"[0]") +". "+ [email protected]$ + getd("$ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"[0]") +"$"); set [email protected], getarraysize( getd(".ms_b_n_"+ strnpcinfo(2)) ); for ( set [email protected], 1; [email protected] < [email protected]; set [email protected], [email protected] +1 ) { if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]") +"[6]") == 0 ) set [email protected]$, "^0000FF"; else if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]") +"[6]") == 1 ) set [email protected]$, "^00CC00"; else if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]") +"[6]") == 2 ) set [email protected]$, "^FF0000"; set [email protected]$, [email protected]$ +":^996600"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]") +". "+ [email protected]$ + getd("$ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]") +"$"); } set [email protected]$, [email protected]$ +":^000000 - back"; set [email protected], select([email protected]$) -1; if ( [email protected] == [email protected] ) break; mes "["+ strnpcinfo(1) +"]"; mes "Are you sure that you want to delete the selected mission?"; mes " "; set [email protected]_id, getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]"); if ( getd(".ms_b_m_"+ [email protected]_id +"[6]") == 0 ) set [email protected]$, "^0000FF"; else if ( getd(".ms_b_m_"+ [email protected]_id +"[6]") == 1 ) set [email protected]$, "^00CC00"; else if ( getd(".ms_b_m_"+ [email protected]_id +"[6]") == 2 ) set [email protected]$, "^FF0000"; mes "^996600"+ [email protected]_id +". "+ [email protected]$ + getd("$ms_b_m_"+ [email protected]_id +"$") +"^000000"; mes "Description: ^0000FF"+ getd("$ms_b_m_"+ [email protected]_id +"$[1]") +"^000000"; next; if ( select ( "No", "Yes" ) == 1 ) break; mes "["+ strnpcinfo(1) +"]"; mes "Mission has deleted successfully"; mes " "; mes "^996600"+ [email protected]_id +". "+ [email protected]$ + getd("$ms_b_m_"+ [email protected]_id +"$") +"^000000"; deletearray getd(".ms_b_m_"+ [email protected]_id +"$"); deletearray getd(".ms_b_m_"+ [email protected]_id ); deletearray getd(".ms_b_t_"+ [email protected]_id ); deletearray getd(".ms_b_ir_"+ [email protected]_id ); deletearray getd(".ms_b_ia_"+ [email protected]_id ); deletearray getd("$ms_b_m_"+ [email protected]_id +"$"); deletearray getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]"), 1; setd "$ms_b_n_"+ strnpcinfo(2) +"$", ( ( getd(".ms_b_n_"+ strnpcinfo(2) +"[0]") )?getd(".ms_b_n_"+ strnpcinfo(2) +"[0]"):"" ); set [email protected], getarraysize( getd(".ms_b_n_"+ strnpcinfo(2) ) ); for ( set [email protected], 1; [email protected] < [email protected]; set [email protected], [email protected] +1 ) setd "$ms_b_n_"+ strnpcinfo(2) +"$", getd("$ms_b_n_"+ strnpcinfo(2) +"$") +"#"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]") +"#"; 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 [email protected]$, "^0000FF"; else if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"[0]") +"[6]") == 1 ) set [email protected]$, "^00CC00"; else if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"[0]") +"[6]") == 2 ) set [email protected]$, "^FF0000"; set [email protected]$, "^996600"+ getd(".ms_b_n_"+ strnpcinfo(2) +"[0]") +". "+ [email protected]$ + getd("$ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"[0]") +"$"); set [email protected], getarraysize( getd(".ms_b_n_"+ strnpcinfo(2)) ); for ( set [email protected], 1; [email protected] < [email protected]; set [email protected], [email protected] +1 ) { if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]") +"[6]") == 0 ) set [email protected]$, "^0000FF"; else if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]") +"[6]") == 1 ) set [email protected]$, "^00CC00"; else if ( getd(".ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]") +"[6]") == 2 ) set [email protected]$, "^FF0000"; set [email protected]$, [email protected]$ +":^996600"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]") +". "+ [email protected]$ + getd("$ms_b_m_"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]") +"$"); } set [email protected]$, [email protected]$ +":^000000 - back"; set [email protected], select([email protected]$) -1; if ( [email protected] == [email protected] ) break; mes "["+ strnpcinfo(1) +"]"; mes "mission selected :"; set [email protected]_id1, getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]"); if ( getd(".ms_b_m_"+ [email protected]_id1 +"[6]") == 0 ) set [email protected]$, "^0000FF"; else if ( getd(".ms_b_m_"+ [email protected]_id1 +"[6]") == 1 ) set [email protected]$, "^00CC00"; else if ( getd(".ms_b_m_"+ [email protected]_id1 +"[6]") == 2 ) set [email protected]$, "^FF0000"; mes "^996600"+ [email protected]_id1 +". "+ [email protected]$ + getd("$ms_b_m_"+ [email protected]_id1 +"$") +"^000000"; mes " "; mes "Please select another mission to be swapped:"; next; set [email protected], select([email protected]$) -1; if ( [email protected] == [email protected] ) break; mes "["+ strnpcinfo(1) +"]"; mes "Missions has swapped successfully"; set [email protected]_id2, getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]"); if ( getd(".ms_b_m_"+ [email protected]_id2 +"[6]") == 0 ) set [email protected]$, "^0000FF"; else if ( getd(".ms_b_m_"+ [email protected]_id2 +"[6]") == 1 ) set [email protected]$, "^00CC00"; else if ( getd(".ms_b_m_"+ [email protected]_id2 +"[6]") == 2 ) set [email protected]$, "^FF0000"; mes "^996600"+ [email protected]_id1 +". "+ [email protected]$ + getd("$ms_b_m_"+ [email protected]_id1 +"$") +"^000000"; mes "^996600"+ [email protected]_id2 +". "+ [email protected]$ + getd("$ms_b_m_"+ [email protected]_id2 +"$") +"^000000"; setd ".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]", [email protected]_id2; setd ".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]", [email protected]_id1; setd "$ms_b_n_"+ strnpcinfo(2) +"$", getd(".ms_b_n_"+ strnpcinfo(2) +"[0]"); set [email protected], getarraysize( getd(".ms_b_n_"+ strnpcinfo(2) ) ); for ( set [email protected], 1; [email protected] < [email protected]; set [email protected], [email protected] +1 ) setd "$ms_b_n_"+ strnpcinfo(2) +"$", getd("$ms_b_n_"+ strnpcinfo(2) +"$") +"#"+ getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]"); 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 [email protected], getd("@ms_b_m_"+ @slot +"[1]") - gettimetick(2); set [email protected], [email protected] / 3600; set [email protected], [email protected] % 3600 / 60; set [email protected], [email protected] % 60; mes "Time Left: ^FF0000"+( ( [email protected] )[email protected] +" hour ":"" )+( ( [email protected] || [email protected] )[email protected] +" min ":"" )+ [email protected] +" sec^000000"; } set [email protected], getarraysize( getd(".ms_b_t_"+ getd("@ms_b_m_"+ @slot +"[0]") ) ); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) mes "Mobs : ^0000FF"+ getmonsterinfo( getd(".ms_b_t_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ [email protected] +"]") , 0) +"^000000 ["+( ( getd("@ms_b_m_"+ @slot +"["+( [email protected]/2 +2 )+"]") > getd(".ms_b_t_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ ([email protected] +1) +"]") )?getd(".ms_b_t_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ ([email protected] +1) +"]"):getd("@ms_b_m_"+ @slot +"["+( [email protected]/2 +2 )+"]") ) +"/"+ getd(".ms_b_t_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ ([email protected] +1) +"]") +"]"; set [email protected], getarraysize( getd(".ms_b_ir_"+ getd("@ms_b_m_"+ @slot +"[0]") ) ); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) mes "Items : ^0000FF"+ getitemname( getd(".ms_b_ir_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ [email protected] +"]") ) +"^000000 ["+ countitem( getd(".ms_b_ir_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ [email protected] +"]") ) +"/"+ getd(".ms_b_ir_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ ([email protected] +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 [email protected], getarraysize( getd(".ms_b_ia_"+ getd("@ms_b_m_"+ @slot +"[0]") ) ); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) mes "Item : ^0000FF"+ getd(".ms_b_ia_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ ([email protected] +1) +"]") +" "+ getitemname( getd(".ms_b_ia_"+ getd("@ms_b_m_"+ @slot +"[0]") +"["+ [email protected] +"]") ) +"^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 [email protected], getarraysize(@tmp_ms_b_t_); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) mes "Require mobs : ^0000FF"+ @tmp_ms_b_t_[[email protected] +1] +" "+ getmonsterinfo(@tmp_ms_b_t_[[email protected]], 0) +"^000000"; if ( @tmp_ms_b_t_ == 0 && @tmp_ms_b_ir_ == 0 ) mes "Require items : ^FF0000Incomplete^000000"; set [email protected], getarraysize(@tmp_ms_b_ir_); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) mes "Require items : ^0000FF"+ @tmp_ms_b_ir_[[email protected] +1] +" "+ getitemname(@tmp_ms_b_ir_[[email protected]]) +"^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 )[email protected]_ms_b_m_[5] /60 +" hour"+( ( @tmp_ms_b_m_[5] %60 )?" ":"" ):"" )+( ( @tmp_ms_b_m_[5] %60 )[email protected]_ms_b_m_[5] %60 +" min":"" )+"^000000"; if ( @tmp_ms_b_m_[2] ) { deletearray [email protected]; for ( set [email protected], 0; [email protected] < 24; set [email protected], [email protected] +1 ) { if ( @tmp_ms_b_m_[2] & pow( 2, [email protected] ) ) { set [email protected][ getarraysize([email protected]) ], [email protected] +1; } } set [email protected]$, .jobname$[ [email protected][0] -1 ]; set [email protected], getarraysize([email protected]); for ( set [email protected], 1; [email protected] < [email protected]; set [email protected], [email protected] +1 ) set [email protected]$, [email protected]$ +", "+ .jobname$[ [email protected][[email protected]] -1 ]; mes "Job Limit : ^00CC00"+ [email protected]$ +"^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 [email protected]_reward$, ""; else { mes "^FF0000Incomplete^000000"; set [email protected]_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 [email protected], getarraysize(@tmp_ms_b_ia_); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) mes "Item : ^0000FF"+ @tmp_ms_b_ia_[[email protected] +1] +" "+ getitemname(@tmp_ms_b_ia_[[email protected]]) +"^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 [email protected]_all$, "^00CC00"; else set [email protected]_all$, "^FF0000"; set [email protected], 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"+ [email protected]_reward$, [email protected]_all$ +"Complete "+( ( getarg(0) )?"Edit":"Setup" )+"^000000", "- back" ); switch ( [email protected] ) { 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 [email protected], getarraysize(@tmp_ms_b_t_); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) mes "Require mobs : ^0000FF"+ @tmp_ms_b_t_[[email protected] +1] +" "+ getmonsterinfo(@tmp_ms_b_t_[[email protected]], 0) +"^000000"; if ( @tmp_ms_b_t_ == 0 && @tmp_ms_b_ir_ == 0 ) mes "Require items : ^FF0000Incomplete^000000"; set [email protected], getarraysize(@tmp_ms_b_ir_); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) mes "Require items : ^0000FF"+ @tmp_ms_b_ir_[[email protected] +1] +" "+ getitemname(@tmp_ms_b_ir_[[email protected]]) +"^000000"; next; set [email protected], select ( "Mission Name"+( ( @tmp_ms_b_m_$[0] != "" )?"":" - ^FF0000Incomplete^000000" ), "Description"+( ( @tmp_ms_b_m_$[1] != "" )?"":" - ^FF0000Incomplete^000000" ), "Require Mobs", "Require Items", "- back" ); switch ( [email protected] ) { 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 [email protected]$; mes "["+ strnpcinfo(1) +"]"; if ( getstrlen([email protected]$) > 60 ) { mes "Mission name must not more than 60 characters"; next; break; } else if ( compare ( [email protected]$, ":" ) || compare ( [email protected]$, "^" ) ) { 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"+ [email protected]$ +"^000000"; next; if ( select ( "Yes", "No" ) == 2 ) break; set @tmp_ms_b_m_$[0], [email protected]$; 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 [email protected]$, ""; set [email protected]$, ""; set [email protected]$, ""; set [email protected], 0; do { set [email protected], [email protected] +1 ; input getd("[email protected]"+ [email protected] +"$"); } while ( getstrlen( getd("[email protected]"+ [email protected] +"$") ) > 50 && [email protected] < 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"+ [email protected]$ + [email protected]$ + [email protected]$ +"^000000"; next; if ( select ( "Yes", "No" ) == 2 ) break; set @tmp_ms_b_m_$[1], [email protected]$ + [email protected]$ + [email protected]$; 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 [email protected], getarraysize(@tmp_ms_b_t_); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) mes "Require mobs : ^0000FF"+ @tmp_ms_b_t_[[email protected] +1] +" "+ getmonsterinfo(@tmp_ms_b_t_[[email protected]], 0) +"^000000"; next; set [email protected], select ( "Add a monster requirement", "Remove a monster requirement", "- back" ); switch ( [email protected] ) { 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 [email protected], getarraysize(@tmp_ms_b_t_); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) mes "Require mobs : ^0000FF"+ @tmp_ms_b_t_[[email protected] +1] +" "+ getmonsterinfo(@tmp_ms_b_t_[[email protected]], 0) +"^000000"; mes " "; if ( [email protected] == 16 ) { mes "Require mobs are only allow up to 8 different kinds"; next; break; } mes "Input monster ID"; next; input [email protected], 0, 9999; mes "["+ strnpcinfo(1) +"]"; if ( [email protected] == 0 ) { mes "Invalid monster ID"; next; break; } else if ( getmonsterinfo([email protected], 1) == -1 ) { mes "Invalid monster ID"; next; break; } if ( @tmp_ms_b_t_ == 0 ) mes "Require mobs :"; for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected]i +2 ) mes "Require mobs : ^0000FF"+ @tmp_ms_b_t_[[email protected] +1] +" "+ getmonsterinfo(@tmp_ms_b_t_[[email protected]], 0) +"^000000"; mes " "; for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) { if ( [email protected] == @tmp_ms_b_t_[[email protected]] ) break; } if ( [email protected] != [email protected] ) { mes "Monster ^0000FF"+ getmonsterinfo([email protected], 0) +"^000000 is Repeated"; next; break; } mes "Require mobs : ^0000FF"+ getmonsterinfo([email protected], 0) +"^000000"; mes "Input an amount need to be hunt"; next; input [email protected], 0, 999; if ( [email protected] == 0 ) { mes "["+ strnpcinfo(1) +"]"; mes "Invalid amount"; next; } else setarray @tmp_ms_b_t_[ [email protected] ], [email protected], [email protected]; 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 [email protected], getarraysize(@tmp_ms_b_t_); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) mes "Require mobs : ^0000FF"+ @tmp_ms_b_t_[[email protected] +1] +" "+ getmonsterinfo(@tmp_ms_b_t_[[email protected]], 0) +"^000000"; mes " "; mes "Select a mob to delete"; next; set [email protected]$, "^0000FF"+ @tmp_ms_b_t_[1] +" "+ getmonsterinfo(@tmp_ms_b_t_, 0); for ( set [email protected], 2; [email protected] < [email protected]; set [email protected], [email protected] +2 ) set [email protected]$, [email protected]$ +":"+ @tmp_ms_b_t_[[email protected] +1] +" "+ getmonsterinfo(@tmp_ms_b_t_[[email protected]], 0); set [email protected]$, [email protected]$ +"^000000:- back"; set [email protected], select([email protected]$) -1; if ( [email protected] == [email protected] /2 ) break; deletearray @tmp_ms_b_t_[ [email protected] *2 ], 2; case 3: } if ( [email protected] == 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 [email protected], getarraysize(@tmp_ms_b_ir_); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) mes "Require items : ^0000FF"+ @tmp_ms_b_ir_[[email protected] +1] +" "+ getitemname(@tmp_ms_b_ir_[[email protected]]) +"^000000"; next; set [email protected]_require_menu, select ( "add item requirement", "remove a require item", "- back" ); switch ( [email protected]_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 [email protected], getarraysize(@tmp_ms_b_ir_); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) mes "Require items : ^0000FF"+ @tmp_ms_b_ir_[[email protected] +1] +" "+ getitemname(@tmp_ms_b_ir_[[email protected]]) +"^000000"; mes " "; if ( [email protected] == 10 ) { mes "Require items are only allow up to 5 different kinds"; next; break; } mes "Input item ID"; next; input [email protected], 0, 32767; mes "["+ strnpcinfo(1) +"]"; if ( getitemname([email protected]) == "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 [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) mes "Require items : ^0000FF"+ @tmp_ms_b_ir_[[email protected] +1] +" "+ getitemname(@tmp_ms_b_ir_[[email protected]]) +"^000000"; mes " "; for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) { if ( [email protected] == @tmp_ms_b_ir_[[email protected]] ) break; } if ( [email protected] != [email protected]ze ) { mes "Item ^0000FF"+ getitemname([email protected]) +"^000000 is repeated"; next; break; } mes "Require items : ^0000FF"+ getitemname([email protected]) +"^000000"; mes "input the amount required for this item"; next; input [email protected], 0, 30000; if ( [email protected] == 0 ) { mes "["+ strnpcinfo(1) +"]"; mes "Invalid amount"; next; } else setarray @tmp_ms_b_ir_[ [email protected] ], [email protected], [email protected]; 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 [email protected], getarraysize(@tmp_ms_b_ir_); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) mes "Require items : ^0000FF"+ @tmp_ms_b_ir_[[email protected] +1] +" "+ getitemname(@tmp_ms_b_ir_[[email protected]]) +"^000000"; mes " "; mes "Select an item to delete"; next; set [email protected]$, "^0000FF"+ @tmp_ms_b_ir_[1] +" "+ getitemname(@tmp_ms_b_ir_); for ( set [email protected], 2; [email protected] < [email protected]; set [email protected], [email protected] +2 ) set [email protected]$, [email protected]$ +":"+ @tmp_ms_b_ir_[[email protected] +1] +" "+ getitemname(@tmp_ms_b_ir_[[email protected]]); set [email protected]$, [email protected]$ +"^000000:- back"; set [email protected], select([email protected]$) -1; if ( [email protected] == [email protected] /2 ) break; deletearray @tmp_ms_b_ir_[ [email protected] *2 ], 2; case 3: } if ( [email protected]_require_menu == 3 ) break; } case 5: } if ( [email protected] == 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 )[email protected]_ms_b_m_[5] /60 +" hour"+( ( @tmp_ms_b_m_[5] %60 )?" ":"" ):"" )+( ( @tmp_ms_b_m_[5] %60 )[email protected]_ms_b_m_[5] %60 +" min":"" )+"^000000":"" ); if ( @tmp_ms_b_m_[2] == 0 ) mes "Job Limit : ^FF0000<none>^000000"; else { deletearray [email protected]; for ( set [email protected], 0; [email protected] < 24; set [email protected], [email protected] +1 ) { if ( @tmp_ms_b_m_[2] & pow( 2, [email protected] ) ) { set [email protected][ getarraysize([email protected]) ], [email protected] +1; } } set [email protected]$, .jobname$[ [email protected][0] -1 ]; set [email protected], getarraysize([email protected]); for ( set [email protected], 1; [email protected] < [email protected]; set [email protected], [email protected] +1 ) set [email protected]$, [email protected]$ +", "+ .jobname$[ [email protected][[email protected]] -1 ]; mes "Job Limit : ^00CC00"+ [email protected]$ +"^000000"; } next; set [email protected], select ( "Mission Status (Can do)", "Base Level", "Time Limit", "Job limitation", "- back" ); switch ( [email protected] ) { 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 [email protected], 0, 1000; if ( [email protected] == 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"+ [email protected] +"~^000000"; mes " "; mes "Input ending range"; next; input [email protected], 0, 1000; if ( [email protected] == 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 ( [email protected] > [email protected] ) { mes "["+ strnpcinfo(1) +"]"; mes "Ending range cannot higher than starting range"; next; break; } else setarray @tmp_ms_b_m_[3], [email protected], [email protected]; 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 )[email protected]_ms_b_m_[5] /60 +" hour"+( ( @tmp_ms_b_m_[5] %60 )?" ":"" ):"" )+( ( @tmp_ms_b_m_[5] %60 )[email protected]_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 [email protected]; for ( set [email protected], 0; [email protected] < 24; set [email protected], [email protected] +1 ) { if ( @tmp_ms_b_m_[2] & pow( 2, [email protected] ) ) { set [email protected][ getarraysize([email protected]) ], [email protected] +1; } } set [email protected]$, .jobname$[ [email protected][0] -1 ]; set [email protected], getarraysize([email protected]); for ( set [email protected], 1; [email protected] < [email protected]; set [email protected], [email protected] +1 ) set [email protected]$, [email protected]$ +", "+ .jobname$[ [email protected][[email protected]] -1 ]; mes "Job Limit : ^00CC00"+ [email protected]$ +"^000000"; } next; set [email protected]$, ( ( @tmp_ms_b_m_[2] & pow( 2, 0 ) )?"^00CC00":"^FF0000" )+ .jobname$; for ( set [email protected], 1; [email protected] < 24; set [email protected],[email protected] +1 ) set [email protected]$, [email protected]$ +":"+( ( @tmp_ms_b_m_[2] & pow( 2, [email protected] ) )?"^00CC00":"^FF0000" )+ .jobname$[[email protected]]; set [email protected]$, [email protected]$ +":^000000- back"; set [email protected], select([email protected]$) -1; if ( [email protected] == 24 ) break; set @tmp_ms_b_m_[2], @tmp_ms_b_m_[2] ^ pow( 2, [email protected] ); } break; case 5: } if ( [email protected] == 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 [email protected], getarraysize(@tmp_ms_b_ia_); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) mes "Item : ^0000FF"+ @tmp_ms_b_ia_[[email protected] +1] +" "+ getitemname(@tmp_ms_b_ia_[[email protected]]) +"^000000"; next; set [email protected], select ( "Base Exp", "Job Exp", "Zeny", "Cash Points", "Item Rewards", "- back" ); switch ( [email protected] ) { 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 [email protected], getarraysize(@tmp_ms_b_ia_); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) mes "Item : ^0000FF"+ @tmp_ms_b_ia_[[email protected] +1] +" "+ getitemname(@tmp_ms_b_ia_[[email protected]]) +"^000000"; next; set [email protected]_reward_menu, select ( "Add an item reward", "Remove an item reward", "- back" ); switch ( [email protected]_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 [email protected], getarraysize(@tmp_ms_b_ia_); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) mes "Item : ^0000FF"+ @tmp_ms_b_ia_[[email protected] +1] +" "+ getitemname(@tmp_ms_b_ia_[[email protected]]) +"^000000"; mes " "; if ( [email protected] == 10 ) { mes "Items Rewards are only allow up to 5 different kinds"; next; break; } mes "Input item id"; next; input [email protected], 0, 32767; mes "["+ strnpcinfo(1) +"]"; if ( getitemname([email protected]) == "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 [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) mes "Item : ^0000FF"+ @tmp_ms_b_ia_[[email protected] +1] +" "+ getitemname(@tmp_ms_b_ia_[[email protected]]) +"^000000"; mes " "; for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) { if ( [email protected] == @tmp_ms_b_ia_[[email protected]] ) break; } if ( [email protected] != [email protected] ) { mes "Item ^0000FF"+ getitemname([email protected]) +"^000000 is repeated"; next; break; } mes "Item : ^0000FF"+ getitemname([email protected]) +"^000000"; mes "Input the amount rewards for this item"; next; input [email protected], 0, 30000; if ( [email protected] == 0 ) { mes "["+ strnpcinfo(1) +"]"; mes "Invalid amount"; next; } else setarray @tmp_ms_b_ia_[ [email protected] ], [email protected], [email protected]; 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 [email protected], getarraysize(@tmp_ms_b_ia_); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) mes "Item : ^0000FF"+ @tmp_ms_b_ia_[[email protected] +1] +" "+ getitemname(@tmp_ms_b_ia_[[email protected]]) +"^000000"; mes " "; mes "Select an item rewards to delete"; next; set [email protected]$, "^0000FF"+ @tmp_ms_b_ia_[1] +" "+ getitemname(@tmp_ms_b_ia_); for ( set [email protected], 2; [email protected] < [email protected]; set [email protected], [email protected] +2 ) set [email protected]$, [email protected]$ +":"+ @tmp_ms_b_ia_[[email protected] +1] +" "+ getitemname(@tmp_ms_b_ia_[[email protected]]); set [email protected]$, [email protected]$ +"^000000:- back"; set [email protected], select([email protected]$) -1; if ( [email protected] == [email protected] /2 ) break; deletearray @tmp_ms_b_ia_[ [email protected] *2 ], 2; case 3: } if ( [email protected]_reward_menu == 3 ) break; } case 6: } if ( [email protected]wardmenu == 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 [email protected], getarraysize(@tmp_ms_b_t_); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) mes "Require mobs : ^0000FF"+ @tmp_ms_b_t_[[email protected] +1] +" "+ getmonsterinfo(@tmp_ms_b_t_[[email protected]], 0) +"^000000"; set [email protected], getarraysize(@tmp_ms_b_ir_); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) mes "Require items : ^0000FF"+ @tmp_ms_b_ir_[[email protected] +1] +" "+ getitemname(@tmp_ms_b_ir_[[email protected]]) +"^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 )[email protected]_ms_b_m_[5] /60 +" hour"+( ( @tmp_ms_b_m_[5] %60 )?" ":"" ):"" )+( ( @tmp_ms_b_m_[5] %60 )[email protected]_ms_b_m_[5] %60 +" min":"" )+"^000000"; if ( @tmp_ms_b_m_[2] ) { deletearray [email protected]; for ( set [email protected], 0; [email protected] < 24; set [email protected], [email protected] +1 ) { if ( @tmp_ms_b_m_[2] & pow( 2, [email protected] ) ) { set [email protected][ getarraysize([email protected]) ], [email protected] +1; } } set [email protected]$, .jobname$[ [email protected][0] -1 ]; set [email protected], getarraysize([email protected]); for ( set [email protected], 1; [email protected] < [email protected]; set [email protected], [email protected] +1 ) set [email protected]$, [email protected]$ +", "+ .jobname$[ [email protected][[email protected]] -1 ]; mes "Job Limit : ^00CC00"+ [email protected]$ +"^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 [email protected], getarraysize(@tmp_ms_b_ia_); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) mes "Item : ^0000FF"+ @tmp_ms_b_ia_[[email protected] +1] +" "+ getitemname(@tmp_ms_b_ia_[[email protected]]) +"^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 [email protected]_b_n_$, getd("$ms_b_n_"+ strnpcinfo(2) +"$"), "#"; set [email protected]_size, getarraysize([email protected]_b_n_$); set [email protected], 0; while ( [email protected] < [email protected]_size ) { setd ".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]", atoi( [email protected]_b_n_$[[email protected]] ); set [email protected], [email protected] +1 ; } set [email protected], getarraysize( getd(".ms_b_n_"+ strnpcinfo(2) ) ); while ( [email protected] < [email protected] ) { set [email protected]_id, getd(".ms_b_n_"+ strnpcinfo(2) +"["+ [email protected] +"]"); explode [email protected]_b_m_$[2], getd("$ms_b_m_"+ [email protected]_id +"$[2]"), "#"; set [email protected]_size, getarraysize([email protected]_b_m_$); set [email protected], 0; while ( [email protected] < [email protected]_size ) { setd ".ms_b_m_"+ [email protected]_id +"["+ [email protected] +"]", atoi( [email protected]_b_m_$[[email protected]] ); set [email protected], [email protected] +1 ; } explode [email protected]_b_t_$, getd("$ms_b_m_"+ [email protected]_id +"$[3]"), "#"; set [email protected]_size, getarraysize([email protected]_b_t_$); set [email protected], 0; while ( [email protected] < [email protected]_size ) { setd ".ms_b_t_"+ [email protected]_id +"["+ [email protected] +"]", atoi( [email protected]_b_t_$[[email protected]] ); set [email protected], [email protected] +1 ; } copyarray getd(".ms_b_ir_"+ [email protected]_id), getd(".ms_b_t_"+ [email protected]_id +"[16]"), 10; copyarray getd(".ms_b_ia_"+ [email protected]_id), getd(".ms_b_t_"+ [email protected]_id +"[26]"), 10; deletearray getd(".ms_b_t_"+ [email protected]_id +"[16]"), 20; set [email protected], [email protected] +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 [email protected], 1; [email protected] <= 4; set [email protected], [email protected] +1 ) { if ( getd("@ms_b_m_"+ [email protected]) ) { if ( getd("$ms_b_m_"+ getd("@ms_b_m_"+ [email protected] +"[0]") +"$[0]") == "" ) { dispbottom "Mission Board: Your Mission#"+ [email protected] +" has deleted because it is no longer available"; deletearray getd("@ms_b_m_"+ [email protected]); setd "ms_b_m_"+ [email protected] +"$", ""; deltimer "ms_b_::OnQuest"+ [email protected] +"TimeUp"; } else if ( getd("@ms_b_m_"+ [email protected] +"[1]") && getd("@ms_b_m_"+ [email protected] +"[1]") <= gettimetick(2) ) { dispbottom "Mission #1: "+ getd("$ms_b_m_"+ getd("@ms_b_m_"+ [email protected] +"[0]") +"$[0]") +" has Time Up"; deletearray getd("@ms_b_m_"+ [email protected]); setd "ms_b_m_"+ [email protected] +"$", ""; deltimer "ms_b_::OnQuest"+ [email protected] +"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 [email protected], 1; [email protected] <= 4; set [email protected], [email protected] +1 ) { if ( getd("@ms_b_m_"+ [email protected] +"[0]") ) { dispbottom "-----------------------"; dispbottom "Mission #"+ [email protected] +": "+ getd("$ms_b_m_"+ getd("@ms_b_m_"+ [email protected] +"[0]") +"$[0]"); if ( getvariableofnpc( getd(".ms_b_m_"+ getd("@ms_b_m_"+ [email protected] +"[0]") +"[5]"), "ms_b_" ) ) { set [email protected], getd("@ms_b_m_"+ [email protected] +"[1]") - gettimetick(2); set [email protected], [email protected] / 3600; set [email protected], [email protected] % 3600 / 60; set [email protected], [email protected] % 60; dispbottom "Time Left: "+( ( [email protected] )[email protected] +" hour ":"" )+( ( [email protected] || [email protected] )[email protected] +" min ":"" )+ [email protected] +" sec"; } if ( getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ [email protected] +"[0]") ), "ms_b_" ) ) { set [email protected], getarraysize( getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ [email protected] +"[0]") ), "ms_b_" ) ); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) dispbottom "Monsters killed: "+ getmonsterinfo( getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ [email protected] +"[0]") +"["+ [email protected] +"]"), "ms_b_" ) , 0) +" ["+( ( getd("@ms_b_m_"+ [email protected] +"["+( [email protected]/2 +2 )+"]") > getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ [email protected] +"[0]") +"["+ ([email protected] +1) +"]"), "ms_b_" ) )?getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ [email protected] +"[0]") +"["+ ([email protected] +1) +"]"), "ms_b_" ):getd("@ms_b_m_"+ [email protected] +"["+( [email protected]/2 +2 )+"]") ) +"/"+ getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ [email protected] +"[0]") +"["+ ([email protected] +1) +"]"), "ms_b_" ) +"]"; } if ( getvariableofnpc( getd(".ms_b_ir_"+ getd("@ms_b_m_"+ [email protected] +"[0]") ), "ms_b_" ) ) { set [email protected], getarraysize( getvariableofnpc( getd(".ms_b_ir_"+ getd("@ms_b_m_"+ [email protected] +"[0]") ), "ms_b_" ) ); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) dispbottom "Items Collected: "+ getitemname( getvariableofnpc( getd(".ms_b_ir_"+ getd("@ms_b_m_"+ [email protected] +"[0]") +"["+ [email protected] +"]"), "ms_b_" ) ) +" ["+ countitem( getvariableofnpc( getd(".ms_b_ir_"+ getd("@ms_b_m_"+ [email protected] +"[0]") +"["+ [email protected] +"]"), "ms_b_" ) ) +"/"+ getvariableofnpc( getd(".ms_b_ir_"+ getd("@ms_b_m_"+ [email protected] +"[0]") +"["+ ([email protected] +1) +"]"), "ms_b_" ) +"]"; } } } dispbottom " -----------------------"; end; OnNPCKillEvent: set [email protected], killedrid; if ( getvariableofnpc( .loading, "ms_b_") == 1 ) end; if ( getcharid(1) == 0 ) { if ( @ms_b_loading == 1 ) end; for ( set [email protected], 1; [email protected] <= 4; set [email protected], [email protected] +1 ) { if ( getd("@ms_b_m_"+ [email protected] +"[0]") ) { if ( getd("$ms_b_m_"+ getd("@ms_b_m_"+ [email protected] +"[0]") +"$[0]") == "" ) { dispbottom "Mission Board: Your Mission#"+ [email protected] +" has deleted because it is no longer available"; deletearray getd("@ms_b_m_"+ [email protected]); setd "ms_b_m_"+ [email protected] +"$", ""; deltimer "ms_b_::OnQuest"+ [email protected] +"TimeUp"; } else { set [email protected], getarraysize( getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ [email protected] +"[0]") ), "ms_b_" ) ); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +2 ) { if ( [email protected] == getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ [email protected] +"[0]") +"["+ [email protected] +"]"), "ms_b_" ) && getd("@ms_b_m_"+ [email protected] +"["+( [email protected]/2 +2 )+"]") < getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ [email protected] +"[0]") +"["+( [email protected] +1 )+"]"), "ms_b_" ) ) { setd "@ms_b_m_"+ [email protected] +"["+( [email protected]/2 +2 )+"]", getd("@ms_b_m_"+ [email protected] +"["+( [email protected]/2 +2 )+"]") +1; dispbottom "Mission #"+ [email protected] +". You have killed "+ getmonsterinfo( getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ [email protected] +"[0]") +"["+ [email protected] +"]"), "ms_b_" ), 0 ) +" ["+ getd("@ms_b_m_"+ [email protected] +"["+( [email protected]/2 +2 )+"]") +"/"+ getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ [email protected] +"[0]") +"["+( [email protected] +1 )+"]"), "ms_b_" ) +"]"; setd "ms_b_m_"+ [email protected] +"$", getd("@ms_b_m_"+ [email protected] +"[0]") +"#"+( ( getd("@ms_b_m_"+ [email protected] +"[1]") )?getd("@ms_b_m_"+ [email protected] +"[1]"):"" )+"#"+( ( getd("@ms_b_m_"+ [email protected] +"[2]") )?getd("@ms_b_m_"+ [email protected] +"[2]"):"" )+"#"+( ( getd("@ms_b_m_"+ [email protected] +"[3]") )?getd("@ms_b_m_"+ [email protected] +"[3]"):"" )+"#"+( ( getd("@ms_b_m_"+ [email protected] +"[4]") )?getd("@ms_b_m_"+ [email protected] +"[4]"):"" )+"#"+( ( getd("@ms_b_m_"+ [email protected] +"[5]") )?getd("@ms_b_m_"+ [email protected] +"[5]"):"" )+"#"+( ( getd("@ms_b_m_"+ [email protected] +"[6]") )?getd("@ms_b_m_"+ [email protected] +"[6]"):"" )+"#"+( ( getd("@ms_b_m_"+ [email protected] +"[7]") )?getd("@ms_b_m_"+ [email protected] +"[7]"):"" )+"#"+( ( getd("@ms_b_m_"+ [email protected] +"[8]") )?getd("@ms_b_m_"+ [email protected] +"[8]"):"" )+"#"+( ( getd("@ms_b_m_"+ [email protected] +"[9]") )?getd("@ms_b_m_"+ [email protected] +"[9]"):"" ); } } } } } end; } getmapxy [email protected]$, [email protected], [email protected], 0; getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; set [email protected], 0; while ( [email protected] < [email protected] ) { if ( isloggedin( [email protected][[email protected]], [email protected][[email protected]] ) ) { attachrid [email protected][[email protected]]; getmapxy [email protected]$, [email protected], [email protected], 0; if ( @ms_b_loading == 0 && [email protected]$ == [email protected]$ && distance([email protected],[email protected],[email protected],[email protected]) <= 30 && Hp ) { set [email protected], 1; while ( [email protected] <= 4 ) { if ( getd("@ms_b_m_"+ [email protected] +"[0]") ) { if ( getd("$ms_b_m_"+ getd("@ms_b_m_"+ [email protected] +"[0]") +"$[0]") == "" ) { dispbottom "Mission Board: Your Mission#"+ [email protected] +" has deleted because it is no longer available"; deletearray getd("@ms_b_m_"+ [email protected]); setd "ms_b_m_"+ [email protected] +"$", ""; deltimer "ms_b_::OnQuest"+ [email protected] +"TimeUp"; } else { set [email protected], 0; set [email protected], getarraysize( getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ [email protected] +"[0]") ), "ms_b_" ) ); while ( [email protected] < [email protected] ) { if ( [email protected] == getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ [email protected] +"[0]") +"["+ [email protected] +"]"), "ms_b_" ) && getd("@ms_b_m_"+ [email protected] +"["+( [email protected]/2 +2 )+"]") < getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ [email protected] +"[0]") +"["+( [email protected] +1 )+"]"), "ms_b_" ) ) { setd "@ms_b_m_"+ [email protected] +"["+( [email protected]/2 +2 )+"]", getd("@ms_b_m_"+ [email protected] +"["+( [email protected]/2 +2 )+"]") +1; dispbottom "Mission #"+ [email protected] +". You have killed "+ getmonsterinfo( getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ [email protected] +"[0]") +"["+ [email protected] +"]"), "ms_b_" ), 0 ) +" ["+ getd("@ms_b_m_"+ [email protected] +"["+( [email protected]/2 +2 )+"]") +"/"+ getvariableofnpc( getd(".ms_b_t_"+ getd("@ms_b_m_"+ [email protected] +"[0]") +"["+( [email protected] +1 )+"]"), "ms_b_" ) +"]"; setd "ms_b_m_"+ [email protected] +"$", getd("@ms_b_m_"+ [email protected] +"[0]") +"#"+( ( getd("@ms_b_m_"+ [email protected] +"[1]") )?getd("@ms_b_m_"+ [email protected] +"[1]"):"" )+"#"+( ( getd("@ms_b_m_"+ [email protected] +"[2]") )?getd("@ms_b_m_"+ [email protected] +"[2]"):"" )+"#"+( ( getd("@ms_b_m_"+ [email protected] +"[3]") )?getd("@ms_b_m_"+ [email protected] +"[3]"):"" )+"#"+( ( getd("@ms_b_m_"+ [email protected] +"[4]") )?getd("@ms_b_m_"+ [email protected] +"[4]"):"" )+"#"+( ( getd("@ms_b_m_"+ [email protected] +"[5]") )?getd("@ms_b_m_"+ [email protected] +"[5]"):"" )+"#"+( ( getd("@ms_b_m_"+ [email protected] +"[6]") )?getd("@ms_b_m_"+ [email protected] +"[6]"):"" )+"#"+( ( getd("@ms_b_m_"+ [email protected] +"[7]") )?getd("@ms_b_m_"+ [email protected] +"[7]"):"" )+"#"+( ( getd("@ms_b_m_"+ [email protected] +"[8]") )?getd("@ms_b_m_"+ [email protected] +"[8]"):"" )+"#"+( ( getd("@ms_b_m_"+ [email protected] +"[9]") )?getd("@ms_b_m_"+ [email protected] +"[9]"):"" ); } set [email protected], [email protected] +2 ; } } } set [email protected], [email protected] +1 ; } } } set [email protected], [email protected] +1 ; } end; OnPCLoginEvent: set @ms_b_loading, 1; set [email protected], 1; while ( [email protected] <= 4 ) { if ( getd("ms_b_m_"+ [email protected] +"$") != "" ) { explode getd("[email protected]_b_m_"+ [email protected] +"$"), getd("ms_b_m_"+ [email protected] +"$"), "#"; set [email protected]_size, getarraysize( getd("[email protected]_b_m_"+ [email protected] +"$") ); set [email protected], 0; while ( [email protected] < [email protected]_size ) { setd "@ms_b_m_"+ [email protected] +"["+ [email protected] +"]", atoi( getd("[email protected]_b_m_"+ [email protected] +"$["+ [email protected] +"]") ); set [email protected], [email protected] +1 ; } } set [email protected], [email protected] +1 ; } sleep2 1; set [email protected], 0; while ( [email protected]_id < 128 ) { if ( getvariableofnpc( .ms_b_name$[[email protected]_id], "ms_b_" ) != "" ) { explode getd("[email protected]_b_n_"+ [email protected]_id +"$"), getd("ms_b_n_"+ [email protected]_id +"$"), "#"; set [email protected]_size, getarraysize( getd("[email protected]_b_n_"+ [email protected]_id +"$") ); set [email protected], 0; while ( [email protected] < [email protected]_size ) { setd "@ms_b_n_"+ [email protected]_id +"["+ [email protected] +"]", atoi( getd("[email protected]_b_n_"+ [email protected]_id +"$["+ [email protected] +"]") ); set [email protected], [email protected] +1 ; } sleep2 1; } set [email protected]_id, [email protected]_id +1 ; } sleep2 1; set @ms_b_loading, 0; if ( getvariableofnpc( .loading, "ms_b_" ) == 0 ) { set [email protected], 1; while ( [email protected] <= 4 ) { if ( getd("@ms_b_m_"+ [email protected] +"[0]") ) { if ( getd("$ms_b_m_"+ getd("@ms_b_m_"+ [email protected] +"[0]") +"$[0]") == "" ) { dispbottom "Mission Board: Your Mission#"+ [email protected] +" has deleted because it is no longer available"; deletearray getd("@ms_b_m_"+ [email protected]); setd "ms_b_m_"+ [email protected] +"$", ""; } else if ( getd("@ms_b_m_"+ [email protected] +"[1]") ) { if ( getd("@ms_b_m_"+ [email protected] +"[1]") > gettimetick(2) ) addtimer ( getd("@ms_b_m_"+ [email protected] +"[1]") - gettimetick(2) ) *1000, "ms_b_::OnQuest"+ [email protected] +"TimeUp"; else doevent "ms_b_::OnQuest"+ [email protected] +"TimeUp"; } } set [email protected], [email protected] +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
-
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; },{},{}
-
Request [ No Vending On Selected Map ]
Dolphin86 replied to Dolphin86's question in Scripting Support
Thank you guys, i will try both options and see which is better. again thank you, i will post later after done several testing -
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
-
err how ??? im kinda confused there
-
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
-
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
-
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?
-
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??
-
looks yummy