Jump to content

Jojo_

Members
  • Posts

    176
  • Credits

  • Joined

  • Last visited

  • Days Won

    1
  • Feedback

    0%

Posts posted by Jojo_

  1. Eheheheh that picture.

    For now I have trouble to make it work :X
    I updated with new dll and .ini but it just ''log'' over CacheD with some log blue line when I log my character :X
    Maybe I compiled old files I will recheck properly, also I carefully checked my table and yes it is there :)


    Was it :)
    Would it be possible to have a ''black list'' feature? 
    Like being unable to send mail to a certain character ?
    Forbid an user to send an mail ?

    (I would personally use it to forbid one character to receive mail, the one I use just to send Dimensional Item.
    Also the way your dbo.post is made I could convert my script to this system to send birthday gift etc through php or any other method to execute your sql.)
    For now I will test it and tell you if I find any quack :) 

  2. Hi,
    Seem it use Delphi and same source than I based mine of (I converted source from Delphi 7 to Rad studio 10.1)
    you could try to change few options to make it much better here my suggestion :)

    1 : Disable ''Transparent'' over black or any color that just ugly. (see next suggestion why)
    https://i.imgur.com/thYodPe.png
    2 : Enable GlassFrame (It allow PNG to have Alpha !)

    https://i.imgur.com/urmBbeE.jpg
    3 : Option button put it few pixel to left with some margin from the Close button (Mistake can easly happen)
    4 : In Game Settings Add 2 Buttons for Apply and Close that weird to have clickable text only :)
    5 : If you do use 1 & 2 in png add a shadow so it look prettier :D (Here that a personal view !)
    6 : If you want to rock on every others launcher make a skin for each chronicle and trust me you will have feedback ;)

    Now I have tiny question, do you plan to re-share fixed sources or accept helps ?
    so we can help you making it even better than you did now :)
    If you want to talk about over skype tell me and I pm you name over here :)

  3. Hi, 
    I have seen you have made some change about mail system, do you accept suggestion about it ?

    If yes check spoiler :


    1. Do you think we could send item with mail from SQL? (similar to dimensional merchant)
    2. The date a mail stay can be changed? (If I am right on official that 30 days) But here will you add a param in .ini to configure the delay before delete (like 0 = never and next that counted in day?)
    3. Not a suggestion just a question, will you check if we can send item in mail with the params is tradable from itemdata.txt?
    4. Really thank you for your extender I know I can seem intrusive but really you do something wonderful ! 

  4. Hi,
    I come ask because maybe I just miss something really oblivious.

    When I try to save UTX/UKX with L2Editor it does save properly but it became unreadable by the game.
    Also when I create material, like TexEnvMap it just crash UnrealEngine is this normal or something is wrong with my download L2Editor ?

    I am using Lineage 2 - Epilogue client and it was doing the same on Gracia Final.
    Thank you for you help it would help me to save ton of time :)

    PS : I tried to encrypt with encdec but it seem to do the same 

  5. Hi, 
    I can't seem to make it work with UKX/UTX
    Do they have to be saved then encrypted in any method?
    Right now I used an unreal engine that would save it directly fine with Gildor patch (just not open)

    What I try to achieve is to load a UKX add a mesh and save and there it just wont load in game same for utx.
    So I tried to encrypt it but same it does not load.
    (why I do not want to use gildor is that I have to redo all animation notify each time I open my UKX D: )

  6. I have tiny big issue with splited AI 

    11/13/2017 15:00:37.821, Loading Split AI: Can't load file aiai_adiantum_skilluse\adiantum_skilluse.txt


    And this for all classes.
    Yes I do have splited AI folder with txt etc.
    I did it with make.py all you provided some post again in a .tar
    what make me think there is something wrong is that "aiai_" after Loading Split AI: Can't load file ....
    It seem to miss a back slash in to assume it as path (ai\ai_ )
    Did I fail somewhere ?

    Pfff do not mind me I am stupid really.
    That in Classes.txt ... 
    Now when do fix classes.txt it show that error and for all : 

    11/13/2017 15:12:32.116, Fail to load. Reset the AI. Line[0]
    11/13/2017 15:12:32.157, Cannot find AI class[farm_maker]
    11/13/2017 15:12:32.158, Maker[oren15_azit_teleporter01] doesn't have ai handler. cannot set the ai parameter[CastleID]

    I will try to find why :)

  7. Hi,
    Some region (and well known) have quite random critical error.
    Time to time players receive such error :
    weirdcd.png

    But that not always the case time to time with luck no error and they can get npc.
    Anyway just to say I have checked several time client and it seem to be perfectly fine on another server 
    Could such been related to AI.obj? 
    I ask because that the only file I do not really know in /script/ and that the only one that remain the one from gracia final 83 leak.
    Thank you if you give any tips or help that quite frustrating ^^"

     

    Actually as surprising as it seem that related to client.
    That fail with new drivers. 
    If any have a proper solution feel free to contribute here :)

  8. Can you try that an tell if that right ? 
    (I can not check i do not have working primeshop working for Gracia Final.)

    Go in "Lin2World" then in "user_point"
    Search for your desired character by ID 
    I row point type search id 0 of your desired character (I suggest that for test you use your builder account.)
    And in count if that 0 change it to something else so you can see that change in game.

    If that does not change it be sure to reload character.
    If that still not work try to add different Point type ID (ID 6 = Pc cafe point), all other I have no idea yet sorry.)
    It does Not require server reboot when you give point. 

    If after sometime you still have not found it I suggest to contact Advext and ask them some documentation after all you should have payed for their files :)

    When I read their SQL it seem point id is 0 check bellow after "@account_id" :)

    CREATE PROCEDURE lin_AddPointsJob
    (
        @account_id INT,
        @points INT
    )
    AS
    SET NOCOUNT ON;
    INSERT INTO dbo.user_pending_job (account_id, job_type, job_param, job_create_time) VALUES (@account_id, 0, @points, GETDATE())
    go
    
  9. Hi
    Here an example of Aggresive monster (Krator ( A golem that send nice wind ball if you try to run away in Cruma Tower) in NPCData. 

    npc_begin    warrior    20217    [krator]    category={}    level=44    exp=23180550    ex_crt_effect=0    unique=0    s_npc_prop_hp_rate=2    race=construct    sex=male    skill_list={@s_npc_prop_race_construct;@s_npc_prop_hp_lv_m2;@s_npc_prop_mp_lv_p0;@s_npc_prop_pa_lv_n1;@s_npc_prop_ma_lv_n1;@s_npc_prop_pd_lv_p5;@s_npc_prop_md_lv_p3;@s_npc_prop_armor_type_n;@s_npc_prop_weapon_type_blunt;@s_npc_resist_sleep_ex5;@s_npc_resist_poison_ex5;@s_npc_resist_bleed_ex5;@s_npc_resist_bow1;@s_npc_weakness_blunt1}    slot_chest=[]    slot_rhand=[]    slot_lhand=[]    collision_radius={20;25}    collision_height={31;37.5}    hit_time_factor=0.41    hit_time_factor_skill=-1    ground_high={23;0;0}    ground_low={23;0;0}    str=40    int=21    dex=30    wit=20    con=43    men=20    org_hp=1138.62924    org_hp_regen=5.5    org_mp=584    org_mp_regen=2.1    base_attack_type=blunt    base_attack_range=40    base_damage_range={0;0;80;120}    base_rand_dam=50    base_physical_attack=222.23112    base_critical=1    physical_hit_modify=9    base_attack_speed=253    base_reuse_delay=0    base_magic_attack=151.75505    base_defend=173.43552    base_magic_defend=126.91259    base_attribute_attack={none;0}    base_attribute_defend={20;20;20;20;20;20;0}    physical_avoid_modify=0    shield_defense_rate=0    shield_defense=0    safe_height=100    soulshot_count=0    spiritshot_count=0    clan={@porta_clan}    ignore_clan_list={}    clan_help_range=400    undying=0    can_be_attacked=1    corpse_time=7    no_sleep_mode=0    agro_range=1000    passable_door=0    can_move=1    flying=0    has_summoner=0    targetable=1    show_name_tag=1    npc_ai={[krator];{[MoveAroundSocial]=116};{[MoveAroundSocial1]=116};{[MoveAroundSocial2]=116};{[IsAggressive]=1};{[AttackRange]=2};{[Skill02_Check_Dist]=1};{[Skill02_Dist_Min]=700};{[Attack_DecayRatio]=30};{[SoulShot]=100};{[SoulShotRate]=10};{[SpiritShot]=100};{[SpiritShotRate]=5};{[LongRangeGuardRate]=5};{[Skill02_ID]=@s_mega_storm_strike_for_slow4}}    event_flag={1}    unsowing=0    acquire_exp_rate=4.130438    acquire_sp=522    acquire_rp=0    corpse_make_list={{[silver_nugget];1;3;52.4276};{[orcish_glaive_blade];1;1;2.056};{[rp_earing_of_protection];1;1;13.3744}}    additional_make_list={}    additional_make_multi_list={{{{[adena];1032;2115;100}};70};{{{[mithril_boots];1;1;0.2489};{[mithril_boots_design];1;1;10.8622};{[chain_boots];1;1;0.2489};{[chain_boots_part];1;1;10.8622};{[karmian_boots];1;1;0.2489};{[karmian_boots_fabric];1;1;10.8622};{[plate_leather_boots];1;1;0.2489};{[plate_leather_boots_lining];1;1;10.8622};{[dwarven_chain_boots];1;1;0.2489};{[dwarven_chain_boots_part];1;1;10.8622};{[boots_of_seal];1;1;0.2489};{[boots_of_seal_pattern];1;1;10.8622};{[reinforce_mithril_gloves];1;1;0.2489};{[reinforce_mithril_gloves_design];1;1;10.8622};{[chain_gloves];1;1;0.2489};{[chain_gloves_design];1;1;10.8622};{[karmian_gloves];1;1;0.2489};{[karmian_gloves_fabric];1;1;10.8623}};5.6958};{{{[thread];1;1;74.1443};{[silver_nugget];1;1;14.8289};{[iron_thread];1;1;3.7072};{[compound_braid];1;1;2.4715};{[rp_earing_of_protection];1;1;1.8914};{[rp_demon's_hose];1;1;0.8059};{[rp_stiletto];1;1;0.1292};{[rp_adv_comp_bspiritshot_c];1;1;0.1236};{[general_46_c];1;1;1.4829};{[special_46_c];1;1;0.3707};{[rare_46_c];1;1;0.0371};{[unique_46_c];1;1;0.0073}};27.849}}    ex_item_drop_list={}    npc_end
    


    Now the part you need to change is in "npc_ai" (still in this line not AI.obj only NPCDATA.TXT is needed to make a monstrer aggresive:

     

    {[IsAggressive]=1};

    1 mean it is aggresive 0 mean passive simple as that :)
    Now be sure to check it's aggresive range 
     

    agro_range=1000

    in general most of high level skill that 900-1000 for mage. (600 for buffs if i am right)

    also if you want to link your monster each other put them in "clan"

    clan={@porta_clan}    ignore_clan_list={}    clan_help_range=400

    This mean Krator is in porta clan and will agro you if you hit anything from that clan in distance of 400 from him not you :P (I think if you played a bit Lineage you know what this mean)

     

    • Upvote 1
  10. you can run with epilogue if you input right version with MyExt if you wanna give a try i will try to find a proper fix with the client

    Anyone have an epilogue system folder ? patched and working? 
    Even if that include custom item etc I do not mind
    I have a slow internet for few days so I can not doanload full client to patch etc :))

  11.         {"Obelisk of Victory good"; -98293; 237764; -3568; 470; 0 }
            {"Obelisk of Victory bug"; -98320; 237764; -3568; 470; 0 }
            {"Obelisk of Victory ori"; -99586; 237637; -3568; 470; 0 }
    

    there might be something somewhere causing issue with that.
    'good' is one front of obelisk but outside the unr of obelisk.
    'bug' is one front of obelisk and inside the unr of obelisk.
    'ori' is the original localisation from .obj

    now take a look at freya loc from freya's ai.obj

    	{"Obelisk of Victory"; -99586; 237637; -3568; 470; 0 }

    Exact same loc as gracia final file :)

  12. well there is the pain way :
    Make a debug npc with all tp loc.
    Each time you tried one change the name of tp from TP1 to TP1 - OK
    and reload AI from npc server and so on.

    You always open server to few player to help you ^^
    and severa TP to four npc and ask them to use it like crazy and report.
    If you want I can try to list all tp but it gonna be a pain.
    There is ton of tp.

    Or you can use some easier method.
    Get all gatekeeper name in npcdata 
    Use a myteleport spellbook somewhere so you can go back to your loc without issue.
    And spawn all teleporter near you and try all there teleport list (gonna take time on clan hall teleporter :X)

    As far as I know only wall of argos is knew for that me.
    I remember  in C3 blazing swamp used to do that too when you tped near doors.

    It must be a logic someway but easly fixable if your player report to you issues :) 

  13. Hi !
    I have find no information about it and told the solution over a help topic so to help those who need it here a tiny guide to be able to use "Dimensional Merchan" aka Vitamin Manager.

    It is a feature that send item from SQL to player without any server reboot or commands needed.
    Al it need is a player restart if he/she were online when you executed SQL Command.
    (it does //premium_item command over SQL and for all player.)

    So let start, I assume in this guide that you  start with a server shutdown.) :)

    Know Issue(s) :

    You can not send any non stackable items like full.

     

    Required :
    Gracia final and or highter (I can not tell if any other chronicle work !)
    MyExt.

    Now let enable that NPC to spawn and allow feature in "MyExt64.ini"

    ; Enables Vitamin Manager
    EnableVitaminManager = true
    ; Enables withdrawing of non-premium items through Vitamin Manager
    EnableVitaminManagerNonPremiumItems = true
    

    be sure to have these Enabled.

    Now let add the line to be able to retrieve item (in case you do no have it at base like me.)
    so for that open "e_premium_manager001.htm" (it was it for me.)
    And add this line :

    <a action="bypass -h menu_select?ask=1&reply=1"><font color="LEVEL">Retrieve a Dimensional Item</font></a><br> 
    

    So in the end it look like that(Attention that totaly unofficial html but working one.) 

    <html>
        <head>
        </head>
        <body>
            Dimensional Merchant:<br>
            Greetings, adventurer! I know I may look strange to you, but I have traveled through time and space, scouring the corners of reality, to bring you the finest wares in all the land. <br>
            My agents are collecting rarities, trinkets, and treasures the likes of which you have never seen. 
            They have returned, with several unusual items, maybe some have been shared to you. <br>
            <a action="bypass -h menu_select?ask=1&reply=1"><font color="LEVEL">Retrieve a Dimensional Item</font></a><br>
            <a action="bypass -h menu_select?ask=2&reply=1">Exchange a Minion Coupon for a Minion pet</a><br>
            <a action="link e_premium_manager009.htm">Exchange a Premium Minion Coupon for a Premium Minion pet</a><br>
        </body>
    </html>

    now here my AI section for this npc in case you do not have it but it is not modified, it was not required at all on Gracia final)
     

     

     

     

     

    class 0 e_premium_npc : default_npc
    parameter_define_begin
        int ticket_5h 13273
        int ticket_5h_ev 13383
        int ticket_pt 14065
        int ticket_pt_ev 14074
        int warrior_buf_con_5h 13017
        int mage_buf_con_5h 13018
        int warrior_con_5h 13019
        int mage_con_5h 13020
        int toy_knight_con 14061
        int spirit_mage_con 14062
        int turtle_con 14064
        int owl_mage_con 14063
        int warrior_buf_pet_5h 1016045
        int mage_buf_pet_5h 1016046
        int warrior_pet_5h 1016044
        int mage_pet_5h 1016043
        int toy_knight_pet 1016052
        int spirit_mage_pet 1016051
        int turtle_pet 1016053
        int owl_mage_pet 1016050
    parameter_define_end
    handler 12 0    //  CREATED
        variable_begin
            "myself"
            "_choiceN"
            "_code"
            "_from_choice"
        variable_end
        handler_end
        handler 3 13    //  TALKED
        variable_begin
            "talker"
            "i0"
            "i1"
            "i2"
            "i3"
            "i4"
            "myself"
            "_choiceN"
            "_code"
            "_from_choice"
        variable_end
            push_event    //  myself
        push_const 784            //ShowPage
        add
        fetch_i            //ShowPage
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
    S11491. "e_premium_manager001.htm"
        push_string S11491
        func_call 235012165    //  func[ShowPage]
        shift_sp -2
        shift_sp -1
    handler_end
        handler 31 1347    //  MENU_SELECTED
        variable_begin
            "talker"
            "ask"
            "reply"
            "i0"
            "i1"
            "i2"
            "i3"
            "i4"
            "myself"
            "_choiceN"
            "_code"
            "_from_choice"
        variable_end
            push_event    //  ask
        push_const 160            //ask
        add
        fetch_i4
        push_const 1            //unary->INTEGER_CONST
        equal
        branch_false L71607
    L71608
        push_event    //  reply
        push_const 272            //reply
        add
        fetch_i
        push_const 1            //unary->INTEGER_CONST
        equal
        branch_false L71609
    L71610
        push_event    //  myself
        push_const 784            //ShowPremiumItemList
        add
        fetch_i            //ShowPremiumItemList
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        func_call 234947085    //  func[ShowPremiumItemList]
        shift_sp -1
        shift_sp -1
    L71609
        jump L71611
    L71607
        push_event    //  ask
        push_const 160            //ask
        add
        fetch_i4
        push_const 2            //unary->INTEGER_CONST
        equal
        branch_false L71612
    L71613
        push_event    //  reply
        push_const 272            //reply
        add
        fetch_i
        push_const 1            //unary->INTEGER_CONST
        equal
        branch_false L71614
    L71615
        push_event    //  myself
        push_const 784            //ShowPage
        add
        fetch_i            //ShowPage
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
    S11492. "e_premium_manager002.htm"
        push_string S11492
        func_call 235012165    //  func[ShowPage]
        shift_sp -2
        shift_sp -1
    L71614
        jump L71616
    L71612
        push_event    //  ask
        push_const 160            //ask
        add
        fetch_i4
        push_const 3            //unary->INTEGER_CONST
        equal
        branch_false L71617
    L71618
        push_event    //  reply
        push_const 272            //reply
        add
        fetch_i
        push_const 1            //unary->INTEGER_CONST
        equal
        branch_false L71619
    L71620
        push_event    //  myself
        push_const 784            //ShowPage
        add
        fetch_i            //ShowPage
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
    S11493. "e_premium_manager003.htm"
        push_string S11493
        func_call 235012165    //  func[ShowPage]
        shift_sp -2
        shift_sp -1
        jump L71621
    L71619
        push_event    //  reply
        push_const 272            //reply
        add
        fetch_i
        push_const 2            //unary->INTEGER_CONST
        equal
        branch_false L71622
    L71623
        push_event    //  gg
        push_const 704            //OwnItemCount
        add
        fetch_i            //OwnItemCount
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_5h
        func_call 268566576    //  func[OwnItemCount]
        shift_sp -2
        push_const 0            //unary->INTEGER_CONST
        greater
        push_reg_sp
        fetch_i            //or exit label
        branch_true L71624
        push_event    //  gg
        push_const 704            //OwnItemCount
        add
        fetch_i            //OwnItemCount
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_5h_ev
        func_call 268566576    //  func[OwnItemCount]
        shift_sp -2
        push_const 0            //unary->INTEGER_CONST
        greater
        or
    L71624
        branch_false L71625
    L71626
        push_event    //  gg
        push_const 704            //OwnItemCount
        add
        fetch_i            //OwnItemCount
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_5h_ev
        func_call 268566576    //  func[OwnItemCount]
        shift_sp -2
        push_const 0            //unary->INTEGER_CONST
        greater
        branch_false L71627
    L71628
        push_event    //  myself
        push_const 784            //DeleteItem1
        add
        fetch_i            //DeleteItem1
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_5h_ev
        push_const 1            //unary->INTEGER_CONST
        func_call 235077765    //  func[DeleteItem1]
        shift_sp -3
        shift_sp -1
        jump L71629
    L71627
        push_event    //  myself
        push_const 784            //DeleteItem1
        add
        fetch_i            //DeleteItem1
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_5h
        push_const 1            //unary->INTEGER_CONST
        func_call 235077765    //  func[DeleteItem1]
        shift_sp -3
        shift_sp -1
    L71629
        push_event    //  myself
        push_const 784            //GetItemData
        add
        fetch_i            //GetItemData
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter warrior_buf_con_5h
        func_call 235012230    //  func[GetItemData]
        shift_sp -2
        shift_sp -1
        push_event    //  myself
        push_const 784            //CreatePet
        add
        fetch_i            //CreatePet
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter warrior_buf_con_5h
        push_parameter warrior_buf_pet_5h
        push_const 1            //unary->INTEGER_CONST
        func_call 235143449    //  func[CreatePet]
        shift_sp -4
        shift_sp -1
        push_event    //  myself
        push_const 784            //ShowPage
        add
        fetch_i            //ShowPage
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
    S11494. "e_premium_manager008.htm"
        push_string S11494
        func_call 235012165    //  func[ShowPage]
        shift_sp -2
        shift_sp -1
        jump L71630
    L71625
        push_event    //  myself
        push_const 784            //ShowPage
        add
        fetch_i            //ShowPage
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
    S11495. "e_premium_manager007.htm"
        push_string S11495
        func_call 235012165    //  func[ShowPage]
        shift_sp -2
        shift_sp -1
    L71630
    L71622
    L71621
        jump L71631
    L71617
        push_event    //  ask
        push_const 160            //ask
        add
        fetch_i4
        push_const 4            //unary->INTEGER_CONST
        equal
        branch_false L71632
    L71633
        push_event    //  reply
        push_const 272            //reply
        add
        fetch_i
        push_const 1            //unary->INTEGER_CONST
        equal
        branch_false L71634
    L71635
        push_event    //  myself
        push_const 784            //ShowPage
        add
        fetch_i            //ShowPage
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
    S11496. "e_premium_manager004.htm"
        push_string S11496
        func_call 235012165    //  func[ShowPage]
        shift_sp -2
        shift_sp -1
        jump L71636
    L71634
        push_event    //  reply
        push_const 272            //reply
        add
        fetch_i
        push_const 2            //unary->INTEGER_CONST
        equal
        branch_false L71637
    L71638
        push_event    //  gg
        push_const 704            //OwnItemCount
        add
        fetch_i            //OwnItemCount
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_5h
        func_call 268566576    //  func[OwnItemCount]
        shift_sp -2
        push_const 0            //unary->INTEGER_CONST
        greater
        push_reg_sp
        fetch_i            //or exit label
        branch_true L71639
        push_event    //  gg
        push_const 704            //OwnItemCount
        add
        fetch_i            //OwnItemCount
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_5h_ev
        func_call 268566576    //  func[OwnItemCount]
        shift_sp -2
        push_const 0            //unary->INTEGER_CONST
        greater
        or
    L71639
        branch_false L71640
    L71641
        push_event    //  gg
        push_const 704            //OwnItemCount
        add
        fetch_i            //OwnItemCount
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_5h_ev
        func_call 268566576    //  func[OwnItemCount]
        shift_sp -2
        push_const 0            //unary->INTEGER_CONST
        greater
        branch_false L71642
    L71643
        push_event    //  myself
        push_const 784            //DeleteItem1
        add
        fetch_i            //DeleteItem1
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_5h_ev
        push_const 1            //unary->INTEGER_CONST
        func_call 235077765    //  func[DeleteItem1]
        shift_sp -3
        shift_sp -1
        jump L71644
    L71642
        push_event    //  myself
        push_const 784            //DeleteItem1
        add
        fetch_i            //DeleteItem1
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_5h
        push_const 1            //unary->INTEGER_CONST
        func_call 235077765    //  func[DeleteItem1]
        shift_sp -3
        shift_sp -1
    L71644
        push_event    //  myself
        push_const 784            //GetItemData
        add
        fetch_i            //GetItemData
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter mage_buf_con_5h
        func_call 235012230    //  func[GetItemData]
        shift_sp -2
        shift_sp -1
        push_event    //  myself
        push_const 784            //CreatePet
        add
        fetch_i            //CreatePet
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter mage_buf_con_5h
        push_parameter mage_buf_pet_5h
        push_const 1            //unary->INTEGER_CONST
        func_call 235143449    //  func[CreatePet]
        shift_sp -4
        shift_sp -1
        push_event    //  myself
        push_const 784            //ShowPage
        add
        fetch_i            //ShowPage
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
    S11497. "e_premium_manager008.htm"
        push_string S11497
        func_call 235012165    //  func[ShowPage]
        shift_sp -2
        shift_sp -1
        jump L71645
    L71640
        push_event    //  myself
        push_const 784            //ShowPage
        add
        fetch_i            //ShowPage
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
    S11498. "e_premium_manager007.htm"
        push_string S11498
        func_call 235012165    //  func[ShowPage]
        shift_sp -2
        shift_sp -1
    L71645
    L71637
    L71636
        jump L71646
    L71632
        push_event    //  ask
        push_const 160            //ask
        add
        fetch_i4
        push_const 5            //unary->INTEGER_CONST
        equal
        branch_false L71647
    L71648
        push_event    //  reply
        push_const 272            //reply
        add
        fetch_i
        push_const 1            //unary->INTEGER_CONST
        equal
        branch_false L71649
    L71650
        push_event    //  myself
        push_const 784            //ShowPage
        add
        fetch_i            //ShowPage
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
    S11499. "e_premium_manager005.htm"
        push_string S11499
        func_call 235012165    //  func[ShowPage]
        shift_sp -2
        shift_sp -1
        jump L71651
    L71649
        push_event    //  reply
        push_const 272            //reply
        add
        fetch_i
        push_const 2            //unary->INTEGER_CONST
        equal
        branch_false L71652
    L71653
        push_event    //  gg
        push_const 704            //OwnItemCount
        add
        fetch_i            //OwnItemCount
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_5h
        func_call 268566576    //  func[OwnItemCount]
        shift_sp -2
        push_const 0            //unary->INTEGER_CONST
        greater
        push_reg_sp
        fetch_i            //or exit label
        branch_true L71654
        push_event    //  gg
        push_const 704            //OwnItemCount
        add
        fetch_i            //OwnItemCount
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_5h_ev
        func_call 268566576    //  func[OwnItemCount]
        shift_sp -2
        push_const 0            //unary->INTEGER_CONST
        greater
        or
    L71654
        branch_false L71655
    L71656
        push_event    //  gg
        push_const 704            //OwnItemCount
        add
        fetch_i            //OwnItemCount
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_5h_ev
        func_call 268566576    //  func[OwnItemCount]
        shift_sp -2
        push_const 0            //unary->INTEGER_CONST
        greater
        branch_false L71657
    L71658
        push_event    //  myself
        push_const 784            //DeleteItem1
        add
        fetch_i            //DeleteItem1
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_5h_ev
        push_const 1            //unary->INTEGER_CONST
        func_call 235077765    //  func[DeleteItem1]
        shift_sp -3
        shift_sp -1
        jump L71659
    L71657
        push_event    //  myself
        push_const 784            //DeleteItem1
        add
        fetch_i            //DeleteItem1
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_5h
        push_const 1            //unary->INTEGER_CONST
        func_call 235077765    //  func[DeleteItem1]
        shift_sp -3
        shift_sp -1
    L71659
        push_event    //  myself
        push_const 784            //GetItemData
        add
        fetch_i            //GetItemData
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter warrior_con_5h
        func_call 235012230    //  func[GetItemData]
        shift_sp -2
        shift_sp -1
        push_event    //  myself
        push_const 784            //CreatePet
        add
        fetch_i            //CreatePet
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter warrior_con_5h
        push_parameter warrior_pet_5h
        push_const 1            //unary->INTEGER_CONST
        func_call 235143449    //  func[CreatePet]
        shift_sp -4
        shift_sp -1
        push_event    //  myself
        push_const 784            //ShowPage
        add
        fetch_i            //ShowPage
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
    S11500. "e_premium_manager008.htm"
        push_string S11500
        func_call 235012165    //  func[ShowPage]
        shift_sp -2
        shift_sp -1
        jump L71660
    L71655
        push_event    //  myself
        push_const 784            //ShowPage
        add
        fetch_i            //ShowPage
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
    S11501. "e_premium_manager007.htm"
        push_string S11501
        func_call 235012165    //  func[ShowPage]
        shift_sp -2
        shift_sp -1
    L71660
    L71652
    L71651
        jump L71661
    L71647
        push_event    //  ask
        push_const 160            //ask
        add
        fetch_i4
        push_const 6            //unary->INTEGER_CONST
        equal
        branch_false L71662
    L71663
        push_event    //  reply
        push_const 272            //reply
        add
        fetch_i
        push_const 1            //unary->INTEGER_CONST
        equal
        branch_false L71664
    L71665
        push_event    //  myself
        push_const 784            //ShowPage
        add
        fetch_i            //ShowPage
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
    S11502. "e_premium_manager006.htm"
        push_string S11502
        func_call 235012165    //  func[ShowPage]
        shift_sp -2
        shift_sp -1
        jump L71666
    L71664
        push_event    //  reply
        push_const 272            //reply
        add
        fetch_i
        push_const 2            //unary->INTEGER_CONST
        equal
        branch_false L71667
    L71668
        push_event    //  gg
        push_const 704            //OwnItemCount
        add
        fetch_i            //OwnItemCount
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_5h
        func_call 268566576    //  func[OwnItemCount]
        shift_sp -2
        push_const 0            //unary->INTEGER_CONST
        greater
        push_reg_sp
        fetch_i            //or exit label
        branch_true L71669
        push_event    //  gg
        push_const 704            //OwnItemCount
        add
        fetch_i            //OwnItemCount
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_5h_ev
        func_call 268566576    //  func[OwnItemCount]
        shift_sp -2
        push_const 0            //unary->INTEGER_CONST
        greater
        or
    L71669
        branch_false L71670
    L71671
        push_event    //  gg
        push_const 704            //OwnItemCount
        add
        fetch_i            //OwnItemCount
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_5h_ev
        func_call 268566576    //  func[OwnItemCount]
        shift_sp -2
        push_const 0            //unary->INTEGER_CONST
        greater
        branch_false L71672
    L71673
        push_event    //  myself
        push_const 784            //DeleteItem1
        add
        fetch_i            //DeleteItem1
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_5h_ev
        push_const 1            //unary->INTEGER_CONST
        func_call 235077765    //  func[DeleteItem1]
        shift_sp -3
        shift_sp -1
        jump L71674
    L71672
        push_event    //  myself
        push_const 784            //DeleteItem1
        add
        fetch_i            //DeleteItem1
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_5h
        push_const 1            //unary->INTEGER_CONST
        func_call 235077765    //  func[DeleteItem1]
        shift_sp -3
        shift_sp -1
    L71674
        push_event    //  myself
        push_const 784            //GetItemData
        add
        fetch_i            //GetItemData
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter mage_con_5h
        func_call 235012230    //  func[GetItemData]
        shift_sp -2
        shift_sp -1
        push_event    //  myself
        push_const 784            //CreatePet
        add
        fetch_i            //CreatePet
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter mage_con_5h
        push_parameter mage_pet_5h
        push_const 1            //unary->INTEGER_CONST
        func_call 235143449    //  func[CreatePet]
        shift_sp -4
        shift_sp -1
        push_event    //  myself
        push_const 784            //ShowPage
        add
        fetch_i            //ShowPage
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
    S11503. "e_premium_manager008.htm"
        push_string S11503
        func_call 235012165    //  func[ShowPage]
        shift_sp -2
        shift_sp -1
        jump L71675
    L71670
        push_event    //  myself
        push_const 784            //ShowPage
        add
        fetch_i            //ShowPage
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
    S11504. "e_premium_manager007.htm"
        push_string S11504
        func_call 235012165    //  func[ShowPage]
        shift_sp -2
        shift_sp -1
    L71675
    L71667
    L71666
        jump L71676
    L71662
        push_event    //  ask
        push_const 160            //ask
        add
        fetch_i4
        push_const 21000            //unary->INTEGER_CONST
        equal
        branch_false L71677
    L71678
        push_event    //  reply
        push_const 272            //reply
        add
        fetch_i
        push_const 11            //unary->INTEGER_CONST
        equal
        branch_false L71679
    L71680
        push_event    //  gg
        push_const 704            //OwnItemCount
        add
        fetch_i            //OwnItemCount
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_pt
        func_call 268566576    //  func[OwnItemCount]
        shift_sp -2
        push_const 0            //unary->INTEGER_CONST
        greater
        push_reg_sp
        fetch_i            //or exit label
        branch_true L71681
        push_event    //  gg
        push_const 704            //OwnItemCount
        add
        fetch_i            //OwnItemCount
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_pt_ev
        func_call 268566576    //  func[OwnItemCount]
        shift_sp -2
        push_const 0            //unary->INTEGER_CONST
        greater
        or
    L71681
        branch_false L71682
    L71683
        push_event    //  gg
        push_const 704            //OwnItemCount
        add
        fetch_i            //OwnItemCount
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_pt_ev
        func_call 268566576    //  func[OwnItemCount]
        shift_sp -2
        push_const 0            //unary->INTEGER_CONST
        greater
        branch_false L71684
    L71685
        push_event    //  myself
        push_const 784            //DeleteItem1
        add
        fetch_i            //DeleteItem1
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_pt_ev
        push_const 1            //unary->INTEGER_CONST
        func_call 235077765    //  func[DeleteItem1]
        shift_sp -3
        shift_sp -1
        jump L71686
    L71684
        push_event    //  myself
        push_const 784            //DeleteItem1
        add
        fetch_i            //DeleteItem1
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_pt
        push_const 1            //unary->INTEGER_CONST
        func_call 235077765    //  func[DeleteItem1]
        shift_sp -3
        shift_sp -1
    L71686
        push_event    //  myself
        push_const 784            //GetItemData
        add
        fetch_i            //GetItemData
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter toy_knight_con
        func_call 235012230    //  func[GetItemData]
        shift_sp -2
        shift_sp -1
        push_event    //  myself
        push_const 784            //CreatePet
        add
        fetch_i            //CreatePet
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter toy_knight_con
        push_parameter toy_knight_pet
        push_const 1            //unary->INTEGER_CONST
        func_call 235143449    //  func[CreatePet]
        shift_sp -4
        shift_sp -1
        push_event    //  myself
        push_const 784            //ShowPage
        add
        fetch_i            //ShowPage
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
    S11505. "e_premium_manager008.htm"
        push_string S11505
        func_call 235012165    //  func[ShowPage]
        shift_sp -2
        shift_sp -1
        jump L71687
    L71682
        push_event    //  myself
        push_const 784            //ShowPage
        add
        fetch_i            //ShowPage
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
    S11506. "e_premium_manager007.htm"
        push_string S11506
        func_call 235012165    //  func[ShowPage]
        shift_sp -2
        shift_sp -1
    L71687
        jump L71688
    L71679
        push_event    //  reply
        push_const 272            //reply
        add
        fetch_i
        push_const 21            //unary->INTEGER_CONST
        equal
        branch_false L71689
    L71690
        push_event    //  gg
        push_const 704            //OwnItemCount
        add
        fetch_i            //OwnItemCount
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_pt
        func_call 268566576    //  func[OwnItemCount]
        shift_sp -2
        push_const 0            //unary->INTEGER_CONST
        greater
        push_reg_sp
        fetch_i            //or exit label
        branch_true L71691
        push_event    //  gg
        push_const 704            //OwnItemCount
        add
        fetch_i            //OwnItemCount
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_pt_ev
        func_call 268566576    //  func[OwnItemCount]
        shift_sp -2
        push_const 0            //unary->INTEGER_CONST
        greater
        or
    L71691
        branch_false L71692
    L71693
        push_event    //  gg
        push_const 704            //OwnItemCount
        add
        fetch_i            //OwnItemCount
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_pt_ev
        func_call 268566576    //  func[OwnItemCount]
        shift_sp -2
        push_const 0            //unary->INTEGER_CONST
        greater
        branch_false L71694
    L71695
        push_event    //  myself
        push_const 784            //DeleteItem1
        add
        fetch_i            //DeleteItem1
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_pt_ev
        push_const 1            //unary->INTEGER_CONST
        func_call 235077765    //  func[DeleteItem1]
        shift_sp -3
        shift_sp -1
        jump L71696
    L71694
        push_event    //  myself
        push_const 784            //DeleteItem1
        add
        fetch_i            //DeleteItem1
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_pt
        push_const 1            //unary->INTEGER_CONST
        func_call 235077765    //  func[DeleteItem1]
        shift_sp -3
        shift_sp -1
    L71696
        push_event    //  myself
        push_const 784            //GetItemData
        add
        fetch_i            //GetItemData
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter spirit_mage_con
        func_call 235012230    //  func[GetItemData]
        shift_sp -2
        shift_sp -1
        push_event    //  myself
        push_const 784            //CreatePet
        add
        fetch_i            //CreatePet
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter spirit_mage_con
        push_parameter spirit_mage_pet
        push_const 1            //unary->INTEGER_CONST
        func_call 235143449    //  func[CreatePet]
        shift_sp -4
        shift_sp -1
        push_event    //  myself
        push_const 784            //ShowPage
        add
        fetch_i            //ShowPage
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
    S11507. "e_premium_manager008.htm"
        push_string S11507
        func_call 235012165    //  func[ShowPage]
        shift_sp -2
        shift_sp -1
        jump L71697
    L71692
        push_event    //  myself
        push_const 784            //ShowPage
        add
        fetch_i            //ShowPage
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
    S11508. "e_premium_manager007.htm"
        push_string S11508
        func_call 235012165    //  func[ShowPage]
        shift_sp -2
        shift_sp -1
    L71697
        jump L71698
    L71689
        push_event    //  reply
        push_const 272            //reply
        add
        fetch_i
        push_const 31            //unary->INTEGER_CONST
        equal
        branch_false L71699
    L71700
        push_event    //  gg
        push_const 704            //OwnItemCount
        add
        fetch_i            //OwnItemCount
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_pt
        func_call 268566576    //  func[OwnItemCount]
        shift_sp -2
        push_const 0            //unary->INTEGER_CONST
        greater
        push_reg_sp
        fetch_i            //or exit label
        branch_true L71701
        push_event    //  gg
        push_const 704            //OwnItemCount
        add
        fetch_i            //OwnItemCount
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_pt_ev
        func_call 268566576    //  func[OwnItemCount]
        shift_sp -2
        push_const 0            //unary->INTEGER_CONST
        greater
        or
    L71701
        branch_false L71702
    L71703
        push_event    //  gg
        push_const 704            //OwnItemCount
        add
        fetch_i            //OwnItemCount
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_pt_ev
        func_call 268566576    //  func[OwnItemCount]
        shift_sp -2
        push_const 0            //unary->INTEGER_CONST
        greater
        branch_false L71704
    L71705
        push_event    //  myself
        push_const 784            //DeleteItem1
        add
        fetch_i            //DeleteItem1
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_pt_ev
        push_const 1            //unary->INTEGER_CONST
        func_call 235077765    //  func[DeleteItem1]
        shift_sp -3
        shift_sp -1
        jump L71706
    L71704
        push_event    //  myself
        push_const 784            //DeleteItem1
        add
        fetch_i            //DeleteItem1
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_pt
        push_const 1            //unary->INTEGER_CONST
        func_call 235077765    //  func[DeleteItem1]
        shift_sp -3
        shift_sp -1
    L71706
        push_event    //  myself
        push_const 784            //GetItemData
        add
        fetch_i            //GetItemData
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter owl_mage_con
        func_call 235012230    //  func[GetItemData]
        shift_sp -2
        shift_sp -1
        push_event    //  myself
        push_const 784            //CreatePet
        add
        fetch_i            //CreatePet
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter owl_mage_con
        push_parameter owl_mage_pet
        push_const 1            //unary->INTEGER_CONST
        func_call 235143449    //  func[CreatePet]
        shift_sp -4
        shift_sp -1
        push_event    //  myself
        push_const 784            //ShowPage
        add
        fetch_i            //ShowPage
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
    S11509. "e_premium_manager008.htm"
        push_string S11509
        func_call 235012165    //  func[ShowPage]
        shift_sp -2
        shift_sp -1
        jump L71707
    L71702
        push_event    //  myself
        push_const 784            //ShowPage
        add
        fetch_i            //ShowPage
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
    S11510. "e_premium_manager007.htm"
        push_string S11510
        func_call 235012165    //  func[ShowPage]
        shift_sp -2
        shift_sp -1
    L71707
        jump L71708
    L71699
        push_event    //  reply
        push_const 272            //reply
        add
        fetch_i
        push_const 41            //unary->INTEGER_CONST
        equal
        branch_false L71709
    L71710
        push_event    //  gg
        push_const 704            //OwnItemCount
        add
        fetch_i            //OwnItemCount
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_pt
        func_call 268566576    //  func[OwnItemCount]
        shift_sp -2
        push_const 0            //unary->INTEGER_CONST
        greater
        push_reg_sp
        fetch_i            //or exit label
        branch_true L71711
        push_event    //  gg
        push_const 704            //OwnItemCount
        add
        fetch_i            //OwnItemCount
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_pt_ev
        func_call 268566576    //  func[OwnItemCount]
        shift_sp -2
        push_const 0            //unary->INTEGER_CONST
        greater
        or
    L71711
        branch_false L71712
    L71713
        push_event    //  gg
        push_const 704            //OwnItemCount
        add
        fetch_i            //OwnItemCount
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_pt_ev
        func_call 268566576    //  func[OwnItemCount]
        shift_sp -2
        push_const 0            //unary->INTEGER_CONST
        greater
        branch_false L71714
    L71715
        push_event    //  myself
        push_const 784            //DeleteItem1
        add
        fetch_i            //DeleteItem1
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_pt_ev
        push_const 1            //unary->INTEGER_CONST
        func_call 235077765    //  func[DeleteItem1]
        shift_sp -3
        shift_sp -1
        jump L71716
    L71714
        push_event    //  myself
        push_const 784            //DeleteItem1
        add
        fetch_i            //DeleteItem1
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter ticket_pt
        push_const 1            //unary->INTEGER_CONST
        func_call 235077765    //  func[DeleteItem1]
        shift_sp -3
        shift_sp -1
    L71716
        push_event    //  myself
        push_const 784            //GetItemData
        add
        fetch_i            //GetItemData
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter turtle_con
        func_call 235012230    //  func[GetItemData]
        shift_sp -2
        shift_sp -1
        push_event    //  myself
        push_const 784            //CreatePet
        add
        fetch_i            //CreatePet
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
        push_parameter turtle_con
        push_parameter turtle_pet
        push_const 1            //unary->INTEGER_CONST
        func_call 235143449    //  func[CreatePet]
        shift_sp -4
        shift_sp -1
        push_event    //  myself
        push_const 784            //ShowPage
        add
        fetch_i            //ShowPage
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
    S11511. "e_premium_manager008.htm"
        push_string S11511
        func_call 235012165    //  func[ShowPage]
        shift_sp -2
        shift_sp -1
        jump L71717
    L71712
        push_event    //  myself
        push_const 784            //ShowPage
        add
        fetch_i            //ShowPage
        push_event    //  talker
        push_const 40            //talker
        add
        fetch_i
    S11512. "e_premium_manager007.htm"
        push_string S11512
        func_call 235012165    //  func[ShowPage]
        shift_sp -2
        shift_sp -1
    L71717
    L71709
    L71708
    L71698
    L71688
    L71677
    L71676
    L71661
    L71646
    L71631
    L71616
    L71611
    handler_end
    class_end
    
     

     

    Now your server should be able to receive Item from SQL
    So try to launch it with npc and while it boot we will "fix" SQL table "user_premium_item" to auto increment warehouse_no field.
    if your already does and you have populated it you can skip to next step.
    If not make a backup of your SQL database and drop "user_premium_item"
    and execute this mssql script (it will re-create user_premium_item with auto increment field :)) :

    IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[user_premium_item]') AND type in (N'U'))
    BEGIN
    CREATE TABLE [dbo].[user_premium_item](
        [warehouse_no] [bigint] NOT NULL IDENTITY,
        [buyer_id] [int] NOT NULL,
        [buyer_char_id] [int] NULL,
        [buyer_char_name] [nvarchar](50) NULL,
        [recipient_id] [int] NOT NULL,
        [recipient_char_id] [int] NULL,
        [recipient_char_name] [nvarchar](50) NULL,
        [server_receive_date] [datetime] NOT NULL CONSTRAINT [DF_premium_service_server_receive_date]  DEFAULT (getdate()),
        [item_id] [int] NOT NULL,
        [item_amount] [bigint] NOT NULL,
        [item_remain] [bigint] NOT NULL,
        [ibserver_delete_date] [datetime] NULL,
     CONSTRAINT [PK_user_premium_item] PRIMARY KEY CLUSTERED 
    (
        [warehouse_no] ASC
    )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
    ) ON [PRIMARY]
    END
    GO
    

    now that you got proper Database and server that just wait you.
    We will first try it on your builder character.
    So execute this code but pay attention you 4 id to change and 1 string !

    INSERT INTO user_premium_item 
        (buyer_id,
        buyer_char_id,
        buyer_char_name,
        recipient_id,
        recipient_char_id,
        recipient_char_name,
        item_id,
        item_amount,
        item_remain,
        ibserver_delete_date)
    SELECT
        Builder Account ID,
        Builder Character ID of the accound ID,
        'Name of the character',
        Account ID that will receive the item,
        0 <- leave it to zero any character from accound can receive it, 
        null <- if 0 leave to null. ,
        8659 <- Item ID,
        5 <- Quantity sent,
        5 <- Remaining quantity,
        null <- Delete item Date (null to keep it for ever)
    GO
    

    here an example I made.
    builder account id is 13
    character id on this account is 65
    it's name is LineageTwo
    This character sent 8685 (a sweet chest :D)
    5 time to it's account.

    INSERT INTO user_premium_item 
        (buyer_id,
        buyer_char_id,
        buyer_char_name,
        recipient_id,
        recipient_char_id,
        recipient_char_name,
        item_id,
        item_amount,
        item_remain,
        ibserver_delete_date)
    SELECT
        13,
        65,
        'LineageTwo',
        13,
        0,
        null,
        8659,
        5,
        5,
        null
    GO
    

    Now it should look like that : 

    22713566_1459357170766339_22630909240231

    Now to send an item too all we just need to mode a tiny bit.

    INSERT INTO user_premium_item 
        (buyer_id,
        buyer_char_id,
        buyer_char_name,
        recipient_id,
        recipient_char_id,
        recipient_char_name,
        item_id,
        item_amount,
        item_remain,
        ibserver_delete_date)
    SELECT
        Builder Account ID,
        Builder Character ID of the accound ID,
        'Name of the character',
        uid, <- leave it that way, it will fetch all uid from user_account table.
        0, <- same as before it is to all character from the account to get it
        null, <- not required if no id as character as be provided.
        8659, <- Item ID
        5, <- Item Quantity
        5, <- Item Quantity remaing
        null <- delete item at the date provided.
    FROM lin2db.dbo.user_account
    

    so for a working example with same builder account and id + name than previous example here it is :

    INSERT INTO user_premium_item 
        (buyer_id,
        buyer_char_id,
        buyer_char_name,
        recipient_id,
        recipient_char_id,
        recipient_char_name,
        item_id,
        item_amount,
        item_remain,
        ibserver_delete_date)
    SELECT
        13,
        65,
        'LineageTwo',
        uid,
        0,
        null,
        8659,
        5,
        5,
        null
    FROM lin2db.dbo.user_account
    

    It will look like the previous screenshot but for all players.
    So in short with this method you can easly send item to all character from SQLwithout needing to reboot server.
    I can be userfull for reward from a game over php page, a donation system and many many things :)
    Hope you enjoy 

    • Like 1
  14. Hi, I made a tiny SQL for that :)
     

    IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[user_premium_item]') AND type in (N'U'))
    BEGIN
    CREATE TABLE [dbo].[user_premium_item](
    	[warehouse_no] [bigint] NOT NULL IDENTITY,
    	[buyer_id] [int] NOT NULL,
    	[buyer_char_id] [int] NULL,
    	[buyer_char_name] [nvarchar](50) NULL,
    	[recipient_id] [int] NOT NULL,
    	[recipient_char_id] [int] NULL,
    	[recipient_char_name] [nvarchar](50) NULL,
    	[server_receive_date] [datetime] NOT NULL CONSTRAINT [DF_premium_service_server_receive_date]  DEFAULT (getdate()),
    	[item_id] [int] NOT NULL,
    	[item_amount] [bigint] NOT NULL,
    	[item_remain] [bigint] NOT NULL,
    	[ibserver_delete_date] [datetime] NULL,
     CONSTRAINT [PK_user_premium_item] PRIMARY KEY CLUSTERED 
    (
    	[warehouse_no] ASC
    )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
    ) ON [PRIMARY]
    END
    GO
    
    INSERT INTO user_premium_item 
    	(buyer_id,
    	buyer_char_id,
    	buyer_char_name,
    	recipient_id,
    	recipient_char_id,
    	recipient_char_name,
    	item_id,
    	item_amount,
    	item_remain,
    	ibserver_delete_date)
    SELECT
    	<Builder Account ID>,
    	<Builder Character ID>,
    	'<Builder Charater Name>',
    	uid,
    	0,
    	null,
    	<Item ID>,
    	<Quantity>,
    	<Quandity left>,
    	<Expire Date can be null>
    FROM lin2db.dbo.user_account



    it require to drop the table '[dbo].[user_premium_item]' to allow Warehouse_no to be auto_increment :)
    It seem to work perfectly to me :)
    Enjoy and feel free to correct and or use this tiny script as you wish ~ 
    (No need to reboot only character will get notification when they relog, even if you drop the table :))
    Also remove that create table part and leave insert when you want to give item only :))

    Edit1: 
    For players it will look like that  (yes my htm for dimensional is no correct I am aware)
    XkSuO35.png

  15. I can confirm this issue and I will look into that

    Client used - Gracia final 87
    Got that issue
    Now I will try several combinaison of Geodata + unr to see if I can clear that issue.

    Edit seem it can be fixed without messing with files.

    Edit2:
    Okay I managed to fix it with just editing teleport position.
    In ai.obj change the faulty teleport (in my case gatekeeper_tatiana) : 

    	{"Wall of Argos"; 165054; -47861; -3560; 2200; 0 }
    	

    to something a bit outside of  wall of argos but still near !

    	 {"Wall of Argos"; 163812; -48414; -3512; 2200; 0 }
    	

    Class containing wall of argos Teleport :

    	gatekeeper_tatiana
    	gatekeeper_kurfa
    	gatekeeper_teranu
    	event_teleporter_n
    	adventurer_agent_town_63
    	adventurer_agent_town_64
    	adventurer_agent_town_65
    	adventurer_agent_town_66
    	adventurer_agent_town_67
    	chamberlain_alfred
    	custodian_aida
    	custodian_helga
    	custodian_milicent
    	custodian_branhilde
    	azit_chamberlain_yetti
    	godad_fort_steward
    	a_o_g_fort_steward
    	ru_go_fort_steward
    	

    You can automate it if you want if you look for

    	    {"Wall of Argos"; 165054; -47861; -3560;
    	

    and replace by 

    	     {"Wall of Argos"; 163812; -48414; -3512;
    	

    I gave class name in case your teleport list is not all the same :)

    here a screen where it teleport you now : 
    rVFOvhL.jpg

  16. On 05/08/2017 at 10:13 PM, eressea said:

    If you really need player to be online, you can use premium item system but it would require some work...

    Well for curiousity I tried that method.
    First add in e_premium_manager001.htm
    this 


    <a action="bypass -h menu_select?ask=1&reply=1"><font color="LEVEL">Receive vitamins items</font></a><br>
    


    now with a builder charater does that : 


    //premium_item new 0 20227 1
    new is used to tell to add a new item in list
    0 is id of premium item line

    20227 is One-Eyed Bat Drove Agathion Pack
    and 1 the amount of it

    feel free to correct me if i am wrong


    And now go check your Dimensional keeper press that added line (turn off html caching if you are not waiting to reboot server)
    It will show you that tiny window with One-Eyed Bat Drove Agathion Pack.

    Now what will try to find is a way to give that to all characters.
    And right now I have no idea :)
    Could be really userful for gift like xmas etc ~

  17. On 14/10/2017 at 8:53 PM, eressea said:

    I do not want to seem stupid but really, since I have put your cacheD I do not have such errors.
    At first each day I had to reboot NPC server to fix it, now after few days I still have no issues :)
    So maybe that a coincidence and in theory it should but I like it.
    Edit:
    Also tiny question where the command .expon .expoff is store in your code?
    Just telling the file that enough I want to learn on this first (debutting in code and I will try to understand these)
    (I can read it "that clear" yet unsure if I would be able to change it without breaking it :P)

    Edit2: Seem I have found it do not mind me then it was logic i was not looking carefully :D

×
×
  • Create New...