summaryrefslogtreecommitdiff
path: root/npc/functions
diff options
context:
space:
mode:
Diffstat (limited to 'npc/functions')
-rw-r--r--npc/functions/clientversion.txt23
-rw-r--r--npc/functions/daily.txt11
-rw-r--r--npc/functions/gmbot.txt8
-rw-r--r--npc/functions/mobpoint.txt6
-rw-r--r--npc/functions/scoreboards.txt51
5 files changed, 88 insertions, 11 deletions
diff --git a/npc/functions/clientversion.txt b/npc/functions/clientversion.txt
index 98dc820c1..32041adfe 100644
--- a/npc/functions/clientversion.txt
+++ b/npc/functions/clientversion.txt
@@ -8,6 +8,18 @@
// This also handles all updates, and usually have priority.
function script clientupdater {
+ // GM Reset Util
+ if (is_staff()) {
+ if (BaseLevel > 20 || Zeny > 50000 || JobLevel > 20) {
+ resetlvl(1);
+ Zeny=0;
+ clearitem();
+ adddefaultskills();
+ dispbottom col("GM Account detected - Automatic Char Reset successful.", 1);
+ debugmes "GM Account %s reset successful", strcharinfo(0);
+ }
+ }
+
// Skip any update for newcomers
if (getmap() ~= "000-0*") {
UPDATE=gettimetick(2);
@@ -291,7 +303,16 @@ function script clientupdater {
// Cleanup
deletearray RNGTREASURE_DATE;
}
-
+ // Test Server Updates
+ // seg jul 22 21:23:00 -03 2019
+ if (UPDATE < 1563841380) {
+ UPDATE=1563841380;
+ // If you have TMW2_CRAFT skill, you need the bonus recipe
+ if (getskilllv(TMW2_CRAFT)) {
+ RECIPES_EQUIPMENT[CraftDagger]=true;
+ dispbottom l("Dagger Crafting recipe learnt.");
+ }
+ }
// #ADD_LVL means the user have to right to get some levels. This is a sketch. The code might be deleted.
if (#ADD_LVL) {
diff --git a/npc/functions/daily.txt b/npc/functions/daily.txt
index 8f4b71551..9896d5304 100644
--- a/npc/functions/daily.txt
+++ b/npc/functions/daily.txt
@@ -88,26 +88,29 @@ function script daily_login_bonus_handler {
getitem BronzeGift, 1;
dispbottom l("##2 14 Days login bonus: ##B1x @@##b", getitemlink(BronzeGift));
} else if (#LOGIN_STREAK == 7) {
- getitem StrangeCoin, 3;
- dispbottom l("##2 7 Days login bonus: ##B3x @@##b", getitemlink(StrangeCoin));
+ getitem StrangeCoin, 30;
+ dispbottom l("##2 7 Days login bonus: ##B30x @@##b", getitemlink(StrangeCoin));
} else if (#LOGIN_STREAK == 3) {
- getitem StrangeCoin, 1;
- dispbottom l("##2 3 Days login bonus: ##B1x @@##b", getitemlink(StrangeCoin));
+ getitem StrangeCoin, 10;
+ dispbottom l("##2 3 Days login bonus: ##B10x @@##b", getitemlink(StrangeCoin));
} else if (#LOGIN_STREAK % 3 == 0) {
.@value=max(20, rand(0, (#LOGIN_STREAK*2)));
.@value+=(BaseLevel*2)+rand(JobLevel, JobLevel*3);
+ .@value*=20;
Zeny=Zeny+.@value;
dispbottom l("##2Daily login bonus: ##B@@ GP##b", .@value);
} else if (#LOGIN_STREAK % 3 == 2) {
.@value=max(5, rand(0, (#LOGIN_STREAK/4)));
.@value+=(BaseLevel**2);
.@value=(.@value/2)+#LOGIN_STREAK;
+ .@value*=20;
getexp .@value, 0;
dispbottom l("##2Daily login bonus: ##B@@ EXP##b", .@value);
} else {
.@value=max(5, rand(0, (#LOGIN_STREAK/4)));
.@value+=(JobLevel**2);
.@value=(.@value/3)+#LOGIN_STREAK;
+ .@value*=20;
getexp 0, .@value;
dispbottom l("##2Daily login bonus: ##B@@ Job Exp.##b", .@value);
}
diff --git a/npc/functions/gmbot.txt b/npc/functions/gmbot.txt
index 2fc06044a..9c164ff7d 100644
--- a/npc/functions/gmbot.txt
+++ b/npc/functions/gmbot.txt
@@ -152,28 +152,28 @@ OnTimer90000:
// Tulimshar
if (.mp$ ~= "003-*") {
announce ("Monster King: I smell humans! Humans must die!"), bc_map|bc_npc;
- $@MK_THROTTLE=gettimetick(2)+8*60*60;
+ $@MK_THROTTLE=gettimetick(2)+3*60*60;
$@MK_SCENE=MK_SIEGE_TULIM;
donpcevent("Lieutenant Dausen::OnMKSiege");
}
// Halinarzo
else if (.mp$ ~= "009-*") {
announce ("Monster King: I smell humans! Humans must die!"), bc_map|bc_npc;
- $@MK_THROTTLE=gettimetick(2)+8*60*60;
+ $@MK_THROTTLE=gettimetick(2)+3*60*60;
$@MK_SCENE=MK_SIEGE_HALIN;
donpcevent("Lieutenant Jacob::OnMKSiege");
}
// Hurnscald
else if (.mp$ ~= "012-*") {
announce ("Monster King: I smell humans! Humans must die!"), bc_map|bc_npc;
- $@MK_THROTTLE=gettimetick(2)+8*60*60;
+ $@MK_THROTTLE=gettimetick(2)+3*60*60;
$@MK_SCENE=MK_SIEGE_HURNS;
donpcevent("#HurnscaldSiege::OnMKSiege");
}
// Nivalis
else if (.mp$ ~= "020-*") {
announce ("Monster King: I smell humans! Humans must die!"), bc_map|bc_npc;
- $@MK_THROTTLE=gettimetick(2)+8*60*60;
+ $@MK_THROTTLE=gettimetick(2)+3*60*60;
$@MK_SCENE=MK_SIEGE_NIVAL;
donpcevent("Lieutenant Joshua::OnMKSiege");
}
diff --git a/npc/functions/mobpoint.txt b/npc/functions/mobpoint.txt
index 8605f40ba..1035c62ca 100644
--- a/npc/functions/mobpoint.txt
+++ b/npc/functions/mobpoint.txt
@@ -11,13 +11,14 @@ function script fix_mobkill {
}
function script mobpoint {
- if (!MPQUEST)
- return;
//if (killedrid < 1002) goto L_Return;
// You get MobLv + 10% as MobPoints.
// So a level 100 monster gives you 110 MobPt.
.@addval=strmobinfo(3,killedrid)*11/10;
+ TS_MOBPT = TS_MOBPT + .@addval;
+ if (!MPQUEST)
+ return;
Mobpt = Mobpt + .@addval;
return;
@@ -62,6 +63,7 @@ OnNPCKillEvent:
// Frostia Imperial PVP Arena, Call Of Dusty, Arena Quirino Voraz.
OnPCKillEvent:
$PLAYERS_KILLED+=1;
+ TS_PVPCNT+=1;
// killedrid
.@m$=getmap();
.@bxp=readparam(BaseLevel, killedrid);
diff --git a/npc/functions/scoreboards.txt b/npc/functions/scoreboards.txt
index c3110c2dc..9ceac8265 100644
--- a/npc/functions/scoreboards.txt
+++ b/npc/functions/scoreboards.txt
@@ -39,6 +39,9 @@ OnInit:
.@nb = query_sql("select char_name, command from `atcommandlog` ORDER BY atcommand_id DESC LIMIT 15", $@hogm_name$, $@hogm_value$);
.@nb = query_sql("select name, guild_lv from `guild` WHERE `guild_id`!=1 ORDER BY guild_lv DESC LIMIT 5", $@hoguild_name$, $@hoguild_value);
.@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='CRAZYPOINTS' AND i.char_id=c.char_id ORDER BY i.value DESC LIMIT 10", $@cfefe_name$, $@cfefe_value);
+ .@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='TS_MOBPT' AND i.char_id=c.char_id ORDER BY i.value DESC LIMIT 10", $@mobpt_name$, $@mobpt_value);
+ .@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='TS_PVPCNT' AND i.char_id=c.char_id ORDER BY i.value DESC LIMIT 10", $@pvp_name$, $@pvp_value);
+ .@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='CRAFTING_SCORE' AND i.char_id=c.char_id ORDER BY i.value DESC LIMIT 10", $@crafters_name$, $@crafters_value);
debugmes "Scoreboards reloaded";
end;
}
@@ -196,6 +199,54 @@ function script HallOfCandor {
return;
}
+function script HallOfMobpt {
+ mes "";
+ mes l("##BHall Of Generated Mob Points: TOP 10##b");
+ mes("1."+$@mobpt_name$[0]+" ("+$@mobpt_value[0]+")");
+ mes("2."+$@mobpt_name$[1]+" ("+$@mobpt_value[1]+")");
+ mes("3."+$@mobpt_name$[2]+" ("+$@mobpt_value[2]+")");
+ mes("4."+$@mobpt_name$[3]+" ("+$@mobpt_value[3]+")");
+ mes("5."+$@mobpt_name$[4]+" ("+$@mobpt_value[4]+")");
+ mes("6."+$@mobpt_name$[5]+" ("+$@mobpt_value[5]+")");
+ mes("7."+$@mobpt_name$[6]+" ("+$@mobpt_value[6]+")");
+ mes("8."+$@mobpt_name$[7]+" ("+$@mobpt_value[7]+")");
+ mes("9."+$@mobpt_name$[8]+" ("+$@mobpt_value[8]+")");
+ mes("10."+$@mobpt_name$[9]+" ("+$@mobpt_value[9]+")");
+ return;
+}
+
+function script HallOfPVP {
+ mes "";
+ mes l("##BHall Of PVP Kills: TOP 10##b");
+ mes("1."+$@pvp_name$[0]+" ("+$@pvp_value[0]+")");
+ mes("2."+$@pvp_name$[1]+" ("+$@pvp_value[1]+")");
+ mes("3."+$@pvp_name$[2]+" ("+$@pvp_value[2]+")");
+ mes("4."+$@pvp_name$[3]+" ("+$@pvp_value[3]+")");
+ mes("5."+$@pvp_name$[4]+" ("+$@pvp_value[4]+")");
+ mes("6."+$@pvp_name$[5]+" ("+$@pvp_value[5]+")");
+ mes("7."+$@pvp_name$[6]+" ("+$@pvp_value[6]+")");
+ mes("8."+$@pvp_name$[7]+" ("+$@pvp_value[7]+")");
+ mes("9."+$@pvp_name$[8]+" ("+$@pvp_value[8]+")");
+ mes("10."+$@pvp_name$[9]+" ("+$@pvp_value[9]+")");
+ return;
+}
+
+function script HallOfCraft {
+ mes "";
+ mes l("##BHall Of Crafting: TOP 10##b");
+ mes("1."+$@crafters_name$[0]+" ("+$@crafters_value[0]+")");
+ mes("2."+$@crafters_name$[1]+" ("+$@crafters_value[1]+")");
+ mes("3."+$@crafters_name$[2]+" ("+$@crafters_value[2]+")");
+ mes("4."+$@crafters_name$[3]+" ("+$@crafters_value[3]+")");
+ mes("5."+$@crafters_name$[4]+" ("+$@crafters_value[4]+")");
+ mes("6."+$@crafters_name$[5]+" ("+$@crafters_value[5]+")");
+ mes("7."+$@crafters_name$[6]+" ("+$@crafters_value[6]+")");
+ mes("8."+$@crafters_name$[7]+" ("+$@crafters_value[7]+")");
+ mes("9."+$@crafters_name$[8]+" ("+$@crafters_value[8]+")");
+ mes("10."+$@crafters_name$[9]+" ("+$@crafters_value[9]+")");
+ return;
+}
+