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.

  • Posts

    • The bot video lasts 35 minutes and not everything is shown there, if everything was shown, the video could have lasted several hours. Also, the video quality is reduced so as not to take up much space.The last minutes of the video show bots attacking each other on the event. https://dropmefiles.com/1jMi2
    • We also forgot to say that the deal will be the way you want it, we are ready for almost any of your demands. And we ask the administration to review our post as soon as possible, because several hours have passed and it still hasn't passed moderation, thank you in advance!  
    • 💥Super offer GitHub Account  (5 years)💥 ⚠️ Available to order for only $20🔥
    • Good day to all! We present to your attention our source code h5, where several projects used and achieved very good results, both in terms of online and in general for the project. (Due to confidentiality, the list of projects, the test server and what the basis of the source code will be provided only to real buyers, where they can go and check them out)   The main feature is bots, which are very animated, one to one like real players. But, in addition to bots, the build has a lot of interesting and modern things. Below will be a video showing bots and a little about the server.   As we said, the build was used on several projects, so the first thing that is there is not a single backdoor on the server, all serious and critical errors have been fixed. Races and classes are closer to the official PTS platform.   And also the server can be used as a classic server, as well as a server with add-ons, because the server has added many new things, weapons, armor, jewelry, hats, cloaks, etc.   The server has a full working community board (alt+b), working locations, quests, geodata, mechanism, working ai, in general there are no problems and complaints. In alt+b, shops, various services, buffer, player statistics, clan statistics, mail, profession change, personal account, registration for events, etc. are available.   Additional services: Premium account, visual costumes, nickname change services (for yourself and your pet), nickname and title painting service, karma/PC cleaning, expand services, weapon/armor/jewelry sharpening service, level up and down service, nobles purchase service, beauty salon (new hairstyle change from higher chronicles and face change), additional window purchase service, clan reputation purchase service, weapon augmentation purchase service.   Internal services: auto potions (acp), referral system, repair services, automatic reward delivery after n. time, additional auction, and other working systems, also many available commands, such as: exact date of epic respawn, password change directly inside the game, offline buffer, auto att, registration for castle sieges directly by entering a command and other available commands.   The server has protection (both on the server side and on the client side) that protects against free software and also several other anti-bot systems that will not give the slightest chance to bot users. But if you want people to use software, you just turn it off.   Bots. As we said, one of the main features of our server is bots, they are one to one like real players, now a little about bots and below is a link to a video about how they work: Server bots are like real players, their AI is copied from the AI ??of real characters, and therefore they get what real players get and you can also do with them everything that can be done with real characters.   They write in chats, in all chats, trade, shout, pm, clan chat, general chat. They walk around the cities, level up, farm, kill each other in pvp and pc, put on weapons, armor, jewelry, sharpen weapons. According to their level, they will choose their professions, join clans, participate in different events, use alt+b services - I'm telling you, their AI is copied and adapted like a real player's AI, so they can do everything that a real player can.   Bot control: You can set a chat and words for bots, how often or rarely they will write in chats, you can control where and how the bots will level up, you can control what events they will be at, you can control what cities they will run in, you can control where they will stand, you can even call them to you and that's not all, they are completely in your hands and you can twist them as you want. The bot video lasts 35 minutes and not everything is shown there, if everything was shown, the video could have lasted several hours. Also, the video quality is reduced so as not to take up much space.   You can check the rest yourself on the test server and we will fully show you everything that bots are capable of and you will be surprised)   Now about the price and a little about our work and what is included in this price. We do not sell only the build, we sell the source code in its entirety, so that you can adapt something for yourself. The price of the source code: 15,000 euros. What is included in this price: 1. We do not have a license, you buy it once and you can use it for the rest of your life. 2. There is no online limit and there is also no limit on running bots, the server can support as much online and bots as your VDS is powerful. 3. Client-side protection. You will not pay extra for protection, the source code already has everything. 4. All builds that we have created for projects that bought the source from us (they have ready-made servers, with their own ready-made concepts, configs, different alt+b designs, for different rates x1, x10, x20, x50, x100, x1200, x5000, there are also servers for classics and servers with add-ons, they all have configured bots for their servers) all this will be included in this price. You will receive all the builds of these projects. 5. Once a year we update and improve the source, we will also improve the bots, make different paths for them, different farming places, and revive them more and more, to get them you will have to pay 20 euros to get the updates. 6. You will receive all the bot settings from our first projects to the last, the video shows little, our last configured bots are almost indistinguishable from real players and you will see this yourself on the test server or later. (Our last setup and development of bots lasted 11 months and these works and what bots can do cannot be described in words, you yourself must see them to feel this work and power) 7. We will teach you how to control both the server and training on setting up and controlling bots. 8. We will provide you with VDS for 3 months and if necessary we will help you as much as we can until the first launch of your project! 9. Our bots move, they don't stand in one place, they walk around the cities and use a teleport, after the teleport they move on to the farming place in random places. They communicate in the chat and if you hit them, they can hit you back. They are in almost every city and farming location, near many key NPCs, instance zone managers, etc. They are automatically updated and move around the cities and farming zones. They attack those who have a flag and those who is pk. These are simply unique bots that can help you in terms of your online and your project in general! 10. As we said, our latest bot development lasted 11 months and we made 92 new farm zones for bots, more than 150,000 new paths for all locations, different methods of dressing their equipment, different methods of their behavior and more than 40,000 universal words in the chat, in different languages, where no one can even doubt that these are bots! Our contact information Telegramm: https://t.me/jg_uc Discord: j.g.u.c_dev
  • Topics

×
×
  • Create New...