* Added documentation for mapflags - thanks to Lighta for the idea and assistance.
* Reformatted permissions documentation. * Corrected some mistakes in script_commands.txt - a huge thanks to JaBote for finding them! (Hercules d0c5018) * Re-added mob_boss entries deleted in r17330. * Code by Lighta: -- Added hook for 0x44A and 0x447 (unfinished). -- Added timestr for DumpUnknow packet and moved to proper function for visibility. -- Fixed VCC compile error with r17333. git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17334 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
02ddefb9d5
commit
99de377882
@ -1,4 +1,4 @@
|
||||
/* Channel system configuration file */
|
||||
// Channel System Configuration File
|
||||
|
||||
chsys: (
|
||||
{
|
||||
|
@ -9,8 +9,9 @@
|
||||
//===== Description: =========================================
|
||||
//= Players can attack other guilds, and will have their guild
|
||||
//= icons shown. WoE damage reductions will also take place.
|
||||
//= gvg: Turns on GvG mode
|
||||
//= gvg: Turns on GvG mode.
|
||||
//= gvg_castle: Describes castle maps for WoE.
|
||||
//= gvg_dungeon: Describes dungeon maps for WoE.
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.1 - Added Novice Guild Castles.
|
||||
//= 1.2 - Updated with new meanings of gvg and gvg_castle.
|
||||
|
@ -7,7 +7,12 @@
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= Disables use of @go to a map.
|
||||
//= Disables warping from a map.
|
||||
//= Script commands 'warpparty' and 'warpguild' will not warp
|
||||
//= players.
|
||||
//= Atcommands @warp, @go, @load, @jump, @partyrecall,
|
||||
//= @guildrecall, and @recallall will not warp players.
|
||||
//= GD_EMERGENCYCALL and UNT_CALLFAMILY will not warp players.
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.3 - Added WoE SE maps.
|
||||
//============================================================
|
||||
|
@ -7,7 +7,10 @@
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= Disables use of @warp to a map.
|
||||
//= Disables warping to a map.
|
||||
//= Atcommands @warp, @go, @load, @jump, @partyrecall,
|
||||
//= @guildrecall, and @recallall are disabled.
|
||||
//= Command /memo is disabled.
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.0 - Initial script.
|
||||
//============================================================
|
||||
|
@ -368,7 +368,7 @@ mf_monster_noteleport 49
|
||||
mf_pvp_nocalcrank 50
|
||||
mf_battleground 51
|
||||
mf_reset 52
|
||||
mf_channoautojoin 53
|
||||
mf_nomapchannelautojoin 53
|
||||
mf_nousecart 54
|
||||
mf_noitemconsumption 55
|
||||
mf_sumstartmiracle 56
|
||||
|
@ -1802,17 +1802,18 @@ packet_ver: 33
|
||||
|
||||
//2013-03-20Ragexe (Judas)
|
||||
packet_ver: 34
|
||||
0x014f,6,guildrequestinfo,2
|
||||
0x01fd,15,repairitem,2
|
||||
//0x0281,-1,itemlistwindowselected,2:4:8
|
||||
0x035f,6,reqclickbuyingstore,2
|
||||
0x0363,6,ticksend,2
|
||||
0x0365,12,searchstoreinfolistitemclick,2:6:10
|
||||
0x0438,6,dropitem,2:4
|
||||
0x0447,2
|
||||
0x0447,2,booking_playcancel,0
|
||||
0x044A,6,clientversion,2
|
||||
0x0844,2,cashshopopen,0
|
||||
0x0848,-1,cashshopbuy,0
|
||||
0x084a,2,cashshopclose,0
|
||||
0x084b,19 //fallitem4
|
||||
0x084a,2,cashshopclose,00x084b,19 //fallitem4
|
||||
0x085a,90,useskilltoposinfo,2:4:6:8:10
|
||||
0x085d,18,bookingregreq,2:4
|
||||
0x0868,-1,itemlistwindowselected,2:4:8
|
||||
|
@ -47,3 +47,4 @@
|
||||
1871,Falling Bishop,500000
|
||||
1873,Beelzebub,500000
|
||||
1885,Gopinich,500000
|
||||
2022,Nidhoggur's Shadow,500000
|
||||
|
@ -47,3 +47,6 @@
|
||||
1871,Falling Bishop,500000
|
||||
1873,Beelzebub,500000
|
||||
1885,Gopinich,500000
|
||||
2022,Nidhoggur's Shadow,500000
|
||||
2068,Boitata,500000
|
||||
2087,Scaraba Queen,500000
|
||||
|
356
doc/mapflags.txt
Normal file
356
doc/mapflags.txt
Normal file
@ -0,0 +1,356 @@
|
||||
//===== rAthena Documentation ================================
|
||||
//= Mapflag List
|
||||
//===== By: ==================================================
|
||||
//= rAthena Dev Team
|
||||
//===== Current Version: =====================================
|
||||
//= 20130526
|
||||
//===== Description: =========================================
|
||||
//= List of available mapflags and their functions.
|
||||
//============================================================
|
||||
|
||||
This file describes the functions of mapflags, which determine the behavior of a
|
||||
map in various situations. For instructions on setting a mapflag, refer to the
|
||||
documentation in '/doc/script_commands.txt'.
|
||||
|
||||
To search for a mapflag, write "*" before its name.
|
||||
The format of this file is as follows:
|
||||
1. Restrictions
|
||||
2. Battle-related
|
||||
3. Map Effects
|
||||
4. Miscellaneous
|
||||
|
||||
===================
|
||||
| 1. Restrictions |
|
||||
===================
|
||||
---------------------------------------
|
||||
|
||||
*noreturn
|
||||
|
||||
Disables usage of map-warping items on a map:
|
||||
- Butterfly Wing (ID 602)
|
||||
- Yellow/Green/Red/Blue Butterfly Wing (IDs 14582-14585)
|
||||
- Siege Teleport Scroll (ID 14591)
|
||||
- Dungeon Teleport Scroll 1/2/3 (IDs 14527, 14581, 12352)
|
||||
|
||||
The 'warpparty' and 'warpguild' script commands are also blocked for destinations outside the
|
||||
player's current map.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*noteleport
|
||||
|
||||
Disables all means of teleportation within a map:
|
||||
- Items Fly Wing (ID 601) and Giant Fly Wing (ID 12212) are disabled.
|
||||
- Skills AL_TELEPORT, TK_HIGHJUMP, and SC_DIMENSIONDOOR are disabled.
|
||||
- Skills RG_INTIMIDATE, NPC_EXPULSION, and CG_TAROTCARD will not teleport their intended targets.
|
||||
- Script commands using "Random" as the destination will fail.
|
||||
- Script command 'warpwaitingpc' will fail with "SavePoint" as the destination.
|
||||
- Script command 'unitwarp' will fail for players.
|
||||
- Atcommand @jump is disabled.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*nowarp
|
||||
|
||||
Disables warping from a map:
|
||||
- Script commands 'warpparty' and 'warpguild' will not warp players on 'nowarp' maps.
|
||||
- Atcommands @warp, @go, @load, and @jump are disabled.
|
||||
- Atcommands @partyrecall, @guildrecall, and @recallall will not warp players on 'nowarp' maps.
|
||||
- Skill GD_EMERGENCYCALL will not warp players on 'nowarp' maps.
|
||||
- Unit UNT_CALLFAMILY will not warp players on 'nowarp' maps.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*nowarpto
|
||||
|
||||
Disables warping to a map:
|
||||
- Atcommands @warp, @go, @load, and @jump are disabled to the 'nowarpto' map.
|
||||
- Atcommands @partyrecall, @guildrecall, and @recallall are disabled.
|
||||
- Command /memo is disabled.
|
||||
- Skill GD_EMERGENCYCALL is disabled if flag 16 of 'emergency_call' is set in
|
||||
'/conf/battle/skill.conf'. This will not work for 'gvg_castle' maps.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*nogo
|
||||
|
||||
Disables usage of command @go on a map.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*nosave <map name>
|
||||
|
||||
Disables auto-saving on a map. Players who log off on the map will be warped to <map name> when
|
||||
they next log in. "SavePoint", without quotes, is also valid for this field.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*nomemo
|
||||
|
||||
Disables the /memo command to save a warp point on a map, and also disables usage of marriage
|
||||
skills WE_CALLPARTNER, WE_CALLPARENT, and WE_CALLBABY.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*noitemconsumption
|
||||
|
||||
Disables usage of items on a map.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*notrade
|
||||
|
||||
Disables trading on a map.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*nodrop
|
||||
|
||||
Disables dropping items on a map.
|
||||
|
||||
Note that items may still be dropped if a player's inventory is full and 'item_flooritem_check'
|
||||
is disabled in '/conf/battle/items.conf'.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*noloot
|
||||
*nomobloot
|
||||
*nomvploot
|
||||
|
||||
Disables normal monsters and MVPs from dropping items on a map. Looted items will always drop.
|
||||
'noloot' is the same as 'nomobloot' and 'nomvploot' combined.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*noexp
|
||||
*nobaseexp
|
||||
*nojobexp
|
||||
|
||||
Disables gaining base and job experience from monsters, including MVP bonuses, on a map.
|
||||
'noexp' is the same as 'nobaseexp' and 'nojobexp' combined.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*nopenalty
|
||||
*noexppenalty
|
||||
*nozenypenalty
|
||||
|
||||
Disables the loss of experience and Zeny upon death on a map.
|
||||
'nopenalty' is the same as 'noexppenalty' and 'nozenypenalty' combined.
|
||||
|
||||
Notes:
|
||||
'noexppenalty' also affects pets, and skills PR_REDEMPTIO and LG_INSPIRATION will not deduct EXP.
|
||||
'nozenypenalty' only applies if 'zeny_penalty' is enabled in '/conf/battle/exp.conf'.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*nochat
|
||||
*novending
|
||||
|
||||
Disables chatroom and shop creation on a map.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*nousecart
|
||||
|
||||
Disables cart usage on a map.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*noskill
|
||||
|
||||
Disables skill usage on a map.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*restricted <zone>
|
||||
|
||||
Disables certain items and skills on a map through a specified zone number. The zone databases are
|
||||
located in 'db/(pre-)re/item_noequip.txt' and 'db/(pre-)re/skill_nocast_db.txt', both of which
|
||||
contain explanations and examples of how this mapflag is used.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*monster_noteleport
|
||||
|
||||
Prevents monsters from teleporting on a map, including through the skill RG_INTIMIDATE.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*nobranch
|
||||
|
||||
Disables usage of monster-spawning items on a map:
|
||||
- Dead Branch (ID 604)
|
||||
- Bloody Branch (ID 12103)
|
||||
- Poring Box (ID 12109)
|
||||
- Red Pouch (ID 12024)
|
||||
|
||||
Note that when 'mob_warp' is enabled in '/conf/battle/monster.conf' and flag 4 is set, this will
|
||||
also prevent mobs from being warped onto the map.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*noicewall
|
||||
|
||||
Disables skill WZ_ICEWALL on a map.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*nosumstarmiracle
|
||||
|
||||
Disables Star Gladiator's "Solar, Lunar, and Stellar Miracle" from occurring on a map.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*nomineeffect
|
||||
|
||||
Disables mine effects on a map.
|
||||
[More information needed.]
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*nolockon
|
||||
|
||||
Disables locking on a map.
|
||||
[More information needed.]
|
||||
|
||||
---------------------------------------
|
||||
|
||||
=====================
|
||||
| 2. Battle-related |
|
||||
=====================
|
||||
---------------------------------------
|
||||
|
||||
*pvp
|
||||
*pvp_noparty
|
||||
*pvp_noguild
|
||||
*pvp_nocalcrank
|
||||
|
||||
Enables Player vs. Player mode on a map and applies the corresponding damage adjustments.
|
||||
'pvp_noparty' will ignore party alliances.
|
||||
'pvp_noguild' will ignore guild alliances.
|
||||
'pvp_nocalcrank' will disable calculation of PvP rankings.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*pvp_nightmaredrop <id>,<type>,<rate>
|
||||
|
||||
Causes players to drop items upon death. This is not grouped with the other PvP mapflags
|
||||
because it does not necessarily require PvP mode to be set.
|
||||
|
||||
<id> determines what will drop. It can be either a specific item ID or "random".
|
||||
<type> specifies where items are dropped from. It can be "inventory", "equip", or "all".
|
||||
<rate> is the chance that an item will drop (10000 = 100%).
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*gvg
|
||||
*gvg_noparty
|
||||
*gvg_castle
|
||||
*gvg_dungeon
|
||||
|
||||
Enables Guild vs. Guild mode on a map and applies the corresponding damage adjustments.
|
||||
'gvg_noparty' will ignore party alliances.
|
||||
'gvg_castle' marks a guild castle. GvG mode will be active only during the War of Emperium.
|
||||
'gvg_dungeon' marks a guild dungeon. Players will be warped out after two deaths.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*battleground {<type>}
|
||||
|
||||
Enables Battlegrounds on a map and applies the corresponding damage adjustments.
|
||||
If <type> is 2, a scoreboard will be shown. The default is 1 (nothing).
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*partylock
|
||||
*guildlock
|
||||
|
||||
Prevents alteration of parties and guilds on a map. This includes creating, leaving,
|
||||
inviting, expelling, breaking, and changing leaders.
|
||||
|
||||
Notes:
|
||||
'partylock' will still allow party options to be changed.
|
||||
'guildlock' will also block changes to guild alliances.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
==================
|
||||
| 3. Map Effects |
|
||||
==================
|
||||
---------------------------------------
|
||||
|
||||
*clouds
|
||||
*clouds2
|
||||
*fireworks
|
||||
*fog
|
||||
*leaves
|
||||
*sakura
|
||||
*snow
|
||||
|
||||
Displays a weather effect on a map.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*nightenabled
|
||||
|
||||
Displays night mode effects on a map. This is used on most outdoor maps.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
====================
|
||||
| 4. Miscellaneous |
|
||||
====================
|
||||
---------------------------------------
|
||||
|
||||
*town
|
||||
|
||||
Marks a map as a town. This allows players to access their mail and disables kill stealing.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*reset
|
||||
|
||||
Allows usage of item Neuralizer (ID 12213).
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*bexp <rate>
|
||||
*jexp <rate>
|
||||
|
||||
Changes the base and job experience rates on a map.
|
||||
<rate> is given as a percentage (i.e. 100 = 1x EXP). This takes into account the modifiers
|
||||
'base_exp_rate' and 'job_exp_rate' in '/conf/battle/exp.conf'.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*loadevent
|
||||
|
||||
Triggers the label "OnPCLoadMapEvent" when players enter a map (this also includes
|
||||
teleporting within the map). More details can be found in '/doc/script_commands.txt'.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*allowks
|
||||
|
||||
Allows kill stealing on a map (rendering the @noks command useless).
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*autotrade
|
||||
|
||||
Allows the @autotrade command on a map.
|
||||
|
||||
This only applies if 'at_mapflag' is enabled in '/conf/battle/misc.conf'. Otherwise, the
|
||||
atcommand is enabled on all maps by default.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*nomapchannelautojoin
|
||||
|
||||
Stops players from automatically joining the #map channel on a map.
|
||||
|
||||
This only applies if map channels are enabled and 'map_local_channel_autojoin' is true
|
||||
in '/conf/channels.conf'.
|
||||
|
||||
---------------------------------------
|
@ -1,35 +1,174 @@
|
||||
//===== rAthena Documentation ================================
|
||||
//= Permission List
|
||||
//= Permissions List
|
||||
//===== By: ==================================================
|
||||
//= rAthena Dev Team
|
||||
//===== Current Version: =====================================
|
||||
//= 20130402
|
||||
//= 20130526
|
||||
//===== Description: =========================================
|
||||
//= Player group permissions, configured in /conf/groups.conf.
|
||||
//= List of available permissions and their functions.
|
||||
//============================================================
|
||||
|
||||
can_trade : Ability to trade or otherwise distribute items (drop, storage, vending etc...).
|
||||
can_party : Ability to join parties.
|
||||
all_skill : Ability to use all skills.
|
||||
all_equipment : Ability to equip anything (can cause client errors).
|
||||
skill_unconditional : Ability to use skills without meeting the required conditions (SP, items, etc...).
|
||||
join_chat : Ability to join a password protected chatrooms.
|
||||
kick_chat : Protection from being kicked from a chat.
|
||||
hide_session : Hides player session from being displayed by @commands.
|
||||
who_display_aid : Ability to see GMs and Account/Char IDs in the @who command.
|
||||
hack_info : Ability to receive all informations about any player that try to hack, spoof a name, etc.
|
||||
any_warp : Ability to bypass nowarp, nowarpto, noteleport and nomemo mapflags.
|
||||
This option is mainly used in commands which modify a character's
|
||||
map/coordinates (like @memo, @mapmove, @go, @jump, etc...).
|
||||
view_hpmeter : Ability to see HP bar of every player.
|
||||
view_equipment : Ability to view players equipment regardless of their setting.
|
||||
use_check : Ability to use client command /check (display character status).
|
||||
use_changemaptype : Ability to use client command /changemaptype.
|
||||
all_commands : Ability to use all atcommands and charcommands.
|
||||
receive_requests : Ability to receive @requests.
|
||||
show_bossmobs : Ability to see boss mobs with @showmobs.
|
||||
disable_pvm : Ability to disable Player vs. Monster.
|
||||
disable_pvp : Ability to disable Player vs. Player.
|
||||
disable_commands_when_dead : Ability to disable @command usage when dead.
|
||||
channel_admin : Ability to modify channel settings regardless of ownership and join password-protected
|
||||
channels without a password.
|
||||
This file describes the functions of player group permissions,
|
||||
configured in '/conf/groups.conf' under the "permissions" bracket.
|
||||
|
||||
To search for a permission, write "*" before its name.
|
||||
The format of this file is as follows:
|
||||
1. Basic Permissions
|
||||
2. Extended Permissions
|
||||
3. Command-related
|
||||
|
||||
========================
|
||||
| 1. Basic Permissions |
|
||||
========================
|
||||
---------------------------------------
|
||||
|
||||
*can_trade
|
||||
|
||||
Allows player to distribute items, such as through trades, dropping,
|
||||
vending, storage, mail, etc.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*can_party
|
||||
|
||||
Allows player to create and join parties.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
===========================
|
||||
| 2. Extended Permissions |
|
||||
===========================
|
||||
---------------------------------------
|
||||
|
||||
*all_skill
|
||||
|
||||
Grants player all available skills in the player's skill tree.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*all_equipment
|
||||
|
||||
Allows player to equip any item, regardless of requirements (class, level,
|
||||
etc.). Note that this can cause client errors if a sprite does not exist.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*skill_unconditional
|
||||
|
||||
Allows player to use any skill, regardless of required conditions (SP,
|
||||
items, etc.).
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*join_chat
|
||||
|
||||
Allows player to join password-protected chatrooms.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*kick_chat
|
||||
|
||||
Prevents player from being kicked from a chatroom.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*view_hpmeter
|
||||
|
||||
Allows player to see the HP bar of every player.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*view_equipment
|
||||
|
||||
Allows player to view the equipment of every player, regardless of that
|
||||
player's setting.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*hack_info
|
||||
|
||||
Allows player to receive all information about players who try to hack,
|
||||
spoof a name, etc.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*disable_pvm
|
||||
|
||||
Prevents player from attacking monsters.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*disable_pvp
|
||||
|
||||
Prevents player from attacking other players.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
======================
|
||||
| 3. Command-related |
|
||||
======================
|
||||
---------------------------------------
|
||||
|
||||
*all_commands
|
||||
|
||||
Allows usage of all atcommands and charcommands.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*disable_commands_when_dead
|
||||
|
||||
Disables usage of atcommands when player is dead.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*hide_session
|
||||
|
||||
Hides player session from being displayed by atcommands (@who, @whomap,
|
||||
etc.).
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*who_display_aid
|
||||
|
||||
Displays all GMs and character/account IDs in the @who command.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*any_warp
|
||||
|
||||
Allows player to bypass 'nowarp', 'nowarpto', 'noteleport', and 'nomemo'
|
||||
mapflags in commands which modify a character's map or coordinates (@memo,
|
||||
@mapmove, @go, @jump, etc.).
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*receive_requests
|
||||
|
||||
Allows player to receive requests through the @requests command.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*show_bossmobs
|
||||
|
||||
Displays boss mobs in the @showmobs command.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*channel_admin
|
||||
|
||||
Allows player to modify #channel settings regardless of ownership and to
|
||||
join password-protected channels without a password.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*use_check
|
||||
|
||||
Allows player to use the client command /check (displays character status).
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*use_changemaptype
|
||||
|
||||
Allows player to use the client command /changemaptype.
|
||||
|
||||
---------------------------------------
|
||||
|
@ -136,8 +136,8 @@ Here is a list of valid top-level commands:
|
||||
This will, upon loading, set a specified map flag on a map you like. These are
|
||||
normally in files inside 'conf/mapflag' and are loaded first, so by the time the
|
||||
server's up, all the maps have the flags they should have. Map flags determine
|
||||
the behavior of the map regarding various common problems, for a better
|
||||
explanation, see 'setmapflag'.
|
||||
the behavior of the map in various situations. For more details, see 'setmapflag'
|
||||
and 'doc/mapflags.txt'.
|
||||
|
||||
** Create a permanent monster spawn:
|
||||
|
||||
@ -997,9 +997,9 @@ From here on, we will have the commands sorted as follow:
|
||||
=====================
|
||||
---------------------------------------
|
||||
|
||||
*mes "<string>";
|
||||
*mes "<string>"{,"<string>"{,...}};
|
||||
|
||||
This command will displays a box on the screen for the invoking character, if no
|
||||
This command will display a box on the screen for the invoking character, if no
|
||||
such box is displayed already, and will print the string specified into that
|
||||
box. There is normally no 'close' or 'next' button on this box, unless you
|
||||
create one with 'close' or 'next', and while it's open the player can't do much
|
||||
@ -1025,7 +1025,7 @@ English characters, the color codes might get screwed if they stick to letters
|
||||
with no intervening space. Separating them with spaces from the letters on
|
||||
either side solves the problem.
|
||||
|
||||
To display multiple lines of message while only using a single mes; command,
|
||||
To display multiple lines of message while only using a single 'mes' command,
|
||||
use the script command in the following format:
|
||||
|
||||
mes "Line 1", "Line 2", "Line 3";
|
||||
@ -1049,7 +1049,7 @@ will terminate.
|
||||
mes "[Woman]";
|
||||
mes "This would appear on the page";
|
||||
next;
|
||||
// This is needed cause it is a new page and the top will now be blank
|
||||
// This is needed since it is a new page and the top will now be blank
|
||||
mes "[Woman]";
|
||||
mes "This would appear on the 2nd page";
|
||||
|
||||
@ -1124,7 +1124,8 @@ of 'end' stops this, and ends the script.
|
||||
*set(<variable>,<expression>)
|
||||
|
||||
This command will set a variable to the value that the expression results in.
|
||||
This is the only way to set a variable directly.
|
||||
Variables may either be set through this command or directly, much like any
|
||||
other programming language (refer to the "Assigning variables" section).
|
||||
|
||||
This is the most basic script command and is used a lot whenever you try to do
|
||||
anything more advanced than just printing text into a message box.
|
||||
@ -4780,10 +4781,6 @@ about the guild skill trying to exceed the possible maximum. The full list of
|
||||
guild skills is available in 'db/(pre-)re/skill_db.txt', these are all the GD_ skills at
|
||||
the end.
|
||||
|
||||
The flag parameter is currently not functional and it's a mystery of what it
|
||||
would actually do. (Though probably, like for character skills, it would allow
|
||||
temporary bumping.) Using this command will bump the guild skill up permanently.
|
||||
|
||||
// This would give your character's guild one level of Approval (GD_APPROVAL ID
|
||||
// 10000). Notice that if you try to add two levels of Approval, or add
|
||||
// Approval when the guild already has it, it will only have one level of
|
||||
@ -5045,7 +5042,7 @@ expected, refer only to an invoking character.
|
||||
What these commands do is 'attach' a script to the player which will get
|
||||
executed on attack (or when attacked in the case of autobonus2).
|
||||
|
||||
Rate is the trigger rate of the script (1000 = 100%).
|
||||
Rate is the trigger rate of the script (10000 = 100%).
|
||||
|
||||
Duration is the time that the bonus will last for since the script has triggered.
|
||||
|
||||
@ -6096,9 +6093,9 @@ specified.
|
||||
|
||||
*setmapflag "<map name>",<flag>{,<zone>};
|
||||
|
||||
This command marks a specified map with a map flag given. Map flags alter the
|
||||
behavior of the map, you can see the list of the available ones in
|
||||
'db/const.txt' under 'mf_'.
|
||||
This command marks a specified map with the given map flag, which will alter the
|
||||
behavior of the map. A full list of mapflags is located in 'db/const.txt' with
|
||||
the 'mf_' prefix, and documentation can be found in 'doc/mapflags.txt'.
|
||||
|
||||
The map flags alter the behavior of the map regarding teleporting (mf_nomemo,
|
||||
mf_noteleport, mf_nowarp, mf_nogo), storing location when disconnected
|
||||
|
@ -16403,7 +16403,56 @@ void clif_parse_reqworldinfo(int fd,struct map_session_data *sd){
|
||||
if(sd) clif_ackworldinfo(sd);
|
||||
}
|
||||
|
||||
/// unknown usage (CZ_BLOCKING_PLAY_CANCEL)
|
||||
/// 0447
|
||||
void clif_parse_blocking_playcancel(int fd,struct map_session_data *sd){
|
||||
//if(sd)
|
||||
;
|
||||
}
|
||||
|
||||
/// req world info (CZ_CLIENT_VERSION)
|
||||
/// 044A <version>.L
|
||||
void clif_parse_client_version(int fd,struct map_session_data *sd){
|
||||
//if(sd)
|
||||
;
|
||||
}
|
||||
|
||||
#ifdef DUMP_UNKNOWN_PACKET
|
||||
void DumpUnknow(int fd,TBL_PC *sd,int cmd,int packet_len){
|
||||
const char* packet_txt = "save/packet.txt";
|
||||
FILE* fp;
|
||||
time_t time_server;
|
||||
struct tm *datetime;
|
||||
char datestr[512];
|
||||
|
||||
time(&time_server); // get time in seconds since 1/1/1970
|
||||
datetime = localtime(&time_server); // convert seconds in structure
|
||||
// like sprintf, but only for date/time (Sunday, November 02 2003 15:12:52)
|
||||
strftime(datestr, sizeof(datestr)-1, "%A, %B %d %Y %X.", datetime); // Server time (normal time): %A, %B %d %Y %X.
|
||||
|
||||
|
||||
if( ( fp = fopen( packet_txt , "a" ) ) != NULL ) {
|
||||
if( sd ) {
|
||||
fprintf(fp, "Unknown packet 0x%04X (length %d), %s session #%d, %d/%d (AID/CID) at %s \n", cmd, packet_len, sd->state.active ? "authed" : "unauthed", fd, sd->status.account_id, sd->status.char_id,datestr);
|
||||
} else {
|
||||
fprintf(fp, "Unknown packet 0x%04X (length %d), session #%d at %s\n", cmd, packet_len, fd,datestr);
|
||||
}
|
||||
WriteDump(fp, RFIFOP(fd,0), packet_len);
|
||||
fprintf(fp, "\n");
|
||||
fclose(fp);
|
||||
} else {
|
||||
ShowError("Failed to write '%s'.\n", packet_txt);
|
||||
// Dump on console instead
|
||||
if( sd ) {
|
||||
ShowDebug("Unknown packet 0x%04X (length %d), %s session #%d, %d/%d (AID/CID) at %s\n", cmd, packet_len, sd->state.active ? "authed" : "unauthed", fd, sd->status.account_id, sd->status.char_id,datestr);
|
||||
} else {
|
||||
ShowDebug("Unknown packet 0x%04X (length %d), session #%d at %s\n", cmd, packet_len, fd,datestr);
|
||||
}
|
||||
|
||||
ShowDump(RFIFOP(fd,0), packet_len);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/*==========================================
|
||||
* Main client packet processing function
|
||||
@ -16523,37 +16572,9 @@ static int clif_parse(int fd)
|
||||
packet_db[packet_ver][cmd].func(fd, sd);
|
||||
}
|
||||
#ifdef DUMP_UNKNOWN_PACKET
|
||||
else {
|
||||
const char* packet_txt = "save/packet.txt";
|
||||
FILE* fp;
|
||||
|
||||
if( ( fp = fopen( packet_txt , "a" ) ) != NULL ) {
|
||||
if( sd ) {
|
||||
fprintf(fp, "Unknown packet 0x%04X (length %d), %s session #%d, %d/%d (AID/CID)\n", cmd, packet_len, sd->state.active ? "authed" : "unauthed", fd, sd->status.account_id, sd->status.char_id);
|
||||
} else {
|
||||
fprintf(fp, "Unknown packet 0x%04X (length %d), session #%d\n", cmd, packet_len, fd);
|
||||
}
|
||||
|
||||
WriteDump(fp, RFIFOP(fd,0), packet_len);
|
||||
fprintf(fp, "\n");
|
||||
fclose(fp);
|
||||
} else {
|
||||
ShowError("Failed to write '%s'.\n", packet_txt);
|
||||
|
||||
// Dump on console instead
|
||||
if( sd ) {
|
||||
ShowDebug("Unknown packet 0x%04X (length %d), %s session #%d, %d/%d (AID/CID)\n", cmd, packet_len, sd->state.active ? "authed" : "unauthed", fd, sd->status.account_id, sd->status.char_id);
|
||||
} else {
|
||||
ShowDebug("Unknown packet 0x%04X (length %d), session #%d\n", cmd, packet_len, fd);
|
||||
}
|
||||
|
||||
ShowDump(RFIFOP(fd,0), packet_len);
|
||||
}
|
||||
}
|
||||
else DumpUnknow(fd,sd,cmd,packet_len);
|
||||
#endif
|
||||
|
||||
RFIFOSKIP(fd, packet_len);
|
||||
|
||||
}; // main loop end
|
||||
|
||||
return 0;
|
||||
@ -17021,6 +17042,8 @@ void packetdb_readdb(void)
|
||||
{ clif_parse_MoveItem , "moveitem" },
|
||||
{ clif_parse_GuildInvite2 , "guildinvite2" },
|
||||
{ clif_parse_reqworldinfo, "reqworldinfo"},
|
||||
{ clif_parse_client_version, "clientversion"},
|
||||
{ clif_parse_blocking_playcancel, "booking_playcancel"},
|
||||
{NULL,NULL}
|
||||
};
|
||||
|
||||
|
@ -76,27 +76,27 @@ int elemental_create(struct map_session_data *sd, int class_, unsigned int lifet
|
||||
ele.mode = EL_MODE_PASSIVE; // Initial mode
|
||||
i = db->status.size+1; // summon level
|
||||
|
||||
//[(Caster<EFBFBD>s Max HP/ 3 ) + (Caster<65>s INT x 10 )+ (Caster<65>s Job Level x 20 )] x [(Elemental Summon Level + 2) / 3]
|
||||
//[(Caster's Max HP/ 3 ) + (Caster's INT x 10 )+ (Caster's Job Level x 20 )] x [(Elemental Summon Level + 2) / 3]
|
||||
ele.hp = ele.max_hp = (sd->battle_status.max_hp/3 + sd->battle_status.int_*10 + sd->status.job_level) * ((i + 2) / 3);
|
||||
//Caster<EFBFBD>s Max SP /4
|
||||
//Caster's Max SP /4
|
||||
ele.sp = ele.max_sp = sd->battle_status.max_sp/4;
|
||||
//Caster<EFBFBD>s [ Max SP / (18 / Elemental Summon Skill Level) 1- 100 ]
|
||||
//Caster's [ Max SP / (18 / Elemental Summon Skill Level) 1- 100 ]
|
||||
ele.atk = (sd->battle_status.max_sp / (18 / i) * 1 - 100);
|
||||
//Caster<EFBFBD>s [ Max SP / (18 / Elemental Summon Skill Level) ]
|
||||
//Caster's [ Max SP / (18 / Elemental Summon Skill Level) ]
|
||||
ele.atk2 = sd->battle_status.max_sp / 18;
|
||||
//Caster<EFBFBD>s HIT + (Caster<65>s Base Level )
|
||||
//Caster's HIT + (Caster's Base Level)
|
||||
ele.hit = sd->battle_status.hit + sd->status.base_level;
|
||||
//[Elemental Summon Skill Level x (Caster<EFBFBD>s INT / 2 + Caster<65>s DEX / 4)]
|
||||
//[Elemental Summon Skill Level x (Caster's INT / 2 + Caster's DEX / 4)]
|
||||
ele.matk = i * (sd->battle_status.int_ / 2 + sd->battle_status.dex / 4);
|
||||
//150 + [Caster<EFBFBD>s DEX / 10] + [Elemental Summon Skill Level x 3 ]
|
||||
//150 + [Caster's DEX / 10] + [Elemental Summon Skill Level x 3 ]
|
||||
ele.amotion = 150 + sd->battle_status.dex / 10 + i * 3;
|
||||
//Caster<EFBFBD>s DEF + (Caster<65>s Base Level / (5 <20> Elemental Summon Skill Level)
|
||||
//Caster's DEF + (Caster's Base Level / (5 - Elemental Summon Skill Level)
|
||||
ele.def = sd->battle_status.def + sd->status.base_level / (5-i);
|
||||
//Caster<EFBFBD>s MDEF + (Caster<65>s INT / (5 - Elemental Summon Skill Level)
|
||||
//Caster's MDEF + (Caster's INT / (5 - Elemental Summon Skill Level)
|
||||
ele.mdef = sd->battle_status.mdef + sd->battle_status.int_ / (5-i);
|
||||
//Caster<EFBFBD>s FLEE + (Caster<65>s Base Level / (5 <20> Elemental Summon Skill Level)
|
||||
//Caster's FLEE + (Caster's Base Level / (5 - Elemental Summon Skill Level)
|
||||
ele.flee = sd->status.base_level / (5-i);
|
||||
//Caster<EFBFBD>s HIT + (Caster<65>s Base Level )
|
||||
//Caster's HIT + (Caster's Base Level)
|
||||
ele.hit = sd->battle_status.hit + sd->status.base_level;
|
||||
|
||||
//per individual bonuses
|
||||
|
@ -1287,7 +1287,7 @@ int map_clearflooritem_timer(int tid, unsigned int tick, int id, intptr_t data)
|
||||
}
|
||||
|
||||
/*
|
||||
* clears a single bl item out of the bazooonga.
|
||||
* clears a single bl item out of the map.
|
||||
*/
|
||||
void map_clearflooritem(struct block_list *bl) {
|
||||
struct flooritem_data* fitem = (struct flooritem_data*)bl;
|
||||
|
@ -584,8 +584,7 @@ int pc_setnewpc(struct map_session_data *sd, int account_id, int char_id, int lo
|
||||
return 0;
|
||||
}
|
||||
|
||||
int pc_equippoint(struct map_session_data *sd,int n)
|
||||
{
|
||||
int pc_equippoint(struct map_session_data *sd,int n){
|
||||
int ep = 0;
|
||||
|
||||
nullpo_ret(sd);
|
||||
@ -4112,7 +4111,7 @@ int pc_isUseitem(struct map_session_data *sd,int n)
|
||||
return 0; // You cannot use this item while sitting.
|
||||
}
|
||||
|
||||
switch( nameid ) //@TODO, lot oh harcoded nameid here
|
||||
switch( nameid ) //@TODO, lot of hardcoded nameid here
|
||||
{
|
||||
case 605: // Anodyne
|
||||
if( map_flag_gvg(sd->bl.m) )
|
||||
@ -4130,7 +4129,8 @@ int pc_isUseitem(struct map_session_data *sd,int n)
|
||||
}
|
||||
case 602: // ButterFly Wing
|
||||
case 14527: // Dungeon Teleport Scroll
|
||||
case 14581: // Dungeon Teleport Scroll
|
||||
case 14581: // Dungeon Teleport Scroll 2
|
||||
case 12352: // Dungeon Teleport Scroll 3
|
||||
case 14582: // Yellow Butterfly Wing
|
||||
case 14583: // Green Butterfly Wing
|
||||
case 14584: // Red Butterfly Wing
|
||||
|
@ -114,6 +114,7 @@ void searchstore_query(struct map_session_data* sd, unsigned char type, unsigned
|
||||
struct s_search_store_search s;
|
||||
searchstore_searchall_t store_searchall;
|
||||
time_t querytime;
|
||||
DBMap *vending_db = vending_getdb();
|
||||
|
||||
if( !battle_config.feature_search_stores ) {
|
||||
return;
|
||||
@ -178,7 +179,6 @@ void searchstore_query(struct map_session_data* sd, unsigned char type, unsigned
|
||||
s.card_count = card_count;
|
||||
s.min_price = min_price;
|
||||
s.max_price = max_price;
|
||||
DBMap *vending_db = vending_getdb();
|
||||
iter = db_iterator(vending_db);
|
||||
|
||||
for( pl_sd = dbi_first(iter); dbi_exists(iter); pl_sd = dbi_next(iter) ) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user