Ir para conteúdo
  • 0

[Script] Para Dar Demoniac Essense Quando Matar Um Player (Meu Otserver War)


Pergunta

5 respostass a esta questão

Posts Recomendados

  • 0
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 = 2160,

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 = "Voce matou |TARGETNAME|! voce tem |KILLERKILLS| frags!",

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|] Acaba de matar |TARGETNAME| [|TARGETLEVEL|]!",

messageClass = MESSAGE_STATUS_WARNING

},

 

killerAnimation = {

use = true,

text = "MATEI!", -- Only 9 letters! No "commands" here.

color = 144

},

 

targetAnimation = {

use = true,

text = "MORRI!", -- 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, 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

ta configurado pra dar 5 vc so muda o itemid blz?
  • 0

Vlw =D

vou ver se funfa

 

E para colocar assim no creature scripts

event type="death" name="PlayerDeath" event="script" value="playerdeath.lua"/>

?

  • 0

Pra que esse script monstruoso? ahsudas

 

vai em data/creaturescripts/scripts, duplica um arquivo e nomeia para "demonicgain" sem as aspas e nele cole:

function onKill(cid, target, lastHit)

local itemid = 1234 -- id das demonic
local quant = 5 -- quantidade de demonic

if (isPlayer(target) == true) then
   doPlayerAddItem(cid, itemid, quant)
end

return TRUE
end

 

Agora em data/creaturescripts/creaturescripts.xml cole a tag:

<event type="kill" name="DemonicGain" event="script" value="demonicgain.lua"/>

 

E por último abra data/creaturescripts/scripts/login.lua e cole antes do último return true, isso:

registerCreatureEvent(cid, "DemonicGain")

  • 0

O Tópico é da autoria do Fehzito, ou seja, o objetivo principal é ajudar o dono do tópico. Ainda mais, mesmo se fosse o dono do tópico que tivesse lhe dado rep+, ele teria que fazer um post falando que você o ajudou, pois se não fica meio confuso de saber isso.

×
×
  • Criar Novo...