-
Total de itens
508 -
Registro em
-
Última visita
-
Prêmios recebidos
7
Tudo que -= JRGames =- postou
-
Max attack speed/casting speed/run speed?
pergunta respondeu ao Vipering de -= JRGames =- em Dúvidas
USE ESTE MOD --> P.ATK/M.ATK SPEED LIMITE -
Comprando qualquer item a partir do private store
Tópico respondeu ao coldplay de -= JRGames =- em Servidores
Bela iniciativa gostei bastante do conteúdo, vai compartilhar connosco quando estiver totalmente pronto ? -
Entra em contato com ele por aqui --> FACEBOOK
-
-
Aqui no Forum tem alguns modelos Top de linha, Exemplos: icpnetworks-v3 ou Sites em wordpress
-
source L2JProject Source + Pack
Tópico respondeu ao MATA_VALAKAS de -= JRGames =- em CT0 ~ Interlude
@Mr.Kadu cite oproblemas da proteção, e questão de backdoors só se o membro que postou tiver colocado quando eu a fiz não coloquei nada disso. -
eu entrei em contato com o dono do l2rock a um tempo atrás sobre a interface dele ele ate vende mais o valor e meio salgado. te manda no privado essa questão caso queira falar com ele.
-
source L2JProject Source + Pack
Tópico respondeu ao MATA_VALAKAS de -= JRGames =- em CT0 ~ Interlude
Maioria dos Mods Removidos de Revisões que tem aqui mesmo no fórum fora isso, restante dos créditos são: @BAN - L2JDev, @S.Christian, @william, @megapack, Oseias Garcez, @-= JRGames =- e outros de fóruns gringos. única coisa que esta feito nela e alguns mods e ainda precisa de algumas correções, não foi feito nenhuma correção em game. Obs. os arquivos originais são meus -
Valakas Instance/Arena/Dungeon 01 for all L2 clients
Tópico respondeu ao deMEV de -= JRGames =- em Download
arena top linda demais parabéns. -
char nascendo cada um na sua cidade REV ACIS
Tópico respondeu ao CHIWDER de -= JRGames =- em Tutoriais
se for acis mais antiga pega uma base limpa e muda os Spawn spawnX - spawnY - spawnZ de todas as classes segue o exemplo: Se for acis mais nova acima da 400: ou seja ve qual seria e pege os Spawns no servidor limpo e adicione no seu. -
PSD = Bordas transparentes 100% (Parte 2) Quase todas do classic 1.0
Tópico respondeu ao rogeriomorais de -= JRGames =- em Conteúdo Offline
Link Off Quem ainda tiver poderia postar novamente Obrigado. Link Off Quem ainda tiver poderia postar novamente Obrigado. -
qual seria esta acis de mais informações por favor.
-
revise os dados da sua conexão com mysql
-
Amigo já tem um tempão que parei de mexer nela e atualizei para uma nova acis Mais vê ai o que pode fazer nela obs não tenho mais o backup nem o patch terá que fazer você mesmo. Projeto 382
-
raidboss_spawnlist para RaidBoss e grandboss_data para Epic Boss
-
https://pastebin.com/bDZ8ALDm creditos @Sarada
-
só você criar ao seu gosto as html usa esta que esta ai como exemplo e vai fuçando ate sair algo que lhe agrade.
-
esta faltando o arquivo dos icones " costume_ico " Se tiver poste pra galera obrigado.
-
Alguém poderia me ajudar nessa adaptação mod?
pergunta respondeu ao WesleyXP de -= JRGames =- em Dúvidas
mande MP que lhe ajudo e você posta pro pessoal o resultado. -
Tattoo's Lefts e Rights Para C4
Tópico respondeu ao elquimaeleangelica de -= JRGames =- em C1 - Interlude
1 10101 0 3 1 6 0 dropitems.drop_lesser_potion_m00 dropitemstex.drop_lesser_potion_green_t00 icon.etc_str_symbol_i00 90 0 38 0 0 10 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 LineageEffect.p_u002_a 4 MonSound.Hit_normal_3 ItemSound.armor_leather_3 ItemSound.armor_leather_3 MonSound.Hit_Shell_1 ItemSound.itemdrop_sack ItemSound.itemequip_armor_cloth 1 0 1 0 0 0 0 0 1 10102 0 3 1 6 0 dropitems.drop_lesser_potion_m00 dropitemstex.drop_lesser_potion_green_t00 icon.etc_str_symbol_i00 90 0 38 0 0 10 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 LineageEffect.p_u002_a 4 MonSound.Hit_normal_3 ItemSound.armor_leather_3 ItemSound.armor_leather_3 MonSound.Hit_Shell_1 ItemSound.itemdrop_sack ItemSound.itemequip_armor_cloth 1 0 1 0 0 0 0 0 1 10103 0 3 1 6 0 dropitems.drop_lesser_potion_m00 dropitemstex.drop_lesser_potion_green_t00 icon.etc_dex_symbol_i00 90 0 38 0 0 10 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 LineageEffect.p_u002_a 4 MonSound.Hit_normal_3 ItemSound.armor_leather_3 ItemSound.armor_leather_3 MonSound.Hit_Shell_1 ItemSound.itemdrop_sack ItemSound.itemequip_armor_cloth 1 0 1 0 0 0 0 0 1 10104 0 3 1 6 0 dropitems.drop_lesser_potion_m00 dropitemstex.drop_lesser_potion_green_t00 icon.etc_dex_symbol_i00 90 0 38 0 0 10 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 LineageEffect.p_u002_a 4 MonSound.Hit_normal_3 ItemSound.armor_leather_3 ItemSound.armor_leather_3 MonSound.Hit_Shell_1 ItemSound.itemdrop_sack ItemSound.itemequip_armor_cloth 1 0 1 0 0 0 0 0 1 10105 0 3 1 6 0 dropitems.drop_lesser_potion_m00 dropitemstex.drop_lesser_potion_green_t00 icon.etc_con_symbol_i00 90 0 38 0 0 10 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 LineageEffect.p_u002_a 4 MonSound.Hit_normal_3 ItemSound.armor_leather_3 ItemSound.armor_leather_3 MonSound.Hit_Shell_1 ItemSound.itemdrop_sack ItemSound.itemequip_armor_cloth 1 0 1 0 0 0 0 0 1 10106 0 3 1 6 0 dropitems.drop_lesser_potion_m00 dropitemstex.drop_lesser_potion_green_t00 icon.etc_dex_symbol_i00 90 0 38 0 0 10 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 LineageEffect.p_u002_a 4 MonSound.Hit_normal_3 ItemSound.armor_leather_3 ItemSound.armor_leather_3 MonSound.Hit_Shell_1 ItemSound.itemdrop_sack ItemSound.itemequip_armor_cloth 1 0 1 0 0 0 0 0 1 10107 0 3 1 6 0 dropitems.drop_lesser_potion_m00 dropitemstex.drop_lesser_potion_green_t00 icon.etc_dex_symbol_i00 90 0 38 0 0 10 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 LineageEffect.p_u002_a 4 MonSound.Hit_normal_3 ItemSound.armor_leather_3 ItemSound.armor_leather_3 MonSound.Hit_Shell_1 ItemSound.itemdrop_sack ItemSound.itemequip_armor_cloth 1 0 1 0 0 0 0 0 1 10108 0 3 1 6 0 dropitems.drop_lesser_potion_m00 dropitemstex.drop_lesser_potion_green_t00 icon.etc_wit_symbol_i00 90 0 38 0 0 10 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 LineageEffect.p_u002_a 4 MonSound.Hit_normal_3 ItemSound.armor_leather_3 ItemSound.armor_leather_3 MonSound.Hit_Shell_1 ItemSound.itemdrop_sack ItemSound.itemequip_armor_cloth 1 0 1 0 0 0 0 0 1 10109 0 3 1 6 0 dropitems.drop_lesser_potion_m00 dropitemstex.drop_lesser_potion_green_t00 icon.etc_int_symbol_i00 90 0 38 0 0 10 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 LineageEffect.p_u002_a 4 MonSound.Hit_normal_3 ItemSound.armor_leather_3 ItemSound.armor_leather_3 MonSound.Hit_Shell_1 ItemSound.itemdrop_sack ItemSound.itemequip_armor_cloth 1 0 1 0 0 0 0 0 1 10110 0 3 1 6 0 dropitems.drop_lesser_potion_m00 dropitemstex.drop_lesser_potion_green_t00 icon.etc_men_symbol_i00 90 0 38 0 0 10 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 LineageEffect.p_u002_a 4 MonSound.Hit_normal_3 ItemSound.armor_leather_3 ItemSound.armor_leather_3 MonSound.Hit_Shell_1 ItemSound.itemdrop_sack ItemSound.itemequip_armor_cloth 1 0 1 0 0 0 0 0 1 10111 0 3 1 6 0 dropitems.drop_lesser_potion_m00 dropitemstex.drop_lesser_potion_green_t00 icon.etc_str_symbol_i00 90 0 38 0 0 10 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 LineageEffect.p_u002_a 4 MonSound.Hit_normal_3 ItemSound.armor_leather_3 ItemSound.armor_leather_3 MonSound.Hit_Shell_1 ItemSound.itemdrop_sack ItemSound.itemequip_armor_cloth 1 0 1 0 0 0 0 0 1 10112 0 3 1 6 0 dropitems.drop_lesser_potion_m00 dropitemstex.drop_lesser_potion_green_t00 icon.etc_str_symbol_i00 90 0 38 0 0 10 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 LineageEffect.p_u002_a 4 MonSound.Hit_normal_3 ItemSound.armor_leather_3 ItemSound.armor_leather_3 MonSound.Hit_Shell_1 ItemSound.itemdrop_sack ItemSound.itemequip_armor_cloth 1 0 1 0 0 0 0 0 1 10113 0 3 1 6 0 dropitems.drop_lesser_potion_m00 dropitemstex.drop_lesser_potion_green_t00 icon.etc_con_symbol_i00 90 0 38 0 0 10 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 LineageEffect.p_u002_a 4 MonSound.Hit_normal_3 ItemSound.armor_leather_3 ItemSound.armor_leather_3 MonSound.Hit_Shell_1 ItemSound.itemdrop_sack ItemSound.itemequip_armor_cloth 1 0 1 0 0 0 0 0 1 10114 0 3 1 6 0 dropitems.drop_lesser_potion_m00 dropitemstex.drop_lesser_potion_green_t00 icon.etc_con_symbol_i00 90 0 38 0 0 10 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 LineageEffect.p_u002_a 4 MonSound.Hit_normal_3 ItemSound.armor_leather_3 ItemSound.armor_leather_3 MonSound.Hit_Shell_1 ItemSound.itemdrop_sack ItemSound.itemequip_armor_cloth 1 0 1 0 0 0 0 0 1 10115 0 3 1 6 0 dropitems.drop_lesser_potion_m00 dropitemstex.drop_lesser_potion_green_t00 icon.etc_wit_symbol_i01 90 0 38 0 0 10 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 LineageEffect.p_u002_a 4 MonSound.Hit_normal_3 ItemSound.armor_leather_3 ItemSound.armor_leather_3 MonSound.Hit_Shell_1 ItemSound.itemdrop_sack ItemSound.itemequip_armor_cloth 1 0 1 0 0 0 0 0 1 10116 0 3 1 6 0 dropitems.drop_lesser_potion_m00 dropitemstex.drop_lesser_potion_green_t00 icon.etc_int_symbol_i01 90 0 38 0 0 10 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 LineageEffect.p_u002_a 4 MonSound.Hit_normal_3 ItemSound.armor_leather_3 ItemSound.armor_leather_3 MonSound.Hit_Shell_1 ItemSound.itemdrop_sack ItemSound.itemequip_armor_cloth 1 0 1 0 0 0 0 0 1 10117 0 3 1 6 0 dropitems.drop_lesser_potion_m00 dropitemstex.drop_lesser_potion_green_t00 icon.etc_dex_symbol_i01 90 0 38 0 0 10 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 LineageEffect.p_u002_a 4 MonSound.Hit_normal_3 ItemSound.armor_leather_3 ItemSound.armor_leather_3 MonSound.Hit_Shell_1 ItemSound.itemdrop_sack ItemSound.itemequip_armor_cloth 1 0 1 0 0 0 0 0 1 10118 0 3 1 6 0 dropitems.drop_lesser_potion_m00 dropitemstex.drop_lesser_potion_green_t00 icon.etc_dex_symbol_i01 90 0 38 0 0 10 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 LineageEffect.p_u002_a 4 MonSound.Hit_normal_3 ItemSound.armor_leather_3 ItemSound.armor_leather_3 MonSound.Hit_Shell_1 ItemSound.itemdrop_sack ItemSound.itemequip_armor_cloth 1 0 1 0 0 0 0 0 1 10119 0 3 1 6 0 dropitems.drop_lesser_potion_m00 dropitemstex.drop_lesser_potion_green_t00 icon.etc_dex_symbol_i01 90 0 38 0 0 10 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 LineageEffect.p_u002_a 4 MonSound.Hit_normal_3 ItemSound.armor_leather_3 ItemSound.armor_leather_3 MonSound.Hit_Shell_1 ItemSound.itemdrop_sack ItemSound.itemequip_armor_cloth 1 0 1 0 0 0 0 0 1 10120 0 3 1 6 0 dropitems.drop_lesser_potion_m00 dropitemstex.drop_lesser_potion_green_t00 icon.etc_dex_symbol_i01 90 0 38 0 0 10 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 LineageEffect.p_u002_a 4 MonSound.Hit_normal_3 ItemSound.armor_leather_3 ItemSound.armor_leather_3 MonSound.Hit_Shell_1 ItemSound.itemdrop_sack ItemSound.itemequip_armor_cloth 1 0 1 0 0 0 0 0 10101 Tattoo of the Ogre Right a,Level 4 | +10% P.atk.\0 -1 a, a, a, a, 0 0 0 a, 10102 Tattoo of the Assassin Right a,Level 4 | +10% Crt.Rate.\0 -1 a, a, a, a, 0 0 0 a, 10103 Tattoo of the Monk Right a,Level 4 | +10% AttackSpeed.\0 -1 a, a, a, a, 0 0 0 a, 10104 Tattoo of the Rabbit Right a,Level 4 | +10% Speed.\0 -1 a, a, a, a, 0 0 0 a, 10105 Tattoo of the Golem Right a,Level 4 | +10% P.Def.\0 -1 a, a, a, a, 0 0 0 a, 10106 Tattoo of the Sniper Right a,Level 4 | +10% Accuracy.\0 -1 a, a, a, a, 0 0 0 a, 10107 Tattoo of the Ghost Right a,Level 4 | +10% Evasion.\0 -1 a, a, a, a, 0 0 0 a, 10108 Tattoo of the Witch Right a,Level 4 | +10% CastingSpeed.\0 -1 a, a, a, a, 0 0 0 a, 10109 Tattoo of Magic Power Right a,Level 4 | +10% M.Atk.\0 -1 a, a, a, a, 0 0 0 a, 10110 Tattoo of the Mirror Right a,Level 4 | +10% M.Def.\0 -1 a, a, a, a, 0 0 0 a, 10111 Tattoo of the Ogre Left Empowered a,Level 4 | +15% P.atk.\0 -1 a, a, a, a, 0 0 0 a, 10112 Tattoo of the Assassin Left Empowered a,Level 4 | +15% Crt.Rate.\0 -1 a, a, a, a, 0 0 0 a, 10113 Tattoo of the Golem Left Empowered a,Level 4 | +15% AttackSpeed.\0 -1 a, a, a, a, 0 0 0 a, 10114 Tattoo of the Golem Left Empowered a,Level 4 | +15% Speed.\0 -1 a, a, a, a, 0 0 0 a, 10115 Tattoo of the Witch Left Empowered a,Level 4 | +15% P.Def.\0 -1 a, a, a, a, 0 0 0 a, 10116 Tattoo of Magic Power Left Empowered a,Level 4 | +15% Accuracy.\0 -1 a, a, a, a, 0 0 0 a, 10117 Tattoo of the Ghost Left Empowered a,Level 4 | +15% Evasion.\0 -1 a, a, a, a, 0 0 0 a, 10118 Tattoo of the Sniper Left Empowered a,Level 4 | +15% CastingSpeed.\0 -1 a, a, a, a, 0 0 0 a, 10119 Tattoo of the Monk Left Empowered a,Level 4 | +15% M.Atk.\0 -1 a, a, a, a, 0 0 0 a, 10120 Tattoo of the Rabbit Left Empowered a,Level 4 | +15% M.Def.\0 -1 a, a, a, a, 0 0 0 a, testa e ve se funcionou bom. -
Tattoo's Lefts e Rights Para C4
Tópico respondeu ao elquimaeleangelica de -= JRGames =- em C1 - Interlude
so adaptar elas para acis mano, pega o modelo original e modifica ao seu gosto -
sim
-
obrigado por avisar aqui esta ele atualizado Algum ADM pode atualizar o link por gentileza Novo Link Para Download NewTattos.zip
-
Segue em Anexo NPC Shop Low Rate.rar
-
o que você quer então e uma proteção para conta tem 2 aqui no fórum que já vi em vários servidores. este pin code esta para frozen mais vou deixa a versão original dele na Acis pra você aqui. ### Eclipse Workspace Patch 1.0 #P acis Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java (revision 38) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java (working copy) @@ -2200,6 +2200,124 @@ else activeChar.sendMessage("12 hours have to pass till you are able to vote again."); } + else if (_command.startsWith("submitpin")) + { + try + { + String value = _command.substring(9); + StringTokenizer s = new StringTokenizer(value," "); + int _pin = activeChar.getPin(); + + + try + { + if(activeChar.getPincheck()) + { + _pin = Integer.parseInt(s.nextToken()); + + + + if(Integer.toString(_pin).length() != 4) + { + activeChar.sendMessage("You have to fill the pin box with 4 numbers.Not more, not less."); + return; + } + + Connection con = null; + try + { + con = L2DatabaseFactory.getInstance().getConnection(); + PreparedStatement statement = con.prepareStatement("UPDATE characters SET pin=? WHERE obj_id=?"); + + statement.setInt(1, _pin); + statement.setInt(2, activeChar.getObjectId()); + statement.execute(); + statement.close(); + activeChar.setPincheck(false); + activeChar.updatePincheck(); + activeChar.sendMessage("You successfully submitted your pin code.You will need it in order to login."); + activeChar.sendMessage("Your Pin Code is: " + _pin ); + } + catch(Exception e) + { + e.printStackTrace(); + _log.warning("could not set char first login:" + e); + } + finally + { + L2DatabaseFactory.close(con); + } + } + } + catch(Exception e) + { + activeChar.sendMessage("The Pin Code must be 4 numbers."); + } + } + catch(Exception e) + { + activeChar.sendMessage("The Pin Code must be 4 numbers."); + } + + } + else if(_command.startsWith("enterpin")) + { + try + { + String value = _command.substring(8); + StringTokenizer s = new StringTokenizer(value," "); + int dapin = 0; + int pin = 0; + + dapin = Integer.parseInt(s.nextToken()); + + Connection con = null; + PreparedStatement statement = null; + try + { + con = L2DatabaseFactory.getInstance().getConnection(); + + statement = con.prepareStatement("SELECT pin FROM characters WHERE obj_Id=?"); + statement.setInt(1, activeChar.getObjectId()); + + ResultSet rset = statement.executeQuery(); + + while (rset.next()) + { + pin = rset.getInt("pin"); + } + + if(pin == dapin) + { + activeChar.sendMessage("Pin Code Authenticated Successfully.You are now free to move."); + activeChar.setIsImmobilized(false); + } + else + { + activeChar.sendMessage("Pin Code does not match with the submitted one.You will now get disconnected!"); + waitS(2); + activeChar.logout(); + } + } + catch (Exception e) + { + + activeChar.sendMessage("The Pin Code must be 4 numbers."); + } + finally + { + L2DatabaseFactory.close(con); + } + } + catch (Exception e) + { + //e.printStackTrace(); + activeChar.sendMessage("The Pin Code MUST be 4 numbers."); + } + + + + } else if (_command.startsWith("votereward1")) { activeChar.addItem("reward", Config.VOTE_REWARD_ID1, Config.VOTE_REWARD_AMOUNT1, activeChar, true); Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java (revision 28) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java (working copy) @@ -429,6 +429,44 @@ + if(!activeChar.getPincheck()) + { + activeChar.setIsImmobilized(true); + TextBuilder tb = new TextBuilder(); + NpcHtmlMessage html = new NpcHtmlMessage(1); + + tb.append("<html><head><title>Character Pin Panel</title></head>"); + tb.append("<body>"); + tb.append("<center>"); + tb.append("<table width=\"250\" cellpadding=\"5\" bgcolor=\"000000\">"); + tb.append("<tr>"); + tb.append("<td width=\"45\" valign=\"top\" align=\"center\"><img src=\"L2ui_ch3.menubutton4\" width=\"38\" height=\"38\"></td>"); + tb.append("<td valign=\"top\"><font color=\"FF6600\">Pin Panel</font>"); + tb.append("<br1><font color=\"00FF00\">"+activeChar.getName()+"</font>, use this interface to enable pin secirity.</td></tr></table></center>"); + tb.append("<center>"); + tb.append("<img src=\"l2ui_ch3.herotower_deco\" width=256 height=32 align=center><br>"); + tb.append("</center>"); + tb.append("<table width=\"350\" cellpadding=\"5\" bgcolor=\"000000\">"); + tb.append("<tr>"); + tb.append("<td width=\"45\" valign=\"top\" align=\"center\"><img src=\"Icon.etc_old_key_i02\" width=\"32\" height=\"32\"></td>"); + tb.append("<td valign=\"top\">Please enter your PIN:<edit var=\"dapin\" width=80 height=15>"); + tb.append("<br1>info or something (can delete)</td>"); + tb.append("</tr>"); + tb.append("</table>"); + tb.append("<br>"); + tb.append("<center>"); + tb.append("<button value=\"Submit\" action=\"bypass -h enterpin $dapin\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\">"); + tb.append("</center>"); + tb.append("<center>"); + tb.append("<img src=\"l2ui_ch3.herotower_deco\" width=256 height=32 align=center>"); + tb.append("<font color=\"FF6600\">By Elfocrash</font>"); + tb.append("</center>"); + tb.append("</body></html>"); + + html.setHtml(tb.toString()); + activeChar.sendPacket(html); + } + PetitionManager.getInstance().checkPetitionMessages(activeChar); // no broadcast needed since the player will already spawn dead to others Index: aCis_datapack/sql/pinsystemtables.sql =================================================================== --- aCis_datapack/sql/pinsystemtables.sql (revision 0) +++ aCis_datapack/sql/pinsystemtables.sql (revision 0) @@ -0,0 +1,2 @@ +ALTER TABLE `characters` ADD `pin` int(4) DEFAULT NULL; +ALTER TABLE `characters` ADD `pinsubmited` int(4) DEFAULT 1; \ No newline at end of file Index: aCis_gameserver/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (revision 38) +++ aCis_gameserver/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (working copy) @@ -256,7 +256,7 @@ // Character SQL String Definitions: private static final String INSERT_CHARACTER = "INSERT INTO characters (account_name,obj_Id,char_name,level,maxHp,curHp,maxCp,curCp,maxMp,curMp,face,hairStyle,hairColor,sex,exp,sp,karma,pvpkills,pkkills,clanid,race,classid,deletetime,cancraft,title,accesslevel,online,isin7sdungeon,clan_privs,wantspeace,base_class,nobless,power_grade,last_recom_date) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; private static final String UPDATE_CHARACTER = "UPDATE characters SET level=?,maxHp=?,curHp=?,maxCp=?,curCp=?,maxMp=?,curMp=?,face=?,hairStyle=?,hairColor=?,sex=?,heading=?,x=?,y=?,z=?,exp=?,expBeforeDeath=?,sp=?,karma=?,pvpkills=?,pkkills=?,rec_have=?,rec_left=?,clanid=?,race=?,classid=?,deletetime=?,title=?,accesslevel=?,online=?,isin7sdungeon=?,clan_privs=?,wantspeace=?,base_class=?,onlinetime=?,punish_level=?,punish_timer=?,nobless=?,power_grade=?,subpledge=?,last_recom_date=?,lvl_joined_academy=?,apprentice=?,sponsor=?,varka_ketra_ally=?,clan_join_expiry_time=?,clan_create_expiry_time=?,char_name=?,death_penalty_level=? WHERE obj_id=?"; - private static final String RESTORE_CHARACTER = "SELECT account_name, obj_Id, char_name, level, maxHp, curHp, maxCp, curCp, maxMp, curMp, face, hairStyle, hairColor, sex, heading, x, y, z, exp, expBeforeDeath, sp, karma, pvpkills, pkkills, clanid, race, classid, deletetime, cancraft, title, rec_have, rec_left, accesslevel, online, char_slot, lastAccess, clan_privs, wantspeace, base_class, onlinetime, isin7sdungeon, punish_level, punish_timer, nobless, power_grade, subpledge, last_recom_date, lvl_joined_academy, apprentice, sponsor, varka_ketra_ally,clan_join_expiry_time,clan_create_expiry_time,death_penalty_level,first_log,lastVoteHopzone,lastVoteTopzone FROM characters WHERE obj_id=?"; + private static final String RESTORE_CHARACTER = "SELECT account_name, obj_Id, char_name, level, maxHp, curHp, maxCp, curCp, maxMp, curMp, face, hairStyle, hairColor, sex, heading, x, y, z, exp, expBeforeDeath, sp, karma, pvpkills, pkkills, clanid, race, classid, deletetime, cancraft, title, rec_have, rec_left, accesslevel, online, char_slot, lastAccess, clan_privs, wantspeace, base_class, onlinetime, isin7sdungeon, punish_level, punish_timer, nobless, power_grade, subpledge, last_recom_date, lvl_joined_academy, apprentice, sponsor, varka_ketra_ally,clan_join_expiry_time,clan_create_expiry_time,death_penalty_level,first_log,lastVoteHopzone,lastVoteTopzone,pinsubmited,pin FROM characters WHERE obj_id=?"; // Character Subclass SQL String Definitions: private static final String RESTORE_CHAR_SUBCLASSES = "SELECT class_id,exp,sp,level,class_index FROM character_subclasses WHERE char_obj_id=? ORDER BY class_index ASC"; @@ -382,7 +382,8 @@ private int _charId = 0x00030b7a; private boolean _first_log; - + public boolean _pincheck; + public int _pin; private int killcounttillenchant = 0; private long _expBeforeDeath; @@ -6487,6 +6488,35 @@ return _first_log; } + public void setPincheck(boolean pincheck) + { + _pincheck = pincheck; + } + + public void setPincheck(int pincheck) + { + _pincheck = false; + if(pincheck == 1) + { + _pincheck = true; + } + } + + public boolean getPincheck() + { + return _pincheck; + } + + public void setPin(int pin) + { + _pin = pin; + } + + public int getPin() + { + return _pin; + } + /** * Return True if the L2PcInstance is a GM. */ @@ -6717,6 +6749,40 @@ } } + public void updatePincheck() + { + Connection con = null; + try + { + con = L2DatabaseFactory.getInstance().getConnection(); + PreparedStatement statement = con.prepareStatement("UPDATE characters SET pinsubmited=? WHERE obj_id=?"); + + + + int _pin; + if(getPincheck()) + { + _pin = 1; + } + else + { + _pin = 0; + } + statement.setInt(1, _pin); + statement.setInt(2, getObjectId()); + statement.execute(); + statement.close(); + } + catch(Exception e) + { + e.printStackTrace(); + _log.warning("could not set char first login:" + e); + } + finally + { + L2DatabaseFactory.close(con); + } + } /** * Create a new player in the characters table of the database. @@ -6832,6 +6898,8 @@ player.setFirstLog(rset.getInt("first_log")); + player.setPincheck(rset.getInt("pinsubmited")); + player.setPin(rset.getInt("pin")); player.setKarma(rset.getInt("karma")); player.setPvpKills(rset.getInt("pvpkills")); player.setPkKills(rset.getInt("pkkills")); Index: aCis_datapack/tools/database_installer.bat =================================================================== --- aCis_datapack/tools/database_installer.bat (revision 37) +++ aCis_datapack/tools/database_installer.bat (working copy) @@ -110,6 +110,7 @@ %mysqlPath% -h %gshost% -u %gsuser% --password=%gspass% -D %gsdb% < ../sql/seven_signs_status.sql %mysqlPath% -h %gshost% -u %gsuser% --password=%gspass% -D %gsdb% < ../sql/siege_clans.sql %mysqlPath% -h %gshost% -u %gsuser% --password=%gspass% -D %gsdb% < ../sql/topic.sql +%mysqlPath% -h %gshost% -u %gsuser% --password=%gspass% -D %gsdb% < ../sql/pinsystemtables.sql echo Done. echo. Index: aCis_gameserver/java/net/sf/l2j/gameserver/handler/voicedcommandhandlers/Pin.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/handler/voicedcommandhandlers/Pin.java (revision 0) +++ aCis_gameserver/java/net/sf/l2j/gameserver/handler/voicedcommandhandlers/Pin.java (revision 0) @@ -0,0 +1,85 @@ +/* + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see <http://www.gnu.org/licenses/>. + */ +package net.sf.l2j.gameserver.handler.voicedcommandhandlers; + +import javolution.text.TextBuilder; + + +import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage; +import net.sf.l2j.gameserver.handler.IVoicedCommandHandler; +import net.sf.l2j.gameserver.model.L2World; +import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; + +public class Pin implements IVoicedCommandHandler +{ + private static String[] _voicedCommands = + { + "pincode" + }; + + @Override + public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target) + { + if(command.equalsIgnoreCase("pincode")) + { + if(activeChar.getPincheck()) + { + TextBuilder tb = new TextBuilder(); + NpcHtmlMessage html = new NpcHtmlMessage(1); + + tb.append("<html><head><title>Character Pin Panel</title></head>"); + tb.append("<body>"); + tb.append("<center>"); + tb.append("<table width=\"250\" cellpadding=\"5\" bgcolor=\"000000\">"); + tb.append("<tr>"); + tb.append("<td width=\"45\" valign=\"top\" align=\"center\"><img src=\"L2ui_ch3.menubutton4\" width=\"38\" height=\"38\"></td>"); + tb.append("<td valign=\"top\"><font color=\"FF6600\">Pin Panel</font>"); + tb.append("<br1><font color=\"00FF00\">"+activeChar.getName()+"</font>, use this interface to enable pin secirity.</td></tr></table></center>"); + tb.append("<center>"); + tb.append("<img src=\"l2ui_ch3.herotower_deco\" width=256 height=32 align=center><br>"); + tb.append("</center>"); + tb.append("<table width=\"350\" cellpadding=\"5\" bgcolor=\"000000\">"); + tb.append("<tr>"); + tb.append("<td width=\"45\" valign=\"top\" align=\"center\"><img src=\"Icon.etc_old_key_i02\" width=\"32\" height=\"32\"></td>"); + tb.append("<td valign=\"top\">Please enter your PIN:<edit var=\"pin\" width=80 height=15>"); + tb.append("<br1>info or something (can delete)</td>"); + tb.append("</tr>"); + tb.append("</table>"); + tb.append("<br>"); + tb.append("<center>"); + tb.append("<button value=\"Submit\" action=\"bypass -h submitpin $pin\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\">"); + tb.append("</center>"); + tb.append("<center>"); + tb.append("<img src=\"l2ui_ch3.herotower_deco\" width=256 height=32 align=center>"); + tb.append("<font color=\"FF6600\">By Elfocrash</font>"); + tb.append("</center>"); + tb.append("</body></html>"); + + html.setHtml(tb.toString()); + activeChar.sendPacket(html); + } + else + activeChar.sendMessage("You have already submitted a Pin code"); + + } + return true; + } + + @Override + public String[] getVoicedCommandList() + { + return _voicedCommands; + } +} Index: aCis_gameserver/java/net/sf/l2j/gameserver/handler/VoicedCommandHandler.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/handler/VoicedCommandHandler.java (revision 28) +++ aCis_gameserver/java/net/sf/l2j/gameserver/handler/VoicedCommandHandler.java (working copy) @@ -32,6 +32,7 @@ import net.sf.l2j.gameserver.handler.voicedcommandhandlers.Online; import net.sf.l2j.gameserver.handler.voicedcommandhandlers.StriderRaceCMD; import net.sf.l2j.gameserver.handler.voicedcommandhandlers.PvpRewardPanel; +import net.sf.l2j.gameserver.handler.voicedcommandhandlers.Pin; import net.sf.l2j.gameserver.handler.voicedcommandhandlers.ReportToAdmin; import net.sf.l2j.gameserver.handler.voicedcommandhandlers.VoicedKino; import net.sf.l2j.gameserver.handler.voicedcommandhandlers.VotePanel; @@ -69,6 +70,7 @@ registerVoicedCommandHandler(new ReportToAdmin()); registerVoicedCommandHandler(new StriderRaceCMD()); registerVoicedCommandHandler(new BuffShopHandler()); + registerVoicedCommandHandler(new Pin()); if(Config.PVP_REWARD_SYSTEM_ENABLED) registerVoicedCommandHandler(new PvpRewardPanel()); Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java (working copy) @@ -2291,6 +2291,7 @@ { activeChar.sendMessage("Pin Code Authenticated Successfully.You are now free to move."); activeChar.setIsImmobilized(false); + activeChar.setIsSubmitingPin(false); } else { Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/SetPrivateStoreListBuy.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/SetPrivateStoreListBuy.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/SetPrivateStoreListBuy.java (working copy) @@ -75,6 +75,12 @@ return; } + if (player.isSubmitingPin()) + { + player.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + if (AttackStanceTaskManager.getInstance().getAttackStanceTask(player) || (player.isCastingNow() || player.isCastingSimultaneouslyNow()) || player.isInDuel()) { player.sendPacket(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT); Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/TradeRequest.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/TradeRequest.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/TradeRequest.java (working copy) @@ -61,6 +61,12 @@ return; } + if (player.isSubmitingPin() || target.isSubmitingPin()) + { + player.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + // Alt game - Karma punishment if (!Config.KARMA_PLAYER_CAN_TRADE && (player.getKarma() > 0 || target.getKarma() > 0)) { Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/SendWareHouseWithDrawList.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/SendWareHouseWithDrawList.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/SendWareHouseWithDrawList.java (working copy) @@ -82,6 +82,12 @@ player.sendPacket(SystemMessageId.ENCHANT_SCROLL_CANCELLED); } + if (player.isSubmitingPin()) + { + player.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + final ItemContainer warehouse = player.getActiveWarehouse(); if (warehouse == null) return; Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestJoinAlly.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestJoinAlly.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestJoinAlly.java (working copy) @@ -45,6 +45,12 @@ return; } + if (activeChar.isSubmitingPin()) + { + activeChar.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + final L2PcInstance target = L2World.getInstance().getPlayer(_id); if (target == null) { Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/TradeDone.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/TradeDone.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/TradeDone.java (working copy) @@ -73,6 +73,12 @@ return; } + if (player.isSubmitingPin()) + { + player.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + // Sender under enchant process, close it. if (owner.getActiveEnchantItem() != null) { Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestStopPledgeWar.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestStopPledgeWar.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestStopPledgeWar.java (working copy) @@ -51,6 +51,12 @@ return; } + if (player.isSubmitingPin()) + { + player.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + if (!playerClan.isAtWarWith(clan.getClanId())) { player.sendPacket(SystemMessageId.NOT_INVOLVED_IN_WAR); Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestWithDrawalParty.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestWithDrawalParty.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestWithDrawalParty.java (working copy) @@ -40,6 +40,12 @@ if (party == null) return; + if (player.isSubmitingPin()) + { + player.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + if (party.isInDimensionalRift() && !party.getDimensionalRift().getRevivedAtWaitingRoom().contains(player)) player.sendMessage("You can't exit party when you are in Dimensional Rift."); else Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestPetition.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestPetition.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestPetition.java (working copy) @@ -51,6 +51,12 @@ if (activeChar == null) return; + if (activeChar.isSubmitingPin()) + { + activeChar.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + if (!GmListTable.getInstance().isGmOnline(false)) { activeChar.sendPacket(SystemMessageId.NO_GM_PROVIDING_SERVICE_NOW); Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestShowMiniMap.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestShowMiniMap.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestShowMiniMap.java (working copy) @@ -31,6 +31,12 @@ if (activeChar == null) return; + if (activeChar.isSubmitingPin()) + { + activeChar.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + activeChar.sendPacket(ShowMiniMap.REGULAR_MAP); } } \ No newline at end of file Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/SendWareHouseDepositList.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/SendWareHouseDepositList.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/SendWareHouseDepositList.java (working copy) @@ -74,6 +74,12 @@ return; } + if (player.isSubmitingPin()) + { + player.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + if (player.getActiveEnchantItem() != null) { player.setActiveEnchantItem(null); Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestDismissAlly.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestDismissAlly.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestDismissAlly.java (working copy) @@ -31,6 +31,13 @@ if (activeChar == null) return; + if (activeChar.isSubmitingPin()) + { + activeChar.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + + if (!activeChar.isClanLeader()) { activeChar.sendPacket(SystemMessageId.FEATURE_ONLY_FOR_ALLIANCE_LEADER); Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestPrivateStoreBuy.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestPrivateStoreBuy.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestPrivateStoreBuy.java (working copy) @@ -39,6 +39,7 @@ if (count <= 0 || count > Config.MAX_ITEM_IN_PACKET || count * BATCH_LENGTH != _buf.remaining()) return; + _items = new FastSet<ItemRequest>(); for (int i = 0; i < count; i++) @@ -74,6 +75,12 @@ if (player.isCursedWeaponEquipped()) return; + if (player.isSubmitingPin()) + { + player.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + if (!player.isInsideRadius(storePlayer, 150, true, false)) return; Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestSocialAction.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestSocialAction.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestSocialAction.java (working copy) @@ -45,6 +45,12 @@ return; } + if (activeChar.isSubmitingPin()) + { + activeChar.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + // check if the actionId is allowed if (_actionId < 2 || _actionId > 13) { Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestExEnchantSkill.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestExEnchantSkill.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestExEnchantSkill.java (working copy) @@ -67,6 +67,13 @@ if (player.getSkillLevel(_skillId) >= _skillLvl)// already knows the skill with this level return; + if (player.isSubmitingPin()) + { + player.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + + if (player.getClassId().level() < 3 || player.getLevel() < 76) return; Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java (working copy) @@ -431,7 +431,7 @@ if(!activeChar.getPincheck()) { - activeChar.setIsImmobilized(true); + TextBuilder tb = new TextBuilder(); NpcHtmlMessage html = new NpcHtmlMessage(1); @@ -465,6 +465,8 @@ html.setHtml(tb.toString()); activeChar.sendPacket(html); + activeChar.setIsSubmitingPin(true); + activeChar.setIsImmobilized(true); } PetitionManager.getInstance().checkPetitionMessages(activeChar); Index: aCis_gameserver/java/net/sf/l2j/gameserver/model/actor/L2Character.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/model/actor/L2Character.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/model/actor/L2Character.java (working copy) @@ -132,6 +132,7 @@ private boolean _isFlying = false; // Is flying wyvern ? private boolean _isRiding = false; // Is riding strider ? + public boolean _isSubmitingPin; private boolean _isPartyInviteProtected = false; private boolean _isFriendInviteProtected = false; private boolean _isBuffProtected = false; @@ -2020,7 +2021,16 @@ { return _isPartyInviteProtected; } + + public final void setIsSubmitingPin(boolean value) + { + _isSubmitingPin = value; + } + public boolean isSubmitingPin() + { + return _isSubmitingPin; + } public final void setPvpItemReward(boolean value) { _pvpItemReward = value; Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestUnEquipItem.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestUnEquipItem.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestUnEquipItem.java (working copy) @@ -49,6 +49,12 @@ if (item == null) return; + if (activeChar.isSubmitingPin()) + { + activeChar.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + // Prevent of unequiping a cursed weapon if (_slot == L2Item.SLOT_LR_HAND && activeChar.isCursedWeaponEquipped()) return; Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestStartPledgeWar.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestStartPledgeWar.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestStartPledgeWar.java (working copy) @@ -48,6 +48,12 @@ return; } + if (player.isSubmitingPin()) + { + player.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + if (!player.isClanLeader()) { player.sendPacket(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT); Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestMagicSkillUse.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestMagicSkillUse.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestMagicSkillUse.java (working copy) @@ -43,6 +43,12 @@ if (activeChar == null) return; + if (activeChar.isSubmitingPin()) + { + activeChar.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + if (activeChar.isOutOfControl()) { activeChar.sendPacket(ActionFailed.STATIC_PACKET); Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestPrivateStoreSell.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestPrivateStoreSell.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestPrivateStoreSell.java (working copy) @@ -73,6 +73,12 @@ if (!player.isInsideRadius(storePlayer, 150, true, false)) return; + if (player.isSubmitingPin()) + { + player.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + if (storePlayer.getPrivateStoreType() != L2PcInstance.STORE_PRIVATE_BUY) return; Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestDestroyItem.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestDestroyItem.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestDestroyItem.java (working copy) @@ -49,6 +49,12 @@ if (activeChar == null) return; + if (activeChar.isSubmitingPin()) + { + activeChar.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + int count = _count; if (count <= 0) { Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestWithdrawalPledge.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestWithdrawalPledge.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestWithdrawalPledge.java (working copy) @@ -42,6 +42,12 @@ return; } + if (activeChar.isSubmitingPin()) + { + activeChar.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + if (activeChar.isClanLeader()) { activeChar.sendPacket(SystemMessageId.CLAN_LEADER_CANNOT_WITHDRAW); Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/SetPrivateStoreListSell.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/SetPrivateStoreListSell.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/SetPrivateStoreListSell.java (working copy) @@ -76,6 +76,12 @@ return; } + if (player.isSubmitingPin()) + { + player.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + if (AttackStanceTaskManager.getInstance().getAttackStanceTask(player) || (player.isCastingNow() || player.isCastingSimultaneouslyNow()) || player.isInDuel()) { player.sendPacket(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT); Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestFriendInvite.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestFriendInvite.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestFriendInvite.java (working copy) @@ -61,6 +61,19 @@ return; } + if (activeChar.isSubmitingPin()) + { + activeChar.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + + if (friend.isSubmitingPin()) + { + activeChar.sendMessage("Unable to do any action while PIN is not submitted by the target"); + return; + } + + if (BlockList.isBlocked(activeChar, friend)) { activeChar.sendMessage("You have blocked " + _name + "."); Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/UseItem.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/UseItem.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/UseItem.java (working copy) @@ -90,6 +90,12 @@ return; } + if (activeChar.isSubmitingPin()) + { + activeChar.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + L2ItemInstance item = activeChar.getInventory().getItemByObjectId(_objectId); if (item == null) return; Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestSellItem.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestSellItem.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestSellItem.java (working copy) @@ -109,6 +109,12 @@ player.addAdena("Sell", totalPrice, merchant, false); + if (player.isSubmitingPin()) + { + player.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + // Send the htm, if existing. String htmlFolder = ""; if (merchant instanceof L2MerchantInstance) Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestSendFriendMsg.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestSendFriendMsg.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestSendFriendMsg.java (working copy) @@ -59,6 +59,18 @@ return; } + if (activeChar.isSubmitingPin()) + { + activeChar.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + + if (targetPlayer.isSubmitingPin()) + { + activeChar.sendMessage("Unable to do any action while PIN is not submitted by the target"); + return; + } + if (Config.LOG_CHAT) { LogRecord record = new LogRecord(Level.INFO, _message); Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestEnchantItem.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestEnchantItem.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestEnchantItem.java (working copy) @@ -60,6 +60,13 @@ return; } + if (activeChar.isSubmitingPin()) + { + activeChar.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + + if (activeChar.isProcessingTransaction() || activeChar.isInStoreMode()) { activeChar.sendPacket(SystemMessageId.CANNOT_ENCHANT_WHILE_STORE); Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestFriendDel.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestFriendDel.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestFriendDel.java (working copy) @@ -43,6 +43,13 @@ if (activeChar == null) return; + if (activeChar.isSubmitingPin()) + { + activeChar.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + + int id = CharNameTable.getInstance().getIdByName(_name); if (id == -1 || !activeChar.getFriendList().contains(id)) Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestJoinParty.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestJoinParty.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestJoinParty.java (working copy) @@ -55,6 +55,7 @@ return; } + final L2PcInstance target = L2World.getInstance().getPlayer(_name); if (target == null) { @@ -68,6 +69,18 @@ return; } + if (target.isSubmitingPin()) + { + requestor.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + + if (requestor.isSubmitingPin()) + { + requestor.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + if(target.isPartyInviteProtected()) { requestor.sendMessage(target.getName() + " has Party Invite Protection enabled."); Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestDropItem.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestDropItem.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestDropItem.java (working copy) @@ -49,6 +49,13 @@ if (activeChar == null || activeChar.isDead()) return; + if (activeChar.isSubmitingPin()) + { + activeChar.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + + if (!getClient().getFloodProtectors().getDropItem().tryPerformAction("dropItem")) return; Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestCrystallizeItem.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestCrystallizeItem.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestCrystallizeItem.java (working copy) @@ -46,6 +46,12 @@ if (activeChar == null) return; + if (activeChar.isSubmitingPin()) + { + activeChar.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + if (_count <= 0) { Util.handleIllegalPlayerAction(activeChar, "[RequestCrystallizeItem] " + activeChar.getName() + "tried to crystallize an object but count was inferior to 0", IllegalPlayerAction.PUNISH_KICK); Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/Say2.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/Say2.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/Say2.java (working copy) @@ -148,6 +148,12 @@ return; } + if (activeChar.isSubmitingPin()) + { + activeChar.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + if (_text.isEmpty()) { _log.warning(activeChar.getName() + ": sending empty text. Possible packet hack."); Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestSetAllyCrest.java =================================================================== --- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestSetAllyCrest.java (revision 40) +++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestSetAllyCrest.java (working copy) @@ -58,6 +58,12 @@ return; } + if (activeChar.isSubmitingPin()) + { + activeChar.sendMessage("Unable to do any action while PIN is not submitted"); + return; + } + if (activeChar.getAllyId() != 0) { L2Clan leaderclan = ClanTable.getInstance().getClan(activeChar.getAllyId());
-
Atualizações Recentes de Status
-
Lineage 2 Fafurion/Classic/Prelude of War/Death Knight/Essence/Kamael/Homunculus/Sylph/Frost Lord/Castle of Ice/RE:MEMBER/Vanguard/Hore's Tome/Master Class/Chosen by Darknesss/Conquest: The Source of Flame/Shine Maker/Tower of Heaven/Project EVA Geodata [Protocol 474] - available!!!· 0 respostas