From ba98b21f554f6cd120e18f97fba24e6f42f05a62 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Sat, 19 Jun 2021 23:13:49 -0300 Subject: Add @charrename or @forcerename, which bypass some nick restrictions. Command is GM 80, Prsm will need to use GM Storage to force nick changes. Trolls can be mercilessy @block'ed and nuked away, but use @accinfo before. close #55 --- npc/commands/force-rename.txt | 46 +++++++++++++++++++++++++++++++++++++++++++ npc/scripts.conf | 1 + 2 files changed, 47 insertions(+) create mode 100644 npc/commands/force-rename.txt diff --git a/npc/commands/force-rename.txt b/npc/commands/force-rename.txt new file mode 100644 index 00000000..82ba46eb --- /dev/null +++ b/npc/commands/force-rename.txt @@ -0,0 +1,46 @@ +// @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" +// + +- 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); + 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; + end; +} diff --git a/npc/scripts.conf b/npc/scripts.conf index b2c936e3..6ad4e69b 100644 --- a/npc/scripts.conf +++ b/npc/scripts.conf @@ -94,6 +94,7 @@ // Commands "npc/commands/debug-quest.txt", "npc/commands/debug.txt", +"npc/commands/force-rename.txt", "npc/commands/gm.txt", "npc/commands/ipcheck.txt", "npc/commands/language.txt", -- cgit v1.2.3-60-g2f50