- 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
|
||||
1404: %s falhou.
|
||||
1405: O nome do Canal deve começar com '#'.
|
||||
1406: O tamanho do Canal deve ter entre 3 e %d caracteres.
|
||||
1407: O Canal '%s' não está disponível.
|
||||
1408: A senha do Canal não pode conter espaços.
|
||||
1405: O nome do canal deve começar com '#'.
|
||||
1406: O tamanho do canal deve ter entre 3 e %d caracteres.
|
||||
1407: O canal '%s' não está disponível.
|
||||
1408: A senha do canal não pode conter espaços.
|
||||
1409: - #%s (%d usuários)
|
||||
1410: ---- Canais Públicos ----
|
||||
1411: Cor '%s' desconhecida.
|
||||
@ -1450,6 +1450,47 @@
|
||||
1433: O seu chat global foi desunido do canal '#%s'.
|
||||
1434: Você já está no canal '%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
|
||||
//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;
|
||||
}
|
||||
|
||||
/*******************************************
|
||||
** 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.
|
||||
**/
|
||||
@ -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_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, "item_nouse.txt", ',', 3, 3, -1, &itemdb_read_nouse);
|
||||
|
||||
itemdb_uid_load();
|
||||
}
|
||||
|
||||
|
@ -69,6 +69,10 @@ enum {
|
||||
ITEMID_SPECIAL_COOLER,
|
||||
} 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.
|
||||
#define IG_FINDINGORE 6
|
||||
#define IG_POTION 37
|
||||
@ -138,6 +142,10 @@ struct item_data {
|
||||
unsigned int storage:1;
|
||||
unsigned int guildstorage:1;
|
||||
} 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
|
||||
/* bugreport:309 */
|
||||
struct item_combo **combos;
|
||||
|
@ -4107,6 +4107,10 @@ int pc_isUseitem(struct map_session_data *sd,int n)
|
||||
return 0;
|
||||
if( !item->script ) //if it has no script, you can't really consume it!
|
||||
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
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user