git-svn-id: https://svn.code.sf.net/p/rathena/svn/athena@284 54d463be-8e91-2dee-dedb-b68131a5f0ec

This commit is contained in:
mc_cameri 2004-11-21 03:33:31 +00:00
parent e3c37a5fab
commit b41283b301
5 changed files with 134 additions and 43 deletions

View File

@ -1,5 +1,9 @@
Date Added
11/20
* Added str_lower() function to atcommand.c (from OA). [MC Cameri]
* Simplified @charchangesex to @charchangesex [player], your sex is changed to the opposite one [MC Cameri]
* Added @refresh, which is like a @jumpto <<yourself>>. [MC Cameri]
* Added @petid <pet name> to find pet names, useful when you dont know which pets have eggs. [MC Cameri]
* Added an effect_list in docs/ for descriptions, free to add onto that later. [spira]
- Attempt to find new skill effects.
* Added "nogo" mapflag to prevent the use of @go on a specified map. [Valaris]

View File

@ -36,6 +36,7 @@ Date Added
======
11/20
* Fixed some typos in MC Cameri's Dev NPC, walking speed, etc. [MC Cameri]
* Fixed spawns on umbala fields, Fixed spawn point of Amon Ra in morroc pyramids B2 [shadow]
11/21
* niflheim.txt: some typos in some variables fixed (thx 2 Dr.Evil) [Lupus]

View File

@ -65,16 +65,16 @@ OnInit:
// MC Cameri =========================================================>\\
morocc.gat,160,97,4 script MC Cameri 706,{
npcspeed 50;
npcspeed 100;
mes "[MC Cameri]";
mes "I'm the @command guy from oA...";
mes "^FF00FFReal Name^000000: Can't tell you my name";
mes "^FF00FFAge^000000: 16 years";
mes "^FF00FFWhere I live^000000: Dominican Republic, in the caribbean";
mes "^FF8040Real Name^000000: Can't tell you my name";
mes "^FF8040Age^000000: 16 years";
mes "^FF8040Where I live^000000: Dominican Republic, in the caribbean";
next;
mes "[MC Cameri]";
mes "^FF00FFWhat I Do^000000: mostly working on @commands for GMs...";
mes "^FF00FFWhy I'm here^000000: Because I like programming...";
mes "^FF8040What I Do^000000: mostly working on @commands for GMs...";
mes "^FF8040Why I'm here^000000: Because I like programming...";
next;
mes "[MC Cameri]";
mes "I'm a senior student, programmer, body builder(yes, I lift weights), etc.";
@ -102,11 +102,11 @@ Lquote0:
setnpctimer 0;
break;
Lquote1:
npctalk "160,95-I owns you all, under my commands. *lol*";
npctalk "I owns you all, under my commands. *lol*";
setnpctimer 0;
break;
Lquote2:
npctalk "I forgot what my script, what do I have to say again? *_*U";
npctalk "I forgot my script, what do I have to say again? *_*U";
setnpctimer 0;
break;
Lquote3:

View File

@ -217,6 +217,9 @@ ATCOMMAND_FUNC(unmute); // [Valaris]
ATCOMMAND_FUNC(uptime); // by MC Cameri
ATCOMMAND_FUNC(changesex); // by MC Cameri
ATCOMMAND_FUNC(mute); // celest
ATCOMMAND_FUNC(refresh); // by MC Cameri
ATCOMMAND_FUNC(petid); // by MC Cameri
ATCOMMAND_FUNC(identify);
#ifndef TXT_ONLY
ATCOMMAND_FUNC(checkmail); // [Valaris]
@ -467,10 +470,14 @@ static AtCommandInfo atcommand_info[] = {
{ AtCommand_UnMute, "@unmute", 60, atcommand_unmute }, // [Valaris]
{ AtCommand_UpTime, "@uptime", 0, atcommand_uptime }, // by MC Cameri
{ AtCommand_ChangeSex, "@changesex", 1, atcommand_changesex }, // by MC Cameri
{ AtCommand_Mute, "@mute", 99, atcommand_mute }, // [celest]
{ AtCommand_Mute, "@red", 99, atcommand_mute }, // [celest]
{ AtCommand_WhoZeny, "@whozeny", 20, atcommand_whozeny }, // [Valaris]
{ AtCommand_HappyHappyJoyJoy, "@happyhappyjoyjoy", 40, atcommand_happyhappyjoyjoy }, // [Valaris]
{ AtCommand_Mute, "@mute", 99, atcommand_mute }, // [celest]
{ AtCommand_Mute, "@red", 99, atcommand_mute }, // [celest]
{ AtCommand_WhoZeny, "@whozeny", 20, atcommand_whozeny }, // [Valaris]
{ AtCommand_HappyHappyJoyJoy, "@happyhappyjoyjoy",40, atcommand_happyhappyjoyjoy }, // [Valaris]
{ AtCommand_Refresh, "@refresh", 0, atcommand_refresh }, // by MC Cameri
{ AtCommand_PetId, "@petid", 40, atcommand_petid }, // by MC Cameri
{ AtCommand_Identify, "@identify", 40, atcommand_identify }, // by MC Cameri
#ifndef TXT_ONLY // sql-only commands
{ AtCommand_CheckMail, "@checkmail", 1, atcommand_listmail }, // [Valaris]
{ AtCommand_ListMail, "@listmail", 1, atcommand_listmail }, // [Valaris]
@ -565,6 +572,20 @@ char * job_name(int class) {
return "Unknown Job";
}
/*==========================================
* str_lower (replace strlwr, non ANSI function that doesn't exist in all C compilator)
*------------------------------------------
*/
char *str_lower(char *str)
{
int i;
for (i=0; str[i]; i++)
if ((str[i] >= 65) && (str[i] <= 90))
str[i] += 32;
return str;
}
// compare function for sorting high to lowest
int hightolow_compare (const void * a, const void * b)
{
@ -1096,7 +1117,7 @@ int atcommand_jumpto(
memset(character, '\0', sizeof character);
if (sscanf(message, "%99[^\n]", character) < 1)
return -1;
if(strncmp(sd->status.name,character,24)==0)
if(strncmp(sd->status.name,character,24)==0) //Yourself mate? Tsk tsk tsk.
return -1;
intif_jumpto(sd->status.account_id,character);
@ -6600,7 +6621,7 @@ int atcommand_disguise(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
int mob_id;
int mob_id = 0;
if (!message || !*message) {
clif_displaymessage(fd, "Please, enter a Monster/NPC name/id (usage: @disguise <monster_name_or_monster_ID>).");
@ -7046,7 +7067,7 @@ atcommand_character_storage_list(
}
} else {
clif_displaymessage(fd, "This player has no storage.");
return -1;
return 0;
}
} else {
clif_displaymessage(fd, msg_table[81]); // Your GM level don't authorise you to do this action on this player.
@ -7859,31 +7880,7 @@ atcommand_changesex(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
// char sex[200], output[200];
// int isex = (sd->status.sex+1)%2;
/*
if (!message || !*message)
return -1;
memset(sex, '\0', sizeof(sex));
if(sscanf(message, "%99[^\n]", sex) < 1)
return -1;
str_lower(sex);
if (strcmp(sex,"0") == 0 || strcmp(sex,"f") == 0 || strcmp(sex,"female") == 0) {
isex = 0;
} else if (strcmp(sex,"1") == 0 || strcmp(sex,"m") == 0 || strcmp(sex,"male") == 0) {
isex = 1;
} else {
clif_displaymessage(fd,msg_table[456]);
return 0;
}
*/
// if (isex != sd->sex) {
chrif_changesex(sd->status.account_id, ((sd->status.sex+1)%2));
// } else {
// sprintf(output,msg_table[460],(isex == 0)?"female":"male");
// clif_displaymessage(fd,output);
// }
chrif_changesex(sd->status.account_id, ((sd->status.sex+1)%2));
return 0;
}
@ -7917,6 +7914,91 @@ int atcommand_mute(
return 0;
}
/*==========================================
* @refresh (like @jumpto <<yourself>>)
*------------------------------------------
*/
int atcommand_refresh(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
nullpo_retr(-1, sd);
pc_setpos(sd, sd->mapname, sd->bl.x, sd->bl.y, 3);
return 0;
}
/*==========================================
* @petid <part of pet name>
* => Displays a list of matching pets.
*------------------------------------------
*/
int
atcommand_petid(const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
char searchtext[100];
char temp0[100];
char temp1[100];
int cnt = 0, i = 0;
nullpo_retr(-1, sd);
if (!message || !*message)
return -1;
if (sscanf(message, "%99s", searchtext) < 1)
return -1;
str_lower(searchtext);
snprintf(temp0, sizeof(temp0), "Search results for: %s", searchtext);
clif_displaymessage(fd,temp0);
while (i < MAX_PET_DB) {
strcpy(temp1,pet_db[i].name);
strcpy(temp1, str_lower(temp1));
strcpy(temp0,pet_db[i].jname);
strcpy(temp0, str_lower(temp1));
if (strstr(temp1, searchtext) || strstr(temp0, searchtext) ) {
snprintf(temp0, sizeof(temp0), "ID: %i -- Name: %s", pet_db[i].class,
pet_db[i].jname);
if (cnt >= 100) { // Only if there are custom pets
clif_displaymessage(fd, "Be more specific, can't send more than"
" 100 results.");
} else {
clif_displaymessage(fd, temp0);
}
cnt++;
}
i++;
}
snprintf(temp0, sizeof(temp0),"%i pets have '%s' in their name.", cnt, searchtext);
clif_displaymessage(fd, temp0);
return 0;
}
/*==========================================
* @identify
* => GM's magnifier.
*------------------------------------------
*/
int
atcommand_identify(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
nullpo_retr(-1, sd);
int i,num;
for(i=num=0;i<MAX_INVENTORY;i++){
if(sd->status.inventory[i].nameid > 0 && sd->status.inventory[i].identify!=1){
num++;
}
}
if (num > 0) {
clif_item_identify_list(sd);
} else {
clif_displaymessage(fd,"There are no items to appraise.");
}
return 0;
}
#ifndef TXT_ONLY /* Begin SQL-Only commands */
/*==========================================

View File

@ -193,11 +193,15 @@ enum AtCommandType {
AtCommand_Send,
AtCommand_SetBattleFlag,
AtCommand_UnMute,
AtCommand_UpTime,
AtCommand_ChangeSex,
AtCommand_UpTime, // by MC Cameri
AtCommand_ChangeSex, // by MC Cameri
AtCommand_Mute, // [celest]
AtCommand_WhoZeny, // [Valaris]
AtCommand_WhoZeny, // [Valaris] <-- LOL...(MC Cameri) worth it.
AtCommand_HappyHappyJoyJoy, // [Valaris]
AtCommand_Refresh, // by MC Cameri
AtCommand_PetId, // by MC Cameri
AtCommand_Identify, // by MC Cameri
// SQL-only commands start
#ifndef TXT_ONLY
AtCommand_CheckMail, // [Valaris]