Anyone know how to summon hireling ?
like not recruit from skel guy but summon them
l tried
[ENABLE]
{$lua}
if syntaxcheck then return end
local uuid = "7bed07ee-d1db-498d-bbfd-600ddf04676e" --Barbarian", "Eldra Luthrinn
local cmdCall = getAddress("cmdCall")
local cmdArgs = getAddress("cmdArgs")
local cmdStr1 = getAddress("cmdStr1")
local cmdStr2 = getAddress("cmdStr2")
local result = nil
PrepareCall("GetHostCharacter")
executeCodeEx(0, nil, cmdCall)
local player = readPointer(cmdArgs + 0x08)
player = readString(player, 256, false)
writeString(cmdStr1, player)
writeBytes(cmdStr1 + #player, 0)
print("Player " .. player)
PrepareCall("GetPosition")
writePointer(cmdArgs + 0x08, cmdStr1)
executeCodeEx(0, nil, cmdCall)
writeString(cmdStr2, uuid)
writeBytes(cmdStr2 + #uuid, 0)
PrepareCall("CreateAt")
writePointer(cmdArgs + 0x08, cmdStr2)
writeQword(cmdArgs + 0x48, 0)
writeQword(cmdArgs + 0x58, 0)
writeQword(cmdArgs + 0x68, 0)
writeQword(cmdArgs + 0x78, 0)
result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "CreateAt Success" or "CreateAt Failure")
local object = readPointer(cmdArgs + 0x78)
object = readString(object, 256, false)
if #object > 36 then
object = string.sub(object, -36)
end
writeString(cmdStr2, object)
writeBytes(cmdStr2 + #object, 0)
print("Object " .. object)
PrepareCall("RegisterAsCompanion")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 0)
result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "RegisterAsCompanion Success" or "RegisterAsCompanion Failure")
--[
PrepareCall("MakePlayer")
writePointer(cmdArgs + 0x08, cmdStr2)
writePointer(cmdArgs + 0x18, cmdStr1)
writeQword(cmdArgs + 0x28, 1)
result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "MakePlayer Success" or "MakePlayer Failure")
--]]
--[
PrepareCall("AssignToUser")
writeQword(cmdArgs + 0x08, 65537)
writePointer(cmdArgs + 0x18, cmdStr2)
result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "AssignToUser Success" or "AssignToUser Failure")
--]]
--[
PrepareCall("InitializePlayerData")
writePointer(cmdArgs + 0x08, cmdStr2)
result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "InitializePlayerData Success" or "InitializePlayerData Failure")
local flag = "4670c626-a52f-aeed-c18a-dc8d9c78b7cb" --Debug_BecomeCompanion
writeString(cmdStr1, flag)
writeBytes(cmdStr1 + #flag, 0)
PrepareCall("SetFlag")
writePointer(cmdArgs + 0x08, cmdStr1)
writePointer(cmdArgs + 0x18, cmdStr2)
writeQword(cmdArgs + 0x28, 0)
writeQword(cmdArgs + 0x38, 1)
result = executeCodeEx(0, nil, cmdCall)
print(result == 1 and "SetFlag Success" or "SetFlag Failure")
--]]
{$asm}
[DISABLE]
the code works i can summon her , she's like normal hireling i can send her to camp , talk to her and skel guy talk back , level up her and etc.
but when i saved game and re-load my game crash
for other hireling ids
hireling["7bed07ee-d1db-498d-bbfd-600ddf04676e"] = {"Barbarian", "Eldra Luthrinn"}
hireling["4d3c9cb3-ca34-46ba-9c81-44081270bfde"] = {"Bard", "Brinna Brightsong"}
hireling["12e541ac-1eb3-4b8c-a8b8-95263e30b217"] = {"Cleric", "Zenith Feur'sel"}
hireling["49f522f8-9ac9-431e-ab39-a45e38e222c2"] = {"Druid", "Danton"}
hireling["d61d12ad-dc80-4805-8c6e-fb876da196cd"] = {"Fighter", "Varanna Sunblossom"}
hireling["0b149cab-4438-467a-953d-8697535b953d"] = {"Monk", "Sina'zith"}
hireling["244e782b-a99c-444a-bd8d-d356c26c2902"] = {"Paladin", "Kerz"}
hireling["0488a406-402c-4bd1-ba38-63b28c112d8d"] = {"Ranger", "Ver'yll Wenkiir"}
hireling["e4818484-7ee4-466b-82b3-60bbd7b2ff8f"] = {"Rogue", "Maddala Deadeye"}
hireling["097aa418-eda5-47f9-867f-29a4339be03e"] = {"Sorcerer","Jacelyn"}
hireling["ee3f1f8d-f2d1-43f2-aba0-72cacafce03c"] = {"Warlock", "Kree Derryck"}
hireling["2c8c93f0-898b-42d6-b2ca-cf4922852632"] = {"Wizard", "Sir Fuzzalump"}