Jump to content

DEsMOn

Members
  • Posts

    138
  • Joined

  • Last visited

Everything posted by DEsMOn

  1. Thank you so much done..! I changed and its solved..!! query_sql("TRUNCATE TABLE `ragnarok`.`ownladder`;"); query_sql("TRUNCATE TABLE `ragnarok`.`pvpladder`;"); 1 More question..i wanna do this to same for Hunting Mission n MVP ladder should i post new topic or u can help here?
  2. Hello Sir, Thank you for reply I'm getting this in my CMD now. I've deleted table of pvpladder & ownladder & created Again still same issue. [SQL]: DB error - Table 'your sql database.pvpladder' doesn't exist [Debug]: at F:\rAthena\src\map\script.cpp:16873 - TRUNCATE TABLE `YOUR SQL DATABASE`.`pvpladder`; [Debug]: Source (NPC): RESET_PVP (invisible/not on a map) [SQL]: DB error - Table 'your sql database.ownladder' doesn't exist [Debug]: at F:\rAthena\src\map\script.cpp:16873 - TRUNCATE TABLE `YOUR SQL DATABASE`.`ownladder`; [Debug]: Source (NPC): RESET_PVP (invisible/not on a map) [SQL]: DB error - Table 'ragnarok.pvpladder' doesn't exist [Debug]: at F:\rAthena\src\map\script.cpp:16873 - SELECT `char`.`char_id`, `char`.`name`, `char`.`guild_id`, `char`.`class`, `char`.`sex`, `char`.`hair`, `char`.`hair_color`, `char`.`clothes_color`, `char`.`body`, `char`.`head_top`, `char`.`head_mid`, `char`.`head_bottom`, `char`.`robe`, `pvpladder`.`kills`, `pvpladder`.`streaks`, `pvpladder`.`deaths` FROM `char` RIGHT JOIN `pvpladder` ON `char`.`char_id` = `pvpladder`.`char_id` ORDER BY `kills` DESC LIMIT 10 [Debug]: Source (NPC): DOTAPVP (invisible/not on a map)
  3. Hello Everyone... This script working fine.. i just need to do some modification of adding GM reset so all status will be reset to 0 again and can start new count is it possible to add ? If possible please reply..!! //====== rAthena Script ====================================================== //= PVP ladder script with dota announcement //===== By: ================================================================== //= AnnieRuru //===== Current Version: ===================================================== //= 3.6 //===== Compatible With: ===================================================== //= rAthena 2020-10-20, with MySQL 8.0 //===== Description: ========================================================= //= PVP ladder store in SQL table //= plus anti-sit-killer feature //===== Topic ================================================================ //= https://herc.ws/board/topic/18871-dota-pvp-ladder/ //===== Additional Comments: ================================================= //= add PVP Ladder statue due to popular demand //============================================================================ /* CREATE TABLE `pvpladder` ( `char_id` INT PRIMARY KEY, `name` VARCHAR(24) NOT NULL DEFAULT '', `streaks` INT DEFAULT 0, `kills` INT DEFAULT 0, `deaths` INT DEFAULT 0, `streaktime` DATETIME, KEY (`kills`), KEY (`streaks`) ) ENGINE = MyISAM; CREATE TABLE `ownladder` ( `guild_id` INT PRIMARY KEY, `name` VARCHAR(24) NOT NULL DEFAULT '', `currentown` INT DEFAULT 0, `highestown` INT DEFAULT 0, `owntime` DATETIME, KEY (`highestown`) ) ENGINE = MyISAM; */ // add all the maps that you want this script to trigger ... all pvp and event maps perhaps ? // but if you already enable "all" maps, then can comment all these guild_vs1 mapflag loadevent guild_vs2 mapflag loadevent guild_vs3 mapflag loadevent pvp_y_1-2 mapflag loadevent guild_vs5 mapflag loadevent aldeg_cas01 mapflag loadevent aldeg_cas02 mapflag loadevent aldeg_cas03 mapflag loadevent aldeg_cas04 mapflag loadevent aldeg_cas05 mapflag loadevent gefg_cas01 mapflag loadevent gefg_cas02 mapflag loadevent gefg_cas03 mapflag loadevent gefg_cas04 mapflag loadevent gefg_cas05 mapflag loadevent payg_cas01 mapflag loadevent payg_cas02 mapflag loadevent payg_cas03 mapflag loadevent payg_cas04 mapflag loadevent payg_cas05 mapflag loadevent prtg_cas01 mapflag loadevent prtg_cas02 mapflag loadevent prtg_cas03 mapflag loadevent prtg_cas05 mapflag loadevent arug_cas01 mapflag loadevent arug_cas02 mapflag loadevent arug_cas03 mapflag loadevent arug_cas04 mapflag loadevent arug_cas05 mapflag loadevent schg_cas01 mapflag loadevent schg_cas02 mapflag loadevent schg_cas03 mapflag loadevent schg_cas04 mapflag loadevent schg_cas05 mapflag loadevent - script DOTAPVP FAKE_NPC,{ OnInit: // Config .sound = 1; // soundeffect : 0 - disable, 1 - play soundeffect to all players on map, 2 - play soundeffect to an area around the killer, 3 - play soundeffect to killer only .dota_bc_flag = 0; // announce to : 0 - global, 1 - map .mapname_announcement = 1; // announce the map name in the announcement ? : 0 - off, 1 - on .killannounce = 1; // announce who pawn who's head : 0 - off, 1 - on .msg_die = 1; // show message who kill you when die : 0 - off, 1 - on .msg_kill = 1; // show message you kill who when killed someone : 0 - off, 1 - on .gmnokill = false; // GMs are not suppose to kill players. A GM with <this number> level or higher will do nothing. IF set to 60, GM60 and above kill any player will not get anything : 0 - off .killingspree = 3; .dominating = 4; .megakill = 5; .unstoppable = 6; .wickedsick = 7; .monsterkill = 8; .godlike = 9; .holyshit = 10; .continue = 1; // after beyond-godlike, every <this number> kills will make announcement again .owned = 5; // how many times the guild has to kill to announce ownage .owncontinue = 1; // after ownage, every <this number> guild cumulative kills will make ownage announce again // .min_gm_menu = 90; // minimum level of GM can use the GM menu on ladder npc .showtotal = 20; // show the length of ladder. .showpage = 10; // set the views per page. .loweststreak = 3; // mininum streak count allow to show in highest streak ladder. Default 3 means must at least have killing spree streak to display in ladder .lowestownage = 5; // mininum ownage count allow to show in longest ownage ladder. Default 5 means must at least have 5 ownage counts to display in ladder setarray .maptrigger$, // only these maps will trigger this script // "all", // uncomment this to allow load all maps "guild_vs1", "guild_vs2", "guild_vs3", "pvp_y_1-2", "aldeg_cas01", "aldeg_cas02", "aldeg_cas03", "aldeg_cas04", "aldeg_cas05", "gefg_cas01", "gefg_cas02", "gefg_cas03", "gefg_cas04", "gefg_cas05", "payg_cas01", "payg_cas02", "payg_cas03", "payg_cas04", "payg_cas05", "prtg_cas01", "prtg_cas02", "prtg_cas03", "prtg_cas04", "prtg_cas05", "arug_cas01", "arug_cas02", "arug_cas03", "arug_cas04", "arug_cas05", "schg_cas01", "schg_cas02", "schg_cas03", "schg_cas04", "schg_cas05", "guild_vs5"; .showstatue = 10; // number of statues. This number must match with the number of duplicates at the end of the script .fix_custom_sprite = true; // if your server has custom animated sprite that overlaps the sprite animation repeatedly on the statues, enable this // anti-sit-killer system // a player must kill another player with this minimum <this number> base level to get the announcement and in the ladder. // Otherwise only have streak ended announcement and killed player's streak reset. // Its possible for a level 1 novice to kill a level 99 player and he/she will still get in the ladder // but a level 99 kill a level 1 player will get nothing // 0 - off this system ( default is 55, pk setting ) .lvltokill = 0; // when a player kill another same player <this number> times in a row, the player is warp back to save point. // and the player's streak, kills, and ownage count will deduct accordingly // 0 - off this system .counttopunish = 6; // minimum level range to kill another player // eg. when set to 20, player level 99 needs to kill another player with minimum level of 79 to get announcement and increase the kill rank. // but a player with base level 50 kills a level 99 will also get the announcement // higher base level cannot kill lower level, but lower level can kill higher level // 0 - off this system .minlvlrange = 0; setmapflag "pvp_y_1-2",mf_nobranch; // Config ends ------------------------------------------------------------------------------------------ // to prevent bug happen if (.dota_bc_flag < 0 || .dota_bc_flag > 1) .dota_bc_flag = 0; if (.continue < 1) .continue = 1; if (.owncontinue < 1) .owncontinue = 1; if (.gmnokill <= 0) .gmnokill = 100; if (.lvltokill <= 1) .lvltokill = 0; if (.counttopunish <= 1) .counttopunish = 0; .maptriggersize = getarraysize(.maptrigger$); sleep 1; OnTimer30000: // refresh every 30 seconds. Note the `char` table is unrealiable, player still need to perform certain task to save the character -> see 'save_settings' in conf\map-server.conf [email protected]$ = "SELECT `char`.`char_id`, `char`.`name`, `char`.`guild_id`, `char`.`class`, `char`.`sex`, `char`.`hair`, `char`.`hair_color`, `char`.`clothes_color`, `char`.`body`, `char`.`head_top`, `char`.`head_mid`, `char`.`head_bottom`, `char`.`robe`, " + "`pvpladder`.`kills`, `pvpladder`.`streaks`, `pvpladder`.`deaths` " + "FROM `char` RIGHT JOIN `pvpladder` ON `char`.`char_id` = `pvpladder`.`char_id` ORDER BY `kills` DESC LIMIT "+ .showstatue; [email protected] = query_sql([email protected]$, [email protected], [email protected]$, [email protected]_id, [email protected], [email protected]$, [email protected], [email protected]_color, [email protected]_color, [email protected], [email protected]_top, [email protected]_mid, [email protected]_bottom, [email protected], [email protected], [email protected], [email protected]); if (.fix_custom_sprite) { for ([email protected] = 0; [email protected] < [email protected]; [email protected]) { setunitdata .statue[[email protected] +1], UNPC_HEADTOP, 0; setunitdata .statue[[email protected] +1], UNPC_HEADMIDDLE, 0; setunitdata .statue[[email protected] +1], UNPC_HEADBOTTOM, 0; setunitdata .statue[[email protected] +1], UNPC_ROBE, 0; } } for ([email protected] = 0; [email protected] < [email protected]; [email protected]) { setunitdata .statue[[email protected] +1], UNPC_CLASS, [email protected][[email protected]]; setunitdata .statue[[email protected] +1], UNPC_SEX, ([email protected]$[[email protected]] == "F")? SEX_FEMALE:SEX_MALE; setunitdata .statue[[email protected] +1], UNPC_HAIRSTYLE, [email protected][[email protected]]; setunitdata .statue[[email protected] +1], UNPC_HAIRCOLOR, [email protected]_color[[email protected]]; setunitdata .statue[[email protected] +1], UNPC_CLOTHCOLOR, [email protected]_color[[email protected]]; setunitdata .statue[[email protected] +1], UNPC_BODY2, [email protected][[email protected]]; setunitdata .statue[[email protected] +1], UNPC_HEADTOP, [email protected]_top[[email protected]]; setunitdata .statue[[email protected] +1], UNPC_HEADMIDDLE, [email protected]_mid[[email protected]]; setunitdata .statue[[email protected] +1], UNPC_HEADBOTTOM, [email protected]_bottom[[email protected]]; setunitdata .statue[[email protected] +1], UNPC_ROBE, [email protected][[email protected]]; setnpcdisplay "pvp_ladder_statue#"+([email protected] +1), [email protected]$[[email protected]]; .statue_name$[[email protected] +1] = [email protected]$[[email protected]]; .statue_guild$[[email protected] +1] = getguildname([email protected]_id[[email protected]]); .statue_kills[[email protected] +1] = [email protected][[email protected]]; .statue_streaks[[email protected] +1] = [email protected][[email protected]]; .statue_deaths[[email protected] +1] = [email protected][[email protected]]; } for ([email protected] = [email protected]; [email protected] < .showstatue; [email protected]) setunitdata .statue[[email protected] +1], UNPC_CLASS, HIDDEN_WARP_NPC; initnpctimer; end; // script start. OnPCKillEvent: if (getgmlevel() >= .gmnokill) end; [email protected]$ = strcharinfo(3); if (.maptrigger$ != "all") { while ([email protected] < .maptriggersize && [email protected]$ != .maptrigger$[[email protected]]) [email protected]; if ([email protected] == .maptriggersize) end; } [email protected]$ = strcharinfo(0); [email protected] = getcharid(3); [email protected] = getcharid(0); [email protected] = getcharid(2); [email protected] = BaseLevel; attachrid killedrid; [email protected]$ = strcharinfo(0); [email protected] = getcharid(3); [email protected] = getcharid(0); [email protected] = getcharid(2); [email protected] = BaseLevel; if ([email protected] != [email protected] && (.msg_die || .msg_kill)) { if (.msg_die) message [email protected]$, "You have been killed by "+ [email protected]$; if (.msg_kill) message [email protected]$, "You just killed "+ [email protected]$; } if (@PlayersKilledStreak >= .holyshit) [email protected]$ = "Beyond Godlike"; else if (@PlayersKilledStreak >= .godlike) [email protected]$ = "Godlike"; else if (@PlayersKilledStreak >= .monsterkill) [email protected]$ = "Monster Kill"; else if (@PlayersKilledStreak >= .wickedsick) [email protected]$ = "Wicked Sick"; else if (@PlayersKilledStreak >= .unstoppable) [email protected]$ = "Unstoppable"; else if (@PlayersKilledStreak >= .megakill) [email protected]$ = "Mega-kill"; else if (@PlayersKilledStreak >= .dominating) [email protected]$ = "Dominating"; else if (@PlayersKilledStreak >= .killingspree) [email protected]$ = "Killing Spree"; if (@PlayersKilledStreak >= .killingspree && [email protected] == [email protected]) announce sprintf("%s has ended %s own %s[%d] streak %s", [email protected]$, (Sex)?"him":"her", [email protected]$, @PlayersKilledStreak, (.mapname_announcement)?("at "+ [email protected]$):""), bc_blue|.dota_bc_flag; else if (@PlayersKilledStreak >= .killingspree) announce sprintf("%s has ended %s's %s[%d] streak %s", [email protected]$, [email protected]$, [email protected]$, @PlayersKilledStreak, (.mapname_announcement)?("at "+ [email protected]$):""), bc_blue|.dota_bc_flag; else if (.killannounce && [email protected] != [email protected]) announce sprintf("%s has pawned %s's head %s", [email protected]$, [email protected]$, (.mapname_announcement)?("at "+ [email protected]$):""), bc_blue|.dota_bc_flag; @PlayersKilledStreak = 0; [email protected]_sql_deaths; @dota_multikills = 0; if ([email protected]) .guild_current_ownage[[email protected]] = 0; if ([email protected] == [email protected] || [email protected] < .lvltokill || (.minlvlrange && [email protected] + .minlvlrange < [email protected])) { query_sql sprintf("replace into pvpladder values (%d, '%s', %d, %d, %d, from_unixtime(%d))", [email protected], escape_sql([email protected]$), @dota_sql_streaks, @dota_sql_kills, @dota_sql_deaths, @dota_sql_streaktime); if ([email protected] && .guild_highest_ownage[[email protected]]) query_sql sprintf("replace into ownladder values (%d, '%s', %d, %d, from_unixtime(%d))", [email protected], escape_sql(getguildname([email protected])), .guild_current_ownage[[email protected]], .guild_highest_ownage[[email protected]], .guild_ownage_time[[email protected]]); end; } [email protected]_kills = @dota_sql_kills; [email protected]_deaths = @dota_sql_deaths; [email protected]_streaks = @dota_sql_streaks; [email protected]_streaktime = @dota_sql_streaktime; attachrid killerrid; if (.counttopunish) { if (@sitkillminute != gettime(DT_MINUTE)) { deletearray @sitkill; @sitkillminute = gettime(DT_MINUTE); } [email protected][[email protected]]; if (@sitkill[[email protected]] >= .counttopunish) { warp "SavePoint", 0,0; announce [email protected]$ +" , Stop killing "+ [email protected]$ + " !!!", bc_all; debugmes [email protected]$ +" is sit-killing "+ [email protected]$ +" for "+ @sitkill[[email protected]] + " times"; logmes "is sit-killing "+ [email protected]$ +" for "+ @sitkill[[email protected]] +" times"; if (@PlayersKilledStreak == @dota_sql_streaks) { @dota_sql_streaks = @dota_sql_streaks +1 - .counttopunish; @dota_sql_streaktime = gettimetick(2); } @PlayersKilledStreak = @PlayersKilledStreak +1 - .counttopunish; @dota_sql_kills = @dota_sql_kills +1 - .counttopunish; if (@PlayersKilledStreak < 0) @PlayersKilledStreak = 0; if (@dota_sql_kills < 0) @dota_sql_kills = 0; if (@dota_sql_streaks < 0) @dota_sql_streaks = 0; query_sql sprintf("replace into pvpladder values (%d, '%s', %d, %d, %d, from_unixtime(%d)), (%d, '%s', %d, %d, %d, from_unixtime(%d))", [email protected], escape_sql([email protected]$), @dota_sql_streaks, @dota_sql_kills, @dota_sql_deaths, @dota_sql_streaktime, [email protected], escape_sql([email protected]$), [email protected]_streaks, [email protected]_kills, [email protected]_deaths, [email protected]_streaktime); if ([email protected]) { if (.guild_current_ownage[[email protected]] == .guild_highest_ownage[[email protected]]) { .guild_highest_ownage[[email protected]] = .guild_highest_ownage[[email protected]] +1 - .counttopunish; .guild_ownage_time[[email protected]] = gettimetick(2); } .guild_current_ownage[[email protected]] = .guild_current_ownage[[email protected]] +1 - .counttopunish; if (.guild_current_ownage[[email protected]] < 0) .guild_current_ownage[[email protected]] = 0; if (.guild_highest_ownage[[email protected]] < 0) .guild_highest_ownage[[email protected]] = 0; if ([email protected] && .guild_highest_ownage[[email protected]]) query_sql sprintf("replace into ownladder values (%d, '%s', %d, %d, from_unixtime(%d)), (%d, '%s', %d, %d, from_unixtime(%d))", [email protected], escape_sql(getguildname([email protected])), .guild_current_ownage[[email protected]], .guild_highest_ownage[[email protected]], .guild_ownage_time[[email protected]], [email protected], escape_sql(getguildname([email protected])), .guild_current_ownage[[email protected]], .guild_highest_ownage[[email protected]], .guild_ownage_time[[email protected]]); else query_sql sprintf("replace into ownladder values (%d, '%s', %d, %d, from_unixtime(%d))", [email protected], escape_sql(getguildname([email protected])), .guild_current_ownage[[email protected]], .guild_highest_ownage[[email protected]], .guild_ownage_time[[email protected]]); } else if ([email protected] && .guild_highest_ownage[[email protected]]) query_sql sprintf("replace into ownladder values (%d, '%s', %d, %d, from_unixtime(%d))", [email protected], escape_sql(getguildname([email protected])), .guild_current_ownage[[email protected]], .guild_highest_ownage[[email protected]], .guild_ownage_time[[email protected]]); end; } } [email protected]; [email protected]_sql_kills; if (@PlayersKilledStreak > @dota_sql_streaks) { @dota_sql_streaks = @PlayersKilledStreak; @dota_sql_streaktime = gettimetick(2); } if (@PlayersKilledStreak == .killingspree) setarray [email protected]$, "killingspree.wav", "is on a KILLING SPREE", "!"; else if (@PlayersKilledStreak == .dominating) setarray [email protected]$, "dominating.wav", "is DOMINATING", "!"; else if (@PlayersKilledStreak == .megakill) setarray [email protected]$, "megakill.wav", "has a MEGA KILL", "!"; else if (@PlayersKilledStreak == .unstoppable) setarray [email protected]$, "unstoppable.wav", "is UNSTOPPABLE", "!!"; else if (@PlayersKilledStreak == .wickedsick) setarray [email protected]$, "wickedsick.wav", "is WICKED SICK", "!!"; else if (@PlayersKilledStreak == .monsterkill) setarray [email protected]$, "monsterkill.wav", "has a MONSTER KILL", "!!"; else if (@PlayersKilledStreak == .godlike) setarray [email protected]$, "godlike.wav", "is GODLIKE", "!!!"; else if (@PlayersKilledStreak >= .holyshit && ((@PlayersKilledStreak - .holyshit) % .continue == 0)) setarray [email protected]$,"holyshit.wav", "is BEYOND GODLIKE",". Someone KILL "+( (Sex)?"HIM":"HER" ) +"!!!!!!"; if (getstrlen([email protected]$[1])) { announce sprintf("%s %s[%d] %s%s", [email protected]$, [email protected]$[1], @PlayersKilledStreak, (.mapname_announcement)?("at "+ [email protected]$):"", [email protected]$[2]), bc_blue|.dota_bc_flag; if (.sound == 1) soundeffectall [email protected]$[0], 0, [email protected]$; else if (.sound == 2) soundeffectall [email protected]$[0], 0; else if (.sound == 3) soundeffect [email protected]$[0], 0; } [email protected]_multikills; deltimer "DOTAPVP::OnStreakReset"; addtimer 18000, "DOTAPVP::OnStreakReset"; query_sql sprintf("replace into pvpladder values (%d, '%s', %d, %d, %d, from_unixtime(%d)), (%d, '%s', %d, %d, %d, from_unixtime(%d))", [email protected], escape_sql([email protected]$), @dota_sql_streaks, @dota_sql_kills, @dota_sql_deaths, @dota_sql_streaktime, [email protected], escape_sql([email protected]$), [email protected]_streaks, [email protected]_kills, [email protected]_deaths, [email protected]_streaktime); if ([email protected] && [email protected] != [email protected]) { ++.guild_current_ownage[[email protected]]; if (.guild_current_ownage[[email protected]] > .guild_highest_ownage[[email protected]] ) { .guild_highest_ownage[[email protected]] = .guild_current_ownage[[email protected]]; .guild_ownage_time[[email protected]] = gettimetick(2); } if ([email protected] && .guild_highest_ownage[[email protected]]) query_sql sprintf("replace into ownladder values (%d, '%s', %d, %d, from_unixtime(%d)), (%d, '%s', %d, %d, from_unixtime(%d))", [email protected], escape_sql(getguildname([email protected])), .guild_current_ownage[[email protected]], .guild_highest_ownage[[email protected]], .guild_ownage_time[[email protected]], [email protected], escape_sql(getguildname([email protected])), .guild_current_ownage[[email protected]], .guild_highest_ownage[[email protected]], .guild_ownage_time[[email protected]]); else query_sql sprintf("replace into ownladder values (%d, '%s', %d, %d, from_unixtime(%d))", [email protected], escape_sql(getguildname([email protected])), .guild_current_ownage[[email protected]], .guild_highest_ownage[[email protected]], .guild_ownage_time[[email protected]]); } else if ([email protected] && .guild_highest_ownage[[email protected]]) query_sql sprintf("replace into ownladder values (%d, '%s', %d, %d, from_unixtime(%d))", [email protected], escape_sql(getguildname([email protected])), .guild_current_ownage[[email protected]], .guild_highest_ownage[[email protected]], .guild_ownage_time[[email protected]]); [email protected]_multikills = @dota_multikills; sleep 1500; if ([email protected] && [email protected] != [email protected] && .guild_current_ownage[[email protected]] >= .owned && ((.guild_current_ownage[[email protected]] - .owned) % .owncontinue == 0)) { if ( .dota_bc_flag ) mapannounce [email protected]$, "The guild ["+ getguildname([email protected]) +"] is OWNING["+ .guild_current_ownage[[email protected]] +"] !!!", bc_blue; else announce "The guild ["+ getguildname([email protected]) +"] is OWNING["+ .guild_current_ownage[[email protected]] +"] !!!", bc_blue; if ( .sound == 1 ) soundeffectall "ownage.wav",0,[email protected]$; else if ( .sound == 2 ) soundeffectall "ownage.wav",0; else if ( .sound == 3 && attachrid([email protected]) ) soundeffect "ownage.wav",0; } sleep 1250; if (!attachrid([email protected])) end; if ([email protected]_multikills == 2) { if (.dota_bc_flag) mapannounce [email protected]$, [email protected]$ +" just got a Double Kill !", bc_blue; else announce strcharinfo(0) +" just got a Double Kill !", bc_blue; if (.sound == 1) soundeffectall "doublekill.wav", 0, [email protected]$; else if (.sound == 2) soundeffectall "doublekill.wav", 0; else if (.sound == 3) soundeffect "doublekill.wav", 0; } else if ([email protected]_multikills == 3) { if (.dota_bc_flag) mapannounce [email protected]$, [email protected]$ +" just got a Triple Kill !!!", bc_blue; else announce strcharinfo(0) +" just got a Triple Kill !!!", bc_blue; if (.sound == 1) soundeffectall "triplekill.wav", 0, [email protected]$; else if (.sound == 2) soundeffectall "triplekill.wav", 0; else if (.sound == 3) soundeffect "triplekill.wav", 0; } else if ([email protected]_multikills == 4) { if (.dota_bc_flag) mapannounce [email protected]$, [email protected]$ +" just got a Ultra Kill !!!", bc_blue; else announce strcharinfo(0) +" just got a Ultra Kill !!!", bc_blue; if (.sound == 1) soundeffectall "ultrakill.wav", 0, [email protected]$; else if (.sound == 2) soundeffectall "ultrakill.wav", 0; else if (.sound == 3) soundeffect "ultrakill.wav", 0; } else if ([email protected]_multikills >= 5) { if (.dota_bc_flag) mapannounce [email protected]$, [email protected]$ +" is on a Rampage !!!", bc_blue; else announce strcharinfo(0) +" is on a Rampage !!!", bc_blue; if (.sound == 1) soundeffectall "rampage.wav", 0, [email protected]$; else if (.sound == 2) soundeffectall "rampage.wav", 0; else if (.sound == 3) soundeffect "rampage.wav", 0; } end; OnStreakReset: @dota_multikills = 0; end; OnPCLoginEvent: if (.maptrigger$ != "all") end; OnPCLoadMapEvent: if ([email protected]_sql_kills && [email protected]_sql_deaths) { if (.maptrigger$ != "all") { [email protected]$ = strcharinfo(3); while ([email protected] < .maptriggersize && [email protected]$ != .maptrigger$[[email protected]]) [email protected]; if ([email protected] == .maptriggersize) end; } query_sql "select kills, deaths, streaks, unix_timestamp(streaktime) from pvpladder where char_id = "+ getcharid(0), @dota_sql_kills, @dota_sql_deaths, @dota_sql_streaks, @dota_sql_streaktime; } [email protected] = getcharid(2); if ([email protected] && !.guild_highest_ownage[[email protected]]) { query_sql "select currentown, highestown, unix_timestamp(owntime) from ownladder where guild_id = "+ [email protected], [email protected], [email protected], [email protected]; .guild_current_ownage[[email protected]] = [email protected]; .guild_highest_ownage[[email protected]] = [email protected]; .guild_ownage_time[[email protected]] = [email protected]; } end; } prontera,180,194,3 script PvP-StatsViewer 4_GEFFEN_11,{ [email protected]$ = strnpcinfo(0); while (true) { mes "["+ [email protected]$ +"]"; mes "Hello "+ strcharinfo(0) +"..."; mes "If you want to I can show you your PVP stats."; next; switch (select("Most Kills","Highest Streak","Longest Ownage","Own Information","Explanation")) { mes "["+ [email protected]$ +"]"; case 1: [email protected] = query_sql("select name, kills, deaths from pvpladder order by kills desc limit "+ getvariableofnpc(.showtotal, "DOTAPVP"), [email protected]$, [email protected], [email protected]); if ([email protected]) { mes "The ladder currently is empty."; next; } for ([email protected] = 0; [email protected] < [email protected]; [email protected] += getvariableofnpc(.showpage,"DOTAPVP")) { for ([email protected] = [email protected]; [email protected] < (getvariableofnpc(.showpage,"DOTAPVP") + [email protected]) && [email protected] < [email protected]; [email protected]) mes "^996600"+ ([email protected]+1) +": ^006699"+ [email protected]$[[email protected]] +" ^00AA00["+ [email protected][[email protected]] +"] ^FF0000<"+ [email protected][[email protected]] +">^000000"; next; } break; case 2: [email protected] = query_sql("select name, streaks, date_format(streaktime,'%a %e/%c/%y %r') from pvpladder where streaks >= "+ getvariableofnpc(.loweststreak,"DOTAPVP") +" order by streaks desc limit "+ getvariableofnpc(.showtotal,"DOTAPVP"), [email protected]$, [email protected], [email protected]$); if ([email protected]) { mes "The ladder currently is empty."; next; } for ([email protected] = 0; [email protected] < [email protected]; [email protected] += getvariableofnpc(.showpage,"DOTAPVP") ) { for ( [email protected] = [email protected]; [email protected] < (getvariableofnpc(.showpage,"DOTAPVP") + [email protected]) && [email protected] < [email protected]; [email protected]) { mes "^996600"+ ([email protected]+1) +": ^006699"+ [email protected]$[[email protected]] +" ^70AC11{"+ [email protected][[email protected]] +"} ^000000on :"; mes " ^EE8800"+ [email protected]$[[email protected]] +"^000000"; } next; } break; case 3: [email protected] = query_sql("select name, highestown, date_format(owntime,'%a %e/%c/%y %r') from ownladder where highestown >= "+ getvariableofnpc(.lowestownage,"DOTAPVP") +" order by highestown desc limit "+ getvariableofnpc(.showtotal,"DOTAPVP"), [email protected]$, [email protected], [email protected]$); if ([email protected]) { mes "The ladder currently is empty."; next; } for ([email protected] = 0; [email protected] < [email protected]; [email protected] += getvariableofnpc(.showpage,"DOTAPVP")) { for ([email protected] = [email protected]; [email protected] < (getvariableofnpc(.showpage,"DOTAPVP") + [email protected]) && [email protected] < [email protected]; [email protected] ) { mes "^996600"+ ([email protected]+1) +": ^006699"+ [email protected]$[[email protected]] +" ^00AAAA("+ [email protected][[email protected]] +") ^000000on :"; mes " ^EE8800"+ [email protected]$[[email protected]] +"^000000"; } next; } break; case 4: if ([email protected]_sql_kills && [email protected]_sql_deaths) query_sql "select kills, deaths, streaks, unix_timestamp(streaktime), date_format(streaktime,'%a %e/%c/%y %r') from pvpladder where char_id = "+ getcharid(0), @dota_sql_kills, @dota_sql_deaths, @dota_sql_streaks, @dota_sql_streaktime, [email protected]$; else query_sql "select date_format(from_unixtime("+ @dota_sql_streaktime +"),'%a %e/%c/%y %r')", [email protected]$; if ([email protected]_sql_kills && [email protected]_sql_deaths) mes "You not yet kill any player."; else { mes "Your Current Streak : ^70AC11{"+ @PlayersKilledStreak +"}^000000"; mes "Your Total Kills : ^00AA00["+ @dota_sql_kills +"]^000000"; mes "Your Death Counts : ^FF0000<"+ @dota_sql_deaths +">^000000"; if (@dota_sql_kills || @dota_sql_streaks) { mes "Highest Streak was ^70AC11{"+ @dota_sql_streaks +"}^000000 on :"; mes " ^EE8800"+ [email protected]$ +"^000000"; } } next; [email protected] = getcharid(2); if ([email protected]) { if (!getvariableofnpc(.guild_ownage_time[[email protected]], "DOTAPVP")) { query_sql "select currentown, highestown, unix_timestamp(owntime), date_format(owntime,'%a %e/%c/%y %r') from ownladder where guild_id = "+ [email protected], [email protected], [email protected], [email protected], [email protected]$; set getvariableofnpc(.guild_current_ownage[[email protected]], "DOTAPVP"), [email protected]; set getvariableofnpc(.guild_highest_ownage[[email protected]], "DOTAPVP"),[email protected]; set getvariableofnpc(.guild_ownage_time[[email protected]], "DOTAPVP"), [email protected]; } else query_sql "select date_format( from_unixtime("+ getvariableofnpc(.guild_ownage_time[[email protected]], "DOTAPVP") +"),'%a %e/%c/%y %r')", [email protected]$; mes "["+ [email protected]$ +"]"; if (!getvariableofnpc(.guild_ownage_time[[email protected]], "DOTAPVP")) { mes "Your guild not yet kill any player."; } else { mes "Your guild name : ^006699"+ strcharinfo(2) +"^000000"; mes "Current Owning : ^00AAAA("+ getvariableofnpc(.guild_current_ownage[[email protected]], "DOTAPVP") +")^000000"; mes "Longest Ownage was ^00AAAA("+ getvariableofnpc(.guild_highest_ownage[[email protected]], "DOTAPVP") + ")^000000 on :"; mes " ^EE8800"+ [email protected]$ +"^000000"; } next; } break; case 5: mes "Explanation for Most Kills:"; mes " "; mes "^996600Rank. ^006699NAME ^00AA00[Total Kills] ^FF0000<Deaths>^000000"; mes " "; mes "--------------------------------"; mes " "; mes "The ^00AA00Kills^000000 added when a player kills another player."; mes " "; mes "^FF0000Deaths^000000 count increase when a player killed by another player, or suicide (eg: Grand Cross)."; mes " "; mes "A player killed by monsters, homunculus or pets will not add the kills or deaths count."; next; mes "["+ [email protected]$ +"]"; mes "Explanation for Highest Streak:"; mes " "; mes "^996600Rank. ^006699NAME ^70AC11{Highest Streak} ^000000on :"; mes " ^EE8800TIME^000000"; mes " "; mes "--------------------------------"; mes " "; mes "The ^70AC11Streak^000000 are added every time a player kills another player. It will reset upon log out, killed by another player, or suicide (eg: Sacrifice)."; mes " "; mes "Then it record in the server the ^EE8800TIME^000000 when that player got that highest streak."; mes " "; mes "A player killed by monsters, homunculus or pets will not reset the streak."; mes " "; mes "--------------------------------"; mes " "; mes "The numbers of straight kills to get these announcements are :"; mes "^70AC11"+ getvariableofnpc(.killingspree,"DOTAPVP") +"^000000 : Killing Spree"; mes "^70AC11"+ getvariableofnpc(.dominating,"DOTAPVP") +"^000000 : Dominating"; mes "^70AC11"+ getvariableofnpc(.megakill,"DOTAPVP") +"^000000 : Mega Kill"; mes "^70AC11"+ getvariableofnpc(.unstoppable,"DOTAPVP") +"^000000 : Unstoppable"; mes "^70AC11"+ getvariableofnpc(.wickedsick,"DOTAPVP") +"^000000 : Wicked Sick"; mes "^70AC11"+ getvariableofnpc(.monsterkill,"DOTAPVP") +"^000000 : Monster Kill"; mes "^70AC11"+ getvariableofnpc(.godlike,"DOTAPVP") +"^000000 : Godlike"; mes "^70AC11"+ getvariableofnpc(.holyshit,"DOTAPVP") +"^000000 : Beyond Godlike"; next; mes "["+ [email protected]$ +"]"; mes "Explanation for Longest Ownage:"; mes " "; mes "^996600Rank. ^006699NAME ^00AAAA(Longest Ownage) ^000000on :"; mes " ^EE8800TIME^000000"; mes " "; mes "--------------------------------"; mes " "; mes "The ^00AAAAOwnage^000000 added every time any guild members killed another player that doesn't belong to his/her guild. It will reset when any of the guild member was killed by ANY player, including his/her guild member."; mes " "; mes "Then it record in the server the ^EE8800TIME^000000 when the guild got that longest ownage."; mes " "; mes "If the server went under maintainance, the current ownage will survive after the server restart."; mes " "; mes "Any guild member killed by monster, homunculus or pets will not reset the ownage count."; next; if (getvariableofnpc(.lvltokill,"DOTAPVP")) { mes "["+ [email protected]$ +"]"; mes "You must kill another player with minimum base level of "+ getvariableofnpc(.lvltokill,"DOTAPVP") +", in order to get an announcement or get in the ladder."; mes " "; mes "It's possible for a base level 1 novice kills a base level 99 player and still can get in the ladder."; mes "However when a player level 99 kills a level 1 novice will get nothing."; next; } if (getvariableofnpc(.counttopunish,"DOTAPVP")) { mes "["+ [email protected]$ +"]"; mes "Some noob players try to kill the same person over and over again in hope of getting his/her name appear in the ladder."; mes "However if you trying to do the same thing on this ladder, your name will announce to the public, and your action will be recorded into the server to notify the GMs."; next; } if (getvariableofnpc(.minlvlrange,"DOTAPVP")) { mes "["+ [email protected]$ +"]"; mes "When you kill another player thats lower base level than you, the base level gap between you and that player must not more than "+ getvariableofnpc(.minlvlrange,"DOTAPVP") +"."; mes " "; if (getvariableofnpc(.minlvlrange,"DOTAPVP") >= 200) mes "In other words, if your base level is 500, the player you killed must be at least level "+(500 - getvariableofnpc(.minlvlrange,"DOTAPVP"))+" then only you will get the announcement and in the ladder."; else if (getvariableofnpc(.minlvlrange,"DOTAPVP") >= 70) mes "In other words, if your base level is 255, the player you killed must be at least level "+(255 - getvariableofnpc(.minlvlrange,"DOTAPVP"))+" then only you will get the announcement and in the ladder."; else mes "In other words, if your base level is 99, the player you killed must be at least level "+(99 - getvariableofnpc(.minlvlrange,"DOTAPVP"))+" then only you will get the announcement and in the ladder."; mes "Higher base level kills lower level gets nothing, however lower level player kills higher level will get the announcement."; next; } break; } } } - script pvp_ladder_statue FAKE_NPC,{ [email protected] = getelementofarray(getvariableofnpc(.npcgid, "DOTAPVP"), getnpcid(0)); mes "^996600[TOP "+ [email protected] +"]"; mes "^006699Name : "+ getelementofarray(getvariableofnpc(.statue_name$, "DOTAPVP"), [email protected]); [email protected]$ = getelementofarray(getvariableofnpc(.statue_guild$, "DOTAPVP"), [email protected]); mes "^00AAAAGuild : "+(([email protected]$ == "null")? "^AAAAAANone": [email protected]$); mes "^00AA00Total Kills : ["+ getelementofarray(getvariableofnpc(.statue_kills, "DOTAPVP"), [email protected]) +"]"; mes "^70AC11Highest Streaks : ["+ getelementofarray(getvariableofnpc(.statue_streaks, "DOTAPVP"), [email protected]) +"]"; mes "^FF0000Deaths : <"+ getelementofarray(getvariableofnpc(.statue_deaths, "DOTAPVP"), [email protected]) +">"; close; OnInit: [email protected] = strnpcinfo(2); set getvariableofnpc(.statue[[email protected]], "DOTAPVP"), getnpcid(0); set getvariableofnpc(.npcgid[getnpcid(0)], "DOTAPVP"), [email protected]; end; } prontera,138,170,4 duplicate(pvp_ladder_statue) pvp_ladder_statue#1 1_F_MARIA prontera,135,168,4 duplicate(pvp_ladder_statue) pvp_ladder_statue#2 1_F_MARIA prontera,141,168,4 duplicate(pvp_ladder_statue) pvp_ladder_statue#3 1_F_MARIA prontera,87,141,4 duplicate(pvp_ladder_statue) pvp_ladder_statue#4 1_F_MARIA prontera,88,145,4 duplicate(pvp_ladder_statue) pvp_ladder_statue#5 1_F_MARIA prontera,83,144,4 duplicate(pvp_ladder_statue) pvp_ladder_statue#6 1_F_MARIA prontera,89,150,4 duplicate(pvp_ladder_statue) pvp_ladder_statue#7 1_F_MARIA prontera,90,154,4 duplicate(pvp_ladder_statue) pvp_ladder_statue#8 1_F_MARIA prontera,93,158,4 duplicate(pvp_ladder_statue) pvp_ladder_statue#9 1_F_MARIA prontera,96,160,4 duplicate(pvp_ladder_statue) pvp_ladder_statue#10 1_F_MARIA 1pvpladder.txt
  4. Hello If this topic is in wrong section please move it but Guide me whats wrong in this? 1848,EVENT [email protected]_VERMILION,chase,85,21,2000,1000,5000,no,target,always,0,,,,,,, [Error]: sv_readdb: Insufficient columns in line 5857 of "db/pre-re/mob_skill_db.txt" (found 18, need at least 19).
  5. Hellow Everyone...!! Can any 1 guide me to solve this ? its My offline server [SQL]: DB error - Unknown column 'unique_id' in 'field list' [Debug]: at F:\rAthena\src\login\loginlog.cpp:96 - INSERT INTO `loginlog`(`time`,`ip`,`user`,`rcode`, `unique_id`,`log`) VALUES (NOW(), '0.0.0.0', 'login server', '100', '0', 'login server started') [Info]: Connection request of the char-server 'NostalgicRO' @ 127.0.0.1:6121 (account: 'user1', ip: '127.0.0.1') [SQL]: DB error - Unknown column 'unique_id' in 'field list' [Debug]: at F:\rAthena\src\login\loginlog.cpp:96 - INSERT INTO `loginlog`(`time`,`ip`,`user`,`rcode`, `unique_id`,`log`) VALUES (NOW(), '127.0.0.1', 'user1', '100', '0', 'charserver - [email protected]:6121') [Notice]: Authentication accepted (account: user1, id: 1, ip: 127.0.0.1)
  6. Dear sir I've added item list but can't see any shop //ADD YOUR ITEMS HERE - pointshop KOEPOINTS -1,#KOEPOINTS,501:1,13259:50,13258:50,13257:50,7521:150,7522:150,7523:150,7524:250 I'm Sorry I'm not aware of Code BOX.
  7. Hellow Sir can u explain what changes u did i checked whole script didn't see any changes expect announcement line Can u explain a bit so i can solve it if i face this issue Thank you When i tested ur solution i got this error in CMD
  8. Hellow Everyone...!! Can any one guide me how to enable KOE point shop According to this its not working Can some 1 guide here? - script KoE Shop 590,{ mes "[ KOE POINTS ]"; mes "You can spend your KOE Points here"; mes "^FFFFFF_^000000"; set #KOEPOINTS,(#[email protected]); set @KOEPOINTS,0; mes "You current points: ^0000FF"+#KOEPOINTS+"^000000"; callshop "KOEPOINTS",1; end; } //ADD YOUR ITEMS HERE - pointshop KOEPOINTS -1,#KOEPOINTS,501:1 // Flags - script ::koe_flag GUILD_FLAG,{ if (!getd("$koe_"+strnpcinfo(2))) end; mes "[King of Emperium Hill]"; mes "The Current King of Emperium Hill at ^0055FF"+strnpcinfo(1)+"^000000 is the [ ^0055FF"+ getguildname(getd("$koe_"+strnpcinfo(2))) +"^000000 ] guild."; close; OnAgitInit: //Uncomment this line to make the emblem stay after @reloadscript OnRevKoE: if(getd("$koe_"+strnpcinfo(2))) flagemblem getd("$koe_"+strnpcinfo(2)); end; }
  9. Hello Everyone I've Notice this error pop ups in CMD when player get rewards [Error]: buildin_strcharinfo: fatal error ! player not attached! [Debug]: Function: strcharinfo (1 parameter): [Debug]: Data: number value=0 [Debug]: Source (NPC): Invasion NPC at prontera (155,185) Can some explain or guide how to fix this? Thank you... //================================================Name====================================================== // Goblin Invasion NPC (Official Release Name) //===============================================Version==================================================== // 1.2 //===============================================Author===================================================== // ____ _____ ______ __ __ __ _______ __ _____ __ __ _______ // | __ \ _ \| __ \| | \ | |/ ___ \ | | / / | \ | |/ ___ \ // | |__| | \ \ |__| | | \| | | _\_/ | |/ /| | \| | | _\_/ // | __/ | | /| | | | |_ \ | | | | | | | |_ \ // | |\ \_/ / |\ \| | |\ | \_/ | | |\ \| | |\ | \_/ | // |__| \_____/|__| \__\__|__| \__|\______/ |__| \__\__|__| \__|\______/ //----------------------------------------Script Last Update 2020------------------------------------------- //==============================================Changelog=================================================== // 1.0 * // - Initial Release // 1.1 // - Added Host Event by GMAccess // 1.2 // - Remove all error from Latest rAthena // - Maximize script // - Fix some dialog of NPC // - Added Mapflag for the Event Map //========================================================================================================== prontera,155,185,6 script Invasion NPC 459,{ set .gm,50;//GM Level to access the GM Menu. Default: 50 // GM menu //It allows GMs Level 50 or more to Start and Stop invasions. if (getgmlevel()>.gm) { if (.mobs_left) { mes "[Invasion]"; mes "An invasion is in progress.."; mes "Location: " + .Map$; mes "^FF0000"+.mobs_left+"^000000 Goblins left"; mes " "; mes "Stop invasion?"; if(select("No:Yes")==1) close; donpcevent "Invasion NPC::OnTimer1805000"; mes "Invasion stopped"; announce "The Invasion has been stopped by "+strcharinfo(0),bc_all; close; } mes "[Invasion]"; mes "Please customize the Invasion event before starting it."; mes "Note - The Goblin Leader drops x5 of the prize."; Main: next; mes "[Invasion]"; switch(select("Item [" + getitemname(.ItemID) + "]:Start Event")) { case 1: mes "Which item would you like the Goblin Leader to drop?"; mes "Please input the item ID:"; input .ItemID; goto Main; case 2: mes "Starting the event now..."; close2; goto OnStart; } // If a player clicks the NPC, it displays: mes "[Invasion]"; mes .mobs_left+" have invaded "+.Map$[.rand_map]+"!"; close; ///////////////////////// //The actual NPC Script// ///////////////////////// OnMinute50: // Change this to your liking OnStart: set .mobs_left, 1; sleep 1000; set [email protected], rand(1,6); if ([email protected] == 6) set .Map$,"guild_vs3"; if ([email protected] == 5) set .Map$,"guild_vs3"; if ([email protected] == 4) set .Map$,"guild_vs3"; if ([email protected] == 3) set .Map$,"guild_vs3"; if ([email protected] == 2) set .Map$,"guild_vs3"; if ([email protected] == 1) set .Map$,"guild_vs3"; sleep 1000; announce "[ Rune-Midgard Guard ]: We have trouble here in the town " + .Map$ + "!", bc_all; sleep 5000; announce "[ Rune-Midgard Guard ]: Everyone, we need your help to get rid of these Goblins!", bc_all; monster .Map$,0,0,"Goblin",1258,10,"Invasion NPC::OnMyMobDead"; monster .Map$,0,0,"Goblin",1299,1,"Invasion NPC::OnMyMobDead"; set .mobs_left, 11; end; OnTimer1805000: // 30 minutes later, kills all the mobs. killmonster .Map$,"Invasion NPC::OnMyMobDead"; set .mobs_left, 0; OnStop://When the event is stopped by a GM, or all monsters dead. killmonster .Map$,"Invasion NPC::OnMyMobDead"; killmonster .Map$,"Invasion NPC::OnSpecialMobDead"; announce "It seems that "+strcharinfo(0)+" has ended the Invasion!",bc_all; end; OnMyMobDead: //When a Goblin is killed set .mobs_left, .mobs_left-1; if (.mobs_left==0) { announce "[ Rune-Midgard Guard ]: Everyone, thankyou for helping to get rid of these Goblins!", bc_all; getitem .ItemID,20; //Change the [5] to the amount you wish to hand out. donpcevent "Invasion NPC::OnStop"; //announce "[Invasion NPC]: "+strcharinfo(0)+" has killed the last "+.mobname$+".",bc_all; } else { //announce "["+.mobs_left+"/200] Goblins left.",bc_map; //announce "["+.mobs_left+"-"+200+"="+.mobs_left+"] Goblins left.",bc_map; //announce "[("+.mobs_left+")-(200)="+.mobs_left+"] Goblins left.",bc_map; announce "[ "+strcharinfo(0)+" ] has killed a Goblin. There are now "+.mobs_left+" Goblin left.",bc_map; } end; } end; }
  10. I tried your solution..!! now this error in CMD [Error]: buildin_getitem: Player with map id '2000013' is not found. [Warning]: Unexpected type for argument 1. Expected string. [Debug]: Data: variable name='prontera' index=0 [Debug]: Function: warpparty [Debug]: Source (NPC): Alon Event Warper at prontera (132,190) [Error]: get_val_: fatal error ! player not attached! [Debug]: Function: warpparty (4 parameters): [Debug]: Data: variable name='prontera' index=0 [Debug]: Data: number value=156 [Debug]: Data: number value=191 [Debug]: Data: variable name='[email protected]' index=0 [Debug]: Source (NPC): Alon Event Warper at prontera (132,190)
  11. Hello Everyone, I'm looking for guide n script where can use special woe supplies like WoE Ad bottles which should be usable in Castle only. Should not be used outside castle to avoid miss use. Can any 1 guide?
  12. Hello Everyone...!! I'm getting this error in CMD when wave 10 is over they get rewards but they don't get auto warp out. [Error]: buildin_getcharid: fatal error ! player not attached! [Debug]: Function: getcharid (1 parameter): [Debug]: Data: number value=1 [Debug]: Source (NPC): Alon Event Warper at prontera (132,190) 2nd Error for Announcement issue so i've commented out. [Error]: buildin_announce: fatal error ! player not attached! [Debug]: Function: announce (2 parameters): [Debug]: Data: string value="Alon Event Employee: Well done. All the monster are dead!" [Debug]: Data: number value=1 [Debug]: Source (NPC): Alon Event Warper at prontera (132,190) Can Any one guide to fix? Thanks in advance..!! //================================================Name===================================================== // Alon Event Tagalog (Official Release Name) // Wave Event English //===============================================Version=================================================== // 1.4 //===============================================Author==================================================== // ____ _____ ______ __ __ __ _______ __ _____ __ __ _______ // | __ \ _ \| __ \| | \ | |/ ___ \ | | / / | \ | |/ ___ \ // | |__| | \ \ |__| | | \| | | _\_/ | |/ /| | \| | | _\_/ // | __/ | | /| | | | |_ \ | | | | | | | |_ \ // | |\ \_/ / |\ \| | |\ | \_/ | | |\ \| | |\ | \_/ | // |__| \_____/|__| \__\__|__| \__|\______/ |__| \__\__|__| \__|\______/ //----------------------------------------Script Last Update 2020------------------------------------------- //==============================================Changelog=================================================== // 1.0 * // - Initial Release // 1.1 // - Added Host Event by GMAccess // - Fix bug during onclocktime initiation // 1.2 // - Maximize script // - Fix some dialog of NPC // - Added Mapflag for the Event Map // 1.3 // - Fix script behavior // 1.4 // - Remove all error from Latest rAthena //========================================================================================================== prontera,132,190,6 script Alon Event Warper 421,{ set [email protected],90; // required GM Level to access if( .AEventOpen == 0) goto EventClose; mes "[ Alon ]"; mes "Alon Event is now open. You need to be in a party with "+.PartyMember+" members to enter. Good luck!"; next; switch(select("Register","Exit")){ case 1: if( .ARegister == 1) goto AlreadyStarted; if ( getcharid(1) == 0 ) { goto DeniedToTalkIfNoParty; } if ( getpartyleader( getcharid(1), 2 ) != getcharid(0) ) { goto DeniedMemberToRegister; } getpartymember getcharid(1), 1; if ( [email protected] < .PartyMember ) { goto CheckMemberSize; } getpartymember getcharid(1), 2; set @Count,0; for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +1 ){ if ( isloggedin([email protected][[email protected]]) ){ set @Count,@Count+1; } } if( @Count < .PartyMember ) goto CheckIfAllMemberOnline; announce ""+getpartyname( getcharid(1) )+" party has started Alon Event",bc_all; warpparty .Map$,0,0,getcharid(1); set .ARegister,1; sleep 10000; mapannounce "pvp_n_1-5","Alon Event Employee: Welcome to Alon Event.",bc_map; sleep 7500; mapannounce "pvp_n_1-5","Alon Event Employee: Every time the round increase and you manage to reach, the monster could be stronger than before.",bc_map; sleep 7500; mapannounce "pvp_n_1-5","Alon Event Employee: You could win up some Unique prize upon you finished the whole event.",bc_map; sleep 7500; mapannounce "pvp_n_1-5","Alon Event Employee: So what are we waiting for?",bc_map; sleep 7500; mapannounce "pvp_n_1-5","Wave 1!",bc_map; sleep 7500; goto Wave1; case 2: close; } Wave1: monster "pvp_n_1-5",0,0,"--ja--",1200,1,"Alon Event Warper::OnWave1"; monster "pvp_n_1-5",0,0,"--ja--",1618,1,"Alon Event Warper::OnWave1"; monster "pvp_n_1-5",0,0,"--ja--",1262,1,"Alon Event Warper::OnWave1"; monster "pvp_n_1-5",0,0,"--ja--",1205,1,"Alon Event Warper::OnWave1"; monster "pvp_n_1-5",0,0,"--ja--",1203,1,"Alon Event Warper::OnWave1"; monster "pvp_n_1-5",0,0,"--ja--",1204,1,"Alon Event Warper::OnWave1"; monster "pvp_n_1-5",0,0,"--ja--",1076,10,"Alon Event Warper::OnWave1"; monster "pvp_n_1-5",0,0,"--ja--",1053,10,"Alon Event Warper::OnWave1"; monster "pvp_n_1-5",0,0,"--ja--",1249,10,"Alon Event Warper::OnWave1"; monster "pvp_n_1-5",0,0,"--ja--",1247,10,"Alon Event Warper::OnWave1"; monster "pvp_n_1-5",0,0,"--ja--",1161,10,"Alon Event Warper::OnWave1"; monster "pvp_n_1-5",0,0,"--ja--",1951,10,"Alon Event Warper::OnWave1"; monster "pvp_n_1-5",0,0,"--ja--",1010,10,"Alon Event Warper::OnWave1"; monster "pvp_n_1-5",0,0,"--ja--",1083,10,"Alon Event Warper::OnWave1"; monster "pvp_n_1-5",0,0,"--ja--",1240,10,"Alon Event Warper::OnWave1"; monster "pvp_n_1-5",0,0,"--ja--",1089,10,"Alon Event Warper::OnWave1"; monster "pvp_n_1-5",0,0,"--ja--",1090,1,"Alon Event Warper::OnWave1"; set .wave1,107; end; Wave2: monster "pvp_n_1-5",0,0,"--ja--",1039,1,"Alon Event Warper::OnWave2"; monster "pvp_n_1-5",0,0,"--ja--",1096,1,"Alon Event Warper::OnWave2"; monster "pvp_n_1-5",0,0,"--ja--",1059,1,"Alon Event Warper::OnWave2"; monster "pvp_n_1-5",0,0,"--ja--",1582,1,"Alon Event Warper::OnWave2"; monster "pvp_n_1-5",0,0,"--ja--",1785,1,"Alon Event Warper::OnWave2"; monster "pvp_n_1-5",0,0,"--ja--",1073,10,"Alon Event Warper::OnWave2"; monster "pvp_n_1-5",0,0,"--ja--",1033,10,"Alon Event Warper::OnWave2"; monster "pvp_n_1-5",0,0,"--ja--",1176,10,"Alon Event Warper::OnWave2"; monster "pvp_n_1-5",0,0,"--ja--",1120,10,"Alon Event Warper::OnWave2"; monster "pvp_n_1-5",0,0,"--ja--",1870,10,"Alon Event Warper::OnWave2"; monster "pvp_n_1-5",0,0,"--ja--",1974,10,"Alon Event Warper::OnWave2"; monster "pvp_n_1-5",0,0,"--ja--",1975,10,"Alon Event Warper::OnWave2"; monster "pvp_n_1-5",0,0,"--ja--",1706,10,"Alon Event Warper::OnWave2"; monster "pvp_n_1-5",0,0,"--ja--",1379,10,"Alon Event Warper::OnWave2"; monster "pvp_n_1-5",0,0,"--ja--",1096,1,"Alon Event Warper::OnWave2"; set .wave1,96; end; Wave3: monster "pvp_n_1-5",0,0,"--ja--",1252,1,"Alon Event Warper::OnWave3"; monster "pvp_n_1-5",0,0,"--ja--",1389,1,"Alon Event Warper::OnWave3"; monster "pvp_n_1-5",0,0,"--ja--",1046,1,"Alon Event Warper::OnWave3"; monster "pvp_n_1-5",0,0,"--ja--",1120,1,"Alon Event Warper::OnWave3"; monster "pvp_n_1-5",0,0,"--ja--",1866,10,"Alon Event Warper::OnWave3"; monster "pvp_n_1-5",0,0,"--ja--",1867,10,"Alon Event Warper::OnWave3"; monster "pvp_n_1-5",0,0,"--ja--",1868,10,"Alon Event Warper::OnWave3"; monster "pvp_n_1-5",0,0,"--ja--",1869,10,"Alon Event Warper::OnWave3"; monster "pvp_n_1-5",0,0,"--ja--",1870,10,"Alon Event Warper::OnWave3"; monster "pvp_n_1-5",0,0,"--ja--",1974,10,"Alon Event Warper::OnWave3"; monster "pvp_n_1-5",0,0,"--ja--",1036,10,"Alon Event Warper::OnWave3"; monster "pvp_n_1-5",0,0,"--ja--",1153,10,"Alon Event Warper::OnWave3"; monster "pvp_n_1-5",0,0,"--ja--",1865,10,"Alon Event Warper::OnWave3"; monster "pvp_n_1-5",0,0,"--ja--",1015,10,"Alon Event Warper::OnWave3"; monster "pvp_n_1-5",0,0,"--ja--",1871,1,"Alon Event Warper::OnWave3"; monster "pvp_n_1-5",0,0,"--ja--",1647,1,"Alon Event Warper::OnWave3"; set .wave1,106; end; Wave4: monster "pvp_n_1-5",0,0,"--ja--",1115,1,"Alon Event Warper::OnWave4"; monster "pvp_n_1-5",0,0,"--ja--",1038,1,"Alon Event Warper::OnWave4"; monster "pvp_n_1-5",0,0,"--ja--",1150,1,"Alon Event Warper::OnWave4"; monster "pvp_n_1-5",0,0,"--ja--",1157,1,"Alon Event Warper::OnWave4"; monster "pvp_n_1-5",0,0,"--ja--",1657,10,"Alon Event Warper::OnWave4"; monster "pvp_n_1-5",0,0,"--ja--",1656,10,"Alon Event Warper::OnWave4"; monster "pvp_n_1-5",0,0,"--ja--",1655,10,"Alon Event Warper::OnWave4"; monster "pvp_n_1-5",0,0,"--ja--",1654,10,"Alon Event Warper::OnWave4"; monster "pvp_n_1-5",0,0,"--ja--",1653,10,"Alon Event Warper::OnWave4"; monster "pvp_n_1-5",0,0,"--ja--",1682,10,"Alon Event Warper::OnWave4"; monster "pvp_n_1-5",0,0,"--ja--",1681,10,"Alon Event Warper::OnWave4"; monster "pvp_n_1-5",0,0,"--ja--",1613,10,"Alon Event Warper::OnWave4"; monster "pvp_n_1-5",0,0,"--ja--",1613,10,"Alon Event Warper::OnWave4"; monster "pvp_n_1-5",0,0,"--ja--",1261,10,"Alon Event Warper::OnWave4"; monster "pvp_n_1-5",0,0,"--ja--",1658,1,"Alon Event Warper::OnWave4"; monster "pvp_n_1-5",0,0,"--ja--",1646,1,"Alon Event Warper::OnWave4"; set .wave1,106; end; Wave5: monster "pvp_n_1-5",0,0,"--ja--",1648,1,"Alon Event Warper::OnWave5"; monster "pvp_n_1-5",0,0,"--ja--",1112,1,"Alon Event Warper::OnWave5"; monster "pvp_n_1-5",0,0,"--ja--",1518,1,"Alon Event Warper::OnWave5"; monster "pvp_n_1-5",0,0,"--ja--",1388,1,"Alon Event Warper::OnWave5"; monster "pvp_n_1-5",0,0,"--ja--",1251,1,"Alon Event Warper::OnWave5"; monster "pvp_n_1-5",0,0,"--ja--",1955,10,"Alon Event Warper::OnWave5"; set .wave1,15; end; Wave6: monster "pvp_n_1-5",0,0,"--ja--",1649,1,"Alon Event Warper::OnWave6"; monster "pvp_n_1-5",0,0,"--ja--",1087,1,"Alon Event Warper::OnWave6"; monster "pvp_n_1-5",0,0,"--ja--",1373,1,"Alon Event Warper::OnWave6"; monster "pvp_n_1-5",0,0,"--ja--",1492,1,"Alon Event Warper::OnWave6"; monster "pvp_n_1-5",0,0,"--ja--",1688,1,"Alon Event Warper::OnWave6"; set .wave1,5; end; Wave7: monster "pvp_n_1-5",0,0,"--ja--",1650,1,"Alon Event Warper::OnWave7"; monster "pvp_n_1-5",0,0,"--ja--",1719,1,"Alon Event Warper::OnWave7"; monster "pvp_n_1-5",0,0,"--ja--",1685,1,"Alon Event Warper::OnWave7"; monster "pvp_n_1-5",0,0,"--ja--",1190,1,"Alon Event Warper::OnWave7"; monster "pvp_n_1-5",0,0,"--ja--",1272,1,"Alon Event Warper::OnWave7"; set .wave1,5; end; Wave8: monster "pvp_n_1-5",0,0,"--ja--",1651,1,"Alon Event Warper::OnWave8"; monster "pvp_n_1-5",0,0,"--ja--",1623,1,"Alon Event Warper::OnWave8"; monster "pvp_n_1-5",0,0,"--ja--",1086,1,"Alon Event Warper::OnWave8"; monster "pvp_n_1-5",0,0,"--ja--",1159,1,"Alon Event Warper::OnWave8"; monster "pvp_n_1-5",0,0,"--ja--",1289,1,"Alon Event Warper::OnWave8"; set .wave1,5; end; Wave9: monster "pvp_n_1-5",0,0,"--ja--",1646,1,"Alon Event Warper::OnWave9"; monster "pvp_n_1-5",0,0,"--ja--",1647,1,"Alon Event Warper::OnWave9"; monster "pvp_n_1-5",0,0,"--ja--",1648,1,"Alon Event Warper::OnWave9"; monster "pvp_n_1-5",0,0,"--ja--",1649,1,"Alon Event Warper::OnWave9"; monster "pvp_n_1-5",0,0,"--ja--",1650,1,"Alon Event Warper::OnWave9"; monster "pvp_n_1-5",0,0,"--ja--",1651,1,"Alon Event Warper::OnWave9"; monster "pvp_n_1-5",0,0,"--ja--",1147,1,"Alon Event Warper::OnWave9"; monster "pvp_n_1-5",0,0,"--ja--",1312,1,"Alon Event Warper::OnWave9"; monster "pvp_n_1-5",0,0,"--ja--",1418,1,"Alon Event Warper::OnWave9"; monster "pvp_n_1-5",0,0,"--ja--",1511,1,"Alon Event Warper::OnWave9"; monster "pvp_n_1-5",0,0,"--ja--",1583,1,"Alon Event Warper::OnWave9"; monster "pvp_n_1-5",0,0,"--ja--",1751,1,"Alon Event Warper::OnWave9"; monster "pvp_n_1-5",0,0,"--ja--",1832,1,"Alon Event Warper::OnWave9"; monster "pvp_n_1-5",0,0,"--ja--",1873,1,"Alon Event Warper::OnWave9"; monster "pvp_n_1-5",0,0,"--ja--",1779,1,"Alon Event Warper::OnWave9"; set .wave1,4; end; Wave10: monster "pvp_n_1-5",0,0,"--ja--",1955,10,"Alon Event Warper::OnWave10"; set .wave1,10; end; OnWave1: set .wave1, .wave1 -1; if (.wave1 == 0) { //announce "Alon Event Employee: Well done. All the monster are dead!",bc_map; sleep 2500; mapannounce "pvp_n_1-5","Wave 2!",bc_map; sleep 2500; goto Wave2; } end; OnWave2: set .wave1, .wave1 -1; if (.wave1 == 0) { //announce "Alon Event Employee: Well done. All the monster are dead!",bc_map; sleep 2500; mapannounce "pvp_n_1-5","Wave 3!",bc_map; sleep 2500; goto Wave3; } end; OnWave3: set .wave1, .wave1 -1; if (.wave1 == 0) { //announce "Alon Event Employee: Well done. All the monster are dead!",bc_map; sleep 2500; mapannounce "pvp_n_1-5","Wave 4!",bc_map; sleep 2500; goto Wave4; } end; OnWave4: set .wave1, .wave1 -1; if (.wave1 == 0) { //announce "Alon Event Employee: Well done. All the monster are dead!",bc_map; sleep 2500; mapannounce "pvp_n_1-5","Wave 5!",bc_map; sleep 2500; goto Wave5; } end; OnWave5: set .wave1, .wave1 -1; if (.wave1 == 0) { //announce "Alon Event Employee: Well done. All the monster are dead!",bc_map; sleep 2500; mapannounce "pvp_n_1-5","Wave 6!",bc_map; sleep 2500; goto Wave6; } end; OnWave6: set .wave1, .wave1 -1; if (.wave1 == 0) { //announce "Alon Event Employee: Well done. All the monster are dead!",bc_map; sleep 2500; mapannounce "pvp_n_1-5","Wave 7!",bc_map; sleep 2500; goto Wave7; } end; OnWave7: set .wave1, .wave1 -1; if (.wave1 == 0) { //announce "Alon Event Employee: Well done. All the monster are dead!",bc_map; sleep 2500; mapannounce "pvp_n_1-5","Wave 8!",bc_map; sleep 2500; goto Wave8; } end; OnWave8: set .wave1, .wave1 -1; if (.wave1 == 0) { //announce "Alon Event Employee: Well done. All the monster are dead!",bc_map; sleep 2500; mapannounce "pvp_n_1-5","Wave 9!",bc_map; sleep 2500; goto Wave9; } end; OnWave9: set .wave1, .wave1 -1; if (.wave1 == 0) { //announce "Alon Event Employee: Well done. All the monster are dead!",bc_map; sleep 2500; mapannounce "pvp_n_1-5","Wave 10!",bc_map; sleep 2500; goto Wave10; } end; OnWave10: set .wave1, .wave1 -1; if (.wave1 == 0) { //announce "Yeehaaa !! We Beat ALL the Monster!!!",bc_map; sleep 5000; //announce "Congratulation to Team [ "+getpartyname( getcharid(1) )+" ] who had just finished the Alon Event. ",0; for ( [email protected] = 0; [email protected] < [email protected]; [email protected]++ ) getitem 7227, 1, [email protected][[email protected]]; warpparty prontera,156,191,getcharid(1); set .AEventOpen,0; set .ARegister,0; } end; //---------------------------------------------------------NPC Check Message Here------------------------------------------------------------ EventOpen: mes "[ Alon ]"; mes "Alon event are still open."; close; EventClose: mes "[ Alon ]"; mes "Alon Event are currently close please try again later."; close; AlreadyStarted: mes "[ Alon ]"; mes ""+getpartyname( getcharid(1) )+" already inside the event."; close; DeniedToTalkIfNoParty: mes "[ Alon ]"; mes "You must be in a party to be able to register."; close; DeniedMemberToRegister: mes "[ Alon ]"; mes "Sorry you are not eligible to register your party."; close; CheckMemberSize: mes "[ Alon ]"; mes "Please check your party again. You must have party of "+ .PartyMember +" to be able to register."; close; CheckIfAllMemberOnline: mes "[ Alon ]"; mes "You must have "+ .PartyMember +" party members online to be able to complete the registration."; close; //-----------------------------------------------------------End of NPC Message------------------------------------------------------------ OnClock0800: OnClock1306: OnClock2000: announce "Alon Event are now Open for Registration!.",bc_all; set .AEventOpen,1; set .ARegister,0; end; OnInit: set .PartyMember,2; set .Map$,"pvp_n_1-5"; // Dont try to edit this if you dont know what are you doing by Poring King set .AEventOpen,0; set .ARegister,0; } pvp_n_1-5 mapflag noloot pvp_n_1-5 mapflag nomobloot pvp_n_1-5 mapflag nomvploot pvp_n_1-5 mapflag pvp off pvp_n_1-5 mapflag noexp pvp_n_1-5 mapflag nobaseexp pvp_n_1-5 mapflag nojobexp alon-event.txt
  13. Thank you so much sir..!!! ur great..!!
  14. I've added Map but seems doesn't working his spawning on same map Prontera
  15. Thank you so much sir so many ways to do amazing
  16. Hello Everyone, Need some guide to fix MVP only spawn at Prontera doesn't spawn in different map can some 1 guide to fix? Thanks in advance..!!! //================================================================// // World Boss Script // Created by PottScilgrim //================================================================// - script WorldBossEvent -1,{ //================================================================// // Change the "OnClock" times to be when you want the event to begin //================================================================// //OnClock<hour><minute>: //OnMinute<minute>: //OnHour<hour>: //On<weekday><hour><minute>: //OnDay<month><day>: OnClock0005: OnClock0200: OnClock0400: OnClock0600: OnClock0800: OnClock1000: OnClock1200: OnClock1400: OnClock1600: OnClock1800: OnClock2000: OnClock2200: if(.WBMAPS$[1] == "") { if(.WBMOBID[1] == 0){ monster .WBMAPS$[0],0,0,"[World Boss]",.WBMOBID[0],1,"WorldBossEvent::OnWBDead",2; } else { monster .WBMAPS$[0],0,0,"[World Boss]",.WBMOBID[rand(getarraysize(.WBMOBID))],1,"WorldBossEvent::OnWBDead",2; } } else { if(.WBMOBID[1] == 0){ monster .WBMAPS$[rand(getarraysize(.WBMAPS$))],0,0,"[World Boss]",.WBMOBID[0],1,"WorldBossEvent::OnWBDead",2; } else { monster .WBMAPS$[rand(getarraysize(.WBMAPS$))],0,0,"[World Boss]",.WBMOBID[rand(getarraysize(.WBMOBID))],1,"WorldBossEvent::OnWBDead",2; } } //announce "[World Boss]: The world boss has spawned!",bc_all; announce ("[World Boss Event]: The world boss has spawned atspawn at "+.WBMAPS$+"",bc_all); end; //================================================================// // This event fires off when the world boss is killed //================================================================// OnWBDead: announce "[World Boss]: "+ strcharinfo(0)+" landed the final blow against the world boss!",bc_all; getitem .sprize,.sprizeamt; // Gives only the winning player this prize addrid 1,0; // Attaches all players on the current map getitem .mprize,.mprizeamt; // Gives all players a prize end; //================================================================// // These are the NPC settings //================================================================// OnInit: // Add your world boss mob ID's here. If you only need one, just put one. setarray .WBMOBID, 1848,1847; // Add the maps for your world boss event here. If you only want one, just add one. setarray .WBMAPS$, "prontera","geffen"; // This is the special prize for the player that lands the final hit. .sprize = 22654; .sprizeamt = 100; // This is the prize that gets given to all players on the event map when it is killed .mprize = 22654; .mprizeamt = 20; end; } Worldbossevent2.txt
  17. Hello Everyone, Looking for solution on this script. MVP Event Round 1 starts and after ALL MVP dead proceed with next round 2 & so on untill Round 9 Point 1) But this works sometimes & and sometimes its getting stuck on Round 1 or Round 4 itself there is no error in CMD so couldn't see what's wrong in script. Point 2) MVP warper doesn't disappear after count down. (Because of this player comes again if they are dead). Any expert here can help to fix? Thank you in Advance..!! @Emistry //================================================Name====================================================== // MVP Event (Official Release Name) //===============================================Version==================================================== // 1.2 //===============================================Author===================================================== // ____ _____ ______ __ __ __ _______ __ _____ __ __ _______ // | __ \ _ \| __ \| | \ | |/ ___ \ | | / / | \ | |/ ___ \ // | |__| | \ \ |__| | | \| | | _\_/ | |/ /| | \| | | _\_/ // | __/ | | /| | | | |_ \ | | | | | | | |_ \ // | |\ \_/ / |\ \| | |\ | \_/ | | |\ \| | |\ | \_/ | // |__| \_____/|__| \__\__|__| \__|\______/ |__| \__\__|__| \__|\______/ //----------------------------------------Script Last Update 2020------------------------------------------- //==============================================Changelog=================================================== // 1.0 * // - Initial Release // 1.2 // - Remove all error from Latest rAthena // - Maximize script // - Fix some dialog of NPC // - Added Mapflag for the Event Map //========================================================================================================== prontera,144,145,5 script MVP Event Manager 403,{ set @npc$, "[ MVP Event ]"; if (getgmlevel() < 80) { mes @npc$; mes "Hello "+strcharinfo(0)+", this NPC is for Admin's use only."; close; } if (getgmlevel() >= 40) goto mvp_Admin; mes @npc$; mes "Hello "+strcharinfo(0)+", this NPC is for Event GM's use only."; close; mvp_Admin: mes @npc$; mes "Hello "+strcharinfo(0)+", what would you like to do?"; menu "Start MVP Event",mvp_start,"Nothing",endmvp; mvp_start: if ([email protected]_event == 1) goto mvp_started; mes " "; mes "Ok, starting MVP event."; set [email protected]_event,1; close2; donpcevent "MVP Event::OnStartMVP"; end; endmvp: next; mes @npc$; mes "Ok, nice seeing you."; close; mvp_started: mes @npc$; mes "The event is still running"; close; } pvp_n_6-5,0,0,0 script mvppvpoff -1,{ OnMVPpvpoff: pvpoff "pvp_n_6-5"; end; } - script MVP Event Warper#disable -1,{ OnInit: disablenpc "MVP Event Warper"; end; } - script MVP Event Announcer -1,{ OnClock0030: OnClock0330: OnClock0630: OnClock0930: OnClock1230: OnClock1530: OnClock1830: OnClock2130: if ([email protected]_ongoing == 1) { end; } donpcevent "MVP Event::OnStartMVP"; end; } //------------------------------------------------------------------------------------------------------------------ prontera,164,152,3 script MVP Event Warper 403,{ mes "[ MVP Event Warper ]"; mes "Do you want to join the MVP event?"; menu "Yes",pront_mvp,"No",pront_mvp_end; pront_mvp: mes "[ MVP Event Warper ]"; mes "I will now warp you to the MVP Event map."; warp "pvp_n_6-5",98,99; end; pront_mvp_end: mes "[ MVP Event Warper ]"; mes "Ok, Bye."; close; } pvp_n_6-5,0,0,0 script MVP Event -1,{ OnStartMVP: donpcevent "mvppvpoff::OnMVPpvpoff"; set [email protected]_event,1; announce "MVP Event is now open",0; enablenpc "MVP Event Warper"; killmonsterall "pvp_n_6-5"; initnpctimer; sleep 60000; announce "MVP Event will start automatically after 2 minutes",0; sleep 60000; announce "MVP Event will start automatically after 1 minute",0; sleep 30000; announce "MVP Event is starting in 30s",0; sleep 30000; announce "MVP Event is starting in 5",0; sleep 1000; announce "MVP Event is starting in 4",0; sleep 1000; announce "MVP Event is starting in 3",0; sleep 1000; announce "MVP Event is starting in 2",0; sleep 1000; announce "MVP Event is starting in 1",0; sleep 1000; announce "The event warper are now closed",0; sleep 10000; mapannounce "pvp_n_6-5","MVP Event: Round 1 will begin shortly.",0; sleep 5000; set [email protected]_event,0; goto Onmvp_round1; Onmvp_round1: set [email protected],5; monster "pvp_n_6-5",98,103,"Baphomet",1039,1,"MVP Event::Onmvpdead"; monster "pvp_n_6-5",99,113,"Angeling",1096,1,"MVP Event::Onmvpdead"; monster "pvp_n_6-5",132,97,"Mistress",1059,1,"MVP Event::Onmvpdead"; monster "pvp_n_6-5",100,67,"Deviling",1582,1,"MVP Event::Onmvpdead"; monster "pvp_n_6-5",65,100,"Atroce",1785,1,"MVP Event::Onmvpdead"; end; Onmvpdead: set [email protected],[email protected] - 1; if([email protected] <= 0) { mapannounce "pvp_n_6-5","MVP Event: Round 2 will begin shortly.",0; sleep 5000; goto Onmvp_round2; } end; Onmvp_round2: set [email protected],4; monster "pvp_n_6-5",98,103,"Garm",1252,1,"MVP Event::Onmvpdead2"; monster "pvp_n_6-5",99,113,"Dracula",1389,1,"MVP Event::Onmvpdead2"; monster "pvp_n_6-5",132,97,"Doppelganger",1046,1,"MVP Event::Onmvpdead2"; monster "pvp_n_6-5",65,100,"Ghostring",1120,1,"MVP Event::Onmvpdead2"; end; Onmvpdead2: set [email protected],[email protected] - 1; if([email protected] <= 0) { mapannounce "pvp_n_6-5","MVP Event: Round 3 will begin shortly.",0; sleep 5000; goto Onmvp_round3; } end; Onmvp_round3: set [email protected],4; monster "pvp_n_6-5",98,103,"Edgga",1115,1,"MVP Event::Onmvpdead3"; monster "pvp_n_6-5",99,113,"Osiris",1038,1,"MVP Event::Onmvpdead3"; monster "pvp_n_6-5",132,97,"Moonlight Flower",1150,1,"MVP Event::Onmvpdead3"; monster "pvp_n_6-5",65,100,"Pharaoh",1157,1,"MVP Event::Onmvpdead3"; end; Onmvpdead3: set [email protected],[email protected] - 1; if([email protected] <= 0) { mapannounce "pvp_n_6-5","MVP Event: Round 4 will begin shortly.",0; sleep 5000; goto Onmvp_round4; } end; Onmvp_round4: set [email protected],4; monster "pvp_n_6-5",98,103,"Drake",1112,1,"MVP Event::Onmvpdead4"; monster "pvp_n_6-5",99,113,"Bacsojin",1518,1,"MVP Event::Onmvpdead4"; monster "pvp_n_6-5",132,97,"Arc Angeling",1388,1,"MVP Event::Onmvpdead4"; monster "pvp_n_6-5",65,100,"Stormy Knight",1251,1,"MVP Event::Onmvpdead4"; end; Onmvpdead4: set [email protected],[email protected] - 1; if([email protected] <= 0) { mapannounce "pvp_n_6-5","MVP Event: Round 5 will begin shortly.",0; sleep 5000; goto Onmvp_round5; } end; Onmvp_round5: set [email protected],4; monster "pvp_n_6-5",98,103,"Orc Hero",1087,1,"MVP Event::Onmvpdead5"; monster "pvp_n_6-5",99,113,"Lord of Death",1373,1,"MVP Event::Onmvpdead5"; monster "pvp_n_6-5",132,97,"Incantation Samurai",1492,1,"MVP Event::Onmvpdead5"; monster "pvp_n_6-5",65,100,"Lady Tanee",1688,1,"MVP Event::Onmvpdead5"; end; Onmvpdead5: set [email protected],[email protected] - 1; if([email protected] <= 0) { mapannounce "pvp_n_6-5","MVP Event: Round 6 will begin shortly.",0; sleep 5000; goto Onmvp_round6; } end; Onmvp_round6: set [email protected],4; monster "pvp_n_6-5",98,103,"Detale",1719,1,"MVP Event::Onmvpdead6"; monster "pvp_n_6-5",99,113,"Vesper",1685,1,"MVP Event::Onmvpdead6"; monster "pvp_n_6-5",132,97,"Orc Lord",1190,1,"MVP Event::Onmvpdead6"; monster "pvp_n_6-5",65,100,"Dark Lord",1272,1,"MVP Event::Onmvpdead6"; end; Onmvpdead6: set [email protected],[email protected] - 1; if([email protected] <= 0) { mapannounce "pvp_n_6-5","MVP Event: Round 7 will begin shortly.",0; sleep 5000; goto Onmvp_round7; } end; Onmvp_round7: set [email protected],4; monster "pvp_n_6-5",98,103,"RSX-0806",1623,1,"MVP Event::Onmvpdead7"; monster "pvp_n_6-5",99,113,"Golden Thief Bug",1086,1,"MVP Event::Onmvpdead7"; monster "pvp_n_6-5",132,97,"Phreeoni",1159,1,"MVP Event::Onmvpdead7"; monster "pvp_n_6-5",65,100,"Maya Purple",1289,1,"MVP Event::Onmvpdead7"; end; Onmvpdead7: set [email protected],[email protected] - 1; if([email protected] <= 0) { mapannounce "pvp_n_6-5","MVP Event: Round 8 will begin shortly.",0; sleep 5000; goto Onmvp_round8; } end; Onmvp_round8: set [email protected],4; monster "pvp_n_6-5",98,103,"Maya",1147,1,"MVP Event::Onmvpdead8"; monster "pvp_n_6-5",99,113,"Turtle General",1312,1,"MVP Event::Onmvpdead8"; monster "pvp_n_6-5",132,97,"Evil Snake Lord",1418,1,"MVP Event::Onmvpdead8"; monster "pvp_n_6-5",65,100,"Amon Ra",1511,1,"MVP Event::Onmvpdead8"; end; Onmvpdead8: set [email protected],[email protected] - 1; if([email protected] <= 0) { mapannounce "pvp_n_6-5","MVP Event: Final Round will begin shortly.",0; sleep 5000; goto Onmvp_round9; } end; Onmvp_round9: set [email protected],5; monster "pvp_n_6-5",99,110,"Tao Gunka",1583,1,"MVP Event::Onmvpdead9"; monster "pvp_n_6-5",99,113,"Valkyrie Randgris",1751,1,"MVP Event::Onmvpdead9"; monster "pvp_n_6-5",99,113,"Ifrit",1832,1,"MVP Event::Onmvpdead9"; monster "pvp_n_6-5",132,97,"Beelzebub",1873,1,"MVP Event::Onmvpdead9"; monster "pvp_n_6-5",65,100,"Ktullanux",1779,1,"MVP Event::Onmvpdead9"; end; Onmvpdead9: set [email protected],[email protected] - 1; if([email protected] <= 0) { stopnpctimer; disablenpc "MVP Event Warper"; mapannounce "pvp_n_6-5","MVP Event: That was the Last Round!.",0; sleep 5000; mapwarp "pvp_n_6-5","prontera",156,191; set [email protected]_event,0; } end; OnTimer1200000: stopnpctimer; killmonsterall "pvp_n_6-5"; mapannounce "pvp_n_6-5","MVP Event: Time's Up!",0; sleep 5000; mapwarp "pvp_n_6-5","prontera",116,73; disablenpc "MVP Event Warper"; set [email protected]_event,0; end; } // -- Mapflags pvp_n_6-5 mapflag nowarp pvp_n_6-5 mapflag nowarpto pvp_n_6-5 mapflag noteleport pvp_n_6-5 mapflag nosave SavePoint pvp_n_6-5 mapflag nomemo pvp_n_6-5 mapflag nobranch pvp_n_6-5 mapflag nopenalty mvp-event.txt
  18. Thank you so much sir, I see 1 small issue When we do reloadscript NPC show up doesn't hide until we set time to hide. Example if i do @reloadscript at 1000 Hrs. Sunday & NPC hide time is set at 1830 Hrs Sunday so NPC will be on until 1830 hrs. Rest working awesome...Thank you so much sir prontera,161,181,5 script Emistry 757,{ if (getcharid(2) && #GUILD_PACK_CD != gettime(DT_YYYYMMDD)) { #GUILD_PACK_CD = gettime(DT_YYYYMMDD); //getitem 30005, 1; rentitem 30005,120; } end; OnInit: waitingroom "Emistry G-Pack",0; end; OnTue1700: OnThu1700: OnSun1700: hideoffnpc strnpcinfo(3); end; OnTue1830: OnThu1830: OnSun1830: hideonnpc strnpcinfo(3); end; }
  19. Thank you so much sir will change and update soon................THANKS FOR REPLY SIR @Emistry
  20. Hello Everyone, Can any one guide on this get time setting mes "[Daily Lucky Spin]"; mes "Please wait..."; set [email protected]_r,23; set [email protected]_r,0; set [email protected], 0; set [email protected],rand(1,50); LKS_rolly: for(set [email protected],0; [email protected] < [email protected]; [email protected]++){ [email protected]++; if([email protected]>[email protected]_r){set [email protected], [email protected]_r;} cutin "lucky"[email protected],4; soundeffect "slot_tick.wav",0; //sleep2 rand(1,100); //SET AS RANDOM STOP sleep2 100; } goto LKS_fin; I want to do it for 12hr Only after 12 hr's I should get chance to spin. Thanks in advance !!! VIPLucky_Spin_V.2.txt
  21. Dear sir 1 question & some modification if possible. Is it possible to add "Time" for NPC before WOE like For 1 or 2 hr's Only NPC will show up before WOE to collect Gpack. Because according to DAY it will be active whole day isn't it? NPC chat making Player aware of Gpack Duration so they chose wisely with yes (collect) or no (reject). Because i've created Gpack which has duration of 3 hrs only Once opened it will wipe out in 3hrs. & Thank you so much for this script ...!! ur AWESOMEEEE
  22. WOWWWWW Thank you so much Sir..!!! Working like Charm...!!!!!!!!!!!
  23. I'm sorry, it meant about where GM can reset whole ranking which can be start again from 0 hunting_mission.txt
  24. Did still [Error]: script error on npc/custom/battleground/unofficial/DeathMatch.txt line 422 parse_line: expected ';' 417 : //build teams 418 : set .teamCount, $maxDMMemberCount / 2; 419 : //warp first char 420 : announce "[Death Match] The fight begins!",bc_all,0xC3FF00; 421 : set [email protected], 0; * 422 : set [email protected]$, bg_create_team '('[email protected]$, $warpPointRed[0], $warpPointRed[1]); 423 : set [email protected]$, bg_create_team; deathMatchMap$, $warpPointBlue[0], $warpPointBlue[1]); 424 : for(set [email protected],0; [email protected]<getarraysize([email protected]); set [email protected],[email protected]+1) 425 : { 426 : if (attachrid([email protected][[email protected]]) == 1) 427 : { [Info]: npc_parse_function: Overwriting user function [CheckDMTeamRedPlayer] (npc/custom/battleground/unofficial/DeathMatch.txt:478) [Info]: npc_parse_function: Overwriting user function [CheckDMTeamBluePlayer] (npc/custom/battleground/unofficial/DeathMatch.txt:490) [Info]: npc_parse_function: Overwriting user function [CheckDMPlayers] (npc/custom/battleground/unofficial/DeathMatch.txt:502)
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.