Strand Posted December 12, 2018 Posted December 12, 2018 Hello guys, I hope you can help me out with the following requests: A couple of months back I found a script event where you had to find the Dragon Ball Spheres all around Midgard maps. Just like Dragon Ball Z. Do you know where I can find it? Thanks in advance. Quote
1 n0tttt Posted December 12, 2018 Posted December 12, 2018 Haven't seen such a script but it seems fun. I've done something, hope it helps you: - script DB_Spawn -1,{ OnInit: .item_id = 512; setarray .maps$[0], "alb_ship", "alb2trea", "alberta", "alberta_in", "alde_dun01", "alde_dun02", "alde_dun03", "alde_dun04", "aldeba_in", "aldebaran", "anthell01", "anthell02", "arena_room", "c_tower1", "c_tower2", "c_tower3", "c_tower4", "force_1-1", "force_1-2", "force_1-3", "force_2-1", "force_2-2", "force_2-3", "force_3-1", "force_3-2", "force_3-3", "gef_dun00", "gef_dun01", "gef_dun02", "gef_dun03", "gef_fild00", "gef_fild01", "gef_fild02", "gef_fild03", "gef_fild04", "gef_fild05", "gef_fild06", "gef_fild07", "gef_fild08", "gef_fild09", "gef_fild10", "gef_fild11", "gef_fild12", "gef_fild13", "gef_fild14", "gef_tower", "geffen", "geffen_in", "gl_cas01", "gl_cas02", "gl_church", "gl_chyard", "gl_dun01", "gl_dun02", "gl_in01", "gl_knt01", "gl_knt02", "gl_prison", "gl_prison1", "gl_sew01", "gl_sew02", "gl_sew03", "gl_sew04", "gl_step", "glast_01", "hunter_1-1", "hunter_2-1", "hunter_3-1", "in_hunter", "in_moc_16", "in_orcs01", "in_sphinx1", "in_sphinx2", "in_sphinx3", "in_sphinx4", "in_sphinx5", "iz_dun00", "iz_dun01", "iz_dun02", "iz_dun03", "iz_dun04", "job_sword1", "izlu2dun", "izlude", "izlude_in", "job_thief1", "knight_1-1", "knight_2-1", "knight_3-1", "mjo_dun01", "mjo_dun02", "mjo_dun03", "mjolnir_01", "mjolnir_02", "mjolnir_03", "mjolnir_04", "mjolnir_05", "mjolnir_06", "mjolnir_07", "mjolnir_08", "mjolnir_09", "mjolnir_10", "mjolnir_11", "mjolnir_12", "moc_castle", "moc_fild01", "moc_fild02", "moc_fild03", "moc_fild04", "moc_fild05", "moc_fild06", "moc_fild07", "moc_fild08", "moc_fild09", "moc_fild10", "moc_fild11", "moc_fild12", "moc_fild13", "moc_fild14", "moc_fild15", "moc_fild16", "moc_fild17", "moc_fild18", "moc_fild19", "moc_pryd01", "moc_pryd02", "moc_pryd03", "moc_pryd04", "moc_pryd05", "moc_pryd06", "moc_prydb1", "moc_ruins", "monk_in", "morocc", "morocc_in", "new_1-1", "new_1-2", "new_1-3", "new_1-4", "new_2-1", "new_2-2", "new_2-3", "new_2-4", "new_3-1", "new_3-2", "new_3-3", "new_3-4", "new_4-1", "new_4-2", "new_4-3", "new_4-4", "new_5-1", "new_5-2", "new_5-3", "new_5-4", "orcsdun01", "orcsdun02", "ordeal_1-1", "ordeal_1-2", "//ordeal_1-3", "//ordeal_1-4", "ordeal_2-1", "ordeal_2-2", "//ordeal_2-3", "//ordeal_2-4", "ordeal_3-1", "ordeal_3-2", "//ordeal_3-3", "//ordeal_3-4", "pay_arche", "pay_dun00", "pay_dun01", "pay_dun02", "pay_dun03", "pay_dun04", "pay_fild01", "pay_fild02", "pay_fild03", "pay_fild04", "pay_fild05", "pay_fild06", "pay_fild07", "pay_fild08", "pay_fild09", "pay_fild10", "pay_fild11", "payon", "payon_in01", "payon_in02", "priest_1-1", "priest_2-1", "priest_3-1", "prontera", "prt_are_in", "prt_are01", "pvp_room", "prt_castle", "prt_church", "prt_fild00", "prt_fild01", "prt_fild02", "prt_fild03", "prt_fild04", "prt_fild05", "prt_fild06", "prt_fild07", "prt_fild08", "prt_fild09", "prt_fild10", "prt_fild11", "prt_in", "prt_maze01", "prt_maze02", "prt_maze03", "prt_monk", "prt_sewb1", "prt_sewb2", "prt_sewb3", "prt_sewb4", "pvp_2vs2", "pvp_c_room", "pvp_n_1-1", "pvp_n_1-2", "pvp_n_1-3", "pvp_n_1-4", "pvp_n_1-5", "pvp_n_2-1", "pvp_n_2-2", "pvp_n_2-3", "pvp_n_2-4", "pvp_n_2-5", "pvp_n_3-1", "pvp_n_3-2", "pvp_n_3-3", "pvp_n_3-4", "pvp_n_3-5", "pvp_n_4-1", "pvp_n_4-2", "pvp_n_4-3", "pvp_n_4-4", "pvp_n_4-5", "pvp_n_5-1", "pvp_n_5-2", "pvp_n_5-3", "pvp_n_5-4", "pvp_n_5-5", "pvp_n_6-1", "pvp_n_6-2", "pvp_n_6-3", "pvp_n_6-4", "pvp_n_6-5", "pvp_n_7-1", "pvp_n_7-2", "pvp_n_7-3", "pvp_n_7-4", "pvp_n_7-5", "pvp_n_8-1", "pvp_n_8-2", "pvp_n_8-3", "pvp_n_8-4", "pvp_n_8-5", "pvp_n_room", "pvp_y_1-1", "pvp_y_1-2", "pvp_y_1-3", "pvp_y_1-4", "pvp_y_1-5", "pvp_y_2-1", "pvp_y_2-2", "pvp_y_2-3", "pvp_y_2-4", "pvp_y_2-5", "pvp_y_3-1", "pvp_y_3-2", "pvp_y_3-3", "pvp_y_3-4", "pvp_y_3-5", "pvp_y_4-1", "pvp_y_4-2", "pvp_y_4-3", "pvp_y_4-4", "pvp_y_4-5", "pvp_y_5-1", "pvp_y_5-2", "pvp_y_5-3", "pvp_y_5-4", "pvp_y_5-5", "pvp_y_6-1", "pvp_y_6-2", "pvp_y_6-3", "pvp_y_6-4", "pvp_y_6-5", "pvp_y_7-1", "pvp_y_7-2", "pvp_y_7-3", "pvp_y_7-4", "pvp_y_7-5", "pvp_y_8-1", "pvp_y_8-2", "pvp_y_8-3", "pvp_y_8-4", "pvp_y_8-5", "pvp_y_room", "sword_1-1", "sword_2-1", "sword_3-1", "treasure01", "treasure02", "wizard_1-1", "wizard_2-1", "wizard_3-1", "xmas", "xmas_dun01", "xmas_dun02", "xmas_fild01", "xmas_in", "beach_dun", "beach_dun2", "beach_dun3", "cmd_fild01", "cmd_fild02", "cmd_fild03", "cmd_fild04", "cmd_fild05", "cmd_fild06", "cmd_fild07", "cmd_fild08", "cmd_fild09", "cmd_in01", "cmd_in02", "comodo", "quiz_00", "quiz_01", "g_room1-1", "g_room1-2", "g_room1-3", "g_room2", "tur_dun01", "tur_dun02", "tur_dun03", "tur_dun04", "tur_dun05", "tur_dun06", "alde_gld", "aldeg_cas01", "aldeg_cas02", "aldeg_cas03", "aldeg_cas04", "aldeg_cas05", "gefg_cas01", "gefg_cas02", "gefg_cas03", "gefg_cas04", "gefg_cas05", "gld_dun01", "gld_dun02", "gld_dun03", "gld_dun04", "guild_room", "guild_vs1", "guild_vs2", "guild_vs3", "guild_vs4", "guild_vs5", "guild_vs1-1", "guild_vs1-2", "guild_vs1-3", "guild_vs1-4", "guild_vs2-1", "guild_vs2-2", "job_hunte", "job_knt", "job_prist", "job_wiz", "pay_gld", "payg_cas01", "payg_cas02", "payg_cas03", "payg_cas04", "payg_cas05", "prt_gld", "prtg_cas01", "prtg_cas02", "prtg_cas03", "prtg_cas04", "prtg_cas05", "alde_alche", "in_rogue", "job_cru", "job_duncer", "job_monk", "job_sage", "mag_dun01", "mag_dun02", "monk_test", "quiz_test", "yuno", "yuno_fild01", "yuno_fild02", "yuno_fild03", "yuno_fild04", "yuno_in01", "yuno_in02", "yuno_in03", "yuno_in04", "yuno_in05", "ama_dun01", "ama_dun02", "ama_dun03", "ama_fild01", "ama_in01", "ama_in02", "ama_test", "amatsu", "gon_dun01", "gon_dun02", "gon_dun03", "gon_fild01", "gon_in", "gon_test", "gonryun", "sec_in01", "sec_in02", "sec_pri", "umbala", "um_dun01", "um_dun02", "um_fild01", "um_fild02", "um_fild03", "um_fild04", "um_in", "niflheim", "nif_fild01", "nif_fild02", "nif_in", "yggdrasil01", "valkyrie", "himinn", "lou_in01", "lou_in02", "lou_dun03", "lou_dun02", "lou_dun01", "lou_fild01", "louyang", "siege_test", "n_castle", "nguild_gef", "nguild_prt", "nguild_pay", "nguild_alde", "jawaii", "jawaii_in", "gefenia01", "gefenia02", "gefenia03", "gefenia04", "new_zone01", "new_zone02", "new_zone03", "new_zone04", "payon_in03", "ayothaya", "ayo_in01", "ayo_in02", "ayo_fild01", "ayo_fild02", "ayo_dun01", "ayo_dun02", "que_god01", "que_god02", "yuno_fild05", "yuno_fild07", "yuno_fild08", "yuno_fild09", "yuno_fild11", "yuno_fild12", "alde_tt02", "turbo_n_1", "turbo_n_4", "turbo_n_8", "turbo_n_16", "turbo_e_4", "turbo_e_8", "turbo_e_16", "turbo_room", "airplane", "airport", "einbech", "einbroch", "ein_dun01", "ein_dun02", "ein_fild06", "ein_fild07", "ein_fild08", "ein_fild09", "ein_fild10", "ein_in01", "que_sign01", "que_sign02", "ein_fild03", "ein_fild04", "lhz_fild02", "lhz_fild03", "yuno_pre", "lhz_fild01", "lighthalzen", "lhz_in01", "lhz_in02", "lhz_in03", "lhz_que01", "lhz_dun01", "lhz_dun02", "lhz_dun03", "lhz_cube", "juperos_01", "juperos_02", "jupe_area1", "jupe_area2", "jupe_core", "jupe_ele", "jupe_ele_r", "jupe_gate", "y_airport", "lhz_airport", "airplane_01", "jupe_cave", "quiz_02", "hu_fild07", "hu_fild05", "hu_fild04", "hu_fild01", "yuno_fild06", "job_soul", "job_star", "que_job01", "que_job02", "que_job03", "abyss_01", "abyss_02", "abyss_03", "thana_step", "thana_boss", "tha_scene01", "tha_t01", "tha_t02", "tha_t03", "tha_t04", "tha_t07", "tha_t05", "tha_t06", "tha_t08", "tha_t09", "tha_t10", "tha_t11", "tha_t12", "auction_01", "auction_02", "hugel", "hu_in01", "que_bingo", "que_hugel", "p_track01", "p_track02", "odin_tem01", "odin_tem02", "odin_tem03", "hu_fild02", "hu_fild03", "hu_fild06", "ein_fild01", "ein_fild02", "ein_fild05", "yuno_fild10", "kh_kiehl02", "kh_kiehl01", "kh_dun02", "kh_dun01", "kh_mansion", "kh_rossi", "kh_school", "kh_vila", "force_map1", "force_map2", "force_map3", "job_hunter", "job_knight", "job_priest", "job_wizard", "ve_in02", "rachel", "ra_in01", "ra_fild01", "ra_fild02", "ra_fild03", "ra_fild04", "ra_fild05", "ra_fild06", "ra_fild07", "ra_fild08", "ra_fild09", "ra_fild10", "ra_fild11", "ra_fild12", "ra_fild13", "ra_san01", "ra_san02", "ra_san03", "ra_san04", "ra_san05", "ra_temin", "ra_temple", "ra_temsky", "que_rachel", "ice_dun01", "ice_dun02", "ice_dun03", "ice_dun04", "que_thor", "thor_camp", "thor_v01", "thor_v02", "thor_v03", "veins", "ve_in", "ve_fild01", "ve_fild02", "ve_fild03", "ve_fild04", "ve_fild05", "ve_fild06", "ve_fild07", "poring_c01", "poring_c02", "que_ng", "nameless_i", "nameless_n", "nameless_in", "abbey01", "abbey02", "abbey03", "poring_w01", "poring_w02", "que_san04", "moscovia", "mosk_in", "mosk_ship", "mosk_fild01", "mosk_fild02", "mosk_dun01", "mosk_dun02", "mosk_dun03", "mosk_que", "force_4-1", "force_5-1", "06guild_r", "06guild_01", "06guild_02", "06guild_03", "06guild_04", "06guild_05", "06guild_06", "06guild_07", "06guild_08", "z_agit", "que_temsky", "itemmall", "bossnia_01", "bossnia_02", "bossnia_03", "bossnia_04", "schg_cas01", "schg_cas02", "schg_cas03", "schg_cas04", "schg_cas05", "sch_gld", "cave", "moc_fild20", "moc_fild21", "moc_fild22", "que_ba", "que_moc_16", "que_moon", "arug_cas01", "arug_cas02", "arug_cas03", "arug_cas04", "arug_cas05", "aru_gld", "bat_room", "bat_a01", "bat_a02", "bat_b01", "bat_b02", "que_qsch01", "que_qsch02", "que_qsch03", "que_qsch04", "que_qsch05", "que_qaru01", "que_qaru02", "que_qaru03", "que_qaru04", "que_qaru05", "1@cata", "2@cata", "e_tower", "1@tower", "2@tower", "3@tower", "4@tower", "5@tower", "6@tower", "mid_camp", "mid_campin", "man_fild01", "man_fild03", "spl_fild02", "spl_fild03", "moc_fild22b", "que_dan01", "que_dan02", "schg_que01", "schg_dun01", "arug_que01", "arug_dun01", "1@orcs", "2@orcs", "1@nyd", "2@nyd", "nyd_dun01", "nyd_dun02", "manuk", "man_fild02", "man_in01", "splendide", "spl_fild01", "spl_in01", "spl_in02", "bat_c01", "bat_c02", "bat_c03", "moc_para01", "job3_arch01", "job3_arch02", "job3_arch03", "job3_guil01", "job3_guil02", "job3_guil03", "job3_rang01", "job3_rang02", "job3_rune01", "job3_rune02", "job3_rune03", "job3_war01", "job3_war02", "jupe_core2", "brasilis", "bra_in01", "bra_fild01", "bra_dun01", "bra_dun02", "dicastes01", "dicastes02", "dic_in01", "dic_fild01", "dic_fild02", "dic_dun01", "dic_dun02", "job3_gen01", "s_atelier", "job3_sha01", "//evt_zombie", "//evt_coke", "//ac_sl_area", "//ac_cl_hall", "//ac_cl_room", "//jp_s_dun11", "mora", "bif_fild01", "bif_fild02", "1@mist", "dewata", "dew_in01", "dew_fild01", "dew_dun01", "dew_dun02", "que_house_s", "malangdo", "mal_in01", "mal_in02", "mal_dun01", "1@pump", "2@pump", "1@cash", "iz_dun05", "evt_mobroom", "alde_tt03", "dic_dun03", "//mjolnir_04_1", "1@lhz", "lhz_dun04", "que_lhz", "evt_swar_b", "evt_swar_r", "evt_swar_s", "evt_swar_t", "gld2_ald", "gld2_gef", "gld2_pay", "gld2_prt", "gld_dun01_2", "gld_dun02_2", "gld_dun03_2", "gld_dun04_2", "malaya", "job_ko", "ma_scene01", "1@ma_b", "1@ma_c", "1@ma_h", "ma_in01", "ma_dun01", "ma_fild01", "ma_fild02", "ma_zif01", "ma_zif02", "ma_zif03", "ma_zif04", "ma_zif05", "ma_zif06", "ma_zif07", "ma_zif08", "ma_zif09", "new_event", "eclage", "ecl_fild01", "ecl_tdun01", "ecl_tdun02", "ecl_tdun03", "ecl_tdun04", "que_avan01", "1@ecl", "ecl_in01", "ecl_in02", "ecl_in03", "ecl_in04", "ecl_hub01", "moc_prydn1", "moc_prydn2", "iz_ac01", "iz_ac02", "treasure_n1", "treasure_n2", "iz_int", "iz_ng01", "iz_int01", "iz_int02", "iz_int03", "iz_int04", "iz_ac01_a", "iz_ac02_a", "iz_ac01_b", "iz_ac02_b", "iz_ac01_c", "iz_ac02_c", "iz_ac01_d", "iz_ac02_d", "te_prtcas01", "te_prtcas02", "te_prtcas03", "te_prtcas04", "te_prtcas05", "te_aldecas1", "te_aldecas2", "te_aldecas3", "te_aldecas4", "te_aldecas5", "prt_fild08a", "prt_fild08b", "prt_fild08c", "prt_fild08d", "izlude_a", "izlude_b", "izlude_c", "izlude_d", "te_prt_gld", "te_alde_gld", "teg_dun01", "teg_dun02", "1@gl_k", "2@gl_k", "gl_chyard_", "gl_cas02_", "evt_bomb", "1@def01", "1@def02", "1@def03", "1@gef", "1@face", "1@sara", "1@gef_in", "dali", "dali02", "1@ge_st", "1@spa", "1@tnm1", "1@tnm2", "1@tnm3", "1@dth1", "1@dth2", "1@dth3", "1@eom", "1@jtb", "1@rev", "1@xm_d", "moro_cav", "moro_vol", "silk_lair", "c_tower2_", "c_tower3_", "1@mcd", "ver_eju", "ver_tunn", "verus03", "verus04", "job_gun", "1@air1", "1@air2", "1@glast", "lhz_dun_n", "lhz_d_n2", "1@gl_kh", "2@gl_kh", "1@lab", "1@uns", "un_bk_q", "un_bunker", "un_myst", "verus01", "verus02", "paramk", "1@infi", "1@ffp", "1@mir", "2@mir", "1@sthb", "1@sthc", "1@sthd", "prt_cas", "prt_cas_q", "prt_prison", "prt_lib", "prt_lib_q", "prt_q", "prt_pri00", "int_land", "int_land01", "int_land02", "int_land03", "int_land04", "lasagna", "lasa_fild01", "lasa_fild02", "lasa_dun01", "lasa_dun02", "lasa_dun03", "conch_in", "lasa_in01", "lasa_dun_q", "1@pop1", "1@pop2", "1@pop3", "1@slw", "1@swat", "que_swat", "slabw01", "rebel_in", "1@md_gef", "1@md_pay", "har_in01", "harboro1", "harboro2", "rockmi1", "rockmi2", "rockrdg1", "rockrdg2", "1@gl_k2", "2@gl_k2", "1@xm_d2", "pay_d03_i", "gef_d01_i", "ice_d03_i", "1@tre", "1@begi", "tur_d03_i", "tur_d04_i", "1@crd", "ordeal_a00", "ordeal_a02", "pprontera", "niflxmas", "sch_lab", "nakhyang", "lasa_sea", "1@drdo", "x_lhz", "x_prt", "x_ra", "prt_evt_in", "vis_h01", "vis_h02", "vis_h03", "vis_h04", "ein_d02_i", "com_d02_i", "1@soul", "star_frst", "star_in", "2009rwc_01", "2009rwc_02", "2009rwc_03", "2009rwc_04", "2009rwc_05", "2009rwc_06", "2009rwc_07", "2009rwc_08", "2009rwc_f01", "2012rwc_01", "2012rwc_02", "2012rwc_03", "2012rwc_04", "2012rwc_05", "2012rwc_06", "2012rwc_07", "2012rwc_08"; .map_size = getarraysize(.maps$); freeloop true; for(;.@i < .map_size;.@i++) { if(getmapusers(.maps$[.@i]) >= 0) { if(!getmapflag(.maps$[.@i],mf_nowarpto) && !getmapflag(.maps$[.@i],mf_nowarp) && !getmapflag(.maps$[.@i],mf_nopenalty) && !getmapflag(.maps$[.@i],mf_noskill)) continue; } deletearray .maps$[.@i],1; .@i--; .map_size--; } freeloop false; OnSpawn: copyarray .@maps$,.maps$,.map_size; for(.@i = 0;.@i < 7;.@i++) { .@r = rand(.map_size - .@i); .@map$ = .@maps$[.@r]; getfreecell .@map$,.@x,.@y; //makeitem .item_id + .@i,.@map$,.@x,.@y; makeitem .item_id,1,.@map$,.@x,.@y; debugmes "Dragon Ball "+(.@i + 1)+" location: "+.@map$+" "+.@x+" "+.@y+"."; } end; } prontera,100,100,4 script Dragon Ball 100,{ .@item_id = getvariableofnpc(.item_id,"DB_Spawn"); /* for(.@i = 0;.@i < 7;.@i++) { if(countitem(.@item_id + .@i)) .@n++; } if(.@n >= 7) { */ if(countitem(.@item_id) >= 7) { mes "You have all the balls!"; mes "Select your wish!"; switch(select("Kill everyone","Resurrect everyone","Be millionaire")) { case 1: freeloop true; .@oid = getcharid(3); .@n = getunits(BL_PC,.@player); for(.@i = 0;.@i < .@n;.@i++) { if(.@player[.@n] != .@oid) unitkill .@player[.@n]; } freeloop false; break; case 2: recovery 4,4; break; case 3: Zeny+= 700000000; break; } donpcevent "DB_Spawn::OnSpawn"; } else { mes "Dragon Balls are all around the world!"; } close; } Of course it can be expanded/modified a lot. 1 Quote
0 Strand Posted December 13, 2018 Author Posted December 13, 2018 Hello @n0tttt, This looks pretty cool! By the way, when I use it on my emulator, the system detects an error. I hope you can help me out on this. Thanks a lot! Quote
0 n0tttt Posted December 13, 2018 Posted December 13, 2018 That's a newer command. You need to update your emulator. Anyways I forgot makeitem is not permanent, so you might need to make some changes to the source and recompile. map.cpp Change: int map_addflooritem(struct item *item, int amount, int16 m, int16 x, int16 y, int first_charid, int second_charid, int third_charid, int flags, unsigned short mob_id, bool canShowEffect) { int r; struct flooritem_data *fitem = NULL; nullpo_ret(item); if (!(flags&4) && battle_config.item_onfloor && (itemdb_traderight(item->nameid)&1)) return 0; //can't be dropped if (!map_searchrandfreecell(m,&x,&y,flags&2?1:0)) return 0; r = rnd(); CREATE(fitem, struct flooritem_data, 1); fitem->bl.type=BL_ITEM; fitem->bl.prev = fitem->bl.next = NULL; fitem->bl.m=m; fitem->bl.x=x; fitem->bl.y=y; fitem->bl.id = map_get_new_object_id(); if (fitem->bl.id==0) { aFree(fitem); return 0; } fitem->first_get_charid = first_charid; fitem->first_get_tick = gettick() + (flags&1 ? battle_config.mvp_item_first_get_time : battle_config.item_first_get_time); fitem->second_get_charid = second_charid; fitem->second_get_tick = fitem->first_get_tick + (flags&1 ? battle_config.mvp_item_second_get_time : battle_config.item_second_get_time); fitem->third_get_charid = third_charid; fitem->third_get_tick = fitem->second_get_tick + (flags&1 ? battle_config.mvp_item_third_get_time : battle_config.item_third_get_time); fitem->mob_id = mob_id; memcpy(&fitem->item,item,sizeof(*item)); fitem->item.amount = amount; fitem->subx = (r&3)*3+3; fitem->suby = ((r>>2)&3)*3+3; fitem->cleartimer = add_timer(gettick()+battle_config.flooritem_lifetime,map_clearflooritem_timer,fitem->bl.id,0); map_addiddb(&fitem->bl); if (map_addblock(&fitem->bl)) return 0; clif_dropflooritem(fitem,canShowEffect); return fitem->bl.id; } to: int map_addflooritem(struct item *item, int amount, int16 m, int16 x, int16 y, int first_charid, int second_charid, int third_charid, int flags, unsigned short mob_id, bool canShowEffect, bool permanent) { int r; struct flooritem_data *fitem = NULL; nullpo_ret(item); if (!(flags&4) && battle_config.item_onfloor && (itemdb_traderight(item->nameid)&1)) return 0; //can't be dropped if (!map_searchrandfreecell(m,&x,&y,flags&2?1:0)) return 0; r = rnd(); CREATE(fitem, struct flooritem_data, 1); fitem->bl.type=BL_ITEM; fitem->bl.prev = fitem->bl.next = NULL; fitem->bl.m=m; fitem->bl.x=x; fitem->bl.y=y; fitem->bl.id = map_get_new_object_id(); if (fitem->bl.id==0) { aFree(fitem); return 0; } fitem->first_get_charid = first_charid; fitem->first_get_tick = gettick() + (flags&1 ? battle_config.mvp_item_first_get_time : battle_config.item_first_get_time); fitem->second_get_charid = second_charid; fitem->second_get_tick = fitem->first_get_tick + (flags&1 ? battle_config.mvp_item_second_get_time : battle_config.item_second_get_time); fitem->third_get_charid = third_charid; fitem->third_get_tick = fitem->second_get_tick + (flags&1 ? battle_config.mvp_item_third_get_time : battle_config.item_third_get_time); fitem->mob_id = mob_id; memcpy(&fitem->item,item,sizeof(*item)); fitem->item.amount = amount; fitem->subx = (r&3)*3+3; fitem->suby = ((r>>2)&3)*3+3; if(!permanent) fitem->cleartimer = add_timer(gettick()+battle_config.flooritem_lifetime,map_clearflooritem_timer,fitem->bl.id,0); map_addiddb(&fitem->bl); if (map_addblock(&fitem->bl)) return 0; clif_dropflooritem(fitem,canShowEffect); return fitem->bl.id; } map.hpp Change: int map_addflooritem(struct item *item, int amount, int16 m, int16 x, int16 y, int first_charid, int second_charid, int third_charid, int flags, unsigned short mob_id, bool canShowEffect = false); to: int map_addflooritem(struct item *item, int amount, int16 m, int16 x, int16 y, int first_charid, int second_charid, int third_charid, int flags, unsigned short mob_id, bool canShowEffect = false, bool permanent = false); script.cpp Change: BUILDIN_FUNC(makeitem) { uint16 nameid, amount, flag = 0, x, y; const char *mapname; int m; struct item item_tmp; struct script_data *data; data = script_getdata(st,2); get_val(st,data); if( data_isstring(data) ){ const char *name = conv_str(st,data); struct item_data *item_data = itemdb_searchname(name); if( item_data ) nameid = item_data->nameid; else nameid = UNKNOWN_ITEM_ID; } else nameid = conv_num(st,data); amount = script_getnum(st,3); mapname = script_getstr(st,4); x = script_getnum(st,5); y = script_getnum(st,6); if(strcmp(mapname,"this")==0) { TBL_PC *sd; if (!script_rid2sd(sd)) return SCRIPT_CMD_SUCCESS; //Failed... m = sd->bl.m; } else m = map_mapname2mapid(mapname); if(nameid<0) { nameid = -nameid; flag = 1; } if(nameid > 0) { memset(&item_tmp,0,sizeof(item_tmp)); item_tmp.nameid = nameid; if(!flag) item_tmp.identify = 1; else item_tmp.identify = itemdb_isidentified(nameid); map_addflooritem(&item_tmp,amount,m,x,y,0,0,0,4,0); } return SCRIPT_CMD_SUCCESS; } to: BUILDIN_FUNC(makeitem) { uint16 nameid, amount, flag = 0, x, y; bool permanent = false; const char *mapname; int m; struct item item_tmp; struct script_data *data; data = script_getdata(st,2); get_val(st,data); if( data_isstring(data) ){ const char *name = conv_str(st,data); struct item_data *item_data = itemdb_searchname(name); if( item_data ) nameid = item_data->nameid; else nameid = UNKNOWN_ITEM_ID; } else nameid = conv_num(st,data); amount = script_getnum(st,3); mapname = script_getstr(st,4); x = script_getnum(st,5); y = script_getnum(st,6); if(script_hasdata(st,7)) permanent = script_getnum(st,7) != 0; if(strcmp(mapname,"this")==0) { TBL_PC *sd; if (!script_rid2sd(sd)) return SCRIPT_CMD_SUCCESS; //Failed... m = sd->bl.m; } else m = map_mapname2mapid(mapname); if(nameid<0) { nameid = -nameid; flag = 1; } if(nameid > 0) { memset(&item_tmp,0,sizeof(item_tmp)); item_tmp.nameid = nameid; if(!flag) item_tmp.identify = 1; else item_tmp.identify = itemdb_isidentified(nameid); map_addflooritem(&item_tmp,amount,m,x,y,0,0,0,4,0,0,permanent); } return SCRIPT_CMD_SUCCESS; } Change: BUILDIN_DEF(makeitem,"visii"), to: BUILDIN_DEF(makeitem,"visii?"), Script: - script DB_Spawn -1,{ OnInit: .item_id = 512; setarray .maps$[0], "alb_ship", "alb2trea", "alberta", "alberta_in", "alde_dun01", "alde_dun02", "alde_dun03", "alde_dun04", "aldeba_in", "aldebaran", "anthell01", "anthell02", "arena_room", "c_tower1", "c_tower2", "c_tower3", "c_tower4", "force_1-1", "force_1-2", "force_1-3", "force_2-1", "force_2-2", "force_2-3", "force_3-1", "force_3-2", "force_3-3", "gef_dun00", "gef_dun01", "gef_dun02", "gef_dun03", "gef_fild00", "gef_fild01", "gef_fild02", "gef_fild03", "gef_fild04", "gef_fild05", "gef_fild06", "gef_fild07", "gef_fild08", "gef_fild09", "gef_fild10", "gef_fild11", "gef_fild12", "gef_fild13", "gef_fild14", "gef_tower", "geffen", "geffen_in", "gl_cas01", "gl_cas02", "gl_church", "gl_chyard", "gl_dun01", "gl_dun02", "gl_in01", "gl_knt01", "gl_knt02", "gl_prison", "gl_prison1", "gl_sew01", "gl_sew02", "gl_sew03", "gl_sew04", "gl_step", "glast_01", "hunter_1-1", "hunter_2-1", "hunter_3-1", "in_hunter", "in_moc_16", "in_orcs01", "in_sphinx1", "in_sphinx2", "in_sphinx3", "in_sphinx4", "in_sphinx5", "iz_dun00", "iz_dun01", "iz_dun02", "iz_dun03", "iz_dun04", "job_sword1", "izlu2dun", "izlude", "izlude_in", "job_thief1", "knight_1-1", "knight_2-1", "knight_3-1", "mjo_dun01", "mjo_dun02", "mjo_dun03", "mjolnir_01", "mjolnir_02", "mjolnir_03", "mjolnir_04", "mjolnir_05", "mjolnir_06", "mjolnir_07", "mjolnir_08", "mjolnir_09", "mjolnir_10", "mjolnir_11", "mjolnir_12", "moc_castle", "moc_fild01", "moc_fild02", "moc_fild03", "moc_fild04", "moc_fild05", "moc_fild06", "moc_fild07", "moc_fild08", "moc_fild09", "moc_fild10", "moc_fild11", "moc_fild12", "moc_fild13", "moc_fild14", "moc_fild15", "moc_fild16", "moc_fild17", "moc_fild18", "moc_fild19", "moc_pryd01", "moc_pryd02", "moc_pryd03", "moc_pryd04", "moc_pryd05", "moc_pryd06", "moc_prydb1", "moc_ruins", "monk_in", "morocc", "morocc_in", "new_1-1", "new_1-2", "new_1-3", "new_1-4", "new_2-1", "new_2-2", "new_2-3", "new_2-4", "new_3-1", "new_3-2", "new_3-3", "new_3-4", "new_4-1", "new_4-2", "new_4-3", "new_4-4", "new_5-1", "new_5-2", "new_5-3", "new_5-4", "orcsdun01", "orcsdun02", "ordeal_1-1", "ordeal_1-2", "ordeal_2-1", "ordeal_2-2", "ordeal_3-1", "ordeal_3-2", "pay_arche", "pay_dun00", "pay_dun01", "pay_dun02", "pay_dun03", "pay_dun04", "pay_fild01", "pay_fild02", "pay_fild03", "pay_fild04", "pay_fild05", "pay_fild06", "pay_fild07", "pay_fild08", "pay_fild09", "pay_fild10", "pay_fild11", "payon", "payon_in01", "payon_in02", "priest_1-1", "priest_2-1", "priest_3-1", "prontera", "prt_are_in", "prt_are01", "pvp_room", "prt_castle", "prt_church", "prt_fild00", "prt_fild01", "prt_fild02", "prt_fild03", "prt_fild04", "prt_fild05", "prt_fild06", "prt_fild07", "prt_fild08", "prt_fild09", "prt_fild10", "prt_fild11", "prt_in", "prt_maze01", "prt_maze02", "prt_maze03", "prt_monk", "prt_sewb1", "prt_sewb2", "prt_sewb3", "prt_sewb4", "pvp_2vs2", "pvp_c_room", "pvp_n_1-1", "pvp_n_1-2", "pvp_n_1-3", "pvp_n_1-4", "pvp_n_1-5", "pvp_n_2-1", "pvp_n_2-2", "pvp_n_2-3", "pvp_n_2-4", "pvp_n_2-5", "pvp_n_3-1", "pvp_n_3-2", "pvp_n_3-3", "pvp_n_3-4", "pvp_n_3-5", "pvp_n_4-1", "pvp_n_4-2", "pvp_n_4-3", "pvp_n_4-4", "pvp_n_4-5", "pvp_n_5-1", "pvp_n_5-2", "pvp_n_5-3", "pvp_n_5-4", "pvp_n_5-5", "pvp_n_6-1", "pvp_n_6-2", "pvp_n_6-3", "pvp_n_6-4", "pvp_n_6-5", "pvp_n_7-1", "pvp_n_7-2", "pvp_n_7-3", "pvp_n_7-4", "pvp_n_7-5", "pvp_n_8-1", "pvp_n_8-2", "pvp_n_8-3", "pvp_n_8-4", "pvp_n_8-5", "pvp_n_room", "pvp_y_1-1", "pvp_y_1-2", "pvp_y_1-3", "pvp_y_1-4", "pvp_y_1-5", "pvp_y_2-1", "pvp_y_2-2", "pvp_y_2-3", "pvp_y_2-4", "pvp_y_2-5", "pvp_y_3-1", "pvp_y_3-2", "pvp_y_3-3", "pvp_y_3-4", "pvp_y_3-5", "pvp_y_4-1", "pvp_y_4-2", "pvp_y_4-3", "pvp_y_4-4", "pvp_y_4-5", "pvp_y_5-1", "pvp_y_5-2", "pvp_y_5-3", "pvp_y_5-4", "pvp_y_5-5", "pvp_y_6-1", "pvp_y_6-2", "pvp_y_6-3", "pvp_y_6-4", "pvp_y_6-5", "pvp_y_7-1", "pvp_y_7-2", "pvp_y_7-3", "pvp_y_7-4", "pvp_y_7-5", "pvp_y_8-1", "pvp_y_8-2", "pvp_y_8-3", "pvp_y_8-4", "pvp_y_8-5", "pvp_y_room", "sword_1-1", "sword_2-1", "sword_3-1", "treasure01", "treasure02", "wizard_1-1", "wizard_2-1", "wizard_3-1", "xmas", "xmas_dun01", "xmas_dun02", "xmas_fild01", "xmas_in", "beach_dun", "beach_dun2", "beach_dun3", "cmd_fild01", "cmd_fild02", "cmd_fild03", "cmd_fild04", "cmd_fild05", "cmd_fild06", "cmd_fild07", "cmd_fild08", "cmd_fild09", "cmd_in01", "cmd_in02", "comodo", "quiz_00", "quiz_01", "g_room1-1", "g_room1-2", "g_room1-3", "g_room2", "tur_dun01", "tur_dun02", "tur_dun03", "tur_dun04", "tur_dun05", "tur_dun06", "alde_gld", "aldeg_cas01", "aldeg_cas02", "aldeg_cas03", "aldeg_cas04", "aldeg_cas05", "gefg_cas01", "gefg_cas02", "gefg_cas03", "gefg_cas04", "gefg_cas05", "gld_dun01", "gld_dun02", "gld_dun03", "gld_dun04", "guild_room", "guild_vs1", "guild_vs2", "guild_vs3", "guild_vs4", "guild_vs5", "guild_vs1-1", "guild_vs1-2", "guild_vs1-3", "guild_vs1-4", "guild_vs2-1", "guild_vs2-2", "job_hunte", "job_knt", "job_prist", "job_wiz", "pay_gld", "payg_cas01", "payg_cas02", "payg_cas03", "payg_cas04", "payg_cas05", "prt_gld", "prtg_cas01", "prtg_cas02", "prtg_cas03", "prtg_cas04", "prtg_cas05", "alde_alche", "in_rogue", "job_cru", "job_duncer", "job_monk", "job_sage", "mag_dun01", "mag_dun02", "monk_test", "quiz_test", "yuno", "yuno_fild01", "yuno_fild02", "yuno_fild03", "yuno_fild04", "yuno_in01", "yuno_in02", "yuno_in03", "yuno_in04", "yuno_in05", "ama_dun01", "ama_dun02", "ama_dun03", "ama_fild01", "ama_in01", "ama_in02", "ama_test", "amatsu", "gon_dun01", "gon_dun02", "gon_dun03", "gon_fild01", "gon_in", "gon_test", "gonryun", "sec_in01", "sec_in02", "sec_pri", "umbala", "um_dun01", "um_dun02", "um_fild01", "um_fild02", "um_fild03", "um_fild04", "um_in", "niflheim", "nif_fild01", "nif_fild02", "nif_in", "yggdrasil01", "valkyrie", "himinn", "lou_in01", "lou_in02", "lou_dun03", "lou_dun02", "lou_dun01", "lou_fild01", "louyang", "siege_test", "n_castle", "nguild_gef", "nguild_prt", "nguild_pay", "nguild_alde", "jawaii", "jawaii_in", "gefenia01", "gefenia02", "gefenia03", "gefenia04", "new_zone01", "new_zone02", "new_zone03", "new_zone04", "payon_in03", "ayothaya", "ayo_in01", "ayo_in02", "ayo_fild01", "ayo_fild02", "ayo_dun01", "ayo_dun02", "que_god01", "que_god02", "yuno_fild05", "yuno_fild07", "yuno_fild08", "yuno_fild09", "yuno_fild11", "yuno_fild12", "alde_tt02", "turbo_n_1", "turbo_n_4", "turbo_n_8", "turbo_n_16", "turbo_e_4", "turbo_e_8", "turbo_e_16", "turbo_room", "airplane", "airport", "einbech", "einbroch", "ein_dun01", "ein_dun02", "ein_fild06", "ein_fild07", "ein_fild08", "ein_fild09", "ein_fild10", "ein_in01", "que_sign01", "que_sign02", "ein_fild03", "ein_fild04", "lhz_fild02", "lhz_fild03", "yuno_pre", "lhz_fild01", "lighthalzen", "lhz_in01", "lhz_in02", "lhz_in03", "lhz_que01", "lhz_dun01", "lhz_dun02", "lhz_dun03", "lhz_cube", "juperos_01", "juperos_02", "jupe_area1", "jupe_area2", "jupe_core", "jupe_ele", "jupe_ele_r", "jupe_gate", "y_airport", "lhz_airport", "airplane_01", "jupe_cave", "quiz_02", "hu_fild07", "hu_fild05", "hu_fild04", "hu_fild01", "yuno_fild06", "job_soul", "job_star", "que_job01", "que_job02", "que_job03", "abyss_01", "abyss_02", "abyss_03", "thana_step", "thana_boss", "tha_scene01", "tha_t01", "tha_t02", "tha_t03", "tha_t04", "tha_t07", "tha_t05", "tha_t06", "tha_t08", "tha_t09", "tha_t10", "tha_t11", "tha_t12", "auction_01", "auction_02", "hugel", "hu_in01", "que_bingo", "que_hugel", "p_track01", "p_track02", "odin_tem01", "odin_tem02", "odin_tem03", "hu_fild02", "hu_fild03", "hu_fild06", "ein_fild01", "ein_fild02", "ein_fild05", "yuno_fild10", "kh_kiehl02", "kh_kiehl01", "kh_dun02", "kh_dun01", "kh_mansion", "kh_rossi", "kh_school", "kh_vila", "force_map1", "force_map2", "force_map3", "job_hunter", "job_knight", "job_priest", "job_wizard", "ve_in02", "rachel", "ra_in01", "ra_fild01", "ra_fild02", "ra_fild03", "ra_fild04", "ra_fild05", "ra_fild06", "ra_fild07", "ra_fild08", "ra_fild09", "ra_fild10", "ra_fild11", "ra_fild12", "ra_fild13", "ra_san01", "ra_san02", "ra_san03", "ra_san04", "ra_san05", "ra_temin", "ra_temple", "ra_temsky", "que_rachel", "ice_dun01", "ice_dun02", "ice_dun03", "ice_dun04", "que_thor", "thor_camp", "thor_v01", "thor_v02", "thor_v03", "veins", "ve_in", "ve_fild01", "ve_fild02", "ve_fild03", "ve_fild04", "ve_fild05", "ve_fild06", "ve_fild07", "poring_c01", "poring_c02", "que_ng", "nameless_i", "nameless_n", "nameless_in", "abbey01", "abbey02", "abbey03", "poring_w01", "poring_w02", "que_san04", "moscovia", "mosk_in", "mosk_ship", "mosk_fild01", "mosk_fild02", "mosk_dun01", "mosk_dun02", "mosk_dun03", "mosk_que", "force_4-1", "force_5-1", "06guild_r", "06guild_01", "06guild_02", "06guild_03", "06guild_04", "06guild_05", "06guild_06", "06guild_07", "06guild_08", "z_agit", "que_temsky", "itemmall", "bossnia_01", "bossnia_02", "bossnia_03", "bossnia_04", "schg_cas01", "schg_cas02", "schg_cas03", "schg_cas04", "schg_cas05", "sch_gld", "cave", "moc_fild20", "moc_fild21", "moc_fild22", "que_ba", "que_moc_16", "que_moon", "arug_cas01", "arug_cas02", "arug_cas03", "arug_cas04", "arug_cas05", "aru_gld", "bat_room", "bat_a01", "bat_a02", "bat_b01", "bat_b02", "que_qsch01", "que_qsch02", "que_qsch03", "que_qsch04", "que_qsch05", "que_qaru01", "que_qaru02", "que_qaru03", "que_qaru04", "que_qaru05", "1@cata", "2@cata", "e_tower", "1@tower", "2@tower", "3@tower", "4@tower", "5@tower", "6@tower", "mid_camp", "mid_campin", "man_fild01", "man_fild03", "spl_fild02", "spl_fild03", "moc_fild22b", "que_dan01", "que_dan02", "schg_que01", "schg_dun01", "arug_que01", "arug_dun01", "1@orcs", "2@orcs", "1@nyd", "2@nyd", "nyd_dun01", "nyd_dun02", "manuk", "man_fild02", "man_in01", "splendide", "spl_fild01", "spl_in01", "spl_in02", "bat_c01", "bat_c02", "bat_c03", "moc_para01", "job3_arch01", "job3_arch02", "job3_arch03", "job3_guil01", "job3_guil02", "job3_guil03", "job3_rang01", "job3_rang02", "job3_rune01", "job3_rune02", "job3_rune03", "job3_war01", "job3_war02", "jupe_core2", "brasilis", "bra_in01", "bra_fild01", "bra_dun01", "bra_dun02", "dicastes01", "dicastes02", "dic_in01", "dic_fild01", "dic_fild02", "dic_dun01", "dic_dun02", "job3_gen01", "s_atelier", "job3_sha01", "mora", "bif_fild01", "bif_fild02", "1@mist", "dewata", "dew_in01", "dew_fild01", "dew_dun01", "dew_dun02", "que_house_s", "malangdo", "mal_in01", "mal_in02", "mal_dun01", "1@pump", "2@pump", "1@cash", "iz_dun05", "evt_mobroom", "alde_tt03", "dic_dun03", "1@lhz", "lhz_dun04", "que_lhz", "evt_swar_b", "evt_swar_r", "evt_swar_s", "evt_swar_t", "gld2_ald", "gld2_gef", "gld2_pay", "gld2_prt", "gld_dun01_2", "gld_dun02_2", "gld_dun03_2", "gld_dun04_2", "malaya", "job_ko", "ma_scene01", "1@ma_b", "1@ma_c", "1@ma_h", "ma_in01", "ma_dun01", "ma_fild01", "ma_fild02", "ma_zif01", "ma_zif02", "ma_zif03", "ma_zif04", "ma_zif05", "ma_zif06", "ma_zif07", "ma_zif08", "ma_zif09", "new_event", "eclage", "ecl_fild01", "ecl_tdun01", "ecl_tdun02", "ecl_tdun03", "ecl_tdun04", "que_avan01", "1@ecl", "ecl_in01", "ecl_in02", "ecl_in03", "ecl_in04", "ecl_hub01", "moc_prydn1", "moc_prydn2", "iz_ac01", "iz_ac02", "treasure_n1", "treasure_n2", "iz_int", "iz_ng01", "iz_int01", "iz_int02", "iz_int03", "iz_int04", "iz_ac01_a", "iz_ac02_a", "iz_ac01_b", "iz_ac02_b", "iz_ac01_c", "iz_ac02_c", "iz_ac01_d", "iz_ac02_d", "te_prtcas01", "te_prtcas02", "te_prtcas03", "te_prtcas04", "te_prtcas05", "te_aldecas1", "te_aldecas2", "te_aldecas3", "te_aldecas4", "te_aldecas5", "prt_fild08a", "prt_fild08b", "prt_fild08c", "prt_fild08d", "izlude_a", "izlude_b", "izlude_c", "izlude_d", "te_prt_gld", "te_alde_gld", "teg_dun01", "teg_dun02", "1@gl_k", "2@gl_k", "gl_chyard_", "gl_cas02_", "evt_bomb", "1@def01", "1@def02", "1@def03", "1@gef", "1@face", "1@sara", "1@gef_in", "dali", "dali02", "1@ge_st", "1@spa", "1@tnm1", "1@tnm2", "1@tnm3", "1@dth1", "1@dth2", "1@dth3", "1@eom", "1@jtb", "1@rev", "1@xm_d", "moro_cav", "moro_vol", "silk_lair", "c_tower2_", "c_tower3_", "1@mcd", "ver_eju", "ver_tunn", "verus03", "verus04", "job_gun", "1@air1", "1@air2", "1@glast", "lhz_dun_n", "lhz_d_n2", "1@gl_kh", "2@gl_kh", "1@lab", "1@uns", "un_bk_q", "un_bunker", "un_myst", "verus01", "verus02", "paramk", "1@infi", "1@ffp", "1@mir", "2@mir", "1@sthb", "1@sthc", "1@sthd", "prt_cas", "prt_cas_q", "prt_prison", "prt_lib", "prt_lib_q", "prt_q", "prt_pri00", "int_land", "int_land01", "int_land02", "int_land03", "int_land04", "lasagna", "lasa_fild01", "lasa_fild02", "lasa_dun01", "lasa_dun02", "lasa_dun03", "conch_in", "lasa_in01", "lasa_dun_q", "1@pop1", "1@pop2", "1@pop3", "1@slw", "1@swat", "que_swat", "slabw01", "rebel_in", "1@md_gef", "1@md_pay", "har_in01", "harboro1", "harboro2", "rockmi1", "rockmi2", "rockrdg1", "rockrdg2", "1@gl_k2", "2@gl_k2", "1@xm_d2", "pay_d03_i", "gef_d01_i", "ice_d03_i", "1@tre", "1@begi", "tur_d03_i", "tur_d04_i", "1@crd", "ordeal_a00", "ordeal_a02", "pprontera", "niflxmas", "sch_lab", "nakhyang", "lasa_sea", "1@drdo", "x_lhz", "x_prt", "x_ra", "prt_evt_in", "vis_h01", "vis_h02", "vis_h03", "vis_h04", "ein_d02_i", "com_d02_i", "1@soul", "star_frst", "star_in", "2009rwc_01", "2009rwc_02", "2009rwc_03", "2009rwc_04", "2009rwc_05", "2009rwc_06", "2009rwc_07", "2009rwc_08", "2009rwc_f01", "2012rwc_01", "2012rwc_02", "2012rwc_03", "2012rwc_04", "2012rwc_05", "2012rwc_06", "2012rwc_07", "2012rwc_08"; .map_size = getarraysize(.maps$); freeloop true; for(;.@i < .map_size;.@i++) { if(getmapusers(.maps$[.@i]) >= 0) { if(!getmapflag(.maps$[.@i],mf_nowarpto) && !getmapflag(.maps$[.@i],mf_nowarp) && !getmapflag(.maps$[.@i],mf_nopenalty) && !getmapflag(.maps$[.@i],mf_noskill) && mobcount(.maps$[.@i],"all")) continue; } deletearray .maps$[.@i],1; .@i--; .map_size--; } freeloop false; OnSpawn: copyarray .@maps$,.maps$,.map_size; for(.@i = 0;.@i < 7;.@i++) { .@r = rand(.map_size - .@i); .@map$ = .@maps$[.@r]; getfreecell .@map$,.@x,.@y; //makeitem .item_id + .@i,.@map$,.@x,.@y; makeitem .item_id,1,.@map$,.@x,.@y,true; deletearray .@maps$[.@r],1; debugmes "Dragon Ball "+(.@i + 1)+" location: "+.@map$+" "+.@x+" "+.@y+"."; } end; } prontera,100,100,4 script Dragon Ball 100,{ .@item_id = getvariableofnpc(.item_id,"DB_Spawn"); /* for(.@i = 0;.@i < 7;.@i++) { if(countitem(.@item_id + .@i)) .@n++; } if(.@n >= 7) { */ if(countitem(.@item_id) >= 7) { mes "You have all the balls!"; mes "Select your wish!"; switch(select("Kill everyone","Resurrect everyone","Be millionaire")) { case 1: freeloop true; .@oid = getcharid(3); .@n = getunits(BL_PC,.@player); for(.@i = 0;.@i < .@n;.@i++) { if(.@player[.@n] != .@oid) unitkill .@player[.@n]; } freeloop false; break; case 2: recovery 4,4; break; case 3: Zeny+= 700000000; break; } donpcevent "DB_Spawn::OnSpawn"; } else { mes "Dragon Balls are all around the world!"; } close; } Quote
0 Strand Posted December 13, 2018 Author Posted December 13, 2018 Hello @n0tttt, Thanks for your quick answer. If I do not intend to update my emulator, I would like to preserve the same one, is there any way that you can adapt the script with older commands? I would really appreciate this. Quote
0 n0tttt Posted December 13, 2018 Posted December 13, 2018 Updating is always the best option since bugs are fixed all the time. But if you really want to keep your current emulator, you have to apply these commits: https://github.com/rathena/rathena/commit/10e7035bebdbc2ec25a392ee2cf14172ecf169e5 https://github.com/rathena/rathena/commit/0c2ccc77c7ef30afda6fb978f402a10d1f1b7f24 Quote
0 Strand Posted December 14, 2018 Author Posted December 14, 2018 Hello @n0tttt I tried to update my emulator but an error keeps on appearing every time I compile the server: Quote
0 n0tttt Posted December 20, 2018 Posted December 20, 2018 To be honest, can't really know how much you need to change. Do you know what version do you have? Anyways I think it has to be something about map.cpp or map.hpp Check the differences yourself: https://github.com/rathena/rathena/search?q=bl_type&type=Code 1 Quote
0 AdrianoGC Posted March 19, 2020 Posted March 19, 2020 Adicionei no npc mes "Dragon Ball "+(.@i + 1)+" location: "+.@map$+" "+.@x+" "+.@y+"."; Retornou: Dragon Ball 1 location: 0 0. Quote
Question
Strand
Hello guys,
I hope you can help me out with the following requests:
A couple of months back I found a script event where you had to find the Dragon Ball Spheres all around Midgard maps. Just like Dragon Ball Z.
Do you know where I can find it?
Thanks in advance.
8 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.