Jump to content

Recommended Posts

Posted (edited)

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 

Edited by Jojo_
Who the fuck coded that edit system that a pain in ass
  • Like 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...