git-svn-id: https://svn.code.sf.net/p/rathena/svn/athena@331 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
c39f85d63b
commit
974c37433b
@ -1,5 +1,9 @@
|
|||||||
Date Added
|
Date Added
|
||||||
11/22
|
11/22
|
||||||
|
* (TXT)Stripped some code off read_gm_accounts() and made with it addGM() [MC Cameri]
|
||||||
|
-Usage: addGM(account_id,level);
|
||||||
|
* (TXT)Changed GM_accounts.txt to meet new standards. [MC Cameri]
|
||||||
|
* (TXT)Enabled the use of id ranges in GM_accounts.txt [MC Cameri]
|
||||||
* Added a few free()'s so that I am sure it freed the allocated memory (char & login) [Codemaster]
|
* Added a few free()'s so that I am sure it freed the allocated memory (char & login) [Codemaster]
|
||||||
* Changed monsters_ignore_gm option to a level value. [Valaris]
|
* Changed monsters_ignore_gm option to a level value. [Valaris]
|
||||||
(accounts greater than or equal to this setting won't be attacked by aggressives.)
|
(accounts greater than or equal to this setting won't be attacked by aggressives.)
|
||||||
|
@ -1,35 +1,12 @@
|
|||||||
// GMとして認識するアカウントIDを設定
|
// eAthena's GM Accounts File
|
||||||
// <account ID> <level>
|
// Edited by MC Cameri to enable account id ranges
|
||||||
// <GMのアカウントID> <GMのレベル>
|
// Changing this file while login server is running
|
||||||
// GMのレベルは0以下は無視で最大は99
|
// Usage #1(Standard): <account id> <level>
|
||||||
704554 99
|
// Usage #2(Range): <beginning of range[-:~]end of range> <level>
|
||||||
704555 1
|
// Examples:
|
||||||
704556 1
|
// 2000002 99
|
||||||
704557 1
|
// 2000003-2000005 99
|
||||||
704558 1
|
// 2000003~2000005 99
|
||||||
704559 1
|
// 704585 30
|
||||||
704560 1
|
|
||||||
704561 1
|
704554-704584 99
|
||||||
704562 1
|
|
||||||
704563 1
|
|
||||||
704564 1
|
|
||||||
704565 1
|
|
||||||
704566 1
|
|
||||||
704567 1
|
|
||||||
704568 1
|
|
||||||
704569 1
|
|
||||||
704570 1
|
|
||||||
704571 1
|
|
||||||
704572 1
|
|
||||||
704573 1
|
|
||||||
704574 1
|
|
||||||
704575 1
|
|
||||||
704576 1
|
|
||||||
704577 1
|
|
||||||
704578 1
|
|
||||||
704579 1
|
|
||||||
704580 1
|
|
||||||
704581 1
|
|
||||||
704582 1
|
|
||||||
704583 1
|
|
||||||
794584 1
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
// Athena charcommand Configuration file.
|
// Athena charcommand Configuration file.
|
||||||
// Translated by Peter Kieser <pfak@telus.net>
|
// Created by MC Cameri for eAthena
|
||||||
|
|
||||||
// Set here the symbol that you want to use for your commands
|
// Set here the symbol that you want to use for your commands
|
||||||
// Only 1 character is get (default is '#'). You can set any character,
|
// Only 1 character is get (default is '#'). You can set any character,
|
||||||
// except control-character (0x00-0x1f), '%' (party chat speaking) and '/' (standard ragnarok GM commands)
|
// except control-character (0x00-0x1f), '%' (party chat speaking) and '/' (standard ragnarok GM commands)
|
||||||
// With default character, all commands begin by a '#': <example> #revive
|
// With default character, all commands begin by a '#', example: #revive
|
||||||
command_symbol: #
|
command_symbol: #
|
||||||
|
|
||||||
job: 60
|
job: 60
|
||||||
|
@ -11,487 +11,246 @@
|
|||||||
// Messages of GM commands
|
// Messages of GM commands
|
||||||
// -----------------------
|
// -----------------------
|
||||||
|
|
||||||
//0: Warped.
|
|
||||||
0: Warped.
|
0: Warped.
|
||||||
//1: Map not found.
|
|
||||||
1: Map not found.
|
1: Map not found.
|
||||||
//2: Coordinates out of range.
|
|
||||||
2: Coordinates out of range.
|
2: Coordinates out of range.
|
||||||
//3: Character not found.
|
|
||||||
3: Character not found.
|
3: Character not found.
|
||||||
//4: Jump to %s
|
|
||||||
4: Jump to %s
|
4: Jump to %s
|
||||||
//5: Jump to %d %d
|
|
||||||
5: Jump to %d %d
|
5: Jump to %d %d
|
||||||
//6: Character data respawn point saved.
|
|
||||||
6: Character data respawn point saved.
|
6: Character data respawn point saved.
|
||||||
//7: Warping to respawn point.
|
|
||||||
7: Warping to respawn point.
|
7: Warping to respawn point.
|
||||||
//8: Speed changed.
|
|
||||||
8: Speed changed.
|
8: Speed changed.
|
||||||
//9: Options changed.
|
|
||||||
9: Options changed.
|
9: Options changed.
|
||||||
//10: Invisible: Off
|
|
||||||
10: Invisible: Off
|
10: Invisible: Off
|
||||||
//11: Invisible: On
|
|
||||||
11: Invisible: On
|
11: Invisible: On
|
||||||
//12: Your job has been changed.
|
|
||||||
12: Your job has been changed.
|
12: Your job has been changed.
|
||||||
//13: A pity! You've died.
|
|
||||||
13: A pity! You've died.
|
13: A pity! You've died.
|
||||||
//14: Character killed.
|
|
||||||
14: Character killed.
|
14: Character killed.
|
||||||
//15: Player warped (message sends to player too).
|
|
||||||
15: Player warped (message sends to player too).
|
15: Player warped (message sends to player too).
|
||||||
//16: You've been revived! It's a miracle!
|
|
||||||
16: You've been revived! It's a miracle!
|
16: You've been revived! It's a miracle!
|
||||||
//17: HP, SP recovered.
|
|
||||||
17: HP, SP recovered.
|
17: HP, SP recovered.
|
||||||
//18: Item created.
|
|
||||||
18: Item created.
|
18: Item created.
|
||||||
//19: Invalid item ID or name.
|
|
||||||
19: Invalid item ID or name.
|
19: Invalid item ID or name.
|
||||||
//20: All of your items have been removed.
|
|
||||||
20: All of your items have been removed.
|
20: All of your items have been removed.
|
||||||
//21: Base level raised.
|
|
||||||
21: Base level raised.
|
21: Base level raised.
|
||||||
//22: Base level lowered.
|
|
||||||
22: Base level lowered.
|
22: Base level lowered.
|
||||||
//23: Job level can't go any higher.
|
|
||||||
23: Job level can't go any higher.
|
23: Job level can't go any higher.
|
||||||
//24: Job level raised.
|
|
||||||
24: Job level raised.
|
24: Job level raised.
|
||||||
//25: Job level lowered.
|
|
||||||
25: Job level lowered.
|
25: Job level lowered.
|
||||||
//26: Help commands:
|
|
||||||
26: Help commands:
|
26: Help commands:
|
||||||
//27: File help.txt not found.
|
|
||||||
27: File help.txt not found.
|
27: File help.txt not found.
|
||||||
//28: No player found.
|
|
||||||
28: No player found.
|
28: No player found.
|
||||||
//29: 1 player found.
|
|
||||||
29: 1 player found.
|
29: 1 player found.
|
||||||
//30: %d players found.
|
|
||||||
30: %d players found.
|
30: %d players found.
|
||||||
//31: PvP: Off.
|
|
||||||
31: PvP: Off.
|
31: PvP: Off.
|
||||||
//32: PvP: On.
|
|
||||||
32: PvP: On.
|
32: PvP: On.
|
||||||
//33: GvG: Off.
|
|
||||||
33: GvG: Off.
|
33: GvG: Off.
|
||||||
//34: GvG: On.
|
|
||||||
34: GvG: On.
|
34: GvG: On.
|
||||||
//35: You can't use this command with this class.
|
|
||||||
35: You can't use this command with this class.
|
35: You can't use this command with this class.
|
||||||
//36: Appearence changed.
|
|
||||||
36: Appearence changed.
|
36: Appearence changed.
|
||||||
//37: An invalid number was specified.
|
|
||||||
37: An invalid number was specified.
|
37: An invalid number was specified.
|
||||||
//38: Invalid location number or name.
|
|
||||||
38: Invalid location number or name.
|
38: Invalid location number or name.
|
||||||
//39: All monster summoned!
|
|
||||||
39: All monster summoned!
|
39: All monster summoned!
|
||||||
//40: Invalid monster ID or name.
|
|
||||||
40: Invalid monster ID or name.
|
40: Invalid monster ID or name.
|
||||||
//41: Impossible to decrease the number/value.
|
|
||||||
41: Impossible to decrease the number/value.
|
41: Impossible to decrease the number/value.
|
||||||
//42: Stat changed.
|
|
||||||
42: Stat changed.
|
42: Stat changed.
|
||||||
//43: You're not in a guild.
|
|
||||||
43: You're not in a guild.
|
43: You're not in a guild.
|
||||||
//44: You're not the master of your guild.
|
|
||||||
44: You're not the master of your guild.
|
44: You're not the master of your guild.
|
||||||
//45: Guild level change failed.
|
|
||||||
45: Guild level change failed.
|
45: Guild level change failed.
|
||||||
//46: %s recalled!
|
|
||||||
46: %s recalled!
|
46: %s recalled!
|
||||||
//47: Base level can't go any higher.
|
|
||||||
47: Base level can't go any higher.
|
47: Base level can't go any higher.
|
||||||
//48: Character's job changed.
|
|
||||||
48: Character's job changed.
|
48: Character's job changed.
|
||||||
//49: Invalid job ID.
|
|
||||||
49: Invalid job ID.
|
49: Invalid job ID.
|
||||||
//50: You already have some GM powers.
|
|
||||||
50: You already have some GM powers.
|
50: You already have some GM powers.
|
||||||
//51: Character revived.
|
|
||||||
51: Character revived.
|
51: Character revived.
|
||||||
//52: This option cannot be used in PK Mode.
|
|
||||||
52: This option cannot be used in PK Mode.
|
52: This option cannot be used in PK Mode.
|
||||||
//53: '%s' stats:
|
|
||||||
53: '%s' stats:
|
53: '%s' stats:
|
||||||
//54: No player found in map '%s'.
|
|
||||||
54: No player found in map '%s'.
|
54: No player found in map '%s'.
|
||||||
//55: 1 player found in map '%s'.
|
|
||||||
55: 1 player found in map '%s'.
|
55: 1 player found in map '%s'.
|
||||||
//56: %d players found in map '%s'.
|
|
||||||
56: %d players found in map '%s'.
|
56: %d players found in map '%s'.
|
||||||
//57: Character's respawn point changed.
|
|
||||||
57: Character's respawn point changed.
|
57: Character's respawn point changed.
|
||||||
//58: Character's options changed.
|
|
||||||
58: Character's options changed.
|
58: Character's options changed.
|
||||||
//59: Night has fallen.
|
|
||||||
59: Night has fallen.
|
59: Night has fallen.
|
||||||
//60: Day has arrived.
|
|
||||||
60: Day has arrived.
|
60: Day has arrived.
|
||||||
//61: The holy messenger has given judgement.
|
|
||||||
61: The holy messenger has given judgement.
|
61: The holy messenger has given judgement.
|
||||||
//62: Judgement was made.
|
|
||||||
62: Judgement was made.
|
62: Judgement was made.
|
||||||
//63: Mercy has been shown.
|
|
||||||
63: Mercy has been shown.
|
63: Mercy has been shown.
|
||||||
//64: Mercy has been granted.
|
|
||||||
64: Mercy has been granted.
|
64: Mercy has been granted.
|
||||||
//65: Character's base level raised.
|
|
||||||
65: Character's base level raised.
|
65: Character's base level raised.
|
||||||
//66: Character's base level lowered.
|
|
||||||
66: Character's base level lowered.
|
66: Character's base level lowered.
|
||||||
//67: Character's job level can't go any higher.
|
|
||||||
67: Character's job level can't go any higher.
|
67: Character's job level can't go any higher.
|
||||||
//68: character's job level raised.
|
|
||||||
68: character's job level raised.
|
68: character's job level raised.
|
||||||
//69: Character's job level lowered.
|
|
||||||
69: Character's job level lowered.
|
69: Character's job level lowered.
|
||||||
//70: You have learned the skill.
|
|
||||||
70: You have learned the skill.
|
70: You have learned the skill.
|
||||||
//71: You have forgotten the skill.
|
|
||||||
71: You have forgotten the skill.
|
71: You have forgotten the skill.
|
||||||
//72: Guild siege warfare start!
|
|
||||||
72: Guild siege warfare start!
|
72: Guild siege warfare start!
|
||||||
//73: Already it has started siege warfare.
|
|
||||||
73: Already it has started siege warfare.
|
73: Already it has started siege warfare.
|
||||||
//74: Guild siege warfare end!
|
|
||||||
74: Guild siege warfare end!
|
74: Guild siege warfare end!
|
||||||
//75: Siege warfare hasn't started yet.
|
|
||||||
75: Siege warfare hasn't started yet.
|
75: Siege warfare hasn't started yet.
|
||||||
//76: You have received all skills.
|
|
||||||
76: You have received all skills.
|
76: You have received all skills.
|
||||||
//77: The reference result of '%s' (name: id):
|
|
||||||
77: The reference result of '%s' (name: id):
|
77: The reference result of '%s' (name: id):
|
||||||
//78: %s: %d
|
|
||||||
78: %s: %d
|
78: %s: %d
|
||||||
//79: It is %d affair above.
|
|
||||||
79: It is %d affair above.
|
79: It is %d affair above.
|
||||||
//80: Give a display name and monster name/id please.
|
|
||||||
80: Give a display name and monster name/id please.
|
80: Give a display name and monster name/id please.
|
||||||
//81: Your GM level don't authorise you to do this action on this player.
|
|
||||||
81: Your GM level don't authorise you to do this action on this player.
|
81: Your GM level don't authorise you to do this action on this player.
|
||||||
//82: Please, use one of this number/name:
|
|
||||||
82: Please, use one of this number/name:
|
82: Please, use one of this number/name:
|
||||||
//83: Cannot spawn emperium.
|
|
||||||
83: Cannot spawn emperium.
|
83: Cannot spawn emperium.
|
||||||
//84: All stats changed!
|
|
||||||
84: All stats changed!
|
84: All stats changed!
|
||||||
//85: Invalid time for ban command.
|
|
||||||
85: Invalid time for ban command.
|
85: Invalid time for ban command.
|
||||||
//86: Sorry, but a player name have at least 4 characters.
|
|
||||||
86: Sorry, but a player name have at least 4 characters.
|
86: Sorry, but a player name have at least 4 characters.
|
||||||
//87: Sorry, but a player name have 23 characters maximum.
|
|
||||||
87: Sorry, but a player name have 23 characters maximum.
|
87: Sorry, but a player name have 23 characters maximum.
|
||||||
//88: Character name sends to char-server to ask it.
|
|
||||||
88: Character name sends to char-server to ask it.
|
88: Character name sends to char-server to ask it.
|
||||||
//89: Sorry, it's already the night. Impossible to execute the command.
|
|
||||||
89: Sorry, it's already the night. Impossible to execute the command.
|
89: Sorry, it's already the night. Impossible to execute the command.
|
||||||
//90: Sorry, it's already the day. Impossible to execute the command.
|
|
||||||
90: Sorry, it's already the day. Impossible to execute the command.
|
90: Sorry, it's already the day. Impossible to execute the command.
|
||||||
//91: Character's base level can't go any higher.
|
|
||||||
91: Character's base level can't go any higher.
|
91: Character's base level can't go any higher.
|
||||||
//92: All characters recalled!
|
|
||||||
92: All characters recalled!
|
92: All characters recalled!
|
||||||
//93: All online characters of the %s guild are near you.
|
|
||||||
93: All online characters of the %s guild are near you.
|
93: All online characters of the %s guild are near you.
|
||||||
//94: Incorrect name/ID, or no one from the guild is online.
|
|
||||||
94: Incorrect name/ID, or no one from the guild is online.
|
94: Incorrect name/ID, or no one from the guild is online.
|
||||||
//95: All online characters of the %s party are near you.
|
|
||||||
95: All online characters of the %s party are near you.
|
95: All online characters of the %s party are near you.
|
||||||
//96: Incorrect name or ID, or no one from the party is online.
|
|
||||||
96: Incorrect name or ID, or no one from the party is online.
|
96: Incorrect name or ID, or no one from the party is online.
|
||||||
//97: Item database reloaded.
|
|
||||||
97: Item database reloaded.
|
97: Item database reloaded.
|
||||||
//98: Monster database reloaded.
|
|
||||||
98: Monster database reloaded.
|
98: Monster database reloaded.
|
||||||
//99: Skill database reloaded.
|
|
||||||
99: Skill database reloaded.
|
99: Skill database reloaded.
|
||||||
//100: Scripts reloaded.
|
|
||||||
100: Scripts reloaded.
|
100: Scripts reloaded.
|
||||||
//101: Login-server asked to reload GM accounts and their level.
|
|
||||||
101: Login-server asked to reload GM accounts and their level.
|
101: Login-server asked to reload GM accounts and their level.
|
||||||
//102: Mounted Peco.
|
|
||||||
102: Mounted Peco.
|
102: Mounted Peco.
|
||||||
//103: No longer spying on the %s guild.
|
|
||||||
103: No longer spying on the %s guild.
|
103: No longer spying on the %s guild.
|
||||||
//104: Spying on the %s guild.
|
|
||||||
104: Spying on the %s guild.
|
104: Spying on the %s guild.
|
||||||
//105: No longer spying on the %s party.
|
|
||||||
105: No longer spying on the %s party.
|
105: No longer spying on the %s party.
|
||||||
//106: Spying on the %s party.
|
|
||||||
106: Spying on the %s party.
|
106: Spying on the %s party.
|
||||||
//107: All items have been repaired.
|
|
||||||
107: All items have been repaired.
|
107: All items have been repaired.
|
||||||
//108: No item need to be repaired.
|
|
||||||
108: No item need to be repaired.
|
108: No item need to be repaired.
|
||||||
//109: Player has been nuked!
|
|
||||||
109: Player has been nuked!
|
109: Player has been nuked!
|
||||||
//110: Npc Enabled.
|
|
||||||
110: Npc Enabled.
|
110: Npc Enabled.
|
||||||
//111: This NPC doesn't exist.
|
|
||||||
111: This NPC doesn't exist.
|
111: This NPC doesn't exist.
|
||||||
//112: Npc Disabled.
|
|
||||||
112: Npc Disabled.
|
112: Npc Disabled.
|
||||||
//113: %d item(s) removed by a GM.
|
|
||||||
113: %d item(s) removed by a GM.
|
113: %d item(s) removed by a GM.
|
||||||
//114: %d item(s) removed from the player.
|
|
||||||
114: %d item(s) removed from the player.
|
114: %d item(s) removed from the player.
|
||||||
//115: %d item(s) removed. Player had only %d on %d items.
|
|
||||||
115: %d item(s) removed. Player had only %d on %d items.
|
115: %d item(s) removed. Player had only %d on %d items.
|
||||||
//116: Character does not have the item.
|
|
||||||
116: Character does not have the item.
|
116: Character does not have the item.
|
||||||
//117: GM has send you in jails.
|
|
||||||
117: GM has send you in jails.
|
117: GM has send you in jails.
|
||||||
//118: Player warped in jails.
|
|
||||||
118: Player warped in jails.
|
118: Player warped in jails.
|
||||||
//119: This player is not in jails.
|
|
||||||
119: This player is not in jails.
|
119: This player is not in jails.
|
||||||
//120: GM has discharge you.
|
|
||||||
120: GM has discharge you.
|
120: GM has discharge you.
|
||||||
//121: Player warped to Prontera.
|
|
||||||
121: Player warped to Prontera.
|
121: Player warped to Prontera.
|
||||||
//122: Disguise applied.
|
|
||||||
122: Disguise applied.
|
122: Disguise applied.
|
||||||
//123: Monster/NPC name/id hasn't been found.
|
|
||||||
123: Monster/NPC name/id hasn't been found.
|
123: Monster/NPC name/id hasn't been found.
|
||||||
//124: Undisguise applied.
|
|
||||||
124: Undisguise applied.
|
124: Undisguise applied.
|
||||||
//125: You're not disguised.
|
|
||||||
125: You're not disguised.
|
125: You're not disguised.
|
||||||
//126: You accept any wisp (no wisper is refused).
|
|
||||||
126: You accept any wisp (no wisper is refused).
|
126: You accept any wisp (no wisper is refused).
|
||||||
//127: You accept any wisp, except thoses from %d player(s):
|
|
||||||
127: You accept any wisp, except thoses from %d player(s):
|
127: You accept any wisp, except thoses from %d player(s):
|
||||||
//128: You refuse all wisps (no specifical wisper is refused).
|
|
||||||
128: You refuse all wisps (no specifical wisper is refused).
|
128: You refuse all wisps (no specifical wisper is refused).
|
||||||
//129: You refuse all wisps, AND refuse wisps from %d player(s):
|
|
||||||
129: You refuse all wisps, AND refuse wisps from %d player(s):
|
129: You refuse all wisps, AND refuse wisps from %d player(s):
|
||||||
//130: '%s' accept any wisp (no wisper is refused).
|
|
||||||
130: '%s' accept any wisp (no wisper is refused).
|
130: '%s' accept any wisp (no wisper is refused).
|
||||||
//131: '%s' accept any wisp, except thoses from %d player(s):
|
|
||||||
131: '%s' accept any wisp, except thoses from %d player(s):
|
131: '%s' accept any wisp, except thoses from %d player(s):
|
||||||
//132: '%s' refuse all wisps (no specifical wisper is refused).
|
|
||||||
132: '%s' refuse all wisps (no specifical wisper is refused).
|
132: '%s' refuse all wisps (no specifical wisper is refused).
|
||||||
//133: '%s' refuse all wisps, AND refuse wisps from %d player(s):
|
|
||||||
133: '%s' refuse all wisps, AND refuse wisps from %d player(s):
|
133: '%s' refuse all wisps, AND refuse wisps from %d player(s):
|
||||||
//134: '%s' already accepts all wispers.
|
|
||||||
134: '%s' already accepts all wispers.
|
134: '%s' already accepts all wispers.
|
||||||
//135: '%s' now accepts all wispers.
|
|
||||||
135: '%s' now accepts all wispers.
|
135: '%s' now accepts all wispers.
|
||||||
//136: A GM has authorised all wispers for you.
|
|
||||||
136: A GM has authorised all wispers for you.
|
136: A GM has authorised all wispers for you.
|
||||||
//137: '%s' already blocks all wispers.
|
|
||||||
137: '%s' already blocks all wispers.
|
137: '%s' already blocks all wispers.
|
||||||
//138: '%s' blocks now all wispers.
|
|
||||||
138: '%s' blocks now all wispers.
|
138: '%s' blocks now all wispers.
|
||||||
//139: A GM has blocked all wispers for you.
|
|
||||||
139: A GM has blocked all wispers for you.
|
139: A GM has blocked all wispers for you.
|
||||||
//140: Character's disguise applied.
|
|
||||||
140: Character's disguise applied.
|
140: Character's disguise applied.
|
||||||
//141: Character's undisguise applied.
|
|
||||||
141: Character's undisguise applied.
|
141: Character's undisguise applied.
|
||||||
//142: Character is not disguised.
|
|
||||||
142: Character is not disguised.
|
142: Character is not disguised.
|
||||||
//143: Give a monster name/id please.
|
|
||||||
143: Give a monster name/id please.
|
143: Give a monster name/id please.
|
||||||
//144: Invalid actual email. If you have default e-mail, type a@a.com.
|
|
||||||
144: Invalid actual email. If you have default e-mail, type a@a.com.
|
144: Invalid actual email. If you have default e-mail, type a@a.com.
|
||||||
//145: Invalid new email. Please enter a real e-mail.
|
|
||||||
145: Invalid new email. Please enter a real e-mail.
|
145: Invalid new email. Please enter a real e-mail.
|
||||||
//146: New email must be a real e-mail.
|
|
||||||
146: New email must be a real e-mail.
|
146: New email must be a real e-mail.
|
||||||
//147: New email must be different of the actual e-mail.
|
|
||||||
147: New email must be different of the actual e-mail.
|
147: New email must be different of the actual e-mail.
|
||||||
//148: Information sended to login-server via char-server.
|
|
||||||
148: Information sended to login-server via char-server.
|
148: Information sended to login-server via char-server.
|
||||||
//149: Impossible to increase the number/value.
|
|
||||||
149: Impossible to increase the number/value.
|
149: Impossible to increase the number/value.
|
||||||
//150: No GM found.
|
|
||||||
150: No GM found.
|
150: No GM found.
|
||||||
//151: 1 GM found.
|
|
||||||
151: 1 GM found.
|
151: 1 GM found.
|
||||||
//152: %d GMs found.
|
|
||||||
152: %d GMs found.
|
152: %d GMs found.
|
||||||
//153: %s is Unknown Command.
|
|
||||||
153: %s is Unknown Command.
|
153: %s is Unknown Command.
|
||||||
//154: %s failed.
|
|
||||||
154: %s failed.
|
154: %s failed.
|
||||||
//155: Impossible to change your job.
|
|
||||||
155: Impossible to change your job.
|
155: Impossible to change your job.
|
||||||
//156: HP or/and SP modified.
|
|
||||||
156: HP or/and SP modified.
|
156: HP or/and SP modified.
|
||||||
//157: HP and SP are already with the good value.
|
|
||||||
157: HP and SP are already with the good value.
|
157: HP and SP are already with the good value.
|
||||||
//158: Base level can't go any lower.
|
|
||||||
158: Base level can't go any lower.
|
158: Base level can't go any lower.
|
||||||
//159: Job level can't go any lower.
|
|
||||||
159: Job level can't go any lower.
|
159: Job level can't go any lower.
|
||||||
//160: PvP is already Off.
|
|
||||||
160: PvP is already Off.
|
160: PvP is already Off.
|
||||||
//161: PvP is already On.
|
|
||||||
161: PvP is already On.
|
161: PvP is already On.
|
||||||
//162: GvG is already Off.
|
|
||||||
162: GvG is already Off.
|
162: GvG is already Off.
|
||||||
//163: GvG is already On.
|
|
||||||
163: GvG is already On.
|
163: GvG is already On.
|
||||||
//164: Your memo point #%d doesn't exist.
|
|
||||||
164: Your memo point #%d doesn't exist.
|
164: Your memo point #%d doesn't exist.
|
||||||
//165: All monsters killed!
|
|
||||||
165: All monsters killed!
|
165: All monsters killed!
|
||||||
//166: No item has been refined!
|
|
||||||
166: No item has been refined!
|
166: No item has been refined!
|
||||||
//167: 1 item has been refined!
|
|
||||||
167: 1 item has been refined!
|
167: 1 item has been refined!
|
||||||
//168: %d items have been refined!
|
|
||||||
168: %d items have been refined!
|
168: %d items have been refined!
|
||||||
//169: This item (%d: '%s') is not an equipment.
|
|
||||||
169: This item (%d: '%s') is not an equipment.
|
169: This item (%d: '%s') is not an equipment.
|
||||||
//170: This item is not an equipment.
|
|
||||||
170: This item is not an equipment.
|
170: This item is not an equipment.
|
||||||
//171: %d - void
|
|
||||||
171: %d - void
|
171: %d - void
|
||||||
//172: You replace previous memo position %d - %s (%d,%d).
|
|
||||||
172: You replace previous memo position %d - %s (%d,%d).
|
172: You replace previous memo position %d - %s (%d,%d).
|
||||||
//173: Note: you don't have the 'Warp' skill level to use it.
|
|
||||||
173: Note: you don't have the 'Warp' skill level to use it.
|
173: Note: you don't have the 'Warp' skill level to use it.
|
||||||
//174: Number of status points changed!
|
|
||||||
174: Number of status points changed!
|
174: Number of status points changed!
|
||||||
//175: Number of skill points changed!
|
|
||||||
175: Number of skill points changed!
|
175: Number of skill points changed!
|
||||||
//176: Number of zenys changed!
|
|
||||||
176: Number of zenys changed!
|
176: Number of zenys changed!
|
||||||
//177: Impossible to decrease a stat.
|
|
||||||
177: Impossible to decrease a stat.
|
177: Impossible to decrease a stat.
|
||||||
//178: Impossible to increase a stat.
|
|
||||||
178: Impossible to increase a stat.
|
178: Impossible to increase a stat.
|
||||||
//179: Guild level changed.
|
|
||||||
179: Guild level changed.
|
179: Guild level changed.
|
||||||
//180: The monter/egg name/id doesn't exist.
|
|
||||||
180: The monter/egg name/id doesn't exist.
|
180: The monter/egg name/id doesn't exist.
|
||||||
//181: You already have a pet.
|
|
||||||
181: You already have a pet.
|
181: You already have a pet.
|
||||||
//182: Pet friendly value changed!
|
|
||||||
182: Pet friendly value changed!
|
182: Pet friendly value changed!
|
||||||
//183: Pet friendly is already the good value.
|
|
||||||
183: Pet friendly is already the good value.
|
183: Pet friendly is already the good value.
|
||||||
//184: Sorry, but you have no pet.
|
|
||||||
184: Sorry, but you have no pet.
|
184: Sorry, but you have no pet.
|
||||||
//185: Pet hungry value changed!
|
|
||||||
185: Pet hungry value changed!
|
185: Pet hungry value changed!
|
||||||
//186: Pet hungry is already the good value.
|
|
||||||
186: Pet hungry is already the good value.
|
186: Pet hungry is already the good value.
|
||||||
//187: You can now rename your pet.
|
|
||||||
187: You can now rename your pet.
|
187: You can now rename your pet.
|
||||||
//188: You can already rename your pet.
|
|
||||||
188: You can already rename your pet.
|
188: You can already rename your pet.
|
||||||
//189: This player can now rename his/her pet.
|
|
||||||
189: This player can now rename his/her pet.
|
189: This player can now rename his/her pet.
|
||||||
//190: This player can already rename his/her pet.
|
|
||||||
190: This player can already rename his/her pet.
|
190: This player can already rename his/her pet.
|
||||||
//191: Sorry, but this player has no pet.
|
|
||||||
191: Sorry, but this player has no pet.
|
191: Sorry, but this player has no pet.
|
||||||
//192: Impossible to change the character's job.
|
|
||||||
192: Impossible to change the character's job.
|
192: Impossible to change the character's job.
|
||||||
//193: Character's base level can't go any lower.
|
|
||||||
193: Character's base level can't go any lower.
|
193: Character's base level can't go any lower.
|
||||||
//194: Character's job level can't go any lower.
|
|
||||||
194: Character's job level can't go any lower.
|
194: Character's job level can't go any lower.
|
||||||
//195: All players have been kicked!
|
|
||||||
195: All players have been kicked!
|
195: All players have been kicked!
|
||||||
//196: You already have this quest skill.
|
|
||||||
196: You already have this quest skill.
|
196: You already have this quest skill.
|
||||||
//197: This skill number doesn't exist or isn't a quest skill.
|
|
||||||
197: This skill number doesn't exist or isn't a quest skill.
|
197: This skill number doesn't exist or isn't a quest skill.
|
||||||
//198: This skill number doesn't exist.
|
|
||||||
198: This skill number doesn't exist.
|
198: This skill number doesn't exist.
|
||||||
//199: This player has learned the skill.
|
|
||||||
199: This player has learned the skill.
|
199: This player has learned the skill.
|
||||||
//200: This player already has this quest skill.
|
|
||||||
200: This player already has this quest skill.
|
200: This player already has this quest skill.
|
||||||
//201: You don't have this quest skill.
|
|
||||||
201: You don't have this quest skill.
|
201: You don't have this quest skill.
|
||||||
//202: This player has forgotten the skill.
|
|
||||||
202: This player has forgotten the skill.
|
202: This player has forgotten the skill.
|
||||||
//203: This player doesn't have this quest skill.
|
|
||||||
203: This player doesn't have this quest skill.
|
203: This player doesn't have this quest skill.
|
||||||
//204: WARNING: more than 1000 spiritballs can CRASH your server and/or client!
|
|
||||||
204: WARNING: more than 1000 spiritballs can CRASH your server and/or client!
|
204: WARNING: more than 1000 spiritballs can CRASH your server and/or client!
|
||||||
//205: You already have this number of spiritballs.
|
|
||||||
205: You already have this number of spiritballs.
|
205: You already have this number of spiritballs.
|
||||||
//206: '%s' skill points reseted!
|
|
||||||
206: '%s' skill points reseted!
|
206: '%s' skill points reseted!
|
||||||
//207: '%s' stats points reseted!
|
|
||||||
207: '%s' stats points reseted!
|
207: '%s' stats points reseted!
|
||||||
//208: '%s' skill and stats points reseted!
|
|
||||||
208: '%s' skill and stats points reseted!
|
208: '%s' skill and stats points reseted!
|
||||||
//209: Character's number of skill points changed!
|
|
||||||
209: Character's number of skill points changed!
|
209: Character's number of skill points changed!
|
||||||
//210: Character's number of status points changed!
|
|
||||||
210: Character's number of status points changed!
|
210: Character's number of status points changed!
|
||||||
//211: Character's number of zenys changed!
|
|
||||||
211: Character's number of zenys changed!
|
211: Character's number of zenys changed!
|
||||||
//212: Cannot mount a Peco while in disguise.
|
|
||||||
212: Cannot mount a Peco while in disguise.
|
212: Cannot mount a Peco while in disguise.
|
||||||
//213: You can not mount a peco with your job.
|
|
||||||
213: You can not mount a peco with your job.
|
213: You can not mount a peco with your job.
|
||||||
//214: Unmounted Peco.
|
|
||||||
214: Unmounted Peco.
|
214: Unmounted Peco.
|
||||||
//215: This player cannot mount a Peco while in disguise.
|
|
||||||
215: This player cannot mount a Peco while in disguise.
|
215: This player cannot mount a Peco while in disguise.
|
||||||
//216: Now, this player mounts a peco.
|
|
||||||
216: Now, this player mounts a peco.
|
216: Now, this player mounts a peco.
|
||||||
//217: This player can not mount a peco with his/her job.
|
|
||||||
217: This player can not mount a peco with his/her job.
|
217: This player can not mount a peco with his/her job.
|
||||||
//218: Now, this player has not more peco.
|
|
||||||
218: Now, this player has not more peco.
|
218: Now, this player has not more peco.
|
||||||
//219: %d day
|
|
||||||
219: %d day
|
219: %d day
|
||||||
//220: %d days
|
|
||||||
220: %d days
|
220: %d days
|
||||||
//221: %s %d hour
|
|
||||||
221: %s %d hour
|
221: %s %d hour
|
||||||
//222: %s %d hours
|
|
||||||
222: %s %d hours
|
222: %s %d hours
|
||||||
//223: %s %d minute
|
|
||||||
223: %s %d minute
|
223: %s %d minute
|
||||||
//224: %s %d minutes
|
|
||||||
224: %s %d minutes
|
224: %s %d minutes
|
||||||
//225: %s and %d second
|
|
||||||
225: %s and %d second
|
225: %s and %d second
|
||||||
//226: %s and %d seconds
|
|
||||||
226: %s and %d seconds
|
226: %s and %d seconds
|
||||||
//227: Cannot wear disguise while riding a Peco.
|
|
||||||
227: Cannot wear disguise while riding a Peco.
|
227: Cannot wear disguise while riding a Peco.
|
||||||
//228: Character cannot wear disguise while riding a Peco.
|
|
||||||
228: Character cannot wear disguise while riding a Peco.
|
228: Character cannot wear disguise while riding a Peco.
|
||||||
//229: Your Effect Has Changed.
|
|
||||||
229: Your Effect Has Changed.
|
229: Your Effect Has Changed.
|
||||||
//230: Server time (normal time): %A, %B %d %Y %X.
|
|
||||||
230: Server time (normal time): %A, %B %d %Y %X.
|
230: Server time (normal time): %A, %B %d %Y %X.
|
||||||
//231: Game time: The game is in permanent daylight.
|
|
||||||
231: Game time: The game is in permanent daylight.
|
231: Game time: The game is in permanent daylight.
|
||||||
//232: Game time: The game is in permanent night.
|
|
||||||
232: Game time: The game is in permanent night.
|
232: Game time: The game is in permanent night.
|
||||||
//233: Game time: The game is actualy in night for %s.
|
|
||||||
233: Game time: The game is actualy in night for %s.
|
233: Game time: The game is actualy in night for %s.
|
||||||
//234: Game time: After, the game will be in permanent daylight.
|
|
||||||
234: Game time: After, the game will be in permanent daylight.
|
234: Game time: After, the game will be in permanent daylight.
|
||||||
//235: Game time: The game is actualy in daylight for %s.
|
|
||||||
235: Game time: The game is actualy in daylight for %s.
|
235: Game time: The game is actualy in daylight for %s.
|
||||||
//236: Game time: After, the game will be in permanent night.
|
|
||||||
236: Game time: After, the game will be in permanent night.
|
236: Game time: After, the game will be in permanent night.
|
||||||
//237: Game time: After, the game will be in night for %s.
|
|
||||||
237: Game time: After, the game will be in night for %s.
|
237: Game time: After, the game will be in night for %s.
|
||||||
//238: Game time: A day cycle has a normal duration of %s.
|
|
||||||
238: Game time: A day cycle has a normal duration of %s.
|
238: Game time: A day cycle has a normal duration of %s.
|
||||||
//239: Game time: After, the game will be in daylight for %s.
|
|
||||||
239: Game time: After, the game will be in daylight for %s.
|
239: Game time: After, the game will be in daylight for %s.
|
||||||
//240: %d monster(s) summoned!
|
|
||||||
240: %d monster(s) summoned!
|
240: %d monster(s) summoned!
|
||||||
241: you be a killa..
|
241: you be a killa..
|
||||||
242: you gonna be own3d..
|
242: you gonna be own3d..
|
||||||
@ -502,11 +261,7 @@
|
|||||||
// Messages of others (not for GM commands)
|
// Messages of others (not for GM commands)
|
||||||
// ----------------------------------------
|
// ----------------------------------------
|
||||||
|
|
||||||
//500: Actually, it's the night...
|
|
||||||
500: Actually, it's the night...
|
500: Actually, it's the night...
|
||||||
//501: Your account time limit is: %d-%m-%Y %H:%M:%S.
|
|
||||||
501: Your account time limit is: %d-%m-%Y %H:%M:%S.
|
501: Your account time limit is: %d-%m-%Y %H:%M:%S.
|
||||||
//502: The day has arrived!
|
|
||||||
502: The day has arrived!
|
502: The day has arrived!
|
||||||
//503: The night has fallen...
|
503: The night has fallen...
|
||||||
503: The night has fallen...
|
|
552
doc/miscnotes.txt
Normal file
552
doc/miscnotes.txt
Normal file
@ -0,0 +1,552 @@
|
|||||||
|
// ****************************************************
|
||||||
|
// * Miscellaneous Notes (Added by MC Cameri) *
|
||||||
|
// ****************************************************
|
||||||
|
|
||||||
|
// *****************************************************************
|
||||||
|
// * Emotions that will be shown if 'int type' is one of the case. *
|
||||||
|
// *****************************************************************
|
||||||
|
void clif_emotion(struct block_list *bl,int type);
|
||||||
|
case for 'int type':
|
||||||
|
0 = ! 10 = KO (Scissor) 20 = Hmmm 30 = Kiss 1 (R) 40 = Tsk tsk tsk (No)
|
||||||
|
1 = ? 11 = Fist (Stone) 21 = Number 1! 31 = Kiss 2 (L) 41 = Petting
|
||||||
|
2 = Music 12 = Hand (Paper) 22 = No (??) 32 = Smoking 42 = SP! (Timer)
|
||||||
|
3 = Heart 1 13 = Korean Flag 23 = OMG!! 33 = Okay 43 = Obsessed 2 (Dumb face, eyes popping)
|
||||||
|
4 = Sweat 14 = Heart 2 24 = O 34 = ... (Bugged) 44 = Come (Moving finger)
|
||||||
|
5 = Light bulb 15 = Thanks 25 = X 35 = ??? Flag 45 = Yawn (Sleepy)
|
||||||
|
6 = Annoyed 16 = Wah (Crying) 26 = Help! 36 = Evil 2 46 = Congratulations
|
||||||
|
7 = Smoke cloud 17 = Sorry 27 = Go! 37 = Obsessed 1 47 = HP! (Timer)
|
||||||
|
8 = $ 18 = Heh (Laughing) 28 = Sobbing 38 = Two Hearts
|
||||||
|
9 = ... 19 = Sweating 29 = Evil 1 39 = Tongue
|
||||||
|
|
||||||
|
// ********************************
|
||||||
|
// * Elemental Defense Resistance *
|
||||||
|
// ********************************
|
||||||
|
sd->subele[0] - Neutral Property
|
||||||
|
sd->subele[1] - Water Property
|
||||||
|
sd->subele[2] - Earth Property
|
||||||
|
sd->subele[3] - Fire Property
|
||||||
|
sd->subele[4] - Wind Property
|
||||||
|
sd->subele[5] - Poison Property
|
||||||
|
sd->subele[6] - Holy Property
|
||||||
|
sd->subele[7] - Shadow Property
|
||||||
|
sd->subele[8] - Ghost Property
|
||||||
|
sd->subele[9] - Undead Property
|
||||||
|
|
||||||
|
// ***************************************
|
||||||
|
// * Elemental Monster Attack Resistance *
|
||||||
|
// ***************************************
|
||||||
|
|
||||||
|
sd->subrace[0] - Neutral Type
|
||||||
|
sd->subrace[1] - Undead Type
|
||||||
|
sd->subrace[2] - Brute Type
|
||||||
|
sd->subrace[3] - Plant Type
|
||||||
|
sd->subrace[4] - Insect Type
|
||||||
|
sd->subrace[5] - Fish Type
|
||||||
|
sd->subrace[6] - Demon Type
|
||||||
|
sd->subrace[7] - Demi-Human Type
|
||||||
|
sd->subrace[8] - Angel Type
|
||||||
|
sd->subrace[9] - Dragon Type
|
||||||
|
sd->subrace[10] - Boss Type #1?
|
||||||
|
sd->subrace[11] - Boss Type #2?
|
||||||
|
|
||||||
|
// **************
|
||||||
|
// * Misc stuff *
|
||||||
|
// **************
|
||||||
|
|
||||||
|
WFIFOL(fd,2)=1; - Sever Closed
|
||||||
|
|
||||||
|
// *******************
|
||||||
|
// * Skills List *
|
||||||
|
// *******************
|
||||||
|
// * ID = Skill Name *
|
||||||
|
// *******************
|
||||||
|
ID Skill Name
|
||||||
|
1 = NV_BASIC
|
||||||
|
2 = SM_SWORD
|
||||||
|
3 = SM_TWOHAND
|
||||||
|
4 = SM_RECOVERY
|
||||||
|
5 = SM_BASH
|
||||||
|
6 = SM_PROVOKE
|
||||||
|
7 = SM_MAGNUM
|
||||||
|
8 = SM_ENDURE
|
||||||
|
9 = MG_SRECOVERY
|
||||||
|
10 = MG_SIGHT
|
||||||
|
11 = MG_NAPALMBEAT
|
||||||
|
12 = MG_SAFETYWALL
|
||||||
|
13 = MG_SOULSTRIKE
|
||||||
|
14 = MG_COLDBOLT
|
||||||
|
15 = MG_FROSTDIVER
|
||||||
|
16 = MG_STONECURSE
|
||||||
|
17 = MG_FIREBALL
|
||||||
|
18 = MG_FIREWALL
|
||||||
|
19 = MG_FIREBOLT
|
||||||
|
20 = MG_LIGHTNINGBOLT
|
||||||
|
21 = MG_THUNDERSTORM
|
||||||
|
22 = AL_DP
|
||||||
|
23 = AL_DEMONBANE
|
||||||
|
24 = AL_RUWACH
|
||||||
|
25 = AL_PNEUMA
|
||||||
|
26 = AL_TELEPORT
|
||||||
|
27 = AL_WARP
|
||||||
|
28 = AL_HEAL
|
||||||
|
29 = AL_INCAGI
|
||||||
|
30 = AL_DECAGI
|
||||||
|
31 = AL_HOLYWATER
|
||||||
|
32 = AL_CRUCIS
|
||||||
|
33 = AL_ANGELUS
|
||||||
|
34 = AL_BLESSING
|
||||||
|
35 = AL_CURE
|
||||||
|
36 = MC_INCCARRY
|
||||||
|
37 = MC_DISCOUNT
|
||||||
|
38 = MC_OVERCHARGE
|
||||||
|
39 = MC_PUSHCART
|
||||||
|
40 = MC_IDENTIFY
|
||||||
|
41 = MC_VENDING
|
||||||
|
42 = MC_MAMMONITE
|
||||||
|
43 = AC_OWL
|
||||||
|
44 = AC_VULTURE
|
||||||
|
45 = AC_CONCENTRATION
|
||||||
|
46 = AC_DOUBLE
|
||||||
|
47 = AC_SHOWER
|
||||||
|
48 = TF_DOUBLE
|
||||||
|
49 = TF_MISS
|
||||||
|
50 = TF_STEAL
|
||||||
|
51 = TF_HIDING
|
||||||
|
52 = TF_POISON
|
||||||
|
53 = TF_DETOXIFY
|
||||||
|
54 = ALL_RESURRECTION
|
||||||
|
55 = KN_SPEARMASTERY
|
||||||
|
56 = KN_PIERCE
|
||||||
|
57 = KN_BRANDISHSPEAR
|
||||||
|
58 = KN_SPEARSTAB
|
||||||
|
59 = KN_SPEARBOOMERANG
|
||||||
|
60 = KN_TWOHANDQUICKEN
|
||||||
|
61 = KN_AUTOCOUNTER
|
||||||
|
62 = KN_BOWLINGBASH
|
||||||
|
63 = KN_RIDING
|
||||||
|
64 = KN_CAVALIERMASTERY
|
||||||
|
65 = PR_MACEMASTERY
|
||||||
|
66 = PR_IMPOSITIO
|
||||||
|
67 = PR_SUFFRAGIUM
|
||||||
|
68 = PR_ASPERSIO
|
||||||
|
69 = PR_BENEDICTIO
|
||||||
|
70 = PR_SANCTUARY
|
||||||
|
71 = PR_SLOWPOISON
|
||||||
|
72 = PR_STRECOVERY
|
||||||
|
73 = PR_KYRIE
|
||||||
|
74 = PR_MAGNIFICAT
|
||||||
|
75 = PR_GLORIA
|
||||||
|
76 = PR_LEXDIVINA
|
||||||
|
77 = PR_TURNUNDEAD
|
||||||
|
78 = PR_LEXAETERNA
|
||||||
|
79 = PR_MAGNUS
|
||||||
|
80 = WZ_FIREPILLAR
|
||||||
|
81 = WZ_SIGHTRASHER
|
||||||
|
83 = WZ_METEOR
|
||||||
|
84 = WZ_JUPITEL
|
||||||
|
85 = WZ_VERMILION
|
||||||
|
86 = WZ_WATERBALL
|
||||||
|
87 = WZ_ICEWALL
|
||||||
|
88 = WZ_FROSTNOVA
|
||||||
|
89 = WZ_STORMGUST
|
||||||
|
90 = WZ_EARTHSPIKE
|
||||||
|
91 = WZ_HEAVENDRIVE
|
||||||
|
92 = WZ_QUAGMIRE
|
||||||
|
93 = WZ_ESTIMATION
|
||||||
|
94 = BS_IRON
|
||||||
|
95 = BS_STEEL
|
||||||
|
96 = BS_ENCHANTEDSTONE
|
||||||
|
97 = BS_ORIDEOCON
|
||||||
|
98 = BS_DAGGER
|
||||||
|
99 = BS_SWORD
|
||||||
|
100 = BS_TWOHANDSWORD
|
||||||
|
101 = BS_AXE
|
||||||
|
102 = BS_MACE
|
||||||
|
103 = BS_KNUCKLE
|
||||||
|
104 = BS_SPEAR
|
||||||
|
105 = BS_HILTBINDING
|
||||||
|
106 = BS_FINDINGORE
|
||||||
|
107 = BS_WEAPONRESEARCH
|
||||||
|
108 = BS_REPAIRWEAPON
|
||||||
|
109 = BS_SKINTEMPER
|
||||||
|
110 = BS_HAMMERFALL
|
||||||
|
111 = BS_ADRENALINE
|
||||||
|
112 = BS_WEAPONPERFECT
|
||||||
|
113 = BS_OVERTHRUST
|
||||||
|
114 = BS_MAXIMIZE
|
||||||
|
115 = HT_SKIDTRAP
|
||||||
|
116 = HT_LANDMINE
|
||||||
|
117 = HT_ANKLESNARE
|
||||||
|
118 = HT_SHOCKWAVE
|
||||||
|
119 = HT_SANDMAN
|
||||||
|
120 = HT_FLASHER
|
||||||
|
121 = HT_FREEZINGTRAP
|
||||||
|
122 = HT_BLASTMINE
|
||||||
|
123 = HT_CLAYMORETRAP
|
||||||
|
124 = HT_REMOVETRAP
|
||||||
|
125 = HT_TALKIEBOX
|
||||||
|
126 = HT_BEASTBANE
|
||||||
|
127 = HT_FALCON
|
||||||
|
128 = HT_STEELCROW
|
||||||
|
129 = HT_BLITZBEAT
|
||||||
|
130 = HT_DETECTING
|
||||||
|
131 = HT_SPRINGTRAP
|
||||||
|
132 = AS_RIGHT
|
||||||
|
133 = AS_LEFT
|
||||||
|
134 = AS_KATAR
|
||||||
|
135 = AS_CLOAKING
|
||||||
|
136 = AS_SONICBLOW
|
||||||
|
137 = AS_GRIMTOOTH
|
||||||
|
138 = AS_ENCHANTPOISON
|
||||||
|
139 = AS_POISONREACT
|
||||||
|
140 = AS_VENOMDUST
|
||||||
|
141 = AS_SPLASHER
|
||||||
|
142 = NV_FIRSTAID
|
||||||
|
143 = NV_TRICKDEAD
|
||||||
|
144 = SM_MOVINGRECOVERY
|
||||||
|
145 = SM_FATALBLOW
|
||||||
|
146 = SM_AUTOBERSERK
|
||||||
|
147 = AC_MAKINGARROW
|
||||||
|
148 = AC_CHARGEARROW
|
||||||
|
149 = TF_SPRINKLESAND
|
||||||
|
150 = TF_BACKSLIDING
|
||||||
|
151 = TF_PICKSTONE
|
||||||
|
152 = TF_THROWSTONE
|
||||||
|
153 = MC_CARTREVOLUTION
|
||||||
|
154 = MC_CHANGECART
|
||||||
|
155 = MC_LOUD
|
||||||
|
156 = AL_HOLYLIGHT
|
||||||
|
157 = MG_ENERGYCOAT
|
||||||
|
158 = NPC_PIERCINGATT
|
||||||
|
159 = NPC_MENTALBREAKER
|
||||||
|
160 = NPC_RANGEATTACK
|
||||||
|
161 = NPC_ATTRICHANGE
|
||||||
|
162 = NPC_CHANGEWATER
|
||||||
|
163 = NPC_CHANGEGROUND
|
||||||
|
164 = NPC_CHANGEFIRE
|
||||||
|
165 = NPC_CHANGEWIND
|
||||||
|
166 = NPC_CHANGEPOISON
|
||||||
|
167 = NPC_CHANGEHOLY
|
||||||
|
168 = NPC_CHANGEDARLNESS
|
||||||
|
169 = NPC_CHANGETELEKINESIS
|
||||||
|
170 = NPC_CRITICALSLASH
|
||||||
|
171 = NPC_COMBOATTACK
|
||||||
|
172 = NPC_GUIDEATTACK
|
||||||
|
173 = NPC_SELFDESTRUCTION
|
||||||
|
174 = NPC_SPLASHATTACK
|
||||||
|
175 = NPC_SUICIDE
|
||||||
|
176 = NPC_POISON
|
||||||
|
177 = NPC_BLINDATTACK
|
||||||
|
178 = NPC_SILENCEATTACK
|
||||||
|
179 = NPC_STUNATTACK
|
||||||
|
180 = NPC_PETRIFYATTACK
|
||||||
|
181 = NPC_CURSEATTACK
|
||||||
|
182 = NPC_SLEEPATTACK
|
||||||
|
183 = NPC_RANDOMATTACK
|
||||||
|
184 = NPC_WATERATTACK
|
||||||
|
185 = NPC_GROUNDATTACK
|
||||||
|
186 = NPC_FIREATTACK
|
||||||
|
187 = NPC_WINDATTACK
|
||||||
|
188 = NPC_POISONATTACK
|
||||||
|
189 = NPC_HOLYATTACK
|
||||||
|
190 = NPC_DARKNESSATTACK
|
||||||
|
191 = NPC_TELEKINESISATTACK
|
||||||
|
192 = NPC_MAGICALATTACK
|
||||||
|
193 = NPC_METAMORPHOSIS
|
||||||
|
194 = NPC_PROVOCATION
|
||||||
|
195 = NPC_SMOKING
|
||||||
|
196 = NPC_SUMMONSLAVE
|
||||||
|
197 = NPC_EMOTION
|
||||||
|
198 = NPC_TRANSFORMATION
|
||||||
|
199 = NPC_BLOODDRAIN
|
||||||
|
200 = NPC_ENERGYDRAIN
|
||||||
|
201 = NPC_KEEPING
|
||||||
|
202 = NPC_DARKBREATH
|
||||||
|
203 = NPC_DARKBLESSING
|
||||||
|
204 = NPC_BARRIER
|
||||||
|
205 = NPC_DEFENDER
|
||||||
|
206 = NPC_LICK
|
||||||
|
207 = NPC_HALLUCINATION
|
||||||
|
208 = NPC_REBIRTH
|
||||||
|
209 = NPC_SUMMONMONSTER
|
||||||
|
210 = RG_SNATCHER
|
||||||
|
211 = RG_STEALCOIN
|
||||||
|
212 = RG_BACKSTAP
|
||||||
|
213 = RG_TUNNELDRIVE
|
||||||
|
214 = RG_RAID
|
||||||
|
215 = RG_STRIPWEAPON
|
||||||
|
216 = RG_STRIPSHIELD
|
||||||
|
217 = RG_STRIPARMOR
|
||||||
|
218 = RG_STRIPHELM
|
||||||
|
219 = RG_INTIMIDATE
|
||||||
|
220 = RG_GRAFFITI
|
||||||
|
221 = RG_FLAGGRAFFITI
|
||||||
|
222 = RG_CLEANER
|
||||||
|
223 = RG_GANGSTER
|
||||||
|
224 = RG_COMPULSION
|
||||||
|
225 = RG_PLAGIARISM
|
||||||
|
226 = AM_AXEMASTERY
|
||||||
|
227 = AM_LEARNINGPOTION
|
||||||
|
228 = AM_PHARMACY
|
||||||
|
229 = AM_DEMONSTRATION
|
||||||
|
230 = AM_ACIDTERROR
|
||||||
|
231 = AM_POTIONPITCHER
|
||||||
|
232 = AM_CANNIBALIZE
|
||||||
|
233 = AM_SPHEREMINE
|
||||||
|
234 = AM_CP_WEAPON
|
||||||
|
235 = AM_CP_SHIELD
|
||||||
|
236 = AM_CP_ARMOR
|
||||||
|
237 = AM_CP_HELM
|
||||||
|
248 = CR_TRUST
|
||||||
|
249 = CR_AUTOGUARD
|
||||||
|
250 = CR_SHIELDCHARGE
|
||||||
|
251 = CR_SHIELDBOOMERANG
|
||||||
|
252 = CR_REFLECTSHIELD
|
||||||
|
253 = CR_HOLYCROSS
|
||||||
|
254 = CR_GRANDCROSS
|
||||||
|
255 = CR_DEVOTION
|
||||||
|
256 = CR_PROVIDENCE
|
||||||
|
257 = CR_DEFENDER
|
||||||
|
258 = CR_SPEARQUICKEN
|
||||||
|
259 = MO_IRONHAND
|
||||||
|
260 = MO_SPIRITSRECOVERY
|
||||||
|
261 = MO_CALLSPIRITS
|
||||||
|
262 = MO_ABSORBSPIRITS
|
||||||
|
263 = MO_TRIPLEATTACK
|
||||||
|
264 = MO_BODYRELOCATION
|
||||||
|
265 = MO_DODGE
|
||||||
|
266 = MO_INVESTIGATE
|
||||||
|
267 = MO_FINGEROFFENSIVE
|
||||||
|
268 = MO_STEELBODY
|
||||||
|
269 = MO_BLADESTOP
|
||||||
|
270 = MO_EXPLOSIONSPIRITS
|
||||||
|
271 = MO_EXTREMITYFIST
|
||||||
|
272 = MO_CHAINCOMBO
|
||||||
|
273 = MO_COMBOFINISH
|
||||||
|
274 = SA_ADVANCEDBOOK
|
||||||
|
275 = SA_CASTCANCEL
|
||||||
|
276 = SA_MAGICROD
|
||||||
|
277 = SA_SPELLBREAKER
|
||||||
|
278 = SA_FREECAST
|
||||||
|
279 = SA_AUTOSPELL
|
||||||
|
280 = SA_FLAMELAUNCHER
|
||||||
|
281 = SA_FROSTWEAPON
|
||||||
|
282 = SA_LIGHTNINGLOADER
|
||||||
|
283 = SA_SEISMICWEAPON
|
||||||
|
284 = SA_DRAGONOLOGY
|
||||||
|
285 = SA_VOLCANO
|
||||||
|
286 = SA_DELUGE
|
||||||
|
287 = SA_VIOLENTGALE
|
||||||
|
288 = SA_LANDPROTECTOR
|
||||||
|
289 = SA_DISPELL
|
||||||
|
290 = SA_ABRACADABRA
|
||||||
|
291 = SA_MONOCELL
|
||||||
|
292 = SA_CLASSCHANGE
|
||||||
|
293 = SA_SUMMONMONSTER
|
||||||
|
294 = SA_REVERSEORCISH
|
||||||
|
295 = SA_DEATH
|
||||||
|
296 = SA_FORTUNE
|
||||||
|
297 = SA_TAMINGMONSTER
|
||||||
|
298 = SA_QUESTION
|
||||||
|
299 = SA_GRAVITY
|
||||||
|
300 = SA_LEVELUP
|
||||||
|
301 = SA_INSTANTDEATH
|
||||||
|
302 = SA_FULLRECOVERY
|
||||||
|
303 = SA_COMA
|
||||||
|
304 = BD_ADAPTATION
|
||||||
|
305 = BD_ENCORE
|
||||||
|
306 = BD_LULLABY
|
||||||
|
307 = BD_RICHMANKIM
|
||||||
|
308 = BD_ETERNALCHAOS
|
||||||
|
309 = BD_DRUMBATTLEFIELD
|
||||||
|
310 = BD_RINGNIBELUNGEN
|
||||||
|
311 = BD_ROKISWEIL
|
||||||
|
312 = BD_INTOABYSS
|
||||||
|
313 = BD_SIEGFRIED
|
||||||
|
315 = BA_MUSICALLESSON
|
||||||
|
316 = BA_MUSICALSTRIKE
|
||||||
|
317 = BA_DISSONANCE
|
||||||
|
318 = BA_FROSTJOKE
|
||||||
|
319 = BA_WHISTLE
|
||||||
|
320 = BA_ASSASSINCROSS
|
||||||
|
321 = BA_POEMBRAGI
|
||||||
|
322 = BA_APPLEIDUN
|
||||||
|
323 = DC_DANCINGLESSON
|
||||||
|
324 = DC_THROWARROW
|
||||||
|
325 = DC_UGLYDANCE
|
||||||
|
326 = DC_SCREAM
|
||||||
|
327 = DC_HUMMING
|
||||||
|
328 = DC_DONTFORGETME
|
||||||
|
329 = DC_FORTUNEKISS
|
||||||
|
330 = DC_SERVICEFORYOU
|
||||||
|
334 = WE_MALE
|
||||||
|
335 = WE_FEMALE
|
||||||
|
336 = WE_CALLPARTNER
|
||||||
|
355 = LK_AURABLADE
|
||||||
|
356 = LK_PARRYING
|
||||||
|
357 = LK_CONCENTRATION
|
||||||
|
358 = LK_TENSIONRELAX
|
||||||
|
359 = LK_BERSERK
|
||||||
|
361 = HP_ASSUMPTIO
|
||||||
|
362 = HP_BASILICA
|
||||||
|
363 = HP_MEDITATIO
|
||||||
|
364 = HW_SOULDRAIN
|
||||||
|
365 = HW_MAGICCRASHER
|
||||||
|
366 = HW_MAGICPOWER
|
||||||
|
367 = PA_PRESSURE
|
||||||
|
368 = PA_SACRIFICE
|
||||||
|
369 = PA_GOSPEL
|
||||||
|
370 = CH_PALMSTRIKE
|
||||||
|
371 = CH_TIGERFIST
|
||||||
|
372 = CH_CHAINCRUSH
|
||||||
|
373 = PF_HPCONVERSION
|
||||||
|
374 = PF_SOULCHANGE
|
||||||
|
375 = PF_SOULBURN
|
||||||
|
376 = ASC_KATAR
|
||||||
|
377 = ASC_HALLUCINATION
|
||||||
|
378 = ASC_EDP
|
||||||
|
379 = ASC_BREAKER
|
||||||
|
380 = SN_SIGHT
|
||||||
|
381 = SN_FALCONASSAULT
|
||||||
|
382 = SN_SHARPSHOOTING
|
||||||
|
383 = SN_WINDWALK
|
||||||
|
384 = WS_MELTDOWN
|
||||||
|
385 = WS_CREATECOIN
|
||||||
|
386 = WS_CREATENUGGET
|
||||||
|
387 = WS_CARTBOOST
|
||||||
|
388 = WS_SYSTEMCREATE
|
||||||
|
389 = ST_CHASEWALK
|
||||||
|
390 = ST_REJECTSWORD
|
||||||
|
392 = CR_ALCHEMY
|
||||||
|
393 = CR_SYNTHESISPOTION
|
||||||
|
394 = CG_ARROWVULCAN
|
||||||
|
395 = CG_MOONLIT
|
||||||
|
396 = CG_MARIONETTE
|
||||||
|
397 = LK_SPIRALPIERCE
|
||||||
|
398 = LK_HEADCRUSH
|
||||||
|
399 = LK_JOINTBEAT
|
||||||
|
400 = HW_NAPALMVULCAN
|
||||||
|
401 = CH_SOULCOLLECT
|
||||||
|
402 = PF_MINDBREAKER
|
||||||
|
403 = PF_MEMORIZE
|
||||||
|
404 = PF_FOGWALL
|
||||||
|
405 = PF_SPIDERWEB
|
||||||
|
406 = ASC_METEORASSAULT
|
||||||
|
407 = ASC_CDP
|
||||||
|
408 = WE_BABY
|
||||||
|
409 = WE_CALLPARENT
|
||||||
|
410 = WE_CALLBABY
|
||||||
|
411 = TK_RUN
|
||||||
|
412 = TK_READYSTORM
|
||||||
|
413 = TK_STORMKICK
|
||||||
|
414 = TK_READYDOWN
|
||||||
|
415 = TK_DOWNKICK
|
||||||
|
416 = TK_READYTURN
|
||||||
|
417 = TK_TURNKICK
|
||||||
|
418 = TK_READYCOUNTER
|
||||||
|
419 = TK_COUNTER
|
||||||
|
420 = TK_DODGE
|
||||||
|
421 = TK_JUMPKICK
|
||||||
|
422 = TK_HPTIME
|
||||||
|
423 = TK_SPTIME
|
||||||
|
424 = TK_POWER
|
||||||
|
425 = TK_SEVENWIND
|
||||||
|
426 = TK_HIGHJUMP
|
||||||
|
427 = SG_FEEL
|
||||||
|
428 = SG_SUN_WARM
|
||||||
|
429 = SG_MOON_WARM
|
||||||
|
430 = SG_STAR_WARM
|
||||||
|
431 = SG_SUN_COMFORT
|
||||||
|
432 = SG_MOON_COMFORT
|
||||||
|
433 = SG_STAR_COMFORT
|
||||||
|
434 = SG_HATE
|
||||||
|
435 = SG_SUN_ANGER
|
||||||
|
436 = SG_MOON_ANGER
|
||||||
|
437 = SG_STAR_ANGER
|
||||||
|
438 = SG_SUN_BLESS
|
||||||
|
439 = SG_MOON_BLESS
|
||||||
|
440 = SG_STAR_BLESS
|
||||||
|
441 = SG_DEVIL
|
||||||
|
442 = SG_FRIEND
|
||||||
|
443 = SG_KNOWLEDGE
|
||||||
|
444 = SG_FUSION
|
||||||
|
445 = SL_ALCHEMIST
|
||||||
|
446 = AM_BERSERKPITCHER
|
||||||
|
447 = SL_MONK
|
||||||
|
448 = SL_STAR
|
||||||
|
449 = SL_SAGE
|
||||||
|
450 = SL_CRUSADER
|
||||||
|
451 = SL_SUPERNOVICE
|
||||||
|
452 = SL_KNIGHT
|
||||||
|
453 = SL_WIZARD
|
||||||
|
454 = SL_PRIEST
|
||||||
|
455 = SL_BARDDANCER
|
||||||
|
456 = SL_ROGUE
|
||||||
|
457 = SL_ASSASIN
|
||||||
|
458 = SL_BLACKSMITH
|
||||||
|
459 = BS_ADRENALINE2
|
||||||
|
460 = SL_HUNTER
|
||||||
|
461 = SL_SOULLINKER
|
||||||
|
462 = SL_KAIZEL
|
||||||
|
463 = SL_KAAHI
|
||||||
|
464 = SL_KAUPE
|
||||||
|
465 = SL_KAITE
|
||||||
|
466 = SL_KAINA
|
||||||
|
467 = SL_STIN
|
||||||
|
468 = SL_STUN
|
||||||
|
469 = SL_SMA
|
||||||
|
470 = SL_SWOO
|
||||||
|
471 = SL_SKE
|
||||||
|
472 = SL_SKA
|
||||||
|
10000 = GD_APPROVAL
|
||||||
|
10001 = GD_KAFRACONTRACT
|
||||||
|
10002 = GD_GUARDRESEARCH
|
||||||
|
10003 = GD_CHARISMA
|
||||||
|
10004 = GD_EXTENSION
|
||||||
|
|
||||||
|
// ************************
|
||||||
|
// * Item DB - Use Script *
|
||||||
|
// ************************
|
||||||
|
itemskill:
|
||||||
|
-Format: itemskill skill_id,skill_lvl,"name";
|
||||||
|
-Example: itemskill 28,3,"Heal"; //Healing skill
|
||||||
|
|
||||||
|
itemheal:
|
||||||
|
-Format: itemheal hp,sp;
|
||||||
|
-Example: itemheal 30,0; //+30 HP, +0 SP.
|
||||||
|
|
||||||
|
sc_start:
|
||||||
|
-Format: sc_start SC_CONSTANT,duration,value;
|
||||||
|
-Example: sc_start SC_POISON,1800,; //Starts Poison Status for 30 seconds
|
||||||
|
|
||||||
|
sc_end:
|
||||||
|
-Format: sc_end SC_CONSTANT;
|
||||||
|
-Example: sc_end SC_BLIND; //Ends Blind Status
|
||||||
|
|
||||||
|
warp:
|
||||||
|
-Format: warp "map",x,y;
|
||||||
|
-Example: warp "Random",0,0; //Fly wing
|
||||||
|
-Example: warp "SavePoint",0,0; //Butterfly wing
|
||||||
|
|
||||||
|
getitem:
|
||||||
|
-Format: getitem item_id,count;
|
||||||
|
-Example: getitem 512,2; //Gives you two Apples
|
||||||
|
|
||||||
|
produce:
|
||||||
|
-Format: produce produce_type;
|
||||||
|
-Example: produce 16; //Mini-furnace
|
||||||
|
|
||||||
|
pet:
|
||||||
|
-Format: pet pet_id;
|
||||||
|
-Example: pet 1002; //Taming item for Poring
|
||||||
|
|
||||||
|
monster:
|
||||||
|
-Example: monster "this",0,0,"--ja--",-1,1,""; //Dead branch
|
||||||
|
|
||||||
|
percentheal:
|
||||||
|
-Format: percentheal percent_hp,percent_sp;
|
||||||
|
-Example: percentheal 100,100; //Heals you 100% of both HP and SP
|
||||||
|
|
||||||
|
// **************************
|
||||||
|
// * Item DB - Equip Script *
|
||||||
|
// **************************
|
@ -14,6 +14,8 @@
|
|||||||
#define RETCODE "\n" // (LF:Unix系)
|
#define RETCODE "\n" // (LF:Unix系)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define RET RETCODE
|
||||||
|
|
||||||
#define FIFOSIZE_SERVERLINK 128*1024
|
#define FIFOSIZE_SERVERLINK 128*1024
|
||||||
|
|
||||||
// set to 0 to not check IP of player between each server.
|
// set to 0 to not check IP of player between each server.
|
||||||
|
@ -191,6 +191,46 @@ int isGM(int account_id) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
// Adds a new GM using acc id and level
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
void addGM(int account_id, int level) {
|
||||||
|
int i;
|
||||||
|
int do_add = 0;
|
||||||
|
for(i = 0; i < auth_num; i++) {
|
||||||
|
if (auth_dat[i].account_id==account_id) {
|
||||||
|
do_add = 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for(i = 0; i < GM_num; i++)
|
||||||
|
if (gm_account_db[i].account_id == account_id) {
|
||||||
|
if (gm_account_db[i].level == level)
|
||||||
|
printf("addGM: GM account %d defined twice (same level: %d).\n", account_id, level);
|
||||||
|
else {
|
||||||
|
printf("addGM: GM account %d defined twice (levels: %d and %d).\n", account_id, gm_account_db[i].level, level);
|
||||||
|
gm_account_db[i].level = level;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// if new account
|
||||||
|
if (i == GM_num && do_add) {
|
||||||
|
if (GM_num >= GM_max) {
|
||||||
|
GM_max += 256;
|
||||||
|
gm_account_db = realloc(gm_account_db, sizeof(struct gm_account) * GM_max);
|
||||||
|
memset(gm_account_db + (GM_max - 256), 0, sizeof(struct gm_account) * 256);
|
||||||
|
}
|
||||||
|
gm_account_db[GM_num].account_id = account_id;
|
||||||
|
gm_account_db[GM_num].level = level;
|
||||||
|
GM_num++;
|
||||||
|
if (GM_num >= 4000) {
|
||||||
|
printf("***WARNING: 4000 GM accounts found. Next GM accounts are not read.\n");
|
||||||
|
login_log("***WARNING: 4000 GM accounts found. Next GM accounts are not read." RETCODE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------
|
//-------------------------------------------------------
|
||||||
// Reading function of GM accounts file (and their level)
|
// Reading function of GM accounts file (and their level)
|
||||||
//-------------------------------------------------------
|
//-------------------------------------------------------
|
||||||
@ -198,8 +238,9 @@ int read_gm_account() {
|
|||||||
char line[512];
|
char line[512];
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
int account_id, level;
|
int account_id, level;
|
||||||
int i, line_counter;
|
int line_counter;
|
||||||
struct stat file_stat;
|
struct stat file_stat;
|
||||||
|
int start_range = 0, end_range = 0, is_range = 0, current_id = 0;
|
||||||
|
|
||||||
if(gm_account_db) free(gm_account_db);
|
if(gm_account_db) free(gm_account_db);
|
||||||
GM_num = 0;
|
GM_num = 0;
|
||||||
@ -227,8 +268,9 @@ int read_gm_account() {
|
|||||||
line_counter++;
|
line_counter++;
|
||||||
if ((line[0] == '/' && line[1] == '/') || line[0] == '\0' || line[0] == '\n' || line[0] == '\r')
|
if ((line[0] == '/' && line[1] == '/') || line[0] == '\0' || line[0] == '\n' || line[0] == '\r')
|
||||||
continue;
|
continue;
|
||||||
if (sscanf(line, "%d %d", &account_id, &level) != 2 && sscanf(line, "%d: %d", &account_id, &level) != 2)
|
is_range = (sscanf(line, "%d%*[-~]%d %d",&start_range,&end_range,&level)==3); // ID Range [MC Cameri]
|
||||||
printf("read_gm_account: file [%s], invalid 'id_acount level' format (line #%d).\n", GM_account_filename, line_counter);
|
if (!is_range && sscanf(line, "%d %d", &account_id, &level) != 2 && sscanf(line, "%d: %d", &account_id, &level) != 2)
|
||||||
|
printf("read_gm_account: file [%s], invalid 'acount_id|range level' format (line #%d).\n", GM_account_filename, line_counter);
|
||||||
else if (level <= 0)
|
else if (level <= 0)
|
||||||
printf("read_gm_account: file [%s] %dth account (line #%d) (invalid level [0 or negative]: %d).\n", GM_account_filename, GM_num+1, line_counter, level);
|
printf("read_gm_account: file [%s] %dth account (line #%d) (invalid level [0 or negative]: %d).\n", GM_account_filename, GM_num+1, line_counter, level);
|
||||||
else {
|
else {
|
||||||
@ -236,37 +278,23 @@ int read_gm_account() {
|
|||||||
printf("read_gm_account: file [%s] %dth account (invalid level, but corrected: %d->99).\n", GM_account_filename, GM_num+1, level);
|
printf("read_gm_account: file [%s] %dth account (invalid level, but corrected: %d->99).\n", GM_account_filename, GM_num+1, level);
|
||||||
level = 99;
|
level = 99;
|
||||||
}
|
}
|
||||||
for(i = 0; i < GM_num; i++)
|
if (is_range) {
|
||||||
if (gm_account_db[i].account_id == account_id) {
|
if (start_range==end_range)
|
||||||
if (gm_account_db[i].level == level)
|
printf("read_gm_account: file [%s] invalid range, beginning of range is equal to end of range (line #%d).\n", GM_account_filename, line_counter);
|
||||||
printf("read_gm_account: GM account %d defined twice (same level: %d).\n", account_id, level);
|
else if (start_range>end_range)
|
||||||
else {
|
printf("read_gm_account: file [%s] invalid range, beginning of range must be lower than end of range (line #%d).\n", GM_account_filename, line_counter);
|
||||||
printf("read_gm_account: GM account %d defined twice (levels: %d and %d).\n", account_id, gm_account_db[i].level, level);
|
else
|
||||||
gm_account_db[i].level = level;
|
for (current_id = start_range;current_id<=end_range;current_id++)
|
||||||
}
|
addGM(current_id,level);
|
||||||
break;
|
} else {
|
||||||
}
|
addGM(account_id,level);
|
||||||
// if new account
|
|
||||||
if (i == GM_num) {
|
|
||||||
if (GM_num >= GM_max) {
|
|
||||||
GM_max += 256;
|
|
||||||
gm_account_db = realloc(gm_account_db, sizeof(struct gm_account) * GM_max);
|
|
||||||
memset(gm_account_db + (GM_max - 256), 0, sizeof(struct gm_account) * 256);
|
|
||||||
}
|
|
||||||
gm_account_db[GM_num].account_id = account_id;
|
|
||||||
gm_account_db[GM_num].level = level;
|
|
||||||
GM_num++;
|
|
||||||
if (GM_num >= 4000) {
|
|
||||||
printf("***WARNING: 4000 GM accounts found. Next GM accounts are not readed.\n");
|
|
||||||
login_log("***WARNING: 4000 GM accounts found. Next GM accounts are not readed." RETCODE);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
|
|
||||||
printf("read_gm_account: file '%s' readed (%d GM accounts found).\n", GM_account_filename, GM_num);
|
printf("read_gm_account: file '%s' read (%d GM accounts found).\n", GM_account_filename, GM_num);
|
||||||
login_log("read_gm_account: file '%s' readed (%d GM accounts found)." RETCODE, GM_account_filename, GM_num);
|
login_log("read_gm_account: file '%s' read (%d GM accounts found)." RETCODE, GM_account_filename, GM_num);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -447,6 +475,7 @@ int search_account_index(char* account_name) {
|
|||||||
|
|
||||||
quantity = 0;
|
quantity = 0;
|
||||||
index = -1;
|
index = -1;
|
||||||
|
|
||||||
for(i = 0; i < auth_num; i++) {
|
for(i = 0; i < auth_num; i++) {
|
||||||
// Without case sensitive check (increase the number of similar account names found)
|
// Without case sensitive check (increase the number of similar account names found)
|
||||||
if (stricmp(auth_dat[i].userid, account_name) == 0) {
|
if (stricmp(auth_dat[i].userid, account_name) == 0) {
|
||||||
@ -3872,8 +3901,8 @@ int do_init(int argc, char **argv) {
|
|||||||
gm_account_db = NULL;
|
gm_account_db = NULL;
|
||||||
GM_num = 0;
|
GM_num = 0;
|
||||||
GM_max = 0;
|
GM_max = 0;
|
||||||
read_gm_account();
|
|
||||||
mmo_auth_init();
|
mmo_auth_init();
|
||||||
|
read_gm_account();
|
||||||
// set_termfunc(mmo_auth_sync);
|
// set_termfunc(mmo_auth_sync);
|
||||||
set_defaultparse(parse_login);
|
set_defaultparse(parse_login);
|
||||||
login_fd = make_listen_port(login_port);
|
login_fd = make_listen_port(login_port);
|
||||||
|
@ -220,6 +220,7 @@ ATCOMMAND_FUNC(refresh); // by MC Cameri
|
|||||||
ATCOMMAND_FUNC(petid); // by MC Cameri
|
ATCOMMAND_FUNC(petid); // by MC Cameri
|
||||||
ATCOMMAND_FUNC(identify); // by MC Cameri
|
ATCOMMAND_FUNC(identify); // by MC Cameri
|
||||||
ATCOMMAND_FUNC(gmotd); // Added by MC Cameri, created by davidsiaw
|
ATCOMMAND_FUNC(gmotd); // Added by MC Cameri, created by davidsiaw
|
||||||
|
ATCOMMAND_FUNC(misceffect); // by MC Cameri
|
||||||
|
|
||||||
#ifndef TXT_ONLY
|
#ifndef TXT_ONLY
|
||||||
ATCOMMAND_FUNC(checkmail); // [Valaris]
|
ATCOMMAND_FUNC(checkmail); // [Valaris]
|
||||||
@ -475,6 +476,7 @@ static AtCommandInfo atcommand_info[] = {
|
|||||||
{ AtCommand_PetId, "@petid", 40, atcommand_petid }, // by MC Cameri
|
{ AtCommand_PetId, "@petid", 40, atcommand_petid }, // by MC Cameri
|
||||||
{ AtCommand_Identify, "@identify", 40, atcommand_identify }, // by MC Cameri
|
{ AtCommand_Identify, "@identify", 40, atcommand_identify }, // by MC Cameri
|
||||||
{ AtCommand_Gmotd, "@gmotd", 0, atcommand_gmotd }, // Added by MC Cameri, created by davidsiaw
|
{ AtCommand_Gmotd, "@gmotd", 0, atcommand_gmotd }, // Added by MC Cameri, created by davidsiaw
|
||||||
|
{ AtCommand_MiscEffect, "@misceffect", 50, atcommand_misceffect }, // by MC Cameri
|
||||||
|
|
||||||
#ifndef TXT_ONLY // sql-only commands
|
#ifndef TXT_ONLY // sql-only commands
|
||||||
{ AtCommand_CheckMail, "@checkmail", 1, atcommand_listmail }, // [Valaris]
|
{ AtCommand_CheckMail, "@checkmail", 1, atcommand_listmail }, // [Valaris]
|
||||||
@ -7914,6 +7916,21 @@ atcommand_gmotd(
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int atcommand_misceffect(
|
||||||
|
const int fd, struct map_session_data* sd,
|
||||||
|
const char* command, const char* message)
|
||||||
|
{
|
||||||
|
int effect = 0;
|
||||||
|
nullpo_retr(-1, sd);
|
||||||
|
if (!message || !*message)
|
||||||
|
return -1;
|
||||||
|
if (sscanf(message, "%d", &effect) < 1)
|
||||||
|
return -1;
|
||||||
|
clif_misceffect(&sd->bl,effect);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
#ifndef TXT_ONLY /* Begin SQL-Only commands */
|
#ifndef TXT_ONLY /* Begin SQL-Only commands */
|
||||||
|
|
||||||
/*==========================================
|
/*==========================================
|
||||||
|
@ -200,6 +200,7 @@ enum AtCommandType {
|
|||||||
AtCommand_PetId, // by MC Cameri
|
AtCommand_PetId, // by MC Cameri
|
||||||
AtCommand_Identify, // by MC Cameri
|
AtCommand_Identify, // by MC Cameri
|
||||||
AtCommand_Gmotd, // Added by MC Cameri, created by davidsiaw
|
AtCommand_Gmotd, // Added by MC Cameri, created by davidsiaw
|
||||||
|
AtCommand_MiscEffect, // by MC Cameri
|
||||||
|
|
||||||
// SQL-only commands start
|
// SQL-only commands start
|
||||||
#ifndef TXT_ONLY
|
#ifndef TXT_ONLY
|
||||||
|
@ -408,6 +408,7 @@ int charcommand_petfriendly(
|
|||||||
t = pl_sd->pet.intimate;
|
t = pl_sd->pet.intimate;
|
||||||
pl_sd->pet.intimate = friendly;
|
pl_sd->pet.intimate = friendly;
|
||||||
clif_send_petstatus(pl_sd);
|
clif_send_petstatus(pl_sd);
|
||||||
|
clif_pet_emotion(pl_sd->pd,0);
|
||||||
if (battle_config.pet_status_support) {
|
if (battle_config.pet_status_support) {
|
||||||
if ((pl_sd->pet.intimate > 0 && t <= 0) ||
|
if ((pl_sd->pet.intimate > 0 && t <= 0) ||
|
||||||
(pl_sd->pet.intimate <= 0 && t > 0)) {
|
(pl_sd->pet.intimate <= 0 && t > 0)) {
|
||||||
|
@ -2916,12 +2916,13 @@ int buildin_getequipisenableref(struct script_state *st)
|
|||||||
num=conv_num(st,& (st->stack->stack_data[st->start+2]));
|
num=conv_num(st,& (st->stack->stack_data[st->start+2]));
|
||||||
sd=script_rid2sd(st);
|
sd=script_rid2sd(st);
|
||||||
i=pc_checkequip(sd,equip[num-1]);
|
i=pc_checkequip(sd,equip[num-1]);
|
||||||
if(i >= 0 && num<7 && sd->inventory_data[i] && (num!=1 || sd->inventory_data[i]->def > 1
|
if(i >= 0 && num<7 && sd->inventory_data[i] && (num!=1
|
||||||
|
|| sd->inventory_data[i]->def > 1
|
||||||
|| (sd->inventory_data[i]->def==1 && sd->inventory_data[i]->equip_script==NULL)
|
|| (sd->inventory_data[i]->def==1 && sd->inventory_data[i]->equip_script==NULL)
|
||||||
|| (sd->inventory_data[i]->def<=0 && sd->inventory_data[i]->equip_script!=NULL))
|
|| (sd->inventory_data[i]->def<=0 && sd->inventory_data[i]->equip_script!=NULL)))
|
||||||
){
|
{
|
||||||
push_val(st->stack,C_INT,1);
|
push_val(st->stack,C_INT,1);
|
||||||
}else{
|
} else {
|
||||||
push_val(st->stack,C_INT,0);
|
push_val(st->stack,C_INT,0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user