summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog.txt1
-rw-r--r--src/map/pc.c12
2 files changed, 9 insertions, 4 deletions
diff --git a/Changelog.txt b/Changelog.txt
index 2c672e79a..20d854ae2 100644
--- a/Changelog.txt
+++ b/Changelog.txt
@@ -1,5 +1,6 @@
Date Added
01/05
+ * Optimised PCLoginEvent activation a bit [celest]
* Set 'droprate0item''s default to 'yes' so that items with 0 rate will never
drop [celest]
* Look at item type other than item ID as well to check whether it is a card
diff --git a/src/map/pc.c b/src/map/pc.c
index adc2d68da..0586e7a9e 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -891,10 +891,14 @@ int pc_authok(int id, int login_id2, time_t connect_until_time, struct mmo_chars
else
sprintf(tmp_output,"Character '"CL_WHITE"%s"CL_RESET"' logged in. (Account ID: '"CL_WHITE"%d"CL_RESET"').\n", sd->status.name, sd->status.account_id);
ShowInfo(tmp_output);
- //printf("pc: OnPCLogin event done. (%d events)\n", npc_event_doall("OnPCLogin") );
- if (npc_name2id("PCLoginEvent")) {
- run_script(npc_name2id("PCLoginEvent")->u.scr.script,0,sd->bl.id,npc_name2id("PCLoginEvent")->bl.id); // PCLoginNPC
- ShowStatus("Event '"CL_WHITE"PCLoginEvent"CL_RESET"' executed.\n");
+
+ {
+ struct npc_data *npc;
+ //printf("pc: OnPCLogin event done. (%d events)\n", npc_event_doall("OnPCLogin") );
+ if ((npc = npc_name2id("PCLoginEvent"))) {
+ run_script(npc->u.scr.script,0,sd->bl.id,npc->bl.id); // PCLoginNPC
+ ShowStatus("Event '"CL_WHITE"PCLoginEvent"CL_RESET"' executed.\n");
+ }
}
// Send friends list
clif_friends_list_send(sd);