1
Sources Generales / Re: FUENTE LEGADO BASE PIKE 4.3 (MUSERVER+DB+CLIENTE+SOURCE)
« Posteado: Today at 11:33:15 AM »I used MS SQL Server 2008 and switched to another database, but the same error still occurred. I crashed. This is my incorrect image https://imgur.com/a/xG5tDNwThe logs of the data server are all normal. So you mean there's an issue with the DB I restored, right?FIX FOR JEWEL BANK+POST ITEM+PVP CTRL +AUTO WEARI used the MuSever he released to modify an IP address, opened MIAN, but couldn't create a character. Is there something not set correctly? Please advise
AUTO WEAR IF YOU TRY TO POST ITEM YOUR OWN WINGS/ITEMS
sample your sm wings cant post items and direct to wear in wings slot
this fix is to prevent auto wear if your own items you want to POST
ItemMove.cppCode: [Select]void RightClickMoveItem()
{
// ============================================================
// ✅ FIX: Block auto-wear if CTRL is pressed (PK mode)
// ============================================================
if (GetKeyState(VK_CONTROL) & 0x8000)
{
return; // Do NOT auto-equip the item
}
// ============================================================
// ✅ ORIGINAL RIGHT-CLICK LOGIC
// ============================================================
if (!ppMousePress(VK_RBUTTON) || PickedItem || ItemMove)
{
return;
}
if (pCheckWindow(pWindowThis(), 9) == 0 && pCheckWindow(pWindowThis(), 13) == 0) // ChaosBox ~ Inventory
{
return;
}
ItemMove = false;
SourceFlag = -1;
SourceSlot = *(DWORD*)((DWORD)InventoryThis(pWindowThis()) + 284);
TargetSlot = -1;
if (SourceSlot >= 0 && SourceSlot < INVENTORY_WEAR_SIZE)
{
if (*(DWORD*)MAIN_CURRENT_MAP == 10 || *(DWORD*)MAIN_CURRENT_MAP == 39)
{
if (SourceSlot == 7 &&
GetItemEquipedIndex(8) != GET_ITEM(13, 3) &&
GetItemEquipedIndex(8) != GET_ITEM(13, 4) &&
GetItemEquipedIndex(8) != GET_ITEM(13, 37))
{
return;
}
if (SourceSlot == 8 &&
(GetItemEquipedIndex(8) == GET_ITEM(13, 3) ||
GetItemEquipedIndex(8) == GET_ITEM(13, 4) ||
GetItemEquipedIndex(8) == GET_ITEM(13, 37)) &&
GetItemEquipedIndex(7) == 0xFFFF)
{
return;
}
}
DWORD ItemStruct = GetItemEquiped(SourceSlot);
if (ItemStruct && GetItemEquipedIndex(SourceSlot) != 0xFFFF)
{
ITEM_INFO2* lpItemInfo = GetItemInfo(*(WORD*)ItemStruct);
TargetSlot = InventoryFindEmptySlot(InventoryThis(pWindowThis()), lpItemInfo->Width, lpItemInfo->Height);
if (TargetSlot != -1)
{
SendRequestEquipmentItem(0, SourceSlot, ItemStruct, 0, INVENTORY_WEAR_SIZE + TargetSlot);
ResetMouseRButton();
ItemMove = true;
SourceFlag = 0;
}
}
}
else
{
int InventoryMain = InventoryFindItemSlot(GetMyInventoryCtrl(InventoryThis(pWindowThis()), 0), pCursorX, pCursorY);
int InventoryExpand1 = InventoryFindItemSlot(GetMyInventoryCtrl(InventoryThis(pWindowThis()), 1), pCursorX, pCursorY);
int InventoryExpand2 = InventoryFindItemSlot(GetMyInventoryCtrl(InventoryThis(pWindowThis()), 2), pCursorX, pCursorY);
if (pCheckWindow(pWindowThis(), 9) != 0)
{
DWORD MixItemStruct = (DWORD)InventoryFindItem(MixGetMyInventoryCtrl(MixInventoryThis(pWindowThis())), pCursorX, pCursorY);
if (MixItemStruct)
{
ITEM_INFO2* lpItemInfo = GetItemInfo(*(WORD*)MixItemStruct);
SourceSlot = InventoryFindItemSlot(MixGetMyInventoryCtrl(MixInventoryThis(pWindowThis())), pCursorX, pCursorY);
TargetSlot = InventoryFindEmptySlot(InventoryThis(pWindowThis()), lpItemInfo->Width, lpItemInfo->Height);
if (SourceSlot != -1 && TargetSlot != -1)
{
SendRequestEquipmentItem(3, SourceSlot, MixItemStruct, 0, INVENTORY_WEAR_SIZE + TargetSlot);
ResetMouseRButton();
ItemMove = true;
SourceFlag = 1;
}
}
else
{
DWORD InventoryCtrl = -1;
DWORD ItemStruct = (DWORD)InventoryFindItemAtPt(InventoryThis(pWindowThis()), pCursorX, pCursorY, &InventoryCtrl);
if (ItemStruct)
{
ITEM_INFO2* lpItemInfo = GetItemInfo(*(WORD*)ItemStruct);
if (InventoryMain != -1)
SourceSlot = INVENTORY_WEAR_SIZE + InventoryMain;
else if (InventoryExpand1 != -1)
SourceSlot = INVENTORY_EXT1_SIZE + InventoryExpand1;
else if (InventoryExpand2 != -1)
SourceSlot = INVENTORY_EXT2_SIZE + InventoryExpand2;
TargetSlot = InventoryMixFindEmptySlot(MixGetMyInventoryCtrl(MixInventoryThis(pWindowThis())), lpItemInfo->Width, lpItemInfo->Height);
if (SourceSlot != -1 && TargetSlot != -1)
{
SendRequestEquipmentItem(0, SourceSlot, ItemStruct, 3, TargetSlot);
ResetMouseRButton();
ItemMove = true;
SourceFlag = 0;
}
}
}
}
else
{
if (pCheckWindow(pWindowThis(), 7) != 0 || pCheckWindow(pWindowThis(), 8) != 0) // Trade ~ Warehouse
{
return;
}
DWORD InventoryCtrl = -1;
DWORD ItemStruct = (DWORD)InventoryFindItemAtPt(InventoryThis(pWindowThis()), pCursorX, pCursorY, &InventoryCtrl);
if (ItemStruct)
{
if (InventoryMain != -1)
SourceSlot = INVENTORY_WEAR_SIZE + InventoryMain;
else if (InventoryExpand1 != -1)
SourceSlot = INVENTORY_EXT1_SIZE + InventoryExpand1;
else if (InventoryExpand2 != -1)
SourceSlot = INVENTORY_EXT2_SIZE + InventoryExpand2;
TargetSlot = GetInventoryWearSlot(*(WORD*)ItemStruct);
if (SourceSlot != -1 && TargetSlot != 0xFF)
{
SendRequestEquipmentItem(0, SourceSlot, ItemStruct, 0, TargetSlot);
ResetMouseRButton();
ItemMove = true;
SourceFlag = 0;
}
}
}
}
}
CustomJewelBank.cppCode: [Select]void InvetoryItemOver(int This)
{
lpItemObj item = (lpItemObj) * (DWORD*)(This + 84);
if (item)
{
if (GetKeyState(VK_RBUTTON) & 0x8000 && GetKeyState(VK_SHIFT) & 0x8000)
{
int start = 12;
if (*(DWORD*)(This + 44) == 200)
{
start = 12;
}
else if (*(DWORD*)(This + 44) == 44)
{
start = 76;
}
else if (*(DWORD*)(This + 44) == 131)
{
start = 108;
}
int Slot = item->PosX + (item->PosY * 8) + start;
gCustomJewelBank.JewelBankSend(Slot);
}
}
((void(__thiscall*)(int))0x007DCF20)(This);
}
void CCustomJewelBank::Load()
{
//SetCompleteHook(0xE8, 0x007DD0D9, &InvetoryItemOver);
}
post_item.cppCode: [Select]void HookRenderItemToolTip(int a1)
{
((void(__cdecl*)()) 0x007DCF20)();
lpItemObj item = (lpItemObj) * (DWORD*)(a1 + 84);
//===Fix Move Item
//===
if (gInterface.CheckWindow(8))
{
return;
}
DWORD uniqId = 0;
if (item) {
int pos = -1;
if (a1 == *(DWORD*)(*(DWORD*)0x098670B8 + 0x18))
{
uniqId = item->UniqueID;
}
else if (a1 == *(DWORD*)(*(DWORD*)0x098670B8 + 0x1C))
{
uniqId = item->UniqueID + 0x10000000;
}
else if (a1 == *(DWORD*)(*(DWORD*)0x098670B8 + 0x20))
{
uniqId = item->UniqueID + 0x20000000;
}
//
// CTRL + Right Click (block equip / block move)
if ((GetKeyState(VK_RBUTTON) & 0x8000) && (GetKeyState(VK_CONTROL) & 0x8000))
{
JCItemPublic.PostItemProc(uniqId); // your link item function
return; // IMPORTANT: block default MU behavior
}
else
{
// === Right click = Jewel Bank ===
if (GetKeyState(VK_RBUTTON) & 0x8000 && GetKeyState(VK_SHIFT) & 0x8000)
{
// panel: normal / expanded / 2nd inventory
int panel = *(DWORD*)(a1 + 44);
if (panel == 200 || panel == 44 || panel == 131)
{
int start = (panel == 200) ? 12 : (panel == 44) ? 76 : 108;
int Slot = item->PosX + (item->PosY * 8) + start;
gCustomJewelBank.JewelBankSend(Slot);
return;
}
}
// === Default Right click = move / equip etc ===
if (!pIsKeyRepeat(VK_CONTROL))
{
JCItemPublic.CDActionItem(item);
return;
}
}
}
}
credits: ChatGpt
100% Working for me no error / bugs
check dataserver logs if have error?
because mine i use the ready database
and create account using in game creation
and all working
yes
im using mssql server 2014
and no error / bugs
crea la cuenta por titan editor si la crea por alli la base de datos esta bien....

Home
TOP Ranking MU
Magichand
Fanpage
Tags
Login
Register



