diff options
author | Jesusaves <cpntb1@ymail.com> | 2021-06-19 23:13:49 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2021-06-19 23:13:49 -0300 |
commit | ba98b21f554f6cd120e18f97fba24e6f42f05a62 (patch) | |
tree | dfa59bfb47652f047e686aabeaf72d73a4034f76 /npc/commands | |
parent | f9417d5dbd32e14eeac30074c9e3a488aaef0891 (diff) | |
download | serverdata-ba98b21f554f6cd120e18f97fba24e6f42f05a62.tar.gz serverdata-ba98b21f554f6cd120e18f97fba24e6f42f05a62.tar.bz2 serverdata-ba98b21f554f6cd120e18f97fba24e6f42f05a62.tar.xz serverdata-ba98b21f554f6cd120e18f97fba24e6f42f05a62.zip |
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
Diffstat (limited to 'npc/commands')
-rw-r--r-- | npc/commands/force-rename.txt | 46 |
1 files changed, 46 insertions, 0 deletions
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" <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); + 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; +} |