Jojo_ Posted October 26, 2017 Share Posted October 26, 2017 (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 : 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 November 2, 2017 by Jojo_ Who the fuck coded that edit system that a pain in ass 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.