- Implemented "item_nouse.txt" to prevent players from using items under certain flags (which are pre-determined). Thanks to Muad_Dib for providing the item list for this db.
- Updated Portuguese translation. git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17308 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
ad11dd689a
commit
88ffdd2e3d
@ -1419,10 +1419,10 @@
|
|||||||
|
|
||||||
// @channel
|
// @channel
|
||||||
1404: %s falhou.
|
1404: %s falhou.
|
||||||
1405: O nome do Canal deve começar com '#'.
|
1405: O nome do canal deve começar com '#'.
|
||||||
1406: O tamanho do Canal deve ter entre 3 e %d caracteres.
|
1406: O tamanho do canal deve ter entre 3 e %d caracteres.
|
||||||
1407: O Canal '%s' não está disponível.
|
1407: O canal '%s' não está disponível.
|
||||||
1408: A senha do Canal não pode conter espaços.
|
1408: A senha do canal não pode conter espaços.
|
||||||
1409: - #%s (%d usuários)
|
1409: - #%s (%d usuários)
|
||||||
1410: ---- Canais Públicos ----
|
1410: ---- Canais Públicos ----
|
||||||
1411: Cor '%s' desconhecida.
|
1411: Cor '%s' desconhecida.
|
||||||
@ -1450,6 +1450,47 @@
|
|||||||
1433: O seu chat global foi desunido do canal '#%s'.
|
1433: O seu chat global foi desunido do canal '#%s'.
|
||||||
1434: Você já está no canal '%s'.
|
1434: Você já está no canal '%s'.
|
||||||
1435: Você agora está no canal '#%s' para '%s'.
|
1435: Você agora está no canal '#%s' para '%s'.
|
||||||
|
1436: A senha do canal não pode exceder %d caracteres.
|
||||||
|
1437: O jogador '%s' está banido do canal '%s'.
|
||||||
|
1438: Você está banido do canal '%s'.
|
||||||
|
1439: O canal '%s' não possui jogadores banidos.
|
||||||
|
1440: O jogador '%s' não está banido neste canal.
|
||||||
|
1441: O jogador '%s' está desbanido do canal '%s'.
|
||||||
|
1442: Removido todos os jogadores banidos do canal '%s'.
|
||||||
|
1443: ---- '#%s' ~ Lista de Banidos:
|
||||||
|
1444: ---- Cores Disponíveis ----
|
||||||
|
1445: - %s
|
||||||
|
1446: Você precisa digitar uma opção.
|
||||||
|
1447: Opção do canal '%s' desconhecida.
|
||||||
|
1448: O canal '%s' foi deletado.
|
||||||
|
1449: A opção '%s' já está habilitada (use '@channel setopt %s 0' para desabilitá-la).
|
||||||
|
1450: A opção '%s' está habilitada para o canal '%s'.
|
||||||
|
1451: O valor '%d' para a opção '%s' está fora dos limites (de 0 até 10).
|
||||||
|
1452: A opção '%s' está habilitada para o canal '%s' em %d segundos.
|
||||||
|
1453: A opção '%s' está desabilitada para o canal '%s'.
|
||||||
|
//1454 livre
|
||||||
|
1455: Você está digitando muito rápido!
|
||||||
|
1456: * %s ban <#nome_do_canal> <jogador>
|
||||||
|
1457: -- Bane o jogador especificado do canal.
|
||||||
|
1458: * %s banlist <#nome_do_canal>
|
||||||
|
1459: -- Lista todos os jogadores banidos do canal.
|
||||||
|
1460: * %s unban <#nome_do_canal> <jogador>
|
||||||
|
1461: -- Desbane o jogador especificado do canal.
|
||||||
|
1462: * %s setopt <#nome_do_canal> <opção> <valor>
|
||||||
|
1463: -- Define uma opção e valor para o canal.
|
||||||
|
1464: Banimento falhou para o jogador '%s'.
|
||||||
|
1465: O jogador '%s' já está banido neste canal.
|
||||||
|
1466: Entre com o número de segundos (0-10) para a opção '%s'.
|
||||||
|
1467: * %s unbanall <#nome_do_canal>
|
||||||
|
1468: -- Remove todos os banimentos do canal.
|
||||||
|
1469: * %s delete <#nome_do_canal>
|
||||||
|
1470: -- Destrói o canal.
|
||||||
|
1471: * %s list mine
|
||||||
|
1472: -- Lista todos os canais que você tenha participado.
|
||||||
|
1473: * %s join <#nome_do_canal> <senha_do_canal>
|
||||||
|
1474: -- Entra em um canal.
|
||||||
|
1475: ---- Meus Canais ----
|
||||||
|
1476: Você ainda não está em nenhum canal.
|
||||||
|
|
||||||
//Custom translations
|
//Custom translations
|
||||||
//import: conf/msg_conf/import/map_msg_por_conf.txt
|
//import: conf/msg_conf/import/map_msg_por_conf.txt
|
||||||
|
132
db/item_nouse.txt
Normal file
132
db/item_nouse.txt
Normal file
@ -0,0 +1,132 @@
|
|||||||
|
// Item Usage Restriction Configuration File
|
||||||
|
// Defines if an item cannot be used under certain circumstances
|
||||||
|
// Syntax: <item_id>, <flag>, <group_id_override>
|
||||||
|
// flag:
|
||||||
|
// 1 = Cannot use item while sitting
|
||||||
|
// X = more to come soon [TODO]
|
||||||
|
// group_id_override: group id necessary to override this setting
|
||||||
|
|
||||||
|
619,1,100 // Unripe_Apple
|
||||||
|
620,1,100 // Orange_Juice
|
||||||
|
621,1,100 // Bitter_Herb
|
||||||
|
622,1,100 // Rainbow_Carrot
|
||||||
|
623,1,100 // Earthworm_The_Dude
|
||||||
|
624,1,100 // Rotten_Fish
|
||||||
|
625,1,100 // Lusty_Iron
|
||||||
|
626,1,100 // Monster_Juice
|
||||||
|
627,1,100 // Sweet_Milk
|
||||||
|
628,1,100 // Well_Dried_Bone
|
||||||
|
629,1,100 // Singing_Flower
|
||||||
|
630,1,100 // Dew_Laden_Moss
|
||||||
|
631,1,100 // Deadly_Noxious_Herb
|
||||||
|
632,1,100 // Fatty_Chubby_Earthworm
|
||||||
|
633,1,100 // Baked_Yam
|
||||||
|
634,1,100 // Tropical_Banana
|
||||||
|
635,1,100 // Horror_Of_Tribe
|
||||||
|
636,1,100 // No_Recipient
|
||||||
|
637,1,100 // Old_Broom
|
||||||
|
638,1,100 // Silver_Knife_Of_Chaste
|
||||||
|
639,1,100 // Armlet_Of_Obedience
|
||||||
|
640,1,100 // Shining_Stone
|
||||||
|
641,1,100 // Contracts_In_Shadow
|
||||||
|
642,1,100 // Book_Of_Devil
|
||||||
|
659,1,100 // Heart_Of_Her
|
||||||
|
660,1,100 // Prohibition_Red_Candle
|
||||||
|
661,1,100 // Sway_Apron
|
||||||
|
686,1,100 // Earth_Scroll_1_3
|
||||||
|
687,1,100 // Earth_Scroll_1_5
|
||||||
|
688,1,100 // Cold_Scroll_1_3
|
||||||
|
689,1,100 // Cold_Scroll_1_5
|
||||||
|
690,1,100 // Fire_Scroll_1_3
|
||||||
|
691,1,100 // Fire_Scroll_1_5
|
||||||
|
692,1,100 // Wind_Scroll_1_3
|
||||||
|
693,1,100 // Wind_Scroll_1_5
|
||||||
|
694,1,100 // Ghost_Scroll_1_3
|
||||||
|
695,1,100 // Ghost_Scroll_1_5
|
||||||
|
696,1,100 // Fire_Scroll_2_1
|
||||||
|
697,1,100 // Fire_Scroll_2_5
|
||||||
|
698,1,100 // Fire_Scroll_3_1
|
||||||
|
699,1,100 // Fire_Scroll_3_5
|
||||||
|
700,1,100 // Cold_Scroll_2_1
|
||||||
|
11702,1,100 // Moon_Cookie
|
||||||
|
12000,1,100 // Cold_Scroll_2_5
|
||||||
|
12001,1,100 // Holy_Scroll_1_3
|
||||||
|
12002,1,100 // Holy_Scroll_1_5
|
||||||
|
12027,1,100 // Giggling_Box
|
||||||
|
12028,1,100 // Box_Of_Thunder
|
||||||
|
12029,1,100 // Gloomy_Box
|
||||||
|
12030,1,100 // Box_Of_Grudge
|
||||||
|
12031,1,100 // Sleepy_Box
|
||||||
|
12032,1,100 // Box_Of_Storm
|
||||||
|
12033,1,100 // Box_Of_Sunlight
|
||||||
|
12034,1,100 // Painting_Box
|
||||||
|
12215,1,100 // Blessing_10_Scroll
|
||||||
|
12216,1,100 // Inc_Agi_10_Scroll
|
||||||
|
12217,1,100 // Aspersio_5_Scroll
|
||||||
|
12218,1,100 // Assumptio_5_Scroll
|
||||||
|
12219,1,100 // Wind_Walk_10_Scroll
|
||||||
|
12220,1,100 // Adrenaline_Scroll
|
||||||
|
12225,1,100 // Sweet_Candy_Striper
|
||||||
|
12235,1,100 // Strawberry_Choco
|
||||||
|
12236,1,100 // Choco_Tart
|
||||||
|
12237,1,100 // Choco_Lump
|
||||||
|
12290,1,100 // Mysterious_Can
|
||||||
|
12291,1,100 // Mysterious_PET_Bottle
|
||||||
|
12310,1,100 // Spray_Of_Flowers
|
||||||
|
12311,1,100 // Large_Spray_Of_Flowers
|
||||||
|
12313,1,100 // Protection_Of_Angel
|
||||||
|
12323,1,100 // N_Fly_Wing
|
||||||
|
12324,1,100 // N_Butterfly_Wing
|
||||||
|
12325,1,100 // N_Magnifier
|
||||||
|
12340,1,100 // Mysterious_Rice_Powder
|
||||||
|
12347,1,100 // Acorn_Jelly
|
||||||
|
12350,1,100 // Angeling_Potion
|
||||||
|
12358,1,100 // Fan_Of_Wind
|
||||||
|
12359,1,100 // Very_Soft_Plant
|
||||||
|
12360,1,100 // Very_Red_Juice
|
||||||
|
12361,1,100 // Delicious_Shaved_Ice
|
||||||
|
12362,1,100 // Kuloren
|
||||||
|
12363,1,100 // Fit_Pipe
|
||||||
|
12364,1,100 // Staff_Of_Leader
|
||||||
|
12365,1,100 // Charming_Lotus
|
||||||
|
12366,1,100 // Gril_Doll
|
||||||
|
12367,1,100 // Luxury_Whisky_Bottle
|
||||||
|
12368,1,100 // Splendid_Mirror
|
||||||
|
12369,1,100 // Oilpalm_Coconut
|
||||||
|
12370,1,100 // Gril's_Naivety
|
||||||
|
12371,1,100 // Magical_Lithography
|
||||||
|
12372,1,100 // Hell_Contract
|
||||||
|
12373,1,100 // Boy's_Naivety
|
||||||
|
12374,1,100 // Flaming_Ice
|
||||||
|
12376,1,100 // Mysterious_Can2
|
||||||
|
12377,1,100 // Mysterious_PET_Bottle2
|
||||||
|
12388,1,100 // Runstone_Crush
|
||||||
|
12389,1,100 // Runstone_Storm
|
||||||
|
12390,1,100 // Runstone_Millennium
|
||||||
|
12396,1,100 // Fools_Day_Box
|
||||||
|
12397,1,100 // Fools_Day_Box2
|
||||||
|
12415,1,100 // Siege_Teleport_Scroll2
|
||||||
|
12473,1,100 // RWC_Parti_Box
|
||||||
|
12474,1,100 // RWC_Final_Comp_Box
|
||||||
|
12706,1,100 // Lucky_Cookie01
|
||||||
|
12707,1,100 // Lucky_Cookie02
|
||||||
|
12708,1,100 // Lucky_Cookie03
|
||||||
|
12725,1,100 // Runstone_Nosiege
|
||||||
|
12726,1,100 // Runstone_Rhydo
|
||||||
|
12727,1,100 // Runstone_Verkana
|
||||||
|
12728,1,100 // Runstone_Isia
|
||||||
|
12729,1,100 // Runstone_Asir
|
||||||
|
12730,1,100 // Runstone_Urj
|
||||||
|
12731,1,100 // Runstone_Turisus
|
||||||
|
12732,1,100 // Runstone_Pertz
|
||||||
|
12733,1,100 // Runstone_Hagalas
|
||||||
|
14521,1,100 // Repair_Scroll
|
||||||
|
14529,1,100 // Greed_Scroll
|
||||||
|
14532,1,100 // Battle_Manual25
|
||||||
|
14587,1,100 // Repair_Scroll_
|
||||||
|
14591,1,100 // Siege_Teleport_Scroll
|
||||||
|
14592,1,100 // Job_Manual50
|
||||||
|
14593,1,100 // Magic_Power_Scroll
|
||||||
|
14594,1,100 // Quagmire_Scroll
|
||||||
|
14599,1,100 // Greed_Scroll_C
|
||||||
|
14606,1,100 // Job_Manual25
|
@ -738,6 +738,31 @@ static bool itemdb_read_buyingstore(char* fields[], int columns, int current)
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*******************************************
|
||||||
|
** Item usage restriction (item_nouse.txt)
|
||||||
|
********************************************/
|
||||||
|
static bool itemdb_read_nouse(char* fields[], int columns, int current)
|
||||||
|
{// <nameid>,<flag>,<override>
|
||||||
|
int nameid, flag, override;
|
||||||
|
struct item_data* id;
|
||||||
|
|
||||||
|
nameid = atoi(fields[0]);
|
||||||
|
|
||||||
|
if( ( id = itemdb_exists(nameid) ) == NULL ) {
|
||||||
|
ShowWarning("itemdb_read_nouse: Invalid item id %d.\n", nameid);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
flag = atoi(fields[1]);
|
||||||
|
override = atoi(fields[2]);
|
||||||
|
|
||||||
|
id->item_usage.flag = flag;
|
||||||
|
id->item_usage.override = override;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return: amount of retrieved entries.
|
* @return: amount of retrieved entries.
|
||||||
**/
|
**/
|
||||||
@ -1316,7 +1341,8 @@ static void itemdb_read(void) {
|
|||||||
sv_readdb(db_path, "item_delay.txt", ',', 2, 2, -1, &itemdb_read_itemdelay);
|
sv_readdb(db_path, "item_delay.txt", ',', 2, 2, -1, &itemdb_read_itemdelay);
|
||||||
sv_readdb(db_path, "item_stack.txt", ',', 3, 3, -1, &itemdb_read_stack);
|
sv_readdb(db_path, "item_stack.txt", ',', 3, 3, -1, &itemdb_read_stack);
|
||||||
sv_readdb(db_path, DBPATH"item_buyingstore.txt", ',', 1, 1, -1, &itemdb_read_buyingstore);
|
sv_readdb(db_path, DBPATH"item_buyingstore.txt", ',', 1, 1, -1, &itemdb_read_buyingstore);
|
||||||
|
sv_readdb(db_path, "item_nouse.txt", ',', 3, 3, -1, &itemdb_read_nouse);
|
||||||
|
|
||||||
itemdb_uid_load();
|
itemdb_uid_load();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -69,6 +69,10 @@ enum {
|
|||||||
ITEMID_SPECIAL_COOLER,
|
ITEMID_SPECIAL_COOLER,
|
||||||
} mecha_item_list;
|
} mecha_item_list;
|
||||||
|
|
||||||
|
enum {
|
||||||
|
NOUSE_SITTING = 0x01,
|
||||||
|
} item_nouse_list;
|
||||||
|
|
||||||
//The only item group required by the code to be known. See const.txt for the full list.
|
//The only item group required by the code to be known. See const.txt for the full list.
|
||||||
#define IG_FINDINGORE 6
|
#define IG_FINDINGORE 6
|
||||||
#define IG_POTION 37
|
#define IG_POTION 37
|
||||||
@ -138,6 +142,10 @@ struct item_data {
|
|||||||
unsigned int storage:1;
|
unsigned int storage:1;
|
||||||
unsigned int guildstorage:1;
|
unsigned int guildstorage:1;
|
||||||
} stack;
|
} stack;
|
||||||
|
struct {// used by item_nouse.txt
|
||||||
|
unsigned int flag;
|
||||||
|
unsigned short override;
|
||||||
|
} item_usage;
|
||||||
short gm_lv_trade_override; //GM-level to override trade_restriction
|
short gm_lv_trade_override; //GM-level to override trade_restriction
|
||||||
/* bugreport:309 */
|
/* bugreport:309 */
|
||||||
struct item_combo **combos;
|
struct item_combo **combos;
|
||||||
|
@ -4107,6 +4107,10 @@ int pc_isUseitem(struct map_session_data *sd,int n)
|
|||||||
return 0;
|
return 0;
|
||||||
if( !item->script ) //if it has no script, you can't really consume it!
|
if( !item->script ) //if it has no script, you can't really consume it!
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
if( (item->item_usage.flag&NOUSE_SITTING) && (pc_issit(sd) == 1) && (pc_get_group_level(sd) < item->item_usage.override) ) {
|
||||||
|
return 0; // You cannot use this item while sitting.
|
||||||
|
}
|
||||||
|
|
||||||
switch( nameid ) //@TODO, lot oh harcoded nameid here
|
switch( nameid ) //@TODO, lot oh harcoded nameid here
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user