diff options
author | Jesusaves <cpntb1@ymail.com> | 2023-07-28 18:32:24 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2023-07-28 18:32:24 -0300 |
commit | c236f047c62c14a493ead7f2027258f3a1a49fc0 (patch) | |
tree | 74f7900ef48954c918cc5d14ae843752e895ff65 /npc | |
parent | 3e0f1b061279cf28679a73886e349580aa6bfd40 (diff) | |
download | serverdata-master.tar.gz serverdata-master.tar.bz2 serverdata-master.tar.xz serverdata-master.zip |
Diffstat (limited to 'npc')
-rw-r--r-- | npc/commands/force-rename.txt | 47 | ||||
-rw-r--r-- | npc/scripts.conf | 1 |
2 files changed, 48 insertions, 0 deletions
diff --git a/npc/commands/force-rename.txt b/npc/commands/force-rename.txt new file mode 100644 index 0000000..16e20c5 --- /dev/null +++ b/npc/commands/force-rename.txt @@ -0,0 +1,47 @@ +// @charrename/@forcerename atcommand +// FORCEFULLY renames a char. Collision is handled by SQL. +// +// group lv: 80+ +// group char lv: 80+ +// log: True +// +// usage: npc/commands/force-rename.txt +// @charrename New Nickname +// #forcerename "char" <Nickname> +// + +- script @charrename 32767,{ + end; + +OnRename: + // array size validation + if (getarraysize(.@atcmd_parameters$) <= 0) { + dispbottom("Syntax requires argument between 3 and 30 chars long."); + end; + } + // Set new nickname + .@nickname$ += implode(.@atcmd_parameters$, " "); + .@nickname$ = strip(.@nickname$); + // Empty nickname + if (.@nickname$ == "" || .@nickname$ == "NULL") + end; + // Too long or too short nickname + if (getstrlen(.@nickname$) > 30 || getstrlen(.@nickname$) < 3) + end; + // Attempt to rename. If name is taken, will fail at SQL query + dispbottom l("Your nickname has been redefined by GM Team."); + .@id=getcharid(3); + .@n$=strcharinfo(0); + detachrid(); + kick(.@id, 12); // 12 = Pay changed. + sleep(25); + query_sql(sprintf("UPDATE `char` SET `name`='%s' WHERE `name`='%s'", escape_sql(.@nickname$), escape_sql(.@n$))); + debugmes "[SUCCESS] char %s renamed to %s", .@n$, .@nickname$; + end; + +OnInit: + //bindatcmd "charrename", "@charrename::OnRename", 80, 80, 1; + bindatcmd "forcerename", "@charrename::OnRename", 80, 80, 1; + bindatcmd "rename", "@charrename::OnRename", 80, 80, 1; + end; +} diff --git a/npc/scripts.conf b/npc/scripts.conf index a62a25a..5e07983 100644 --- a/npc/scripts.conf +++ b/npc/scripts.conf @@ -106,6 +106,7 @@ "npc/commands/debug-quest.txt", "npc/commands/debug.txt", "npc/commands/discord.txt", +"npc/commands/force-rename.txt", "npc/commands/grantpower.txt", "npc/commands/ipcheck.txt", "npc/commands/language.txt", |