summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2023-07-28 18:32:24 -0300
committerJesusaves <cpntb1@ymail.com>2023-07-28 18:32:24 -0300
commitc236f047c62c14a493ead7f2027258f3a1a49fc0 (patch)
tree74f7900ef48954c918cc5d14ae843752e895ff65
parent3e0f1b061279cf28679a73886e349580aa6bfd40 (diff)
downloadserverdata-master.tar.gz
serverdata-master.tar.bz2
serverdata-master.tar.xz
serverdata-master.zip
Add @rename / @forcerename backHEADmaster
-rw-r--r--npc/commands/force-rename.txt47
-rw-r--r--npc/scripts.conf1
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",