* Documented changes to @fontcolor from r17317.
* Updated IDN, FRN, and RUS map_msg translations. (credits: Cydh, Capuche, Jarek) * A couple updates to script_commands.txt. (incl. bugreport:7649) * Other misc. changes. git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17319 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
694719048e
commit
8e3d87d39d
@ -388,11 +388,11 @@
|
|||||||
376: -> Player %s has accepted the duel --
|
376: -> Player %s has accepted the duel --
|
||||||
377: -- Player %s has rejected the duel --
|
377: -- Player %s has rejected the duel --
|
||||||
//etc
|
//etc
|
||||||
378: Eleanor is now in %s mode
|
378: Eleanor is now in %s mode.
|
||||||
379: Item Failed. [%s] is cooling down. wait %.1f minutes.
|
379: Item Failed. [%s] is cooling down. Wait %.1f minutes.
|
||||||
380: Item Failed. [%s] is cooling down. wait %d seconds.
|
380: Item Failed. [%s] is cooling down. Wait %d seconds.
|
||||||
381: Skill Failed. [%s] requires %dx %s
|
381: Skill Failed. [%s] requires %dx %s.
|
||||||
382: You're too close to a stone or emperium to do this skill
|
382: You're too close to a stone or emperium to use this skill.
|
||||||
//383-389 free
|
//383-389 free
|
||||||
//NoAsk
|
//NoAsk
|
||||||
390: Autorejecting is activated.
|
390: Autorejecting is activated.
|
||||||
@ -1469,10 +1469,10 @@
|
|||||||
1447: Unknown channel option '%s'.
|
1447: Unknown channel option '%s'.
|
||||||
1448: Channel '%s' deleted.
|
1448: Channel '%s' deleted.
|
||||||
1449: Option '%s' is already enabled (use '@channel setopt %s 0' to disable).
|
1449: Option '%s' is already enabled (use '@channel setopt %s 0' to disable).
|
||||||
1450: Option '%s' is enabled for channel '%s'.
|
1450: Option '%s' is enabled for channel '#%s'.
|
||||||
1451: Value '%d' for option '%s' is out of range (limit 0-10).
|
1451: Value '%d' for option '%s' is out of range (limit 0-10).
|
||||||
1452: Option '%s' is enabled for channel '%s' at %d seconds.
|
1452: Option '%s' is enabled for channel '#%s' at %d seconds.
|
||||||
1453: Option '%s' is disabled for channel '%s'.
|
1453: Option '%s' is disabled for channel '#%s'.
|
||||||
1454: Color set to '%s'.
|
1454: Color set to '%s'.
|
||||||
1455: You're talking too fast!
|
1455: You're talking too fast!
|
||||||
1456: * %s ban <#channel_name> <player>
|
1456: * %s ban <#channel_name> <player>
|
||||||
|
@ -386,7 +386,13 @@
|
|||||||
375: <- Joueur %s quitte le duel --
|
375: <- Joueur %s quitte le duel --
|
||||||
376: -> Joueur %s accepte le duel --
|
376: -> Joueur %s accepte le duel --
|
||||||
377: -- Joueur %s rejete la demande de duel --
|
377: -- Joueur %s rejete la demande de duel --
|
||||||
//378-389 free
|
//etc
|
||||||
|
378: Eleanor passe en mode %s.
|
||||||
|
379: Utilisation échouée. [%s] a un délai de réutilisation. Attendez %.1f minutes.
|
||||||
|
380: Utilisation échouée. [%s] a un délai de réutilisation. Attendez %d secondes.
|
||||||
|
381: Skill échoué. [%s] requiert %dx %s.
|
||||||
|
382: Vous êtes trop proche d'une stone ou d'un emperium pour exécuter ce skill.
|
||||||
|
//383-389 free
|
||||||
//NoAsk
|
//NoAsk
|
||||||
390: Rejet automatique activé.
|
390: Rejet automatique activé.
|
||||||
391: Rejet automatique désactivé.
|
391: Rejet automatique désactivé.
|
||||||
@ -1466,7 +1472,7 @@
|
|||||||
1451: La valeur '%d' pour l'option '%s' est incorrecte (doit être comprise entre 0-10).
|
1451: La valeur '%d' pour l'option '%s' est incorrecte (doit être comprise entre 0-10).
|
||||||
1452: Option '%s' activée sur le canal '%s' avec %d secondes.
|
1452: Option '%s' activée sur le canal '%s' avec %d secondes.
|
||||||
1453: Option '%s' désactivée sur le canal '%s'.
|
1453: Option '%s' désactivée sur le canal '%s'.
|
||||||
//1454 free
|
1454: Couleur maintenant en '%s'.
|
||||||
1455: Vous parlez trop rapidement!
|
1455: Vous parlez trop rapidement!
|
||||||
1456: * %s ban <#nom_canal> <nom du joueur>
|
1456: * %s ban <#nom_canal> <nom du joueur>
|
||||||
1457: -- Banni le joueur spécifié du canal.
|
1457: -- Banni le joueur spécifié du canal.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// rAthena map_msg_idn.conf
|
// rAthena map_msg_idn.conf
|
||||||
// Pengaturan pesan. Diterjemahkan oleh [Cydh] dan [nanakiwurtz]
|
// Pengaturan pesan. Diterjemahkan oleh [Cydh] dan [nanakiwurtz]
|
||||||
// Untuk terjemahan, cukup ubah pesan di sini (pada baris setelah pesan asli), tidak perlu mengubah source code,
|
// Untuk terjemahan, cukup ubah pesan di sini (pada baris setelah pesan asli), tidak perlu mengubah source code,
|
||||||
// atau dapat dilakukan dengan cara lain, gunakan conf/msg_conf/import/map_msg_idn_conf.txt
|
// atau juga dapat dilakukan dengan menggunakan conf/msg_conf/import/map_msg_idn_conf.txt
|
||||||
// Format penulisan:
|
// Format penulisan:
|
||||||
// //nomor_pesan: pesan asli
|
// //nomor_pesan: pesan asli
|
||||||
// nomor_pesan: pesan yang diterjemahkan
|
// nomor_pesan: pesan yang diterjemahkan
|
||||||
@ -1465,7 +1465,7 @@
|
|||||||
1451: Nilai '%d' keluar dari batas untuk option '%s' (batasnya 0-10).
|
1451: Nilai '%d' keluar dari batas untuk option '%s' (batasnya 0-10).
|
||||||
1452: Pilihan '%s' sekarang diaktifkan untuk channel '%s' dalam %d detik.
|
1452: Pilihan '%s' sekarang diaktifkan untuk channel '%s' dalam %d detik.
|
||||||
1453: Pilihan '%s' sekarang dimatikan untuk channel '%s'.
|
1453: Pilihan '%s' sekarang dimatikan untuk channel '%s'.
|
||||||
//1454 kosong
|
1454: Warna telah diatur menjadi '%s'.
|
||||||
1455: Kamu berbicara terlalu cepat!
|
1455: Kamu berbicara terlalu cepat!
|
||||||
1456: * %s ban <#nama_channel> <pemain>
|
1456: * %s ban <#nama_channel> <pemain>
|
||||||
1457: -- Ban pemain yang ditentukan dari channel.
|
1457: -- Ban pemain yang ditentukan dari channel.
|
||||||
|
@ -390,7 +390,13 @@
|
|||||||
376: -> Игрок %s принял приглашение --
|
376: -> Игрок %s принял приглашение --
|
||||||
377: -- Игрок %s отверг приглашение --
|
377: -- Игрок %s отверг приглашение --
|
||||||
|
|
||||||
//378-389 НЕ ИСПОЛЬЗУЕТСЯ
|
//и т.д.
|
||||||
|
378: Eleanor переключилась на режим %s
|
||||||
|
379: Неудачное использование предмета. [%s] еще не готов к использованию. Подождите %.1f минут.
|
||||||
|
380: Неудачное использование предмета. [%s] еще не готов к использованию. Подождите %d секунд.
|
||||||
|
381: Неудачное использование навыка. [%s] необходимо %dx %s
|
||||||
|
382: Вы находитесь слишком близко к Империуму, чтобы использовать этот навык
|
||||||
|
//383-389 НЕ ИСПОЛЬЗУЕТСЯ
|
||||||
|
|
||||||
// Сообщения команды @NoAsk
|
// Сообщения команды @NoAsk
|
||||||
390: Автоматический отказ включен.
|
390: Автоматический отказ включен.
|
||||||
|
@ -1479,7 +1479,7 @@ Destroys the specified channel.
|
|||||||
Sets channel chat font color for the invoking character only.
|
Sets channel chat font color for the invoking character only.
|
||||||
Typing "Normal" returns text to the normal channel color.
|
Typing "Normal" returns text to the normal channel color.
|
||||||
If no parameter is given, a list of available colors is displayed.
|
If no parameter is given, a list of available colors is displayed.
|
||||||
'allow_user_color_override' must be enabled in '/conf/channels.conf'.
|
Option 'ColorOverride' must be enabled for this to take effect.
|
||||||
|
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
|
|
||||||
@ -1499,6 +1499,7 @@ You must either be the channel's owner or have the channel_admin permission.
|
|||||||
Available options:
|
Available options:
|
||||||
-- 'JoinAnnounce <1|0>' : Toggles channel announcement when a new player enters.
|
-- 'JoinAnnounce <1|0>' : Toggles channel announcement when a new player enters.
|
||||||
-- 'MessageDelay <0-10>' : Sets the delay (in seconds) for messages sent to the channel.
|
-- 'MessageDelay <0-10>' : Sets the delay (in seconds) for messages sent to the channel.
|
||||||
|
-- 'ColorOverride <1|0>' : Toggles the permission for players to change their color through @fontcolor.
|
||||||
|
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
|
|
||||||
|
@ -192,7 +192,7 @@ NPC names are kinda special and are formatted this way:
|
|||||||
<Display name>{::<Unique name>}
|
<Display name>{::<Unique name>}
|
||||||
|
|
||||||
All NPCs need to have a unique name that is used for identification purposes.
|
All NPCs need to have a unique name that is used for identification purposes.
|
||||||
When you have to identify a NPC by it's name, you should use <Unique name>.
|
When you have to identify a NPC by its name, you should use <Unique name>.
|
||||||
If <Unique name> is not provided, use <Display name> instead.
|
If <Unique name> is not provided, use <Display name> instead.
|
||||||
|
|
||||||
The client has a special feature when displaying names:
|
The client has a special feature when displaying names:
|
||||||
@ -321,8 +321,7 @@ The code part is the script code that will execute whenever the function is
|
|||||||
called with 'callfunc'. It has to be in curly brackets, unlike elsewhere where
|
called with 'callfunc'. It has to be in curly brackets, unlike elsewhere where
|
||||||
we use curly brackets, these do NOT signify an optional parameter.
|
we use curly brackets, these do NOT signify an optional parameter.
|
||||||
|
|
||||||
|
Once an object is defined which has a 'code' field to its definition, it
|
||||||
Once an object is defined which has a 'code' field to it's definition, it
|
|
||||||
contains script commands which can actually be triggered and executed.
|
contains script commands which can actually be triggered and executed.
|
||||||
|
|
||||||
~ RID? GID? ~
|
~ RID? GID? ~
|
||||||
@ -334,7 +333,7 @@ Most scripting commands and functions will want to request data about a
|
|||||||
character, store variables referenced to that character, send stuff to the
|
character, store variables referenced to that character, send stuff to the
|
||||||
client connected to that specific character. Whenever a script is invoked by a
|
client connected to that specific character. Whenever a script is invoked by a
|
||||||
character, it is passed a so-called RID - this is the account ID number of a
|
character, it is passed a so-called RID - this is the account ID number of a
|
||||||
character that caused the code to execute by clicking on it, walking into it's
|
character that caused the code to execute by clicking on it, walking into its
|
||||||
OnTouch zone, or otherwise.
|
OnTouch zone, or otherwise.
|
||||||
|
|
||||||
If you are only writing common NPCs, you don't need to bother with it. However,
|
If you are only writing common NPCs, you don't need to bother with it. However,
|
||||||
@ -445,10 +444,10 @@ nothing - A permanent variable attached to the character, the default variable
|
|||||||
are accessible from inside the function, however 'getvariableofnpc'
|
are accessible from inside the function, however 'getvariableofnpc'
|
||||||
does NOT work on function objects.
|
does NOT work on function objects.
|
||||||
".@" - A scope variable.
|
".@" - A scope variable.
|
||||||
They are unique to the instance and scope. Each instance has it's
|
They are unique to the instance and scope. Each instance has its
|
||||||
own scope that ends when the script ends. Calling a function with
|
own scope that ends when the script ends. Calling a function with
|
||||||
callsub/callfunc starts a new scope, returning from the function
|
callsub/callfunc starts a new scope, returning from the function
|
||||||
ends it. When a scope ends, it's variables are converted to values
|
ends it. When a scope ends, its variables are converted to values
|
||||||
('return .@var;' returns a value, not a reference).
|
('return .@var;' returns a value, not a reference).
|
||||||
"'" - An instance variable
|
"'" - An instance variable
|
||||||
These are used with the instancing system, and are unique to each
|
These are used with the instancing system, and are unique to each
|
||||||
@ -1200,7 +1199,7 @@ getvariableofnpc will not work on them.
|
|||||||
*goto <label>;
|
*goto <label>;
|
||||||
|
|
||||||
This command will make the script jump to a label, usually used in conjunction
|
This command will make the script jump to a label, usually used in conjunction
|
||||||
with other command, such as "if", but often used on it's own.
|
with other command, such as "if", but often used on its own.
|
||||||
|
|
||||||
...
|
...
|
||||||
goto Label;
|
goto Label;
|
||||||
@ -1285,7 +1284,7 @@ this:
|
|||||||
|
|
||||||
set @menulist$[@j],@possiblemenuitems$[@i];
|
set @menulist$[@j],@possiblemenuitems$[@i];
|
||||||
|
|
||||||
// We just copied the string, we do need it's number for later
|
// We just copied the string, we do need its number for later
|
||||||
// though, so we record it as well.
|
// though, so we record it as well.
|
||||||
|
|
||||||
set @menureference[@j],@i;
|
set @menureference[@j],@i;
|
||||||
@ -1311,7 +1310,7 @@ dirty trick:
|
|||||||
menu @menulist$[0],-,@menulist$[1],-,....@menulist$[<X>],-;
|
menu @menulist$[0],-,@menulist$[1],-,....@menulist$[<X>],-;
|
||||||
|
|
||||||
This calls up a menu of all your items. Since you didn't copy some of the
|
This calls up a menu of all your items. Since you didn't copy some of the
|
||||||
possible menu items into the list, it's end is empty and so no menu items will
|
possible menu items into the list, its end is empty and so no menu items will
|
||||||
show up past the end. But this menu call doesn't jump anywhere, it just
|
show up past the end. But this menu call doesn't jump anywhere, it just
|
||||||
continues execution right after the menu command. (And it's a good thing it
|
continues execution right after the menu command. (And it's a good thing it
|
||||||
doesn't, cause you can only explicitly define labels to jump to, and how do you
|
doesn't, cause you can only explicitly define labels to jump to, and how do you
|
||||||
@ -1599,12 +1598,12 @@ You can pass multiple arguments in a function call:
|
|||||||
|
|
||||||
getarg(0) would be 5, getarg(1) would be 4 and getarg(2) would be 3.
|
getarg(0) would be 5, getarg(1) would be 4 and getarg(2) would be 3.
|
||||||
|
|
||||||
Getarg has an optional argument since trunk r10773 and stable r10958.
|
'getarg' has an optional argument since trunk r10773 and stable r10958.
|
||||||
If the target argument exists, it is returned.
|
If the target argument exists, it is returned.
|
||||||
Otherwise, if <default_value> is present it is returned instead,
|
Otherwise, if <default_value> is present it is returned instead,
|
||||||
if not the script terminates immediately.
|
if not the script terminates immediately.
|
||||||
|
|
||||||
in the previous example getarg(2,-1) would be 3 and getarg(3,-1) would be -1
|
In the previous example getarg(2,-1) would be 3 and getarg(3,-1) would be -1.
|
||||||
|
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
|
|
||||||
@ -2158,9 +2157,6 @@ Also useful when passing arrays to functions or accessing another npc's arrays:
|
|||||||
|
|
||||||
*readparam(<parameter number>{,"<character name>"})
|
*readparam(<parameter number>{,"<character name>"})
|
||||||
|
|
||||||
This function will return a unique ID number of the invoking character, or, if a
|
|
||||||
character name is specified, of that player.
|
|
||||||
|
|
||||||
This function will return the specified stat of the invoking character, or, if a
|
This function will return the specified stat of the invoking character, or, if a
|
||||||
character name is specified, of that player. The stat can either be a number or
|
character name is specified, of that player. The stat can either be a number or
|
||||||
paramter name, defined in 'db/const.txt'.
|
paramter name, defined in 'db/const.txt'.
|
||||||
@ -2469,7 +2465,7 @@ EQI_COSTUME_HEAD_TOP (13) - Upper Costume Headgear
|
|||||||
EQI_COSTUME_GARMENT (14) - Costume Garment
|
EQI_COSTUME_GARMENT (14) - Costume Garment
|
||||||
|
|
||||||
Notice that a few items occupy several equipment slots, and if the character is
|
Notice that a few items occupy several equipment slots, and if the character is
|
||||||
wearing such an item, 'getequipid' will return it's ID number for either slot.
|
wearing such an item, 'getequipid' will return its ID number for either slot.
|
||||||
|
|
||||||
Can be used to check if you have something equipped, or if you haven't got
|
Can be used to check if you have something equipped, or if you haven't got
|
||||||
something equipped:
|
something equipped:
|
||||||
@ -3578,6 +3574,7 @@ The renewal feature to check is determined by type.
|
|||||||
3,1.- Item-related commands
|
3,1.- Item-related commands
|
||||||
\\
|
\\
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
|
|
||||||
*isequipped(<id>{,<id>{,<id>{,<id>}}})
|
*isequipped(<id>{,<id>{,<id>{,<id>}}})
|
||||||
|
|
||||||
This function will return 1 if the invoking character has all of the item
|
This function will return 1 if the invoking character has all of the item
|
||||||
@ -3601,13 +3598,16 @@ in February 2005, but it will work just fine in normal NPC scripts.
|
|||||||
This function is similar to 'isequipped', but instead of 1 or 0, it will return
|
This function is similar to 'isequipped', but instead of 1 or 0, it will return
|
||||||
the number of cards in the list given that were found on the invoking character.
|
the number of cards in the list given that were found on the invoking character.
|
||||||
|
|
||||||
|
If a given parameter is not a card, the function returns the amount of that
|
||||||
|
item equipped on the invoking character.
|
||||||
|
|
||||||
if (isequippedcnt(4001,4005,4033,4196) == 4) mes "Finally got all four poring cards?";
|
if (isequippedcnt(4001,4005,4033,4196) == 4) mes "Finally got all four poring cards?";
|
||||||
|
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
|
|
||||||
*checkequipedcard(<card id>)
|
*checkequipedcard(<card id>)
|
||||||
|
|
||||||
This function will return 1 if the card specified by it's item ID number is
|
This function will return 1 if the card specified by its item ID number is
|
||||||
inserted into any equipment they have in their inventory, currently equipped or
|
inserted into any equipment they have in their inventory, currently equipped or
|
||||||
not.
|
not.
|
||||||
|
|
||||||
@ -3952,7 +3952,7 @@ The command will run for the invoking character unless an account ID is given.
|
|||||||
|
|
||||||
*classchange <view id>,<type>;
|
*classchange <view id>,<type>;
|
||||||
|
|
||||||
This command is very ancient, it's origins are clouded in mystery.
|
This command is very ancient, its origins are clouded in mystery.
|
||||||
It will send a 'display id change' packet to everyone in the immediate area of
|
It will send a 'display id change' packet to everyone in the immediate area of
|
||||||
the NPC object, which will supposedly make the NPC look like a different sprite,
|
the NPC object, which will supposedly make the NPC look like a different sprite,
|
||||||
an NPC sprite ID, or a monster ID. This effect is not stored anywhere and will
|
an NPC sprite ID, or a monster ID. This effect is not stored anywhere and will
|
||||||
@ -4072,7 +4072,7 @@ The knock-back is not restricted by items or map flags, only obstacles are taken
|
|||||||
into account. If there is not enough space to perform the push (e.g. due to a
|
into account. If there is not enough space to perform the push (e.g. due to a
|
||||||
wall), the character is pushed only up to the obstacle.
|
wall), the character is pushed only up to the obstacle.
|
||||||
|
|
||||||
// pushes the character 5 cells in 3 o'clock direction from it's
|
// pushes the character 5 cells in 3 o'clock direction from its
|
||||||
// current position.
|
// current position.
|
||||||
pushpc DIR_EAST, 5;
|
pushpc DIR_EAST, 5;
|
||||||
|
|
||||||
@ -4122,7 +4122,7 @@ current SVN, drops only Jellopies anyway.
|
|||||||
This transaction is logged if the log script generated transactions option is
|
This transaction is logged if the log script generated transactions option is
|
||||||
enabled.
|
enabled.
|
||||||
|
|
||||||
You may also create an item by it's name in the 'english name' field in the
|
You may also create an item by its name in the 'english name' field in the
|
||||||
item database:
|
item database:
|
||||||
|
|
||||||
getitem "RED_POTION",10;
|
getitem "RED_POTION",10;
|
||||||
@ -4743,7 +4743,7 @@ any guild.
|
|||||||
|
|
||||||
This command will bump up the specified guild skill by the specified number of
|
This command will bump up the specified guild skill by the specified number of
|
||||||
levels. This refers to the invoking character and will only work if the invoking
|
levels. This refers to the invoking character and will only work if the invoking
|
||||||
character is a member of a guild AND it's guild master, otherwise no failure
|
character is a member of a guild AND its guild master, otherwise no failure
|
||||||
message will be given and no error will occur, but nothing will happen - same
|
message will be given and no error will occur, but nothing will happen - same
|
||||||
about the guild skill trying to exceed the possible maximum. The full list of
|
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
|
guild skills is available in 'db/(pre-)re/skill_db.txt', these are all the GD_ skills at
|
||||||
@ -5362,7 +5362,7 @@ four arguments serve the same purpose as in the monster script command, The
|
|||||||
If <master id> is given, the clone will be a 'slave/minion' of it. Master_id
|
If <master id> is given, the clone will be a 'slave/minion' of it. Master_id
|
||||||
must be a character id of another online player.
|
must be a character id of another online player.
|
||||||
|
|
||||||
The mode can be specified to determine the behavior of the clone, it's
|
The mode can be specified to determine the behavior of the clone. Its
|
||||||
values are the same as the ones used for the mode field in the mob_db. The
|
values are the same as the ones used for the mode field in the mob_db. The
|
||||||
default mode is aggressive, assists, can move, can attack.
|
default mode is aggressive, assists, can move, can attack.
|
||||||
|
|
||||||
@ -6926,7 +6926,7 @@ Example:
|
|||||||
*strtoupper(<string>)
|
*strtoupper(<string>)
|
||||||
*strtolower(<string>)
|
*strtolower(<string>)
|
||||||
|
|
||||||
Returns the specified string in it's uppercase/lowercase form.
|
Returns the specified string in its uppercase/lowercase form.
|
||||||
All non-alpha characters will be preserved.
|
All non-alpha characters will be preserved.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
@ -6961,7 +6961,7 @@ Example:
|
|||||||
Breaks a string up into substrings based on the specified delimiter. Substrings
|
Breaks a string up into substrings based on the specified delimiter. Substrings
|
||||||
will be stored within the specified string array. Only the 1st char of the
|
will be stored within the specified string array. Only the 1st char of the
|
||||||
delimiter parameter will be used. If an empty string is passed as a delimiter,
|
delimiter parameter will be used. If an empty string is passed as a delimiter,
|
||||||
the string will be placed in the array in it's original form.
|
the string will be placed in the array in its original form.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
explode(.@my_array$, "Explode:Test:1965:red:PIE", ":");
|
explode(.@my_array$, "Explode:Test:1965:red:PIE", ":");
|
||||||
|
@ -955,9 +955,8 @@ int channel_pcsetopt(struct map_session_data *sd, char *chname, const char *opti
|
|||||||
return -1;
|
return -1;
|
||||||
} else {
|
} else {
|
||||||
channel->opt |= k;
|
channel->opt |= k;
|
||||||
sprintf(output, msg_txt(sd,1450), opt_str[k],channel->name);// Option '%s' is enabled for channel '%s'.
|
sprintf(output, msg_txt(sd,1450), opt_str[k],channel->name);// Option '%s' is enabled for channel '#%s'.
|
||||||
clif_displaymessage(sd->fd, output);
|
clif_displaymessage(sd->fd, output);
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
int v = atoi(val);
|
int v = atoi(val);
|
||||||
@ -965,42 +964,39 @@ int channel_pcsetopt(struct map_session_data *sd, char *chname, const char *opti
|
|||||||
if( v < 0 || v > 10 ) {
|
if( v < 0 || v > 10 ) {
|
||||||
sprintf(output, msg_txt(sd,1451), v, opt_str[k]);// Value '%d' for option '%s' is out of range (limit 0-10).
|
sprintf(output, msg_txt(sd,1451), v, opt_str[k]);// Value '%d' for option '%s' is out of range (limit 0-10).
|
||||||
clif_displaymessage(sd->fd, output);
|
clif_displaymessage(sd->fd, output);
|
||||||
return false;
|
return -1;
|
||||||
}
|
}
|
||||||
if( v == 0 ) {
|
if( v == 0 ) {
|
||||||
channel->opt &=~ k;
|
channel->opt &=~ k;
|
||||||
channel->msg_delay = 0;
|
channel->msg_delay = 0;
|
||||||
sprintf(output, msg_txt(sd,1453), opt_str[k],channel->name,v);// Option '%s' is disabled for channel '%s'.
|
sprintf(output, msg_txt(sd,1453), opt_str[k],channel->name,v);// Option '%s' is disabled for channel '#%s'.
|
||||||
clif_displaymessage(sd->fd, output);
|
clif_displaymessage(sd->fd, output);
|
||||||
return true;
|
|
||||||
} else {
|
} else {
|
||||||
channel->opt |= k;
|
channel->opt |= k;
|
||||||
channel->msg_delay = v;
|
channel->msg_delay = v;
|
||||||
sprintf(output, msg_txt(sd,1452), opt_str[k],channel->name,v);// Option '%s' is enabled for channel '%s' at %d seconds.
|
sprintf(output, msg_txt(sd,1452), opt_str[k],channel->name,v);// Option '%s' is enabled for channel '#%s' at %d seconds.
|
||||||
clif_displaymessage(sd->fd, output);
|
clif_displaymessage(sd->fd, output);
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if( v ) {
|
if( v ) {
|
||||||
if( channel->opt & k ) {
|
if( channel->opt & k ) {
|
||||||
sprintf(output, msg_txt(sd,1449), opt_str[k],opt_str[k]); // Option '%s' is already enabled (use '@channel setopt %s 0' to disable).
|
sprintf(output, msg_txt(sd,1449), opt_str[k],opt_str[k]); // Option '%s' is already enabled (use '@channel setopt %s 0' to disable).
|
||||||
clif_displaymessage(sd->fd, output);
|
clif_displaymessage(sd->fd, output);
|
||||||
return false;
|
return -1;
|
||||||
} else {
|
} else {
|
||||||
channel->opt |= k;
|
channel->opt |= k;
|
||||||
sprintf(output, msg_txt(sd,1450), opt_str[k],channel->name);// Option '%s' is enabled for channel '%s'.
|
sprintf(output, msg_txt(sd,1450), opt_str[k],channel->name);// Option '%s' is enabled for channel '#%s'.
|
||||||
clif_displaymessage(sd->fd, output);
|
clif_displaymessage(sd->fd, output);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if( !(channel->opt & k) ) {
|
if( !(channel->opt & k) ) {
|
||||||
sprintf(output, msg_txt(sd,1450), opt_str[k],channel->name); // Option '%s' is enabled for channel '%s'.
|
sprintf(output, msg_txt(sd,1450), opt_str[k],channel->name); // Option '%s' is enabled for channel '#%s'.
|
||||||
clif_displaymessage(sd->fd, output);
|
clif_displaymessage(sd->fd, output);
|
||||||
return false;
|
return -1;
|
||||||
} else {
|
} else {
|
||||||
channel->opt &=~ k;
|
channel->opt &=~ k;
|
||||||
sprintf(output, msg_txt(sd,1453), opt_str[k],channel->name);// Option '%s' is disabled for channel '%s'.
|
sprintf(output, msg_txt(sd,1453), opt_str[k],channel->name);// Option '%s' is disabled for channel '#%s'.
|
||||||
clif_displaymessage(sd->fd, output);
|
clif_displaymessage(sd->fd, output);
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4319,11 +4319,11 @@ int pc_useitem(struct map_session_data *sd,int n)
|
|||||||
int e_tick = DIFF_TICK(sd->item_delay[i].tick, tick)/1000;
|
int e_tick = DIFF_TICK(sd->item_delay[i].tick, tick)/1000;
|
||||||
char e_msg[100];
|
char e_msg[100];
|
||||||
if( e_tick > 99 )
|
if( e_tick > 99 )
|
||||||
sprintf(e_msg,msg_txt(sd,379), //Item Failed. [%s] is cooling down. wait %.1f minutes.
|
sprintf(e_msg,msg_txt(sd,379), //Item Failed. [%s] is cooling down. Wait %.1f minutes.
|
||||||
itemdb_jname(sd->status.inventory[n].nameid),
|
itemdb_jname(sd->status.inventory[n].nameid),
|
||||||
(double)e_tick / 60);
|
(double)e_tick / 60);
|
||||||
else
|
else
|
||||||
sprintf(e_msg,msg_txt(sd,380), //Item Failed. [%s] is cooling down. wait %d seconds.
|
sprintf(e_msg,msg_txt(sd,380), //Item Failed. [%s] is cooling down. Wait %d seconds.
|
||||||
itemdb_jname(sd->status.inventory[n].nameid),
|
itemdb_jname(sd->status.inventory[n].nameid),
|
||||||
e_tick+1);
|
e_tick+1);
|
||||||
clif_colormes(sd,color_table[COLOR_RED],e_msg);
|
clif_colormes(sd,color_table[COLOR_RED],e_msg);
|
||||||
|
@ -13262,7 +13262,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
|
|||||||
if (map_foreachinrange(mob_count_sub, &sd->bl, skill_get_splash(skill_id, skill_lv), BL_MOB,
|
if (map_foreachinrange(mob_count_sub, &sd->bl, skill_get_splash(skill_id, skill_lv), BL_MOB,
|
||||||
MOBID_EMPERIUM, MOBID_GUARIDAN_STONE1, MOBID_GUARIDAN_STONE2)) {
|
MOBID_EMPERIUM, MOBID_GUARIDAN_STONE1, MOBID_GUARIDAN_STONE2)) {
|
||||||
char output[128];
|
char output[128];
|
||||||
sprintf(output,"%s",msg_txt(sd,382)); // You're too close to a stone or emperium to do this skill
|
sprintf(output,"%s",msg_txt(sd,382)); // You're too close to a stone or emperium to use this skill.
|
||||||
clif_colormes(sd,color_table[COLOR_RED], output);
|
clif_colormes(sd,color_table[COLOR_RED], output);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -13630,7 +13630,7 @@ int skill_check_condition_castend(struct map_session_data* sd, uint16 skill_id,
|
|||||||
return 0;
|
return 0;
|
||||||
} else if( sd->status.inventory[i].amount < require.ammo_qty ) {
|
} else if( sd->status.inventory[i].amount < require.ammo_qty ) {
|
||||||
char e_msg[100];
|
char e_msg[100];
|
||||||
sprintf(e_msg,msg_txt(sd,381), //Skill Failed. [%s] requires %dx %s
|
sprintf(e_msg,msg_txt(sd,381), //Skill Failed. [%s] requires %dx %s.
|
||||||
skill_get_desc(skill_id),
|
skill_get_desc(skill_id),
|
||||||
require.ammo_qty,
|
require.ammo_qty,
|
||||||
itemdb_jname(sd->status.inventory[i].nameid));
|
itemdb_jname(sd->status.inventory[i].nameid));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user