• 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!

Lua Kill reward

Snach

Sensei
Joined
Aug 8, 2009
Messages
1,694
Reaction score
84
Location
Estonia
Well I have a script that gives the killer a brain after making frag, but every time someone dies this error shows up:
[07/05/2010 15:05:56] [Error - CreatureScript Interface]
[07/05/2010 15:05:56] data/creaturescripts/scripts/reward.lua:onDeath
[07/05/2010 15:05:56] Description:
[07/05/2010 15:05:56] (internalGetPlayerInfo) Player not found when requesting player info #3

here's the script:
LUA:
function onDeath(cid, corpse, deathList)
	if isPlayer(cid) then
		local v = { killer_name = getCreatureName(deathList[1]), killer_level = getPlayerLevel(deathList[1]), target_name = getCreatureName(cid), target_level = getPlayerLevel(cid) }
		local reward = doAddContainerItem(corpse.uid, 5943, 1)
		doItemSetAttribute(reward, "description", "" .. (getPlayerSex(cid) == 0 and "She" or "He") .. " was killed at level " .. v.target_level .. " by " .. v.killer_name .. "")
		doItemSetAttribute(reward, "name", v.target_name .."'s Heart")
	end
	return true
end
 
creaturescripts.xml
Code:
change "[I]death[/I]" to "[I]statschange[/I]" and it should work.

Code:
function onStatsChange(cid, attacker, type, combat, value)
	local corpse =  {
		3058, -- male
		3065  -- female
	}
	local v = { killer_name = getCreatureName(attacker), killer_level = getPlayerLevel(attacker), target_name = getCreatureName(cid), target_level = getPlayerLevel(cid) }
	local corpse = doCreateItem((corpse[getPlayerSex(cid) + 1]), 1, getThingPos(cid))
	local reward = doAddContainerItem(corpse, 5943, 1)
	return isPlayer(attacker) and doItemSetAttribute(corpse, "description", "You recognize " .. getCreatureName(cid) .. ". He was killed by " .. (getCreatureName(attacker) or "a field item") .. ".") and doItemSetAttribute(reward, "description", "" .. (getPlayerSex(cid) == 0 and "She" or "He") .. " was killed at level " .. v.target_level .. " by " .. v.killer_name .. "") and doItemSetAttribute(reward, "name", v.target_name .."'s Heart")
end
 
ok thanks but maybe u know how to reload creaturescripts so the serv doesn't crash :D (it crashes shortly after using /reload creaturescript)
 
creaturescripts.xml
Code:
change "[I]death[/I]" to "[I]statschange[/I]" and it should work.

Code:
[B][COLOR="Magneta"]function onStatsChange(cid, attacker, type, combat, value)[/COLOR][/B]
	local corpse =  {
		3058, -- male
		3065  -- female
	}
	local v = { killer_name = getCreatureName(attacker), killer_level = getPlayerLevel(attacker), target_name = getCreatureName(cid), target_level = getPlayerLevel(cid) }
	local corpse = doCreateItem((corpse[getPlayerSex(cid) + 1]), 1, getThingPos(cid))
	local reward = doAddContainerItem(corpse, 5943, 1)
	return isPlayer(attacker) and doItemSetAttribute(corpse, "description", "You recognize " .. getCreatureName(cid) .. ". He was killed by " .. (getCreatureName(attacker) or "a field item") .. ".") and doItemSetAttribute(reward, "description", "" .. (getPlayerSex(cid) == 0 and "She" or "He") .. " was killed at level " .. v.target_level .. " by " .. v.killer_name .. "") and doItemSetAttribute(reward, "name", v.target_name .."'s Heart")
end
hunted
 
Back
Top