• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

onPrepareDeath ?

d4rkbl0od

Member
Joined
Mar 21, 2008
Messages
160
Reaction score
7
Hello, I was trying to make a creaturescript that looks like this:

When you are killed by X monster,
* this monster is removed
* stopEvent(xxx)
* setGlobalStorageValue(3275,0)

but I isnt working :X

Anyone have an idea??

LUA:
function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)


   if lastHitKiller == "Mooh'Tha Master" then
   setGlobalStorageValue(3275,0)
   doRemoveCreature(lastHitKiller.uid)
   doCreatureSay(cid, "ASDASDASDAS.", TALKTYPE_ORANGE_1, false, 0, getPlayerPosition(cid))
	
   end
    return true
end
 
Hello, I was trying to make a creaturescript that looks like this:

When you are killed by X monster,
* this monster is removed
* stopEvent(xxx)
* setGlobalStorageValue(3275,0)

but I isnt working :X

Anyone have an idea??

LUA:
function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)


   if lastHitKiller == "Mooh'Tha Master" then
   setGlobalStorageValue(3275,0)
   doRemoveCreature(lastHitKiller.uid)
   doCreatureSay(cid, "ASDASDASDAS.", TALKTYPE_ORANGE_1, false, 0, getPlayerPosition(cid))
	
   end
    return true
end

Have you registered it in login.lua?
 
Little example:
LUA:
function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)

local stwor = "Mooh'Tha Master"
 
   if (getCreatureName(target) = stwor) and isMonster(target) and lastHitKiller(cid) and mostDamageKiller(cid) then
   setGlobalStorageValue(cid,3275,0)
   doRemoveCreature(target)
   stopEvent(cid, X)
 
   end
    return true
end
 
Last edited:
I could also set a string.lower?
I will try out your script version Fresh :D

Edit
(LuaGetCreatureName) creature not found
O.O
maybe is the (target)?
 
Last edited:
Yea, it might be the string.

Try:
LUA:
function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)
	return lastHitKiller == string.lower("Mooh'Tha Master") and (setGlobalStorageValue(3275,0) and doRemoveCreature(lastHitKiller.uid) and doCreatureSay(cid, "ASDASDASDAS.", TALKTYPE_ORANGE_1, false, 0, getPlayerPosition(cid))) or true
end
 
Damn, what's wrong :@
Nothing happens when i kill him ;x

no console errors nothing ;O
<event type="preparedeath" name="PlayerMooh" event="script" value="arenamooh.lua"/>

registered in login.lua too!
 
Hummm, but look at this:
monsters.xml
LUA:
	<monster name="Mooh'Tha Master" file="teste.xml"/>
teste.xml :
LUA:
	<?xml version="1.0" encoding="UTF-8"?>
<monster name="Mooh'Tha Master" nameDescription="Mooh'Tha Master" race="undead" experience="5" speed="180" manacost="590">

Weird eh? It should work with "Mooh'Tha Master" ;X
 
LUA:
function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)
	print(lastHitKiller)
	return true
end

If is a number use getCreatureName(lastHitKiller) to compare.
 
Mind showing the login and the XML?
Nop, here it goes :

LOGIN.LUA
LUA:
 local config = {
	loginMessage = getConfigValue('loginMessage'),
	useFragHandler = getBooleanFromString(getConfigValue('useFragHandler'))
}

function onLogin(cid)
	local loss = getConfigValue('deathLostPercent')
	if(loss ~= nil) then
		doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 10)
	end

	local accountManager = getPlayerAccountManager(cid)
	if(accountManager == MANAGER_NONE) then
		local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage
		if(lastLogin > 0) then
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
			str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "."
		else
			str = str .. " Please choose your outfit."
			doPlayerSendOutfitWindow(cid)
		end

		doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
	elseif(accountManager == MANAGER_NAMELOCK) then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?")
	elseif(accountManager == MANAGER_ACCOUNT) then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.")
	else
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.")
	end

	if(not isPlayerGhost(cid)) then
		doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
	end

registerCreatureEvent(cid, "PlayerMooh")
registerCreatureEvent(cid, "Shard")
registerCreatureEvent(cid, "Renegade")
registerCreatureEvent(cid, "Azerus")
registerCreatureEvent(cid, "Inky")
registerCreatureEvent(cid, "Splasher")
registerCreatureEvent(cid, "Sharptooth")
registerCreatureEvent(cid, "Morikkill")
registerCreatureEvent(cid, "Dan")
registerCreatureEvent(cid, "Fred")
registerCreatureEvent(cid, "Bill")	
registerCreatureEvent(cid, "Inquisition")
registerCreatureEvent(cid, "Ungreez")
registerCreatureEvent(cid, "Count")	
registerCreatureEvent(cid, "BountyHunter")
registerCreatureEvent(cid, "Goblin")
registerCreatureEvent(cid, "Koshei")
registerCreatureEvent(cid, "Collector")
registerCreatureEvent(cid, "Nomad")
registerCreatureEvent(cid, "Test")
registerCreatureEvent(cid, "Trolls")
registerCreatureEvent(cid, "Goblins")
registerCreatureEvent(cid, "Rotworms")
registerCreatureEvent(cid, "Cyclops")
registerCreatureEvent(cid, "HornedFox")
registerCreatureEvent(cid, "Pirates")
registerCreatureEvent(cid, "Necromancer")
registerCreatureEvent(cid, "Green")
registerCreatureEvent(cid, "Blue")
registerCreatureEvent(cid, "Grizzly_Adams")
registerCreatureEvent(cid, "Mail")
registerCreatureEvent(cid, "GuildMotd")
registerCreatureEvent(cid, 'ElementalSphere')
registerCreatureEvent(cid, "Idle")
	if(config.useFragHandler) then
		registerCreatureEvent(cid, "SkullCheck")
	end

	registerCreatureEvent(cid, "ReportBug")
	registerCreatureEvent(cid, "AdvanceSave")


	return true
end

creaturescripts
LUA:
<?xml version="1.0" encoding="UTF-8"?>
<creaturescripts>

<event type="preparedeath" name="PlayerMooh" event="script" value="arenamooh.lua"/> 
<event type="kill" name="Shard" event="script" value="shard.lua"/>
<event type="kill" name="Renegade" event="script" value="renegadeorc.lua"/>
<event type="death" name="Azerus" event="script" value="azerus.lua"/> 
<event type="kill" name="Inky" event="script" value="inky.lua"/>
<event type="kill" name="Splasher" event="script" value="splasher.lua"/>
<event type="kill" name="Sharptooth" event="script" value="sharptooth.lua"/>
<event type="kill" name="Morikkill" event="script" value="morik2.lua"/>
<event type="kill" name="Dan" event="script" value="dan.lua"/>
<event type="kill" name="Fred" event="script" value="fred.lua"/>
<event type="kill" name="Bill" event="script" value="bill.lua"/>
<event type="kill" name="Inquisition" event="script" value="inquisition.lua"/>
<event type="kill" name="Ungreez" event="script" value="ungreez.lua"/>
<event type="think" name="PirateGhost" event="script" value="ghost.lua"/>
<event type="kill" name="BountyHunter" script="bounty.lua"/>
<event type="kill" name="Count" event="script" value="count.lua"/>
<event type="login" name="PlayerLogin" event="script" value="login.lua"/>
<event type="kill" name="Koshei" event="script" value="koshei.lua"/>
<event type="kill" name="Goblin" event="script" value="goblin.lua"/>
<event type="kill" name="Collector" event="script" value="collector.lua"/>
<event type="kill" name="Nomad" event="script" value="nomad.lua"/>
<event type="kill" name="Test" event="script" value="test.lua"/>
<event type="kill" name="Trolls" event="script" value="trolls.lua"/>
<event type="kill" name="Goblins" event="script" value="goblins.lua"/>
<event type="kill" name="Rotworms" event="script" value="rotworms.lua"/>
<event type="kill" name="Cyclops" event="script" value="cyclops.lua"/>
<event type="kill" name="HornedFox" event="script" value="horned.lua"/>
<event type="kill" name="Pirates" event="script" value="pirates.lua"/>
<event type="kill" name="Necromancer" event="script" value="necromancer.lua"/>
<event type="kill" name="Green" event="script" value="green.lua"/>
<event type="kill" name="Blue" event="script" value="blue.lua"/>
<event type="joinchannel" name="GuildMotd" event="script" value="guildmotd.lua"/>
<event type="receivemail" name="Mail" event="script" value="mail.lua"/>
<event type="reportbug" name="SaveReportBug" script="reportbug.lua"/>
<event type="advance" name="AdvanceSave" event="script" value="advancesave.lua"/>
<event type="think" name="Idle" event="script" value="idle.lua"/>
<event type="think" name="SkullCheck" event="script" value="skullcheck.lua"/>
<event type="kill" name="ElementalSphere" event="script" value="sphere.lua"/>

</creaturescripts>


---EDIT , now its correct, I added the wrong creaturescripts.xml file hehe
 
Last edited:
Back
Top