git-svn-id: https://svn.code.sf.net/p/rathena/svn/branches/stable@714 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
d2ef19e848
commit
025b4ac2d3
@ -1,5 +1,6 @@
|
||||
Date Added
|
||||
12/21
|
||||
* Added #zeny, removed @charzeny [MC Cameri]
|
||||
* Since conf/maps_list.txt was removed, added conf/maps_athena.conf [Ajarn]
|
||||
* Fixed a few NPCs that were giving curly errors. It seems to be caused by a bug that the NPCs' last line isn't read or something [Codemaster]
|
||||
* Fixed a tiny compile warning in npc.c [Codemaster]
|
||||
|
@ -386,9 +386,6 @@ charskreset: 60
|
||||
// Saves the respawn point of another character.
|
||||
charsave: 60
|
||||
|
||||
// Changes another character's zenny
|
||||
charzeny: 60
|
||||
|
||||
// Levels your guild to specified level (2 same commands).
|
||||
guildlvup: 60
|
||||
guildlvlup: 60
|
||||
|
@ -22,5 +22,6 @@ spiritball: 60
|
||||
item: 60
|
||||
job: 60
|
||||
jobchange: 60
|
||||
charzeny: 60
|
||||
|
||||
import: conf/import/charcommand_conf.txt
|
||||
|
@ -19,8 +19,7 @@
|
||||
//============================================================
|
||||
|
||||
|
||||
prontera.gat,3,3,3 script Uneasy_Check -1,
|
||||
{
|
||||
prontera.gat,3,3,3 script Uneasy_Check -1,{
|
||||
end;
|
||||
|
||||
OnHour00:
|
||||
@ -67,8 +66,7 @@ L_Start_Undead:
|
||||
mapannounce "prontera.gat","[Mother Mathana]: The cememtery has became restless! In the name of Odin, hurry to the Sanctuary! Save the city of Prontera!",0;
|
||||
}
|
||||
|
||||
prontera.gat,257,313,5 script Mother Mathana 79,
|
||||
{
|
||||
prontera.gat,257,313,5 script Mother Mathana 79,{
|
||||
mes "[Mother Mathana]";
|
||||
if ($UNEASY_DL <= 0) goto L_Undead_Walk;
|
||||
mes "I'm afraid there's something wrong with our old cemetery...";
|
||||
|
@ -1504,8 +1504,7 @@ OnTimerWarp:
|
||||
|
||||
|
||||
//<------------------------------------------------------------------------------------------ Sir Grey (Final Test) ------------------------------------------------------------------------------------------------------>\\
|
||||
prt_in.gat,87,90,3 script Sir Grey 119,
|
||||
{
|
||||
prt_in.gat,87,90,3 script Sir Grey 119,{
|
||||
mes "[Sir Grey]";
|
||||
if (class == Job_Knight) goto L_Knight;
|
||||
if (class == Job_Novice) goto L_Novice;
|
||||
@ -1854,5 +1853,4 @@ M_Menu:
|
||||
|
||||
M_End:
|
||||
close;
|
||||
|
||||
}
|
||||
|
@ -234,9 +234,8 @@ Lquote1:
|
||||
npctalk "... That did not look right";
|
||||
break;
|
||||
Lquote2:
|
||||
npc
|
||||
|
||||
Lquote2:
|
||||
npctalk "????";
|
||||
break;
|
||||
|
||||
Lquote3:
|
||||
npctalk "OMGITSJEEBUS!#!@%!";
|
||||
|
@ -131,7 +131,6 @@ ACMD_FUNC(charreset);
|
||||
ACMD_FUNC(charstpoint);
|
||||
ACMD_FUNC(charmodel);
|
||||
ACMD_FUNC(charskpoint);
|
||||
ACMD_FUNC(charzeny);
|
||||
ACMD_FUNC(agitstart);
|
||||
ACMD_FUNC(agitend);
|
||||
ACMD_FUNC(reloaditemdb);
|
||||
@ -379,7 +378,6 @@ static AtCommandInfo atcommand_info[] = {
|
||||
{ AtCommand_CharModel, "@charmodel", 50, atcommand_charmodel },
|
||||
{ AtCommand_CharSKPoint, "@charskpoint", 60, atcommand_charskpoint },
|
||||
{ AtCommand_CharSTPoint, "@charstpoint", 60, atcommand_charstpoint },
|
||||
{ AtCommand_CharZeny, "@charzeny", 60, atcommand_charzeny },
|
||||
{ AtCommand_MapInfo, "@mapinfo", 99, atcommand_mapinfo },
|
||||
{ AtCommand_Dye, "@dye", 40, atcommand_dye }, // by fritz
|
||||
{ AtCommand_Dye, "@ccolor", 40, atcommand_dye }, // by fritz
|
||||
@ -5390,51 +5388,6 @@ int atcommand_charstpoint(
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*==========================================
|
||||
* Character Zeny Point (Rewritten by [Yor])
|
||||
*------------------------------------------
|
||||
*/
|
||||
int atcommand_charzeny(
|
||||
const int fd, struct map_session_data* sd,
|
||||
const char* command, const char* message)
|
||||
{
|
||||
struct map_session_data *pl_sd;
|
||||
char character[100];
|
||||
int zeny = 0, new_zeny;
|
||||
nullpo_retr(-1, sd);
|
||||
|
||||
memset(character, '\0', sizeof(character));
|
||||
|
||||
if (!message || !*message || sscanf(message, "%d %99[^\n]", &zeny, character) < 2 || zeny == 0) {
|
||||
clif_displaymessage(fd, "Please, enter a number and a player name (usage: @charzeny <zeny> <name>).");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if ((pl_sd = map_nick2sd(character)) != NULL) {
|
||||
new_zeny = pl_sd->status.zeny + zeny;
|
||||
if (zeny > 0 && (zeny > MAX_ZENY || new_zeny > MAX_ZENY)) // fix positiv overflow
|
||||
new_zeny = MAX_ZENY;
|
||||
else if (zeny < 0 && (zeny < -MAX_ZENY || new_zeny < 0)) // fix negativ overflow
|
||||
new_zeny = 0;
|
||||
if (new_zeny != pl_sd->status.zeny) {
|
||||
pl_sd->status.zeny = new_zeny;
|
||||
clif_updatestatus(pl_sd, SP_ZENY);
|
||||
clif_displaymessage(fd, msg_table[211]); // Character's number of zenys changed!
|
||||
} else {
|
||||
if (zeny < 0)
|
||||
clif_displaymessage(fd, msg_table[41]); // Impossible to decrease the number/value.
|
||||
else
|
||||
clif_displaymessage(fd, msg_table[149]); // Impossible to increase the number/value.
|
||||
return -1;
|
||||
}
|
||||
} else {
|
||||
clif_displaymessage(fd, msg_table[3]); // Character not found.
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*==========================================
|
||||
* Recall All Characters Online To Your Location
|
||||
*------------------------------------------
|
||||
|
@ -115,7 +115,7 @@ enum AtCommandType {
|
||||
AtCommand_CharModel,
|
||||
AtCommand_CharSKPoint,
|
||||
AtCommand_CharSTPoint,
|
||||
AtCommand_CharZeny,
|
||||
// AtCommand_CharZeny, //now #zeny
|
||||
AtCommand_RecallAll,
|
||||
AtCommand_ReloadItemDB,
|
||||
AtCommand_ReloadMobDB,
|
||||
|
@ -48,6 +48,7 @@ CCMD_FUNC(effect);
|
||||
CCMD_FUNC(storagelist);
|
||||
CCMD_FUNC(item);
|
||||
CCMD_FUNC(warp);
|
||||
CCMD_FUNC(zeny);
|
||||
|
||||
#ifdef TXT_ONLY
|
||||
/* TXT_ONLY */
|
||||
@ -84,6 +85,7 @@ static CharCommandInfo charcommand_info[] = {
|
||||
{ CharCommandWarp, "#warp", 60, charcommand_warp },
|
||||
{ CharCommandWarp, "#rura", 60, charcommand_warp },
|
||||
{ CharCommandWarp, "#rura+", 60, charcommand_warp },
|
||||
{ CharCommandZeny, "#zeny", 60, charcommand_zeny },
|
||||
|
||||
#ifdef TXT_ONLY
|
||||
/* TXT_ONLY */
|
||||
@ -1131,3 +1133,48 @@ int charcommand_warp(
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*==========================================
|
||||
* #zeny <charname>
|
||||
*------------------------------------------
|
||||
*/
|
||||
int charcommand_zeny(
|
||||
const int fd, struct map_session_data* sd,
|
||||
const char* command, const char* message)
|
||||
{
|
||||
struct map_session_data *pl_sd;
|
||||
char character[100];
|
||||
int zeny = 0, new_zeny;
|
||||
nullpo_retr(-1, sd);
|
||||
|
||||
memset(character, '\0', sizeof(character));
|
||||
|
||||
if (!message || !*message || sscanf(message, "%d %99[^\n]", &zeny, character) < 2 || zeny == 0) {
|
||||
clif_displaymessage(fd, "Please, enter a number and a player name (usage: #zeny <zeny> <name>).");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if ((pl_sd = map_nick2sd(character)) != NULL) {
|
||||
new_zeny = pl_sd->status.zeny + zeny;
|
||||
if (zeny > 0 && (zeny > MAX_ZENY || new_zeny > MAX_ZENY)) // fix positiv overflow
|
||||
new_zeny = MAX_ZENY;
|
||||
else if (zeny < 0 && (zeny < -MAX_ZENY || new_zeny < 0)) // fix negativ overflow
|
||||
new_zeny = 0;
|
||||
if (new_zeny != pl_sd->status.zeny) {
|
||||
pl_sd->status.zeny = new_zeny;
|
||||
clif_updatestatus(pl_sd, SP_ZENY);
|
||||
clif_displaymessage(fd, msg_table[211]); // Character's number of zenys changed!
|
||||
} else {
|
||||
if (zeny < 0)
|
||||
clif_displaymessage(fd, msg_table[41]); // Impossible to decrease the number/value.
|
||||
else
|
||||
clif_displaymessage(fd, msg_table[149]); // Impossible to increase the number/value.
|
||||
return -1;
|
||||
}
|
||||
} else {
|
||||
clif_displaymessage(fd, msg_table[3]); // Character not found.
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -17,6 +17,7 @@ enum CharCommandType {
|
||||
CharCommandStorageList,
|
||||
CharCommandItem, // by MC Cameri
|
||||
CharCommandWarp,
|
||||
CharCommandZeny,
|
||||
|
||||
#ifdef TXT_ONLY
|
||||
/* TXT_ONLY */
|
||||
|
@ -1605,7 +1605,12 @@ static int npc_parse_script(char *w1,char *w2,char *w3,char *w4,char *first_line
|
||||
// 引数の個数チェック
|
||||
if (sscanf(w1,"%[^,],%d,%d,%d",mapname,&x,&y,&dir) != 4 ||
|
||||
( strcmp(w2,"script")==0 && strchr(w4,',')==NULL) ) {
|
||||
printf("bad script line : %s\n",w3);
|
||||
if (strlen(current_file)) {
|
||||
printf("\n");
|
||||
sprintf(tmp_output,"Bad script on line '"CL_WHITE"%s"CL_RESET"' fro"
|
||||
"m file '"CL_WHITE"%s"CL_RESET"'.\n",w3,current_file);
|
||||
ShowError(tmp_output);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
m = map_mapname2mapid(mapname);
|
||||
@ -2411,7 +2416,7 @@ int do_init_npc(void)
|
||||
add_timer_func_list(npc_event_timer,"npc_event_timer");
|
||||
add_timer_func_list(npc_event_do_clock,"npc_event_do_clock");
|
||||
add_timer_func_list(npc_timerevent,"npc_timerevent");
|
||||
|
||||
memset(current_file,'\0',sizeof(current_file));
|
||||
//exit(1);
|
||||
|
||||
return 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user