diff options
Diffstat (limited to 'src/map/npc.c')
-rw-r--r-- | src/map/npc.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/map/npc.c b/src/map/npc.c index 36569eb88..c6d77c18c 100644 --- a/src/map/npc.c +++ b/src/map/npc.c @@ -916,6 +916,32 @@ int npc_checknear(struct map_session_data *sd,int id) } /*========================================== + * NPCのオープンチャット発言 + *------------------------------------------ + */ +int npc_globalmessage(const char *name,char *mes) +{ + struct npc_data *nd=strdb_search(npcname_db,name); + char temp[100]; + char ntemp[50]; + char *ltemp; + + if(nd==NULL) return 0; + if(name==NULL) return 0; + + ltemp=strchr(name,'#'); + if(ltemp!=NULL) { + strncpy(ntemp,name,ltemp - name); // 123#456 の # から後ろを削除する + ntemp[ltemp - name]=0x00; // strncpy のバグ?使い方間違ってる? + } + + snprintf(temp, sizeof temp ,"%s : %s",ntemp,mes); + clif_GlobalMessage(&nd->bl,temp); + + return 0; +} + +/*========================================== * クリック時のNPC処理 *------------------------------------------ */ |