קהילות פורומים, הורדות, יעוץ ותמיכה


אשכולות דומים

  1. [שחרור]V62 Localhosts
    על ידי SapiRxD בפורום שרתים פרטיים MapleStory
    תגובות: 9
    הודעה אחרונה: 12-02-2010, 07:43
  2. [שחרור]MapleTechno Source v62 Rev5
    על ידי SmexyApplE בפורום שרתים פרטיים MapleStory
    תגובות: 8
    הודעה אחרונה: 28-01-2010, 17:40
  3. [סקר]לפרסם איך לעשות מערכת פינים?
    על ידי meny2030 בפורום שרתים פרטיים MapleStory
    תגובות: 11
    הודעה אחרונה: 24-01-2010, 15:57
  4. [שחרור]v62 Kabing Source
    על ידי SapiRxD בפורום שרתים פרטיים MapleStory
    תגובות: 10
    הודעה אחרונה: 25-12-2009, 17:30
  5. [שחרור] אשכול השחרורים/המדריכים שלי! [v62]
    על ידי Shinx בפורום שרתים פרטיים MapleStory
    תגובות: 30
    הודעה אחרונה: 18-12-2009, 16:19
+ תגובה לנושא
עמוד 1 מתוך 3 123 אחרון >>
מציג תוצאות 1 עד 15 מתוך 45

[שחרור]מערכת פינים V62

  1. #1

    ברירת מחדל [שחרור]מערכת פינים V62

    הגיעו אל - net\sf\odinms\net\channel\handler

    הוסיפו RegisterPinHandler.java
    הקוד:
    קוד:
    package net.sf.odinms.net.channel.handler;
    
    import net.sf.odinms.net.AbstractMaplePacketHandler;
    import net.sf.odinms.net.login.handler.AfterLoginHandler;
    import net.sf.odinms.tools.MaplePacketCreator;
    import net.sf.odinms.tools.data.input.SeekableLittleEndianAccessor;
    import net.sf.odinms.client.MapleClient;
    import org.slf4j.LoggerFactory;
    
    
    
    /*
     * @author Rob
     */
    public class RegisterPinHandler extends AbstractMaplePacketHandler {
        private static org.slf4j.Logger log = LoggerFactory.getLogger(AfterLoginHandler.class);
    
        @Override
        public void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) {
           byte c2 = slea.readByte();
           if (c2 == 0) {
                c.updateLoginState(MapleClient.LOGIN_NOTLOGGEDIN);
            } else {
           String pin = slea.readMapleAsciiString();
    
           if (pin != null) {
                    c.setPin(pin);
                    c.getSession().write(MaplePacketCreator.pinRegistered());
                    c.updateLoginState(MapleClient.LOGIN_NOTLOGGEDIN); //Restart login attempt when pin is assigned
                }
            }
        }
    }
    כנסו אל - net\sf\odinms\net\login\handler

    החליפו את הקובץ שלכם AfterLoginHandler.java
    בקוד הבא:
    קוד:
    package net.sf.odinms.net.login.handler;
    
    import net.sf.odinms.client.MapleClient;
    import net.sf.odinms.net.AbstractMaplePacketHandler;
    import net.sf.odinms.net.login.LoginServer;
    import net.sf.odinms.tools.MaplePacketCreator;
    import net.sf.odinms.tools.data.input.SeekableLittleEndianAccessor;
    
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    public class AfterLoginHandler extends AbstractMaplePacketHandler {
        private static Logger log = LoggerFactory.getLogger(AfterLoginHandler.class);
    
        @Override
        public void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) {
            log.info(slea.toString());
            byte c2 = slea.readByte();
            byte c3 = 5;
            try {
                c3 = slea.readByte();
            } catch(java.lang.ArrayIndexOutOfBoundsException e) {
                //To prevent console from being spammed when user cancels pin
            }
            if (c2 == 1 && c3 == 1) {
                // Official requests the pin here
               if (c.getPin() == null && LoginServer.getInstance().isAllowPin()) {
                    c.getSession().write(MaplePacketCreator.registerPin());
                } else if (c.getPin() !=null && LoginServer.getInstance().isAllowPin()){
                    c.getSession().write(MaplePacketCreator.requestPin());
                } else if (!LoginServer.getInstance().isAllowPin()) {
                    c.getSession().write(MaplePacketCreator.pinAccepted());
                }
            } else if (c2 == 1 && c3 == 0) {
                slea.seek(8);
                String pin = slea.readMapleAsciiString();
                if (pin.equals(c.getPin()) || !LoginServer.getInstance().isAllowPin()) {
                    c.getSession().write(MaplePacketCreator.pinAccepted());
                } else {
                    c.getSession().write(MaplePacketCreator.requestPinAfterFailure());
                }
            } else if (c2 == 2 && c3 == 0) {
                slea.seek(8);
                String pin = slea.readMapleAsciiString();
                if (pin.equals(c.getPin())) {
                    c.getSession().write(MaplePacketCreator.registerPin());
                } else {
                    c.getSession().write(MaplePacketCreator.requestPinAfterFailure());
                }
            } else if (c2 == 0 && c3 == 5){
                //Client is canceling pin, reset the login
                 c.updateLoginState(MapleClient.LOGIN_NOTLOGGEDIN);
            } else {
                // abort login attempt
            }
        }
    }
    הגיעו אל - net\sf\odinms\client

    פתחו את - MapleClient.java

    מצאו:
    קוד:
    private byte greason = 1;
    הוסיפו מתחת:
    קוד:
    private String pin = null;
    מצאו:
    קוד:
    PreparedStatement ps = con.prepareStatement("SELECT id,password,salt,tempban,banned,gm,macs,greason FROM accounts WHERE name = ?");
    רק אם השורה הנ"ל כמו שכבתי אם לא דלגו על השלב הבא ופשוט תוסיפו
    קוד:
    ,pin
    אחרי greason

    החליפו ב-:
    קוד:
    PreparedStatement ps = con.prepareStatement("SELECT id,password,salt,tempban,banned,gm,macs,greason,pin FROM accounts WHERE name = ?");
    מצאו:
    קוד:
    accId = rs.getInt("id");
    הוסיפו מתחת:
    קוד:
    pin = rs.getString("pin");
    מצאו:
    קוד:
    public void setIdleTask(ScheduledFuture<?> idleTask) {
            this.idleTask = idleTask;
        }
    הוסיפו מתחת-:
    קוד:
    public void setPin(String pin) {
            this.pin = pin;
    
            Connection con = DatabaseConnection.getConnection();
    
            try {
                PreparedStatement ps = con.prepareStatement("UPDATE accounts SET pin = ? WHERE id = ?");
                ps.setString(1, pin);
                ps.setInt(2, accId);
                ps.executeUpdate();
                ps.close();
            } catch (SQLException e) {
                log.error("SQL THROW");
            }
        }
    
            public String getPin() {
            return pin;
        }
    הגיעו ל- net\sf\odinms\tools

    כנסו אל- MaplePacketCreator.java

    הוסיפו תפונקציה הבאה:
    קוד:
    public static MaplePacket registerPin() {
            return pinOperation((byte) 1);
        }
    הגיעו אל - net\sf\odinms\net
    כנסו ל- PacketProcessor.java

    הוסיפו import:
    קוד:
    import net.sf.odinms.net.channel.handler.RegisterPinHandler;
    מצאו:
    קוד:
    registerHandler(RecvPacketOpcode.PICK_ALL_CHAR, new PickCharHandler());
    הוסיפו מתחת:
    קוד:
    registerHandler(RecvPacketOpcode.REGISTER_PIN, new RegisterPinHandler());
    הגיעו אל - net\sf\odinms\net
    כנסו ל- RecvPacketOpcode.java

    מצאו:
    קוד:
    PET_LOOT,
    הוסיפו שורה למטה:
    קוד:
    REGISTER_PIN,
    הגיעו אל- net\sf\odinms\net\login
    כנסו ל-LoginServer.java

    מצאו:
    קוד:
    int maxCharacters;
    הוסיפו מתחת:
    קוד:
    private boolean pin;
    מצאו:
    קוד:
    maxCharacters = Integer.parseInt(prop.getProperty("net.sf.odinms.login.maxCharacters"));
    הוסיפו מתחת:
    קוד:
    pin = Boolean.parseBoolean(prop.getProperty("net.sf.odinms.login.pin", "false"));
    ועכשיו נחזור על אותו דבר שוב מצאו עוד:
    קוד:
    maxCharacters = Integer.parseInt(prop.getProperty("net.sf.odinms.login.maxCharacters"));
    הוסיפו מתחת:
    קוד:
    pin = Boolean.parseBoolean(prop.getProperty("net.sf.odinms.login.pin", "false"));
    מצאו:
    קוד:
    @Override
        public void setUserLimit(int newLimit) {
            userLimit = newLimit;
        }
    הוסיפו מתחת:
    קוד:
    public boolean isAllowPin() {
            return pin;
        }
    כנסו אל- world.properties בריפאק לשכם והוסיפו את השורה הבאה:

    קוד:
    # AllowPin
    net.sf.odinms.login.pin=true
    כאשר יש true יהיו פינים, תשנו ל-false לא יהיו... קפיש?

    זהו סיימנו תהנו.

    קוד SQL:
    קוד:
    ALTER TABLE `accounts` ADD COLUMN `pin` VARCHAR(4) NULL;
    עריכה הוסיפו:

    אם השתמשתם בסקריפטים של לפני ה"עריכה" אז החליפו לסקריפטים של registerpinhandler ו-afterloginhander

    עכשיו הוסיפו ל-maplepacketcreator

    קוד:
    public static MaplePacket pinRegistered() {
            MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter();
            mplew.writeShort(SendPacketOpcode.PIN_ASSIGNED.getValue());
            mplew.write(0);
            return mplew.getPacket();
        }
    הוסיפו ב-SendPacketOpcode
    קוד:
    PIN_ASSIGNED,
    נערך לאחרונה על ידי meny2030; 25-01-2010 בשעה 00:25.

  2. קישורים ממומנים

  3. #2

    הק"ב אנחנו אוהבים אותך!
    האוואטר של Eden.
    שם פרטי
    עדן
    תאריך הצטרפות
    01/2010
    גיל
    30
    הודעות
    2,565
    לייקים
    2
    נקודות
    1,545
    משפט מחץ
    עראק עראק, עראק עראק, אוהבים אותך כולם, עראק עראק, עראק עראק, מקיאים אותך בים.
    מין: זכר

    ברירת מחדל

    תודה מני אחלה עבודה.
    שלום שלום

  4. #3
    משתמש משקיע
    שם פרטי
    ספיר
    תאריך הצטרפות
    09/2007
    הודעות
    3,504
    לייקים
    0
    נקודות
    0
    משפט מחץ
    Beauty From Far And Far From Beauty
    מין: נקבה

    ברירת מחדל

    תודה מני.
    באמת אחלה עבודה..=]



  5. #4
    משתמש משקיע האוואטר של ביסלי
    שם פרטי
    יוסי
    תאריך הצטרפות
    03/2008
    גיל
    31
    הודעות
    2,735
    לייקים
    13
    נקודות
    236
    משפט מחץ
    דבר שווה ערך זה דבר שהיה קשה להשיג אותו
    מין: זכר

    ברירת מחדל

    אפשר תמונה שזה עובד?
    ויש ריפאקים מסויימים שיהיה להם בעיה או משהו?



    סכום הגודל שמותר לחתימה הינו 600, חתימתך הייתה בגודל 949 ולכן נערכה. אנא שמור על החוקים.
    ספוילר:

    להבא הלינקים לא ישמרו.

    http://img263.imageshack.us/img263/958/130983008776.png



  6. #5

    ברירת מחדל

    יעבוד על כל ריפאק... ואתה יכול לראות בתמונות של ExitStory.

  7. #6
    משתמש זהב האוואטר של stClass
    שם פרטי
    עידן
    תאריך הצטרפות
    09/2009
    הודעות
    4,142
    לייקים
    279
    נקודות
    293
    פוסטים בבלוג
    1
    משפט מחץ
    כלב נובח לא נושך, תבינו מה זה אומר עליכם
    מין: זכר

    ברירת מחדל

    מצאו:
    קוד:
    קוד:
    PreparedStatement ps = con.prepareStatement("SELECT id,password,salt,tempban,banned,gm,macs,greason FROM accounts WHERE name = ?");
    רק אם השורה הנ"ל כמו שכבתי אם לא דלגו על השלב הבא ופשוט תוסיפו
    קוד:
    קוד:
    ,pin

    לא הבנתי...
    אם אין לי אז להוסיף ,pin ואיפו להוסיף?
    מפקח קטגוריית משחקי תפקידים לשעבר.


  8. #7
    משתמש מכור האוואטר של SmexyApplE
    שם פרטי
    סער
    תאריך הצטרפות
    02/2009
    הודעות
    1,829
    לייקים
    4
    נקודות
    3
    משפט מחץ
    "לטעות זה אנושי , לסלוח זה אלוהי"
    מין: זכר

    ברירת מחדל

    תודה רבה,
    המשך כך=]!

  9. #8
    מורחקים
    שם פרטי
    Great
    תאריך הצטרפות
    01/2010
    גיל
    35
    הודעות
    214
    לייקים
    0
    נקודות
    50
    משפט מחץ
    למעלה^^^
    מין: זכר

    ברירת מחדל

    אחי קודם כל מדריך פצצה,עכשיו לא ממש הבנתי אותך
    PreparedStatement ps = con.prepareStatement("SELECT id,password,salt,tempban,banned,gm,macs,greason FROM accounts WHERE name = ?");
    רק אם השורה הנ"ל כמו שכבתי אם לא דלגו על השלב הבא ופשוט תוסיפו

    אבל אין לי את השורה הזאת ואיפה אני שם אותה??

  10. #9
    משתמש משקיע
    שם פרטי
    ספיר
    תאריך הצטרפות
    09/2007
    הודעות
    3,504
    לייקים
    0
    נקודות
    0
    משפט מחץ
    Beauty From Far And Far From Beauty
    מין: נקבה

    ברירת מחדל

    ציטוט נכתב במקור על ידי MINESTRAL צפיה בהודעה
    לא הבנתי...
    אם אין לי אז להוסיף ,pin ואיפו להוסיף?
    הוא רשם, אחרי הgreason אתה מוסיף ,pin .

    ציטוט נכתב במקור על ידי GreatStory צפיה בהודעה
    אחי קודם כל מדריך פצצה,עכשיו לא ממש הבנתי אותך


    רק אם השורה הנ"ל כמו שכבתי אם לא דלגו על השלב הבא ופשוט תוסיפו

    אבל אין לי את השורה הזאת ואיפה אני שם אותה??
    השרוה הזאת היא חלק מהפונקציה של הלוגין ( public int login ), לא יכול להיות שאין לך את השורה הזאת אחרת הלוגין לא היה עובד כמו שצריך.
    (הוא לא היה קורא את הנתונים מהDB).
    אל תעשה חיפוש לכל השורה, תעשה חיפוש לחלק ממנה כי יכול להיות שזה לא מוצא כי אתה מחפש את כל השורה כמו שהוא כתב, ואצלך זה לא רשום ככה.
    תנסה לחפש :
    קוד:
    PreparedStatement ps = con.prepareStatement("SELECT id



  11. #10
    מורחקים
    שם פרטי
    Great
    תאריך הצטרפות
    01/2010
    גיל
    35
    הודעות
    214
    לייקים
    0
    נקודות
    50
    משפט מחץ
    למעלה^^^
    מין: זכר

    ברירת מחדל

    הוספתי ליד את ה,pin כמו שרשום שם וזהו ? או שצריך לרדת שורה

  12. #11
    משתמש משקיע
    שם פרטי
    ספיר
    תאריך הצטרפות
    09/2007
    הודעות
    3,504
    לייקים
    0
    נקודות
    0
    משפט מחץ
    Beauty From Far And Far From Beauty
    מין: נקבה

    ברירת מחדל

    וזהו.
    ופשוט תמשיך את המדריך בלי השלב שאחרי , כאילו על מה שהוא אמר לדלג, תדלג.



  13. #12

    ברירת מחדל

    תדלג במקרה שזה לא תואם לשורה שאני כתבתי אם זה לא תואם פשוט תוסיף בסוף השורה ,pin.

  14. #13

    ברירת מחדל

    מוכר.
    תודה.


  15. #14
    משתמש מכור
    שם פרטי
    יוני
    תאריך הצטרפות
    12/2009
    הודעות
    1,784
    לייקים
    0
    נקודות
    -80
    משפט מחץ
    אה?
    מין: זכר

    ברירת מחדל

    יש לי בעיה בקימפול ס-ס כתוב שלא מוצא PINREGISTER
    נערך לאחרונה על ידי yoni279; 25-01-2010 בשעה 15:28.



  16. #15
    מורחקים
    שם פרטי
    יצחק
    תאריך הצטרפות
    11/2009
    גיל
    31
    הודעות
    295
    לייקים
    0
    נקודות
    2
    משפט מחץ
    כל חור בחושך שחור...
    מין: זכר

    ברירת מחדל

    ציטוט נכתב במקור על ידי meny2030 צפיה בהודעה
    [COLOR=Red][B][SIZE=2]עריכה הוסיפו:

    אם השתמשתם בסקריפטים של לפני ה"עריכה" אז החליפו לסקריפטים של registerpinhandler ו-afterloginhander

    עכשיו הוסיפו ל-maplepacketcreator

    קוד:
    public static MaplePacket pinRegistered() {
            MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter();
            mplew.writeShort(SendPacketOpcode.PIN_ASSIGNED.getValue());
            mplew.write(0);
            return mplew.getPacket();
        }
    הוסיפו ב-SendPacketOpcode
    קוד:
    PIN_ASSIGNED,
    לא הבנתי... מה לעשות<??.?

+ תגובה לנושא
עמוד 1 מתוך 3 123 אחרון >>


הרשאות פרסום

  • אין באפשרותך לפרסם נושאים חדשים
  • אין באפשרותך לפרסם תגובות
  • אין באפשרותך לצרף קבצים
  • אין באפשרותך לערוך את הודעותיך


כל הזמנים הם לפי GMT +3. השעה כרגע היא 20:38.
מופעל על ידי vBulletin™ © גרסה 4.1, 2011 vBulletin Solutions, Inc. כל הזכויות שמורות.
פעילות הגולשים
אומנות וגרפיקה
מוזיקה
ספורט
סדרות טלוויזיה
סרטים וקולנוע
קנייה ומכירה
רשתות חברתיות
הבורר 3
פורומי פנאי ובידור
סרטים
סדרות
משחקים
דיבורים
אקטואליה
בעלי חיים
בדיחות והומור
משחקי ספורט
הבורר
מחשבים וטכנולוגיה
תמיכה טכנית
חומרה ומודינג
תוכנות להורדה
סלולארי וגאדג'טים
רקעים למחשב
ציוד הקפי למחשב
אבטחת מידע
תכנות ובניית אתרים
כסף ברשת
אייפון
בריאות ואורח חיים
כושר ופיתוח גוף
דיאטה
צבא וגיוס
יעוץ מיני
מה שבלב
אומנות הפיתוי
יהדות
מיסטיקה ורוחניות
אתאיזם ודתות

נושאים: 2,472,800 | הודעות: 8,173,387 | משתמשים: 315,603 | המשתמש החדש ביותר: upizijoj | עיצוב גרפי: סטודיו עודד בביוף | קידוד: rellect