Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Ответ
 
Опции темы
Старый 26.07.2014, 13:15   #1
 Сержант
Аватар для ISharkI
 
ISharkI блестящий пример для подражанияISharkI блестящий пример для подражанияISharkI блестящий пример для подражанияISharkI блестящий пример для подражанияISharkI блестящий пример для подражанияISharkI блестящий пример для подражанияISharkI блестящий пример для подражанияISharkI блестящий пример для подражанияISharkI блестящий пример для подражанияISharkI блестящий пример для подражанияISharkI блестящий пример для подражания
Регистрация: 29.10.2009
Сообщений: 117
Популярность: 1783
Сказал(а) спасибо: 78
Поблагодарили 242 раз(а) в 79 сообщениях
Отправить сообщение для ISharkI с помощью ICQ
 
По умолчанию Password Manager NPC

Заходим по пути:
L2jFrozen_GameServer/com.l2jfrozen.gameserver.model.actor.instance

И создаём класс с таким именем:L2PasswordChangerInstance

Код:
package com.l2jfrozen.gameserver.model.actor.instance;

import com.l2jfrozen.gameserver.ai.CtrlIntention;
import com.l2jfrozen.gameserver.ai.L2CharacterAI;
import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed;
import com.l2jfrozen.gameserver.network.serverpackets.MyTargetSelected;
import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jfrozen.gameserver.network.serverpackets.ValidateLocation;
import com.l2jfrozen.gameserver.templates.L2NpcTemplate;
import java.util.StringTokenizer;
import javolution.text.TextBuilder;


public class L2PasswordChangerInstance extends L2FolkInstance
{
  public L2PasswordChangerInstance(int objectId, L2NpcTemplate template)
  {
    super(objectId, template);
  }


  public void onBypassFeedback(L2PcInstance player, String command)
  {
    if (command.startsWith("change_password"))
    {
      StringTokenizer st = new StringTokenizer(command);
      st.nextToken();
      String currPass = null;
      String newPass = null;
      String repeatNewPass = null;
      try
      {
        if (st.hasMoreTokens())
        {
          currPass = st.nextToken();
          newPass = st.nextToken();
          repeatNewPass = st.nextToken();
        }
        else
        {
          player.sendMessage("Please fill in all the blanks before requesting for a password change.");
          return;
        }
        changePassword(currPass, newPass, repeatNewPass, player);
      }
      catch (StringIndexOutOfBoundsException localStringIndexOutOfBoundsException)
      {
      }
    }
  }


  public void onAction(L2PcInstance player)
  {
    if (!(canTarget(player))) {
      return;
    }


    if (this != player.getTarget())
    {
      player.setTarget(this);


      player.sendPacket(new MyTargetSelected(getObjectId(), 0));


      player.sendPacket(new ValidateLocation(this));
    }
    else if (!(canInteract(player)))
    {
      player.getAI().setIntention(CtrlIntention.AI_INTENTION_INTERACT, this);
    }
    else
    {
      showHtmlWindow(player);
    }


    player.sendPacket(new ActionFailed());
  }


  private void showHtmlWindow(L2PcInstance activeChar)
  {
    NpcHtmlMessage nhm = new NpcHtmlMessage(5);
    TextBuilder replyMSG = new TextBuilder("");


    replyMSG.append("<html><title>L2Swearer Account Manager</title>");
    replyMSG.append("<body><center>");
    replyMSG.append("To change your password:<br1> First fill in your current password and then your new!</font><br>");
    replyMSG.append("Current Password: <edit var=\"cur\" width=100 height=15><br>");
    replyMSG.append("New Password: <edit var=\"new\" width=100 height=15><br>");
    replyMSG.append("Repeat New Password: <edit var=\"repeatnew\" width=100 height=15><br><br>");
    replyMSG.append("<button value=\"Change Password\" action=\"bypass -h npc_" + getObjectId() + "_change_password $cur $new $repeatnew\" width=120 height=30 back=\"L2UI_CH3.refinegrade3_21\" fore=\"L2UI_CH3.refinegrade3_21\">");


    nhm.setHtml(replyMSG.toString());
    activeChar.sendPacket(nhm);


    activeChar.sendPacket(new ActionFailed());
  }


  // ERROR //
  public static boolean changePassword(String currPass, String newPass, String repeatNewPass, L2PcInstance activeChar)
  {
    // Byte code:
    //   0: aload_1
    //   1: invokevirtual 49 java/lang/String:length ()I
    //   4: iconst_5
    //   5: if_icmpge +11 -> 16
    //   8: aload_3
    //   9: ldc 50
    //   11: invokevirtual 9 com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance:sendMessage (Ljava/lang/String;)V
    //   14: iconst_0
    //   15: ireturn
    //   16: aload_1
    //   17: invokevirtual 49 java/lang/String:length ()I
    //   20: bipush 20
    //   22: if_icmple +11 -> 33
    //   25: aload_3
    //   26: ldc 51
    //   28: invokevirtual 9 com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance:sendMessage (Ljava/lang/String;)V
    //   31: iconst_0
    //   32: ireturn
    //   33: aload_1
    //   34: aload_2
    //   35: invokevirtual 52 java/lang/String:equals (Ljava/lang/Object;)Z
    //   38: ifne +11 -> 49
    //   41: aload_3
    //   42: ldc 53
    //   44: invokevirtual 9 com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance:sendMessage (Ljava/lang/String;)V
    //   47: iconst_0
    //   48: ireturn
    //   49: aconst_null
    //   50: astore 4
    //   52: aconst_null
    //   53: astore 5
    //   55: ldc 54
    //   57: invokestatic 55 java/security/MessageDigest:getInstance (Ljava/lang/String;)Ljava/security/MessageDigest;
    //   60: astore 6
    //   62: aload_0
    //   63: ldc 56
    //   65: invokevirtual 57 java/lang/String:getBytes (Ljava/lang/String;)[B
    //   68: astore 7
    //   70: aload 6
    //   72: aload 7
    //   74: invokevirtual 58 java/security/MessageDigest:digest ([B)[B
    //   77: astore 7
    //   79: aload 7
    //   81: invokestatic 59 com/l2jfrozen/crypt/Base64:encodeBytes ([B)Ljava/lang/String;
    //   84: astore 8
    //   86: invokestatic 60 com/l2jfrozen/util/database/L2DatabaseFactory:getInstance ()Lcom/l2jfrozen/util/database/L2DatabaseFactory;
    //   89: invokevirtual 61 com/l2jfrozen/util/database/L2DatabaseFactory:getConnection ()Ljava/sql/Connection;
    //   92: astore 4
    //   94: aload 4
    //   96: ldc 62
    //   98: invokeinterface 63 2 0
    //   103: astore 9
    //   105: aload 9
    //   107: iconst_1
    //   108: aload_3
    //   109: invokevirtual 64 com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance:getAccountName ()Ljava/lang/String;
    //   112: invokeinterface 65 3 0
    //   117: aload 9
    //   119: invokeinterface 66 1 0
    //   124: astore 10
    //   126: aload 10
    //   128: invokeinterface 67 1 0
    //   133: ifeq +17 -> 150
    //   136: aload 10
    //   138: ldc 68
    //   140: invokeinterface 69 2 0
    //   145: astore 5
    //   147: goto -21 -> 126
    //   150: aload 10
    //   152: invokeinterface 70 1 0
    //   157: aload 9
    //   159: invokeinterface 71 1 0
    //   164: aconst_null
    //   165: astore 11
    //   167: aload 8
    //   169: aload 5
    //   171: invokevirtual 52 java/lang/String:equals (Ljava/lang/Object;)Z
    //   174: ifeq +106 -> 280
    //   177: aload_1
    //   178: ldc 56
    //   180: invokevirtual 57 java/lang/String:getBytes (Ljava/lang/String;)[B
    //   183: astore 11
    //   185: aload 6
    //   187: aload 11
    //   189: invokevirtual 58 java/security/MessageDigest:digest ([B)[B
    //   192: astore 11
    //   194: aload 4
    //   196: ldc 72
    //   198: invokeinterface 63 2 0
    //   203: astore 12
    //   205: aload 12
    //   207: iconst_1
    //   208: aload 11
    //   210: invokestatic 59 com/l2jfrozen/crypt/Base64:encodeBytes ([B)Ljava/lang/String;
    //   213: invokeinterface 65 3 0
    //   218: aload 12
    //   220: iconst_2
    //   221: aload_3
    //   222: invokevirtual 64 com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance:getAccountName ()Ljava/lang/String;
    //   225: invokeinterface 65 3 0
    //   230: aload 12
    //   232: invokeinterface 73 1 0
    //   237: pop
    //   238: aload 12
    //   240: invokeinterface 71 1 0
    //   245: aload_3
    //   246: ldc 74
    //   248: invokevirtual 9 com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance:sendMessage (Ljava/lang/String;)V
    //   251: ldc2_w 75
    //   254: invokestatic 77 java/lang/Thread:sleep (J)V
    //   257: goto +5 -> 262
    //   260: astore 13
    //   262: aload_3
    //   263: invokevirtual 79 com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance:deleteMe ()V
    //   266: aload_3
    //   267: new 80 com/l2jfrozen/gameserver/network/serverpackets/LeaveWorld
    //   270: dup
    //   271: invokespecial 81 com/l2jfrozen/gameserver/network/serverpackets/LeaveWorld:<init> ()V
    //   274: invokevirtual 18 com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance:sendPacket (Lcom/l2jfrozen/gameserver/network/serverpackets/L2GameServerPacket;)V
    //   277: goto +49 -> 326
    //   280: aload_3
    //   281: ldc 82
    //   283: invokevirtual 9 com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance:sendMessage (Ljava/lang/String;)V
    //   286: aload 11
    //   288: ifnull +7 -> 295
    //   291: iconst_1
    //   292: goto +4 -> 296
    //   295: iconst_0
    //   296: istore 12
    //   298: aload 4
    //   300: ifnull +10 -> 310
    //   303: aload 4
    //   305: invokeinterface 83 1 0
    //   310: goto +13 -> 323
    //   313: astore 13
    //   315: getstatic 85 com/l2jfrozen/gameserver/model/actor/instance/L2PasswordChangerInstance:_log Ljava/util/logging/Logger;
    //   318: ldc 86
    //   320: invokevirtual 87 java/util/logging/Logger:warning (Ljava/lang/String;)V
    //   323: iload 12
    //   325: ireturn
    //   326: aload 4
    //   328: ifnull +10 -> 338
    //   331: aload 4
    //   333: invokeinterface 83 1 0
    //   338: goto +104 -> 442
    //   341: astore 6
    //   343: getstatic 85 com/l2jfrozen/gameserver/model/actor/instance/L2PasswordChangerInstance:_log Ljava/util/logging/Logger;
    //   346: ldc 86
    //   348: invokevirtual 87 java/util/logging/Logger:warning (Ljava/lang/String;)V
    //   351: goto +91 -> 442
    //   354: astore 6
    //   356: getstatic 85 com/l2jfrozen/gameserver/model/actor/instance/L2PasswordChangerInstance:_log Ljava/util/logging/Logger;
    //   359: new 40 java/lang/StringBuilder
    //   362: dup
    //   363: invokespecial 41 java/lang/StringBuilder:<init> ()V
    //   366: ldc 88
    //   368: invokevirtual 43 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   371: aload_3
    //   372: invokevirtual 64 com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance:getAccountName ()Ljava/lang/String;
    //   375: invokevirtual 43 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   378: invokevirtual 46 java/lang/StringBuilder:toString ()Ljava/lang/String;
    //   381: invokevirtual 87 java/util/logging/Logger:warning (Ljava/lang/String;)V
    //   384: aload 4
    //   386: ifnull +10 -> 396
    //   389: aload 4
    //   391: invokeinterface 83 1 0
    //   396: goto +46 -> 442
    //   399: astore 6
    //   401: getstatic 85 com/l2jfrozen/gameserver/model/actor/instance/L2PasswordChangerInstance:_log Ljava/util/logging/Logger;
    //   404: ldc 86
    //   406: invokevirtual 87 java/util/logging/Logger:warning (Ljava/lang/String;)V
    //   409: goto +33 -> 442
    //   412: astore 14
    //   414: aload 4
    //   416: ifnull +10 -> 426
    //   419: aload 4
    //   421: invokeinterface 83 1 0
    //   426: goto +13 -> 439
    //   429: astore 15
    //   431: getstatic 85 com/l2jfrozen/gameserver/model/actor/instance/L2PasswordChangerInstance:_log Ljava/util/logging/Logger;
    //   434: ldc 86
    //   436: invokevirtual 87 java/util/logging/Logger:warning (Ljava/lang/String;)V
    //   439: aload 14
    //   441: athrow
    //   442: aload 4
    //   444: ifnull +10 -> 454
    //   447: aload 4
    //   449: invokeinterface 83 1 0
    //   454: goto +13 -> 467
    //   457: astore 6
    //   459: getstatic 85 com/l2jfrozen/gameserver/model/actor/instance/L2PasswordChangerInstance:_log Ljava/util/logging/Logger;
    //   462: ldc 86
    //   464: invokevirtual 87 java/util/logging/Logger:warning (Ljava/lang/String;)V
    //   467: iconst_1
    //   468: ireturn
    //
    // Exception table:
    //   from to target type
    //   251 257 260 java/lang/Exception
    //   298 310 313 java/sql/SQLException
    //   326 338 341 java/sql/SQLException
    //   55 298 354 java/lang/Exception
    //   384 396 399 java/sql/SQLException
    //   55 298 412 finally
    //   354 384 412 finally
    //   412 414 412 finally
    //   414 426 429 java/sql/SQLException
    //   442 454 457 java/sql/SQLException
  }
}
________________
Продвижение вашего сайта, увеличение ссылочной массы, продвижение по НЧ-СЧ-ВЧ запросам.
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Помогите!] Password derrzz Вопросы и ответы, обсуждения 2 24.04.2011 17:38
password pro WunshPunsh Общение и обсуждение, архив Lineage 2 1 14.12.2010 22:25

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 16:53.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net