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

Broadcast Frags

falaangel

New Member
Joined
Apr 16, 2010
Messages
3
Reaction score
0
I need a script like... for example:

if a player kill other player then count frag and send a text msg to the player killer saying "You own (playername)". and if the player is leadering in frags, then broadcast a msg to all players saying "(playername) is leadering with (countfrags) frags.

sorry for my bad english.. i hope that someone help me, i really need this script. thanks :)
 
Creaturescript folder

Create archive lua and paste this:

LUA:
local config = {
	affected = 10, -- how many players (deathAssits) from table deathList should this script be executed for?

	killStorageValue = 3943,
	deathStorageValue = 3944,

	-- commands for the texts (those inside of ||, example: |KILLS| to show skills): KILLS, KILLERNAME, TARGETNAME
	rewardItem = {
		use = true,
		itemid = 2152,
		minLevel = false, -- false if you don't want any level req
		minLevelDiff = false, -- false if you don't want any level diff req (negative numbers allowed).
	},

	killMessage = {
		use = true,
		text = "You owned |TARGETNAME|! You have now |KILLERKILLS| kills!",
		messageClass = MESSAGE_STATUS_CONSOLE_BLUE
	},

	broadcastMessage = {
		use = true,
		minLevel = false, -- false if you don't want any level req
		minLevelDiff = false, -- false if you don't want any level diff req (negative numbers allowed).
		text = "|KILLERNAME| [|KILLERLEVEL|] just killed |TARGETNAME| [|TARGETLEVEL|]!",
		messageClass = MESSAGE_STATUS_WARNING
	},

	killerAnimation = {
		use = true,
		text = "Frag!", -- Only 9 letters! No "commands" here.
		color = 144
	},

	targetAnimation = {
		use = true,
		text = "Owned!", -- Only 9 letters! No "commands" here.
		color = 180
	}
}

function onDeath(cid, corpse, deathList)
	for i = 1, math.min(config.affected, getConfigInfo('deathAssistCount')) do
		local killer = deathList[i]
		if(isPlayer(killer) == TRUE) then
			local targetKills = math.max(0, getPlayerStorageValue(cid, config.killStorageValue)) + 1
			local targetDeaths = math.max(0, getPlayerStorageValue(cid, config.deathStorageValue)) + 1
		
			local killerKills = math.max(0, getPlayerStorageValue(killer, config.killStorageValue)) + 1
			local killerDeaths = math.max(0, getPlayerStorageValue(killer, config.deathStorageValue)) + 1
		
			setPlayerStorageValue(killer, config.killStorageValue, targetKills)
			setPlayerStorageValue(cid, config.deathStorageValue, targetDeaths)

			local killerLevel = getPlayerLevel(killer)
			local targetLevel = getPlayerLevel(cid)
			local levelDiff = targetLevel - killerLevel

			local values = {
				["KILLERKILLS"]         = killerKills,
				["KILLERDEATHS"]        = killerDeaths,
				["KILLERNAME"]          = getCreatureName(killer),
				["KILLERLEVEL"]         = killerLevel,
			
				["TARGETKILLS"]         = targetKills,
				["TARGETDEATHS"]        = targetDeaths,
				["TARGETNAME"]          = getCreatureName(cid),
				["TARGETLEVEL"]         = targetLevel
			}

			function formateString(str)
				return(str:gsub("|([A-Z]+)|", (function(a) return values[a] end)))
			end
		
			if(config.rewardItem.use and (not config.rewardItem.minLevel or targetLevel >= config.rewardItem.minLevel) and (not config.rewardItem.minLevelDiff or levelDiff >= config.rewardItem.minLevelDiff)) then
				local uid = doPlayerAddItem(killer, config.rewardItem.itemid, 5)
			end
			if(config.killMessage.use) then
				doPlayerSendTextMessage(killer, config.killMessage.messageClass, formateString(config.killMessage.text))
			end
			if(config.broadcastMessage.use and (not config.broadcastMessage.minLevel or getPlayerLevel(cid) >= config.broadcastMessage.minLevel) and (not config.broadcastMessage.minLevelDiff or levelDiff >= config.broadcastMessage.minLevelDiff)) then
				broadcastMessage(formateString(config.broadcastMessage.text), config.broadcastMessage.messageClass)
			end
			if(config.killerAnimation.use) then
				doSendAnimatedText(getCreaturePosition(killer), config.killerAnimation.text, config.killerAnimation.color)
			end
			if(config.targetAnimation.use) then
				doSendAnimatedText(getCreaturePosition(cid), config.targetAnimation.text, config.targetAnimation.color)
			end
		end
	end

	return true
end

Login.lua

Code:
        registerCreatureEvent(cid, "DeathBroadcast")

Creaturescripts.xml

LUA:
        <event type="death" name="DeathBroadcast" event="script" value="deathBroadcast.lua"/>
 
You owned Newbie! You have now 1 kills!
You owned Newbie! You have now 2 kills!
You owned Newbie! You have now 2 kills!
You owned Newbie! You have now 2 kills!

this not count the same player or what

and i kill others players and count like:

You have now 1 kills!
You have now 3 kills!
You have now 2 kills!
You have now 2 kills!
 
You owned Newbie! You have now 1 kills!
You owned Newbie! You have now 2 kills!
You owned Newbie! You have now 2 kills!
You owned Newbie! You have now 2 kills!

this not count the same player or what

and i kill others players and count like:

You have now 1 kills!
You have now 3 kills!
You have now 2 kills!
You have now 2 kills!
but ofc, that's what is supposed to do :p
 
i think you dont understand... the kill counts stop! after you kill 3812738 ppl he is always say this "You have now 2 kills!" :S
cant change this
LUA:
				["KILLERKILLS"] = killerKills,
to this? (or something like that)
LUA:
				["KILLERKILLS"] = getplayerfrags,
 
Back
Top