MO
pedido

Matar Pk Tambem Ganha Frag

Por MonsterOt, 25 de jul. de 2012 em Scripts

script
2
1k
MonsterOtM
25 de julho de 2012 às 17:11

entao no meu ot, quando mata um pk nao ganha "frag"

 

oque eu quero é ao matar um player pk ganhe frag tb!!

:

agora nao sei onde mecher:

 

 

nesse script:

 

 

 

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 = 2296,

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 = "",

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|] Matou |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

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, 1)

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

 

ou em outro que nao sei, alguem pode ajudar?

notle2012N
28 de julho de 2012 às 07:08

OTS/data/lib/function.lua (or 050-function.lua)

function addPlayerFrag(cid, amount)
db.executeQuery("UPDATE `players` SET `frags_all` = `frags_all` + " .. amount .. " WHERE `id` = " .. getPlayerGUID(cid) .. ";")
end

data/creaturescripts/scripts/ frags.lua

function onKill(cid, target, lastHit)
if(isPlayer(target) ~= true) then
return true
end[/size][/font][/color]
[color=#333333][font=Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif][size=3]if (isPlayer(cid) == true) and (isPlayer(target) == true) then
if getPlayerSkullType(target) == SKULL_WHITE then
addPlayerFrag(cid, 1)
elseif getPlayerSkullType(target) == SKULL_YELLOW then
addPlayerFrag(cid, 1)
elseif getPlayerSkullType(target) == SKULL_RED then
addPlayerFrag(cid, 1)
elseif getPlayerSkullType(target) == SKULL_BLACK then
addPlayerFrag(cid, 1)
elseif getPlayerSkullType(target) == SKULL_NONE then
addPlayerFrag(cid, 1)
end
return TRUE
end
end

creaturescripts.xml

<event type="kill" name="Frags" event="script" value="frags.lua"/>

se ter erro vc tem que adiciona

ALTER TABLE players ADD frags_all INTEGER(11) NOT NULL DEFAULT 0;

Editado Julho 28 por notle2012