git-svn-id: https://svn.code.sf.net/p/rathena/svn/branches/stable@566 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
ef8620bc6f
commit
ded7820ee1
@ -1,5 +1,9 @@
|
|||||||
Date Added
|
Date Added
|
||||||
12/14
|
12/14
|
||||||
|
* Replaced the way map loading was displayed into a progress-like way [MC Cameri]
|
||||||
|
* Fixed some typos in _ShowMessage() [MC Cameri]
|
||||||
|
* Replaced lots of more printf's in map-server with _ShowMessage() [MC Cameri]
|
||||||
|
* Added constants for console colors in showmsg.h [MC Cameri]
|
||||||
* src/char_sql/int_guild.c:56 - t_mes2 was not big enough causing
|
* src/char_sql/int_guild.c:56 - t_mes2 was not big enough causing
|
||||||
stack overrun's, corruptions, and crashes [MouseJstr]
|
stack overrun's, corruptions, and crashes [MouseJstr]
|
||||||
* common/mmo.h: changed base_level and job_level to unsigned int to increase max levels [Codemaster]
|
* common/mmo.h: changed base_level and job_level to unsigned int to increase max levels [Codemaster]
|
||||||
@ -28,6 +32,7 @@ Date Added
|
|||||||
rollback - fix by Freya [celest]
|
rollback - fix by Freya [celest]
|
||||||
* Removed 'type' paramater from pc_unequipitem to use 'flag' instead[celest]
|
* Removed 'type' paramater from pc_unequipitem to use 'flag' instead[celest]
|
||||||
* Moved unequip checking code from clif.c to pc.c [celest]
|
* Moved unequip checking code from clif.c to pc.c [celest]
|
||||||
|
>>>>>>> .r565
|
||||||
* Replaced many printf's in map-server with _ShowMessage(). [MC Cameri]
|
* Replaced many printf's in map-server with _ShowMessage(). [MC Cameri]
|
||||||
* Skill timers for skills with id's higher then 450 were
|
* Skill timers for skills with id's higher then 450 were
|
||||||
corrupting memory [MouseJstr]
|
corrupting memory [MouseJstr]
|
||||||
|
@ -614,7 +614,8 @@ static int grfio_entryread(char *gfname,int gentry)
|
|||||||
|
|
||||||
fp = fopen(gfname,"rb");
|
fp = fopen(gfname,"rb");
|
||||||
if(fp==NULL) {
|
if(fp==NULL) {
|
||||||
printf("%s not found (grfio_entryread)\n",gfname);
|
sprintf(tmp_output,"GRF Data File not found: '\033[1;29m%s\033[0;0m'.\n",gfname);
|
||||||
|
ShowWarning(tmp_output);
|
||||||
return 1; // 1:not found error
|
return 1; // 1:not found error
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -837,7 +838,8 @@ int grfio_add(char *fname)
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("%s file reading...\n",fname);
|
// sprintf(tmp_output,"Reading GRF File: '%s'.\n",fname);
|
||||||
|
// ShowStatus(tmp_output);
|
||||||
|
|
||||||
if (gentry_entrys>=gentry_maxentry) {
|
if (gentry_entrys>=gentry_maxentry) {
|
||||||
char **new_gentry = (char**)realloc(
|
char **new_gentry = (char**)realloc(
|
||||||
@ -924,7 +926,7 @@ void grfio_init(char *fname)
|
|||||||
}
|
}
|
||||||
|
|
||||||
fclose(data_conf);
|
fclose(data_conf);
|
||||||
sprintf(tmp_output,"Done reading GRF File: '\033[1;29m%s\033[0;0m'.\n",fname);
|
sprintf(tmp_output,"Done reading '\033[1;29m%s\033[0;0m'.\n",fname);
|
||||||
ShowStatus(tmp_output);
|
ShowStatus(tmp_output);
|
||||||
} // end of reading grf-files.txt
|
} // end of reading grf-files.txt
|
||||||
|
|
||||||
|
@ -14,12 +14,12 @@ int _ShowMessage(const char *string, enum msg_type flag){ // by MC Cameri
|
|||||||
char prefix[40];
|
char prefix[40];
|
||||||
char *output;
|
char *output;
|
||||||
if (strlen(string) <= 0) {
|
if (strlen(string) <= 0) {
|
||||||
ShowError("Empty string passed to ShowMessage().\n");
|
ShowError("Empty string passed to _ShowMessage().\n");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
switch (flag) {
|
switch (flag) {
|
||||||
case MSG_STATUS: //Bright Green (To inform about good things)
|
case MSG_STATUS: //Bright Green (To inform about good things)
|
||||||
strcpy(prefix,"\033[1;32m[Status]\033[0;0m:");
|
strcpy(prefix,CL_GREEN"[Status]"CL_RESET":");
|
||||||
break;
|
break;
|
||||||
/* //Do we really need this now? [MC Cameri]
|
/* //Do we really need this now? [MC Cameri]
|
||||||
case MSG_SQL: //Bright Violet (For dumping out anything related with SQL)
|
case MSG_SQL: //Bright Violet (For dumping out anything related with SQL)
|
||||||
@ -27,19 +27,19 @@ int _ShowMessage(const char *string, enum msg_type flag){ // by MC Cameri
|
|||||||
break;
|
break;
|
||||||
*/
|
*/
|
||||||
case MSG_INFORMATION: //Bright White (Variable information)
|
case MSG_INFORMATION: //Bright White (Variable information)
|
||||||
strcpy(prefix,"\033[1;29m[Info]\033[0;0m:");
|
strcpy(prefix,CL_WHITE"[Info]"CL_RESET":");
|
||||||
break;
|
break;
|
||||||
case MSG_NOTICE: //Bright White (Less than a warning)
|
case MSG_NOTICE: //Bright White (Less than a warning)
|
||||||
strcpy(prefix,"\033[1;29m[Notice]\033[0;0m:");
|
strcpy(prefix,CL_WHITE"[Notice]"CL_RESET":");
|
||||||
break;
|
break;
|
||||||
case MSG_WARNING: //Bright Yellow
|
case MSG_WARNING: //Bright Yellow
|
||||||
strcpy(prefix,"\033[1;33m[Warning]\033[0;0m:");
|
strcpy(prefix,CL_YELLOW"[Warning]"CL_RESET":");
|
||||||
break;
|
break;
|
||||||
case MSG_ERROR: //Bright Red (Regular errors)
|
case MSG_ERROR: //Bright Red (Regular errors)
|
||||||
strcpy(prefix,"\033[1;31m[Error]\033[0;0m:");
|
strcpy(prefix,CL_RED"[Error]"CL_RESET":");
|
||||||
break;
|
break;
|
||||||
case MSG_FATALERROR: //Bright Red (Fatal errors, abort(); if possible)
|
case MSG_FATALERROR: //Bright Red (Fatal errors, abort(); if possible)
|
||||||
strcpy(prefix,"\033[1;31m[Fatal Error]\033[0;0m:");
|
strcpy(prefix,CL_RED"[Fatal Error]"CL_RESET":");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
ShowError("In function _ShowMessage() -> Invalid flag passed.\n");
|
ShowError("In function _ShowMessage() -> Invalid flag passed.\n");
|
||||||
@ -48,7 +48,7 @@ int _ShowMessage(const char *string, enum msg_type flag){ // by MC Cameri
|
|||||||
output = (char*)malloc(sizeof(char)*(strlen(prefix)+strlen(string)+2)); // +2: space and a \0
|
output = (char*)malloc(sizeof(char)*(strlen(prefix)+strlen(string)+2)); // +2: space and a \0
|
||||||
if (output == NULL) {
|
if (output == NULL) {
|
||||||
return 1;
|
return 1;
|
||||||
// abort(); // Kill server? Deadly
|
// exit(1); // Kill server? Deadly
|
||||||
}
|
}
|
||||||
strcpy(output,prefix);
|
strcpy(output,prefix);
|
||||||
strcat(output," ");
|
strcat(output," ");
|
||||||
|
@ -1,6 +1,18 @@
|
|||||||
#ifndef _SHOWMSG_H_
|
#ifndef _SHOWMSG_H_
|
||||||
#define _SHOWMSG_H_
|
#define _SHOWMSG_H_
|
||||||
|
|
||||||
|
#define CL_RESET "\033[0;0m"
|
||||||
|
#define CL_NORMAL CL_RESET
|
||||||
|
#define CL_NONE CL_RESET
|
||||||
|
#define CL_WHITE "\033[1;29m"
|
||||||
|
#define CL_GRAY "\033[1;30m"
|
||||||
|
#define CL_RED "\033[1;31m"
|
||||||
|
#define CL_GREEN "\033[1;32m"
|
||||||
|
#define CL_YELLOW "\033[1;33m"
|
||||||
|
#define CL_BLUE "\033[1;34m"
|
||||||
|
#define CL_MAGENTA "\033[1;35m"
|
||||||
|
#define CL_CYAN "\033[1;36m"
|
||||||
|
|
||||||
extern char tmp_output[1024];
|
extern char tmp_output[1024];
|
||||||
|
|
||||||
enum msg_type {MSG_STATUS,/* MSG_SQL, */MSG_INFORMATION,MSG_NOTICE,MSG_WARNING,MSG_ERROR,MSG_FATALERROR};
|
enum msg_type {MSG_STATUS,/* MSG_SQL, */MSG_INFORMATION,MSG_NOTICE,MSG_WARNING,MSG_ERROR,MSG_FATALERROR};
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
#include "npc.h"
|
#include "npc.h"
|
||||||
#include "pc.h"
|
#include "pc.h"
|
||||||
#include "nullpo.h"
|
#include "nullpo.h"
|
||||||
|
#include "showmsg.h"
|
||||||
|
|
||||||
#ifdef MEMWATCH
|
#ifdef MEMWATCH
|
||||||
#include "memwatch.h"
|
#include "memwatch.h"
|
||||||
@ -244,13 +245,16 @@ int chrif_connectack(int fd)
|
|||||||
printf("Connected to char-server failed %d.\n", RFIFOB(fd,2));
|
printf("Connected to char-server failed %d.\n", RFIFOB(fd,2));
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
printf("Connected to char-server (connection #%d).\n", fd);
|
sprintf(tmp_output,"Successfully connected to Char-Server (Connection #%d).\n",fd);
|
||||||
|
ShowStatus(tmp_output);
|
||||||
chrif_state = 1;
|
chrif_state = 1;
|
||||||
|
|
||||||
chrif_sendmap(fd);
|
chrif_sendmap(fd);
|
||||||
|
|
||||||
printf("chrif: OnCharIfInit event done. (%d events)\n", npc_event_doall("OnCharIfInit"));
|
sprintf(tmp_output,"Event '"CL_WHITE"OnCharIfInit"CL_RESET"' executed with '"CL_WHITE"%d"CL_RESET"' NPCs.\n", npc_event_doall("OnCharIfInit"));
|
||||||
printf("chrif: OnInterIfInit event done. (%d events)\n", npc_event_doall("OnInterIfInit"));
|
ShowStatus(tmp_output);
|
||||||
|
sprintf(tmp_output,"Event '"CL_WHITE"OnInterIfInit"CL_RESET"' executed with '"CL_WHITE"%d"CL_RESET"' NPCs.\n", npc_event_doall("OnInterIfInit"));
|
||||||
|
ShowStatus(tmp_output);
|
||||||
|
|
||||||
// <Agit> Run Event [AgitInit]
|
// <Agit> Run Event [AgitInit]
|
||||||
// printf("NPC_Event:[OnAgitInit] do (%d) events (Agit Initialize).\n", npc_event_doall("OnAgitInit"));
|
// printf("NPC_Event:[OnAgitInit] do (%d) events (Agit Initialize).\n", npc_event_doall("OnAgitInit"));
|
||||||
@ -856,8 +860,8 @@ int chrif_chardisconnect(struct map_session_data *sd)
|
|||||||
*/
|
*/
|
||||||
int chrif_recvgmaccounts(int fd)
|
int chrif_recvgmaccounts(int fd)
|
||||||
{
|
{
|
||||||
printf("From login-server: receiving of %d GM accounts information.\n", pc_read_gm_account(fd));
|
sprintf(tmp_output,"From login-server: receiving information of '"CL_WHITE"%d"CL_RESET"' GM accounts.\n", pc_read_gm_account(fd));
|
||||||
|
ShowInfo(tmp_output);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
#include "../common/malloc.h"
|
#include "../common/malloc.h"
|
||||||
#include "../common/version.h"
|
#include "../common/version.h"
|
||||||
#include "../common/nullpo.h"
|
#include "../common/nullpo.h"
|
||||||
|
#include "../common/showmsg.h"
|
||||||
|
|
||||||
#include "map.h"
|
#include "map.h"
|
||||||
#include "chrif.h"
|
#include "chrif.h"
|
||||||
@ -10107,15 +10108,16 @@ static int clif_parse(int fd) {
|
|||||||
if (chrif_isconnect())
|
if (chrif_isconnect())
|
||||||
clif_quitsave(fd, sd);
|
clif_quitsave(fd, sd);
|
||||||
if (sd->status.name != NULL)
|
if (sd->status.name != NULL)
|
||||||
printf("Player [%s] has logged off your server.\n", sd->status.name); // Player logout display [Valaris]
|
sprintf(tmp_output,"%sCharacter '"CL_WHITE"%s"CL_RESET"' logged off.\n", (pc_isGM(sd))?"GM ":"",sd->status.name); // Player logout display [Valaris]
|
||||||
else
|
else
|
||||||
printf("Player with account [%d] has logged off your server.\n", sd->bl.id); // Player logout display [Yor]
|
sprintf(tmp_output,"%sCharacter with Account ID '"CL_WHITE"%d"CL_RESET"' logged off.\n", (pc_isGM(sd))?"GM ":"", sd->bl.id); // Player logout display [Yor]
|
||||||
} else if (sd) { // not authentified! (refused by char-server or disconnect before to be authentified)
|
} else if (sd) { // not authentified! (refused by char-server or disconnect before to be authentified)
|
||||||
printf("Player with account [%d] has logged off your server (not auth account).\n", sd->bl.id); // Player logout display [Yor]
|
sprintf(tmp_output,"Player not authenticated with Account ID '"CL_WHITE"%d"CL_RESET"' logged off.\n", sd->bl.id); // Player logout display [Yor]
|
||||||
if (chrif_isconnect())
|
if (chrif_isconnect())
|
||||||
clif_quitsave(fd, sd);
|
clif_quitsave(fd, sd);
|
||||||
sd = 0;
|
sd = 0;
|
||||||
}
|
}
|
||||||
|
ShowInfo(tmp_output);
|
||||||
close(fd);
|
close(fd);
|
||||||
if (sd) // ’ljÁ
|
if (sd) // ’ljÁ
|
||||||
map_deliddb(&sd->bl); // ’ljÁ
|
map_deliddb(&sd->bl); // ’ljÁ
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
#include "intif.h"
|
#include "intif.h"
|
||||||
#include "clif.h"
|
#include "clif.h"
|
||||||
#include "skill.h"
|
#include "skill.h"
|
||||||
|
#include "showmsg.h"
|
||||||
|
|
||||||
#ifdef MEMWATCH
|
#ifdef MEMWATCH
|
||||||
#include "memwatch.h"
|
#include "memwatch.h"
|
||||||
@ -127,7 +128,8 @@ static int guild_read_castledb(void)
|
|||||||
ln++;
|
ln++;
|
||||||
}
|
}
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
printf("read db/castle_db.txt done (count=%d)\n",ln);
|
sprintf(tmp_output,"Done reading '\033[1;29m%d\033[0;0m' entries in '\033[1;29m%s\033[0;0m'.\n",ln,"db/castle_db.txt");
|
||||||
|
ShowStatus(tmp_output);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -552,7 +552,8 @@ static int itemdb_read_itemnametable(void)
|
|||||||
p++;
|
p++;
|
||||||
}
|
}
|
||||||
free(buf);
|
free(buf);
|
||||||
printf("read data\\idnum2itemdisplaynametable.txt done.\n");
|
sprintf(tmp_output,"Done reading '\033[1;29m%s\033[0;0m'.\n","data\\idnum2itemdisplaynametable.txt");
|
||||||
|
ShowStatus(tmp_output);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -587,7 +588,8 @@ static int itemdb_read_cardillustnametable(void)
|
|||||||
p++;
|
p++;
|
||||||
}
|
}
|
||||||
free(buf);
|
free(buf);
|
||||||
printf("read data\\num2cardillustnametable.txt done.\n");
|
sprintf(tmp_output,"Done reading '\033[1;29m%s\033[0;0m'.\n","data\\num2cardillustnametable.txt");
|
||||||
|
ShowStatus(tmp_output);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -631,7 +633,8 @@ static int itemdb_read_noequip(void)
|
|||||||
|
|
||||||
}
|
}
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
printf("read db/item_noequip.txt done (count=%d)\n",ln);
|
sprintf(tmp_output,"Done reading '\033[1;29m%d\033[0;0m' entries in '\033[1;29m%s\033[0;0m'.\n",ln,"db/item_noequip.txt");
|
||||||
|
ShowStatus(tmp_output);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#ifndef TXT_ONLY
|
#ifndef TXT_ONLY
|
||||||
|
@ -104,6 +104,8 @@ static int online_timer(int,unsigned int,int,int);
|
|||||||
int CHECK_INTERVAL = 3600000; // [Valaris]
|
int CHECK_INTERVAL = 3600000; // [Valaris]
|
||||||
int check_online_timer=0; // [Valaris]
|
int check_online_timer=0; // [Valaris]
|
||||||
|
|
||||||
|
static int pos = 0;
|
||||||
|
|
||||||
#endif /* not TXT_ONLY */
|
#endif /* not TXT_ONLY */
|
||||||
|
|
||||||
#define USE_AFM
|
#define USE_AFM
|
||||||
@ -1588,16 +1590,26 @@ static int map_readmap(int m,char *fn, char *alias) {
|
|||||||
int x,y,xs,ys;
|
int x,y,xs,ys;
|
||||||
struct gat_1cell {float high[4]; int type;} *p=NULL;
|
struct gat_1cell {float high[4]; int type;} *p=NULL;
|
||||||
int wh;
|
int wh;
|
||||||
|
int i;
|
||||||
|
int e = 0;
|
||||||
|
|
||||||
size_t size;
|
size_t size;
|
||||||
|
char progress[21] = " ";
|
||||||
// read & convert fn
|
// read & convert fn
|
||||||
gat=grfio_read(fn);
|
gat=grfio_read(fn);
|
||||||
if(gat==NULL)
|
if(gat==NULL)
|
||||||
return -1;
|
return -1;
|
||||||
|
//printf("\rLoading Maps [%d/%d]: %-50s ",m,map_num,fn);
|
||||||
printf("\rLoading Maps [%d/%d]: %-50s ",m,map_num,fn);
|
if (map_num) { //avoid map-server crashing if there are 0 maps
|
||||||
fflush(stdout);
|
printf("\r");
|
||||||
|
ShowStatus("Progress: ");
|
||||||
|
i=m*20/420;
|
||||||
|
printf("[");
|
||||||
|
for (e=0;e<i;e++) progress[e] = '#';
|
||||||
|
printf(progress);
|
||||||
|
printf("] Working: [");
|
||||||
|
fflush(stdout);
|
||||||
|
}
|
||||||
map[m].m=m;
|
map[m].m=m;
|
||||||
xs=map[m].xs=*(int*)(gat+6);
|
xs=map[m].xs=*(int*)(gat+6);
|
||||||
ys=map[m].ys=*(int*)(gat+10);
|
ys=map[m].ys=*(int*)(gat+10);
|
||||||
@ -1645,8 +1657,12 @@ static int map_readmap(int m,char *fn, char *alias) {
|
|||||||
*------------------------------------------
|
*------------------------------------------
|
||||||
*/
|
*/
|
||||||
int map_readallmap(void) {
|
int map_readallmap(void) {
|
||||||
|
ShowStatus("Loading Maps...\n");
|
||||||
int i,maps_removed=0;
|
int i,maps_removed=0;
|
||||||
char fn[256];
|
char fn[256];
|
||||||
|
char c = '-';
|
||||||
|
time_t last_time = time(0);
|
||||||
|
int busy = 0;
|
||||||
#ifdef USE_AFM
|
#ifdef USE_AFM
|
||||||
FILE *afm_file;
|
FILE *afm_file;
|
||||||
#endif
|
#endif
|
||||||
@ -1681,16 +1697,28 @@ int map_readallmap(void) {
|
|||||||
if(map_readmap(i,fn, p) == -1) {
|
if(map_readmap(i,fn, p) == -1) {
|
||||||
map_delmap(map[i].name);
|
map_delmap(map[i].name);
|
||||||
maps_removed++;
|
maps_removed++;
|
||||||
|
} else {
|
||||||
|
if (last_time != time(0)) {
|
||||||
|
last_time = time(0);
|
||||||
|
switch(busy) {
|
||||||
|
case 0: c='\\'; busy++; break;
|
||||||
|
case 1: c='|'; busy++; break;
|
||||||
|
case 2: c='/'; busy++; break;
|
||||||
|
case 3: c='-'; busy=0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
printf("%c]",c);
|
||||||
|
fflush(stdout);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
free(waterlist);
|
free(waterlist);
|
||||||
printf("\r");
|
printf("\r");
|
||||||
snprintf(tmp_output,sizeof(tmp_output),"Maps Loaded: \033[1;29m%d\033[0;0m %50s\n",map_num,"");
|
snprintf(tmp_output,sizeof(tmp_output),"Successfully loaded '"CL_WHITE"%d"CL_RESET"' maps.%50s\n",map_num,"");
|
||||||
ShowInfo(tmp_output);
|
ShowInfo(tmp_output);
|
||||||
if (maps_removed) {
|
if (maps_removed) {
|
||||||
snprintf(tmp_output,sizeof(tmp_output),"Maps Removed: %d\n",maps_removed);
|
snprintf(tmp_output,sizeof(tmp_output),"Maps Removed: '"CL_WHITE"%d"CL_RESET"'\n",maps_removed);
|
||||||
ShowNotice(tmp_output);
|
ShowNotice(tmp_output);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
@ -2386,13 +2414,13 @@ int do_init(int argc, char *argv[]) {
|
|||||||
do_init_itemdb();
|
do_init_itemdb();
|
||||||
do_init_mob(); // npcの初期化時内でmob_spawnして、mob_dbを参照するのでinit_npcより先
|
do_init_mob(); // npcの初期化時内でmob_spawnして、mob_dbを参照するのでinit_npcより先
|
||||||
do_init_script();
|
do_init_script();
|
||||||
do_init_npc();
|
|
||||||
do_init_pc();
|
do_init_pc();
|
||||||
do_init_party();
|
do_init_party();
|
||||||
do_init_guild();
|
do_init_guild();
|
||||||
do_init_storage();
|
do_init_storage();
|
||||||
do_init_skill();
|
do_init_skill();
|
||||||
do_init_pet();
|
do_init_pet();
|
||||||
|
do_init_npc();
|
||||||
|
|
||||||
#ifndef TXT_ONLY /* mail system [Valaris] */
|
#ifndef TXT_ONLY /* mail system [Valaris] */
|
||||||
if(battle_config.mail_system)
|
if(battle_config.mail_system)
|
||||||
|
@ -3959,7 +3959,8 @@ static int mob_readdb_mobavail(void)
|
|||||||
ln++;
|
ln++;
|
||||||
}
|
}
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
printf("read db/mob_avail.txt done (count=%d)\n",ln);
|
sprintf(tmp_output,"Done reading '\033[1;29m%d\033[0;0m' entries in '\033[1;29m%s\033[0;0m'.\n",ln,"db/mob_avail.txt");
|
||||||
|
ShowStatus(tmp_output);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2219,6 +2219,7 @@ void ev_release(struct dbn *db, int which)
|
|||||||
*/
|
*/
|
||||||
int do_init_npc(void)
|
int do_init_npc(void)
|
||||||
{
|
{
|
||||||
|
ShowStatus("Loading NPCs...\n");
|
||||||
struct npc_src_list *nsl;
|
struct npc_src_list *nsl;
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
char line[1024];
|
char line[1024];
|
||||||
@ -2297,8 +2298,14 @@ int do_init_npc(void)
|
|||||||
// printf("\rLoading NPCs [%d]: %-54s",npc_id-START_NPC_NUM,nsl->name);
|
// printf("\rLoading NPCs [%d]: %-54s",npc_id-START_NPC_NUM,nsl->name);
|
||||||
// fflush(stdout);
|
// fflush(stdout);
|
||||||
}
|
}
|
||||||
printf("\rNPCs Loaded: %d [Warps:%d Shops:%d Scripts:%d Mobs:%d]\n",
|
printf("\r");
|
||||||
|
sprintf(tmp_output,"Done loading '"CL_WHITE"%d"CL_RESET"' NPCs:\n\t-'"
|
||||||
|
CL_WHITE"%d"CL_RESET"' Warps\n\t-'"
|
||||||
|
CL_WHITE"%d"CL_RESET"' Shops\n\t-'"
|
||||||
|
CL_WHITE"%d"CL_RESET"' Scripts\n\t-'"
|
||||||
|
CL_WHITE"%d"CL_RESET"' Mobs\n",
|
||||||
npc_id-START_NPC_NUM,npc_warp,npc_shop,npc_script,npc_mob);
|
npc_id-START_NPC_NUM,npc_warp,npc_shop,npc_script,npc_mob);
|
||||||
|
ShowInfo(tmp_output);
|
||||||
|
|
||||||
add_timer_func_list(npc_walktimer,"npc_walktimer"); // [Valaris]
|
add_timer_func_list(npc_walktimer,"npc_walktimer"); // [Valaris]
|
||||||
add_timer_func_list(npc_event_timer,"npc_event_timer");
|
add_timer_func_list(npc_event_timer,"npc_event_timer");
|
||||||
|
17
src/map/pc.c
17
src/map/pc.c
@ -826,13 +826,15 @@ int pc_authok(int id, int login_id2, time_t connect_until_time, struct mmo_chars
|
|||||||
pc_calcstatus(sd,1);
|
pc_calcstatus(sd,1);
|
||||||
|
|
||||||
if (pc_isGM(sd))
|
if (pc_isGM(sd))
|
||||||
printf("Connection accepted: character '%s' (account: %d; GM level %d).\n", sd->status.name, sd->status.account_id, pc_isGM(sd));
|
sprintf(tmp_output,"GM Character '"CL_WHITE"%s"CL_RESET"' logged in. (Acc. ID: '"CL_WHITE"%d"CL_RESET"', GM Level '"CL_WHITE"%d"CL_RESET"').\n", sd->status.name, sd->status.account_id, pc_isGM(sd));
|
||||||
else
|
else
|
||||||
printf("Connection accepted: Character '%s' (account: %d).\n", sd->status.name, sd->status.account_id);
|
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") );
|
//printf("pc: OnPCLogin event done. (%d events)\n", npc_event_doall("OnPCLogin") );
|
||||||
if (npc_name2id("PCLoginEvent"))
|
if (npc_name2id("PCLoginEvent")) {
|
||||||
run_script(npc_name2id("PCLoginEvent")->u.scr.script,0,sd->bl.id,npc_name2id("PCLoginEvent")->bl.id); // PCLoginNPC
|
run_script(npc_name2id("PCLoginEvent")->u.scr.script,0,sd->bl.id,npc_name2id("PCLoginEvent")->bl.id); // PCLoginNPC
|
||||||
|
ShowStatus("Event '\033[1;29mPCLoginEvent\033[0;0m' executed.\n");
|
||||||
|
}
|
||||||
// Send friends list
|
// Send friends list
|
||||||
clif_friends_list_send(sd);
|
clif_friends_list_send(sd);
|
||||||
|
|
||||||
@ -857,8 +859,8 @@ int pc_authok(int id, int login_id2, time_t connect_until_time, struct mmo_chars
|
|||||||
fclose(fp);
|
fclose(fp);
|
||||||
}
|
}
|
||||||
else if(battle_config.error_log) {
|
else if(battle_config.error_log) {
|
||||||
sprintf(buf, "%s not found\n", motd_txt);
|
sprintf(tmp_output, "In function pc_atuhok() -> File '"CL_WHITE"%s"CL_RESET"' not found.\n", motd_txt);
|
||||||
ShowWarning (buf);
|
ShowWarning(tmp_output);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -7808,7 +7810,8 @@ int pc_readdb(void)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
printf("read db/job_db2-2.txt done\n");
|
sprintf(tmp_output,"Done reading '\033[1;29m%s\033[0;0m'.\n","db/job_db2-2.txt");
|
||||||
|
ShowStatus(tmp_output);
|
||||||
|
|
||||||
// ƒXƒLƒ‹ƒcƒŠ?
|
// ƒXƒLƒ‹ƒcƒŠ?
|
||||||
memset(skill_tree,0,sizeof(skill_tree));
|
memset(skill_tree,0,sizeof(skill_tree));
|
||||||
|
@ -11531,7 +11531,8 @@ int skill_readdb(void)
|
|||||||
skill_db[i].blewcount[k]=(split2[k])? atoi(split2[k]):atoi(split2[0]);
|
skill_db[i].blewcount[k]=(split2[k])? atoi(split2[k]):atoi(split2[0]);
|
||||||
}
|
}
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
printf("read db/skill_db.txt done\n");
|
sprintf(tmp_output,"Done reading '\033[1;29m%s\033[0;0m'.\n","db/skill_db.txt");
|
||||||
|
ShowStatus(tmp_output);
|
||||||
|
|
||||||
fp=fopen("db/skill_require_db.txt","r");
|
fp=fopen("db/skill_require_db.txt","r");
|
||||||
if(fp==NULL){
|
if(fp==NULL){
|
||||||
@ -11670,7 +11671,8 @@ int skill_readdb(void)
|
|||||||
skill_db[i].amount[9]=atoi(split[29]);
|
skill_db[i].amount[9]=atoi(split[29]);
|
||||||
}
|
}
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
printf("read db/skill_require_db.txt done\n");
|
sprintf(tmp_output,"Done reading '\033[1;29m%s\033[0;0m'.\n","db/skill_cast_db.txt");
|
||||||
|
ShowStatus(tmp_output);
|
||||||
|
|
||||||
/* キャスティングデ?タベ?ス */
|
/* キャスティングデ?タベ?ス */
|
||||||
fp=fopen("db/skill_cast_db.txt","r");
|
fp=fopen("db/skill_cast_db.txt","r");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user