• 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!
  • 2026 staff recruitment is open! Check it out and consider applying!

[Creaturescript] Frag reward

Mjmackan

Mapper ~ Writer
Joined
Jul 18, 2009
Messages
1,477
Solutions
18
Reaction score
195
Location
Sweden
OTland members help me!!! :rolleyes:

I have been struggeling with a frag reward script, this is what i want it to do:
When you kill someone at maximum 50 levels under you, you get a trophy there it stands: The trophy belongs to "1name" for killing "2name" at level "2level" when "1name" was "1level". [Un/justified]
The trophy (id: 5805) should get sent to the pker's (lasthitters) backpack when killing someone, i would also like it to get broadcasted for everyone that "1name" killed "2name".

Here is what i was working on, not working right now cause of the
LUA:
local reward = {5805, 1}
doPlayerAddItem(cid, 5805, 1)
part.

LUA:
function onDeath(cid, corpse, deathList, target, lastHit)


if isPlayer(cid) and lasthit then
local reward = {5805, 1}
doPlayerAddItem(cid, 5805, 1)


if(isPlayer(deathList[1])) then
local v = { killer_name = getCreatureName(deathList[1]), killer_level = getPlayerLevel(deathList[1]), target_name = getCreatureName(cid), target_level = getPlayerLevel(cid) }

doItemSetAttribute(reward), "description", "You see a trophy it belongs to " .. v.killer_name .. " for killing " .. v.target_name .. " at level " .. v.target_level .. " at " .. v.killer_name .. " who was level " .. v.killer_level .. " at the time. " .. (getCreatureSkullType(cid) <= SKULL_GREEN and "[Unjustified]" or "[Justified]"))
doItemSetAttribute(reward, "name", v.target_name .."'s Heart")

		end
	end
	
	return true
end
 
Try this
LUA:
function onDeath(cid, corpse, deathList)
if getPlayerLevel(cid)
	if isPlayer(cid) and isPlayer(deathList[1]) then
	c_level = getPlayerLevel(cid),
	k_level = getPlayerLevel(deathList[1])
		if k_level - c_level <= 50 then
			local v = { killer_name = getCreatureName(deathList[1]), killer_level = getPlayerLevel(deathList[1]), target_name = getCreatureName(cid), target_level = getPlayerLevel(cid) }
			local reward = doCreateItemEx(5805, 1)
			doItemSetAttribute(reward, "description", "" .. (getPlayerSex(cid) == 0 and "She" or "He") .. " was killed at level " .. v.target_level .. " by " .. v.killer_name .. " who was level " .. v.killer_level .. ". " .. (getCreatureSkullType(cid) <= SKULL_GREEN and "[Unjustified]" or "[Justified]"))
			doItemSetAttribute(reward, "name", v.target_name .."'s Heart")
		end
	end
	return true
end
 
Thanks but i got some errors:
LUA:
[21/10/2011 17:26:36] [Error - LuaScriptInterface::loadFile] data/creaturescripts/scripts/pvpreward.lua:3: 'then' expected near 'if'
[21/10/2011 17:26:36] [Warning - Event::loadScript] Cannot load script (data/creaturescripts/scripts/pvpreward.lua)
[21/10/2011 17:26:36] data/creaturescripts/scripts/pvpreward.lua:3: 'then' expected near 'if'

Btw i am using the naxed distro, most stable for me :)
 
Last edited:
forget to add then
LUA:
function onDeath(cid, corpse, deathList)
if getPlayerLevel(cid) then
	if isPlayer(cid) and isPlayer(deathList[1]) then
	c_level = getPlayerLevel(cid)
	k_level = getPlayerLevel(deathList[1])
		if k_level - c_level <= 50 then
			local v = { killer_name = getCreatureName(deathList[1]), killer_level = getPlayerLevel(deathList[1]), target_name = getCreatureName(cid), target_level = getPlayerLevel(cid) }
			local reward = doCreateItemEx(5805, 1)
			doItemSetAttribute(reward, "description", "" .. (getPlayerSex(cid) == 0 and "She" or "He") .. " was killed at level " .. v.target_level .. " by " .. v.killer_name .. " who was level " .. v.killer_level .. ". " .. (getCreatureSkullType(cid) <= SKULL_GREEN and "[Unjustified]" or "[Justified]"))
			doItemSetAttribute(reward, "name", v.target_name .."'s Heart")
		end
	end
	return true
end
 
Last edited:
LUA:
[21/10/2011 23:36:50] [Error - LuaScriptInterface::loadFile] data/creaturescripts/scripts/pvpreward.lua:5: unexpected symbol near '='
[21/10/2011 23:36:50] [Warning - Event::loadScript] Cannot load script (data/creaturescripts/scripts/pvpreward.lua)
[21/10/2011 23:36:50] data/creaturescripts/scripts/pvpreward.lua:5: unexpected symbol near '='
 
LUA:
[22/10/2011 00:07:42] [Error - LuaScriptInterface::loadFile] data/creaturescripts/scripts/pvpreward.lua:14: 'end' expected (to close 'function' at line 1) near '<eof>'
[22/10/2011 00:07:42] [Warning - Event::loadScript] Cannot load script (data/creaturescripts/scripts/pvpreward.lua)
[22/10/2011 00:07:42] data/creaturescripts/scripts/pvpreward.lua:14: 'end' expected (to close 'function' at line 1) near '<eof>'
 
Code:
function onDeath(cid, corpse, deathList)
if getPlayerLevel(cid) then
	if isPlayer(cid) and isPlayer(deathList[1]) then
	c_level = getPlayerLevel(cid)
	k_level = getPlayerLevel(deathList[1])
		if k_level - c_level <= 50 then
			local v = { killer_name = getCreatureName(deathList[1]), killer_level = getPlayerLevel(deathList[1]), target_name = getCreatureName(cid), target_level = getPlayerLevel(cid) }
			local reward = doCreateItemEx(5805, 1)
			doItemSetAttribute(reward, "description", "" .. (getPlayerSex(cid) == 0 and "She" or "He") .. " was killed at level " .. v.target_level .. " by " .. v.killer_name .. " who was level " .. v.killer_level .. ". " .. (getCreatureSkullType(cid) <= SKULL_GREEN and "[Unjustified]" or "[Justified]"))
			doItemSetAttribute(reward, "name", v.target_name .."'s Heart")
end
		end
	end
	return true
end

should work :)
 
LUA:
[22/10/2011 00:59:06] [Error - CreatureScript Interface] 
[22/10/2011 00:59:06] data/creaturescripts/scripts/pvpreward.lua:onDeath
[22/10/2011 00:59:06] Description: 
[22/10/2011 00:59:06] (luaDoItemSetAttribute) Item not found

Really glad you're trying to help me, just so you know ^_^
 
this one suppose to works :P
LUA:
function onDeath(cid, corpse, deathList)
if getPlayerLevel(cid) then
	if (isPlayer(cid) and isPlayer(deathList[1])) then
	c_level = getPlayerLevel(cid)
	k_level = getPlayerLevel(deathList[1])
		if (k_level - c_level) <= 50 then
			local v = { killer_name = getCreatureName(deathList[1]), killer_level = getPlayerLevel(deathList[1]), target_name = getCreatureName(cid), target_level = getPlayerLevel(cid) }
			local reward = doCreateItemEx(5805, 1)
			doItemSetAttribute(reward, "description", "" .. (getPlayerSex(cid) == 0 and "She" or "He") .. " was killed at level " .. v.target_level .. " by " .. v.killer_name .. " who was level " .. v.killer_level .. ". " .. (getCreatureSkullType(cid) <= SKULL_GREEN and "[Unjustified]" or "[Justified]"))
			doItemSetAttribute(reward, "name", v.target_name .."'s Heart")
		end
	end
end
	return true
end
 
Code:
function onDeath(cid, corpse, deathList)
if getPlayerLevel(cid) then
	if isPlayer(cid) and isPlayer(deathList[1]) then
	c_level = getPlayerLevel(cid)
	k_level = getPlayerLevel(deathList[1])
                   local reward = {5805, 1}
                   doPlayerAddItem(cid, 5805, 1)
		if k_level - c_level <= 50 then
			local v = { killer_name = getCreatureName(deathList[1]), killer_level = getPlayerLevel(deathList[1]), target_name = getCreatureName(cid), target_level = getPlayerLevel(cid) }
			local reward = doCreateItemEx(5805, 1)
			doItemSetAttribute(reward, "description", "" .. (getPlayerSex(cid) == 0 and "She" or "He") .. " was killed at level " .. v.target_level .. " by " .. v.killer_name .. " who was level " .. v.killer_level .. ". " .. (getCreatureSkullType(cid) <= SKULL_GREEN and "[Unjustified]" or "[Justified]"))
			doItemSetAttribute(reward, "name", v.target_name .."'s Heart")
end
		end
	end
	return true
end

Should work
 
Code:
function onDeath(cid, corpse, deathList)
if getPlayerLevel(cid) then
	if isPlayer(cid) and isPlayer(deathList[1]) then
	c_level = getPlayerLevel(cid)
	k_level = getPlayerLevel(deathList[1])
                   local reward = {5805, 1}
                   doPlayerAddItem(cid, 5805, 1)
		if k_level - c_level <= 50 then
			local v = { killer_name = getCreatureName(deathList[1]), killer_level = getPlayerLevel(deathList[1]), target_name = getCreatureName(cid), target_level = getPlayerLevel(cid) }
			local reward = doCreateItemEx(5805, 1)
			doItemSetAttribute(reward, "description", "" .. (getPlayerSex(cid) == 0 and "She" or "He") .. " was killed at level " .. v.target_level .. " by " .. v.killer_name .. " who was level " .. v.killer_level .. ". " .. (getCreatureSkullType(cid) <= SKULL_GREEN and "[Unjustified]" or "[Justified]"))
			doItemSetAttribute(reward, "name", v.target_name .."'s Heart")
end
		end
	end
	return true
end

Should work

Ill try as fast as possible!
 
Back
Top