Ir para conteúdo
  • Cadastre-se

-= JRGames =-

Sup. Membro
  • Total de itens

    508
  • Registro em

  • Última visita

  • Prêmios recebidos

    7

Tudo que -= JRGames =- postou

  1. USE ESTE MOD --> P.ATK/M.ATK SPEED LIMITE
  2. Bela iniciativa gostei bastante do conteúdo, vai compartilhar connosco quando estiver totalmente pronto ?
  3. Entra em contato com ele por aqui --> FACEBOOK
  4. segui o passo a passo e não funcionou aqui Obs testei com java 8 e java 11
  5. Aqui no Forum tem alguns modelos Top de linha, Exemplos: icpnetworks-v3 ou Sites em wordpress
  6. @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.
  7. 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.
  8. 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
  9. 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.
  10. Link Off Quem ainda tiver poderia postar novamente Obrigado. Link Off Quem ainda tiver poderia postar novamente Obrigado.
  11. -= JRGames =-

    skill

    qual seria esta acis de mais informações por favor.
  12. revise os dados da sua conexão com mysql
  13. 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
  14. -= JRGames =-

    loc boss

    raidboss_spawnlist para RaidBoss e grandboss_data para Epic Boss
  15. -= JRGames =-

    Golden enchant

    https://pastebin.com/bDZ8ALDm creditos @Sarada
  16. 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.
  17. esta faltando o arquivo dos icones " costume_ico " Se tiver poste pra galera obrigado.
  18. mande MP que lhe ajudo e você posta pro pessoal o resultado.
  19. 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.
  20. so adaptar elas para acis mano, pega o modelo original e modifica ao seu gosto
  21. obrigado por avisar aqui esta ele atualizado Algum ADM pode atualizar o link por gentileza Novo Link Para Download NewTattos.zip
  22. Segue em Anexo NPC Shop Low Rate.rar
  23. 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());
×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.