Ir para conteúdo
  • 0

Receber Dinheiro Ao Matar Player


hadamais

Pergunta

bom, estou com outro problema.

Quando os players matam não recebe dinheiro de recompensa.

Recebe outras coisas, menos dinheiro.

eu quero que receba dinheiro, me ajuda?

 

Complementando, aqui está meu Onkill.lua

function onKill(cid, target)
--config----------------------------
local lvl = getPlayerLevel(cid) --players level
local nlvl = getPlayerLevel(cid) + 5 -- add 5 levels
--end-------------------------------
   if isPlayer(target) == TRUE then
    if getPlayerIp(cid) ~= getPlayerIp(target) then
				    local exp = (50 * (lvl) * (lvl) * (lvl) - 150 * (lvl) * (lvl) + 400 * (lvl)) / 5
				    local nexp = (50 * (nlvl) * (nlvl) * (nlvl) - 150 * (nlvl) * (nlvl) + 400 * (nlvl)) / 5
				    local newexp = nexp - exp
				    doPlayerAddExp(cid,newexp)
				    doPlayerAddMoney(cid, 20)
  doCreatureSetDropLoot(target, false)
				    doSendAnimatedText(getPlayerPosition(cid), "Orgasmic~", 198)
		    else
	    doPlayerAddExperience(cid, -50000)
	    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"You have been punished for killing a player of the same IP.")
    end
    end
   return TRUE
end

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Editei seu script, e peguei um outro, pra caso vc preferir usar... Aí está o seu editado:

 

 

 

function onKill(cid, target)

--config----------------------------

local lvl = getPlayerLevel(cid) --players level

local nlvl = getPlayerLevel(cid) + 5 -- add 5 levels

--end-------------------------------

if isPlayer(target) == TRUE then

if getPlayerIp(cid) ~= getPlayerIp(target) then

local exp = (50 * (lvl) * (lvl) * (lvl) - 150 * (lvl) * (lvl) + 400 * (lvl)) / 5

local nexp = (50 * (nlvl) * (nlvl) * (nlvl) - 150 * (nlvl) * (nlvl) + 400 * (nlvl)) / 5

local newexp = nexp - exp

doPlayerAddExp(cid,newexp)

doPlayerAddItem(cid, 2160, 20)

doCreatureSetDropLoot(target, false)

doSendAnimatedText(getPlayerPosition(cid), "Orgasmic~", 198)

else

doPlayerAddExperience(cid, -50000)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"You have been punished for killing a player of the same IP.")

end

addEvent(additem, 1000)

end

end

return TRUE

end

 

 

 

 

Em creaturescripts crie um arquivo chamado killbonus.lua dentro coloque isso:

 

 

 

local lvlMinGainHeart = 1 -- lvl minimo pra ganhar o coração.

local lvlMaxGainHeart = 2000 -- lvl maximo pra ganhar o coração.

 

local lvlGain = { -- se lvl maior que esses, ganham esses determinados itens.. Se não quiser é só colocar 99999 la e o player continuara ganhando bonus normal)

{lvl = 2000, itemid = 2160, quant = 2}, -- lvl, id do item, quantidade.

{lvl = 3000, itemid = 2160, quant = 5},

{lvl = 4000, itemid = 2160, quant = 10}

}

 

function onKill(cid, target, lastHitKiller)

if(isPlayer(target) and isPlayer(lastHitKiller)) then

if getPlayerLevel(cid) >= lvlMinGainHeart and getPlayerLevel(cid) <= lvlMaxGainHeart then

doPlayerSendTextMessage(cid, 22, "Parabens, voce matou o jogador "..getCreatureName(target).." e tirou seu coraçao")

function additem()

local aditi = doPlayerAddItem(lastHitKiller, 2160, 2)

doItemSetAttribute(aditi, "description", "Este foi retirado de "..getCreatureName(target).."")

end

addEvent(additem, 1000)

return true

end

for i=1, #lvlGain do

if i < #lvlGain then

if getPlayerLevel(cid) > lvlGain.lvl and getPlayerLevel(cid) <= lvlGain[i+1].lvl then

doPlayerAddItem(lastHitKiller, lvlGain.itemid, lvlGain.quant)

end

else

if getPlayerLevel(cid) > lvlGain.lvl then

doPlayerAddItem(lastHitKiller, lvlGain.itemid, lvlGain.quant)

end

end

end

end

return true

end

 

 

Configurei pra ganhar 2 crystal coins, caso queira aumentar é só editar ali o que está em negrito!

 

Em creaturescripts.xml:

 

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

Editado por GuizitoG
Link para o comentário
Compartilhar em outros sites

  • 0

Se você prefiri é só colocar 99999999, e da í se o player nao tiver o level vai ganhar o iten automaticamente...

Bom esse script aki é sem essas paradas de level, se preferir:

 

 

 

function onKill(cid, target, lastHitKiller)

if(isPlayer(target) and isPlayer(lastHitKiller)) then

doPlayerSendTextMessage(cid, 22, "Parabens, voce matou o jogador "..getCreatureName(target).." e tirou seu coraçao")

function additem()

local aditi = doPlayerAddItem(lastHitKiller, 2160, 20)

doItemSetAttribute(aditi, "description", "Voce dropou 20 crystal coins do jogador "..getCreatureName(target).."")

end

addEvent(additem, 1000)

end

end

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

Usei esse ultimo sem level.

criei o arquivo killbonus e joguei dentro.

Eu tenho o onkill.lua tambem e talz.

 

Ah cara, tem esse arquivo chamado REWARD:

function onDeath(cid, corpse, deathList)
if isPlayer(cid) and isPlayer(deathList[1]) then
local v = {
rewardid = 5943,
killer_name = getCreatureName(deathList[1]),
killer_level = getPlayerLevel(deathList[1]),
target_name = getCreatureName(cid),
target_level = getPlayerLevel(cid),
pos = getCreaturePosition(cid),
text = 'TO HELL!'
}
local reward = doPlayerAddItem(deathList[1], v.rewardid, 1)
doItemSetAttribute(reward, "description", "Killed at level " .. v.target_level .. " by " .. v.killer_name .. " I was at level " .. v.killer_level .. " when. " .. (getCreatureSkullType(cid) <= SKULL_GREEN and "[Not-Justified]" or "[Justified]"))
doItemSetAttribute(reward, "name", v.target_name .."'s Heart")
doPlayerSendTextMessage(deathList[1], MESSAGE_STATUS_CONSOLE_ORANGE, "You killed ".. v.target_name .." " .. (getCreatureSkullType(cid) <= SKULL_GREEN and "wrong." or "just."))
doSendAnimatedText(v.pos, v.text, TEXTCOLOR_RED)
end
return true
end

 

 

Não quero tirar, mas ja sei que é esse...como acrescento dinheiro?

Link para o comentário
Compartilhar em outros sites

  • 0

Está aki:

 

 

function onDeath(cid, corpse, deathList)

if isPlayer(cid) and isPlayer(deathList[1]) then

local v = {

rewardid = 2160,

killer_name = getCreatureName(deathList[1]),

killer_level = getPlayerLevel(deathList[1]),

target_name = getCreatureName(cid),

target_level = getPlayerLevel(cid),

pos = getCreaturePosition(cid),

text = 'TO HELL!'

}

local reward = doPlayerAddItem(deathList[1], v.rewardid, 1)

doItemSetAttribute(reward, "description", "Killed at level " .. v.target_level .. " by " .. v.killer_name .. " I was at level " .. v.killer_level .. " when. " .. (getCreatureSkullType(cid) <= SKULL_GREEN and "[Not-Justified]" or "[Justified]"))

doItemSetAttribute(reward, "name", v.target_name .."'s Heart")

doPlayerSendTextMessage(deathList[1], MESSAGE_STATUS_CONSOLE_ORANGE, "You killed ".. v.target_name .." " .. (getCreatureSkullType(cid) <= SKULL_GREEN and "wrong." or "just."))

doSendAnimatedText(v.pos, v.text, TEXTCOLOR_RED)

end

return true

end

Editado por GuizitoG
Link para o comentário
Compartilhar em outros sites

  • 0

Mas como eu o 5943 e 2160 juntos?

 

Não queria tirar o coração.

 

Tentei rewardid = 5943, 2160,

 

Mas não deu.

 

Deixa pra la, ficou bom...mas só ganha 10k

como faço pra colocar pra ganhar 100k?

Link para o comentário
Compartilhar em outros sites

  • 0

Basta trocar o 'local reward = doPlayerAddItem(deathList[1], v.rewardid, 1)' por 'local reward = doPlayerAddItem(deathList[1], v.rewardid, 10)' se você por 10 é 100k (ou seja 10 crystals)

 

 

 

 

function onDeath(cid, corpse, deathList)

if isPlayer(cid) and isPlayer(deathList[1]) then

local v = {

rewardid = 2160,

killer_name = getCreatureName(deathList[1]),

killer_level = getPlayerLevel(deathList[1]),

target_name = getCreatureName(cid),

target_level = getPlayerLevel(cid),

pos = getCreaturePosition(cid),

text = 'TO HELL!'

}

local reward = doPlayerAddItem(deathList[1], v.rewardid, 10)

doItemSetAttribute(reward, "description", "Killed at level " .. v.target_level .. " by " .. v.killer_name .. " I was at level " .. v.killer_level .. " when. " .. (getCreatureSkullType(cid) <= SKULL_GREEN and "[Not-Justified]" or "[Justified]"))

doItemSetAttribute(reward, "name", v.target_name .."'s Heart")

doPlayerSendTextMessage(deathList[1], MESSAGE_STATUS_CONSOLE_ORANGE, "You killed ".. v.target_name .." " .. (getCreatureSkullType(cid) <= SKULL_GREEN and "wrong." or "just."))

doSendAnimatedText(v.pos, v.text, TEXTCOLOR_RED)

end

return true

end

Editado por GuizitoG
Link para o comentário
Compartilhar em outros sites

  • 0

tenta assim

function onDeath(cid, corpse, deathList)
if isPlayer(cid) and isPlayer(deathList[1]) then
local v = {
rewardid = 2160, qnt = 10,  --  primeiro item  gnt = quantos itens
rewardid2 = 5943, gnt2 = 1,  -- segundo item
killer_name = getCreatureName(deathList[1]),
killer_level = getPlayerLevel(deathList[1]),
target_name = getCreatureName(cid),
target_level = getPlayerLevel(cid),
pos = getCreaturePosition(cid),
text = 'TO HELL!'
}
local reward = doPlayerAddItem(deathList[1], v.rewardid, v.qnt) and doPlayerAddItem(deathList[1], v.rewardid2, v.gnt2)
doItemSetAttribute(reward, "description", "Killed at level " .. v.target_level .. " by " .. v.killer_name .. " I was at level " .. v.killer_level .. " when. " .. (getCreatureSkullType(cid) <= SKULL_GREEN and "[Not-Justified]" or "[Justified]"))
doItemSetAttribute(reward, "name", v.target_name .."'s Heart")
doPlayerSendTextMessage(deathList[1], MESSAGE_STATUS_CONSOLE_ORANGE, "You killed ".. v.target_name .." " .. (getCreatureSkullType(cid) <= SKULL_GREEN and "wrong." or "just."))
doSendAnimatedText(v.pos, v.text, TEXTCOLOR_RED)
end
return true
end

edita essa parte

 

rewardid = 2160, qnt = 10, -- primeiro item gnt = quantos itens

rewardid2 = 5943, gnt2 = 1, -- segundo item

Editado por notle2012
Link para o comentário
Compartilhar em outros sites

  • 0

Só corrigindo o Notle, ali ele pois gnt2, isso pode dar um conflito:

 

rewardid = 2160, qnt = 10, -- primeiro item gnt = quantos itens

rewardid2 = 5943, gnt2 = 1, -- segundo item

________________________________

 

Troca por:

 

rewardid = 2160, qnt = 10, -- primeiro item gnt = quantos itens

rewardid2 = 5943, qnt2 = 1, -- segundo item

Editado por GuizitoG
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...