ParrotPLPL
Banned User
- Joined
- May 19, 2024
- Messages
- 8
- Reaction score
- 2
It was fix for 0.4. On 0.3.6doCreateMonster
doCreateMonster looks like this ( forgottenserver036pl1/src/luascript.cpp at master · peonso/forgottenserver036pl1 (https://github.com/peonso/forgottenserver036pl1/blob/master/src/luascript.cpp#L4620) ):doCreateMonster(name, pos[, displayError = true])
addEvent(doCreateMonster, boss.seconds * 1000, boss.newBoss, position)
addEvent(function(bossName, position)
local monsterId = doCreateMonster(bossName, position, false)
-- `doCreateMonster` returns `true` when it fails.. and number with monster...
doCreateMonster("[EXP] Statue", position, false, true)local colorMsg = "orange"
local tableBoss = {
["[EXP] Statue"] = {seconds = 3600, newBoss = "[EXP] Statue"}
}
local function timer(position, duration, color)
for i = 0, (duration - 1) do
addEvent(function()
doSendAnimatedText(position, tostring(duration - i), color)
end, i * 1000)
end
end
local lastTarget = nil
function onKill(cid, target, damage, flags)
if lastTarget and lastTarget == target then
return true
end
lastTarget = target
if isPlayer(target) then
return true
end
local boss = tableBoss[getCreatureName(target)]
if not boss then
return true
end
local position = getThingPos(target)
doPlayerSendTextMessage(cid, MESSAGE_TYPES[colorMsg], "The boss will be born in " .. boss.seconds .. " seconds.")
timer(position, boss.seconds, COLOR_WHITE)
addEvent(doCreateMonster, boss.seconds * 1000, boss.newBoss, position)
return true
end

<?xml version="1.0" encoding="UTF-8"?>
<monster name="[EXP] Statue" nameDescription="[EXP] Statue" race="blood" experience="100000000000000" speed="0" manacost="0">
<health now="1000000000" max="1000000000"/>
<look typeex="9791" corpse="6364"/>
<targetchange interval="60000" chance="0"/>
<strategy attack="100" defense="0"/>
<flags>
<flag summonable="0"/>
<flag attackable="1"/>
<flag hostile="0"/>
<flag illusionable="0"/>
<flag convinceable="0"/>
<flag pushable="0"/>
<flag canpushitems="0"/>
<flag staticattack="100"/>
<flag lightlevel="0"/>
<flag lightcolor="0"/>
<flag targetdistance="0"/>
<flag runonhealth="0"/>
<flag skull="5"/>
</flags>
<attacks>
<attack name="melee" interval="" min="" max=""/>
</attacks>
<defenses armor="1000000000" defense="1000000000">
<defense name="healing" interval="" chance="1000000000" min="1000000000" max="1000000000">
<attribute key="areaEffect" value="blueshimmer"/>
</defense>
</defenses>
<immunities>
<immunity physical="0"/>
<immunity energy="0"/>
<immunity fire="0"/>
<immunity poison="0"/>
<immunity lifedrain="0"/>
<immunity paralyze="0"/>
<immunity outfit="0"/>
<immunity drunk="0"/>
<immunity invisible="0"/>
</immunities>
<voices interval="5000" chance="2000">
<voice sentence="Bonús-EXP!"/>
</voices>
<loot>
</loot>
</monster>
I've already done this and the monster doesn't appear on top of the player
addEvent(doCreateMonster, boss.seconds * 1000, boss.newBoss, position)addEvent(doCreateMonster, boss.seconds * 1000, boss.newBoss, position, false, true)It was fix for 0.4. On 0.3.6doCreateMonster
doCreateMonster looks like this ( forgottenserver036pl1/src/luascript.cpp at master · peonso/forgottenserver036pl1 (https://github.com/peonso/forgottenserver036pl1/blob/master/src/luascript.cpp#L4620) ):doCreateMonster(name, pos[, displayError = true])
addEvent(doCreateMonster, boss.seconds * 1000, boss.newBoss, position)
addEvent(function(bossName, position)
local monsterId = doCreateMonster(bossName, position, false)
-- `doCreateMonster` returns `true` when it fails.. and number with monster ID, when it works
if type(monsterId) == "number" then
doTeleportThing(monsterId, position, true)
end
end, boss.seconds * 1000, boss.newBoss, position)
force parameter in 0.4, to make it possible to spawn monster on monster/player.