hadamais 2 Postado Outubro 4, 2012 Share Postado Outubro 4, 2012 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 https://xtibia.com/forum/topic/195614-receber-dinheiro-ao-matar-player/ Compartilhar em outros sites More sharing options...
0 1579091 109 Postado Outubro 4, 2012 Share Postado Outubro 4, 2012 (editado) 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 Outubro 4, 2012 por GuizitoG Link para o comentário https://xtibia.com/forum/topic/195614-receber-dinheiro-ao-matar-player/#findComment-1354539 Compartilhar em outros sites More sharing options...
0 hadamais 2 Postado Outubro 4, 2012 Autor Share Postado Outubro 4, 2012 Mas o pessoal do meu servidor começa no LVL 150, não tem esses leveis altos. Como devo editar esses leveis ae? Link para o comentário https://xtibia.com/forum/topic/195614-receber-dinheiro-ao-matar-player/#findComment-1354543 Compartilhar em outros sites More sharing options...
0 1579091 109 Postado Outubro 4, 2012 Share Postado Outubro 4, 2012 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 https://xtibia.com/forum/topic/195614-receber-dinheiro-ao-matar-player/#findComment-1354550 Compartilhar em outros sites More sharing options...
0 hadamais 2 Postado Outubro 4, 2012 Autor Share Postado Outubro 4, 2012 Tem algo errado, o cara só ta ganhando o coração... quer ver algum arquivo do meu serv específico? Meu onKill.lua ta ai em cima. Me ajuda ai. Link para o comentário https://xtibia.com/forum/topic/195614-receber-dinheiro-ao-matar-player/#findComment-1354559 Compartilhar em outros sites More sharing options...
0 1579091 109 Postado Outubro 4, 2012 Share Postado Outubro 4, 2012 Informe qual dos scripts que você usou? Link para o comentário https://xtibia.com/forum/topic/195614-receber-dinheiro-ao-matar-player/#findComment-1354561 Compartilhar em outros sites More sharing options...
0 hadamais 2 Postado Outubro 4, 2012 Autor Share Postado Outubro 4, 2012 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 https://xtibia.com/forum/topic/195614-receber-dinheiro-ao-matar-player/#findComment-1354563 Compartilhar em outros sites More sharing options...
0 1579091 109 Postado Outubro 4, 2012 Share Postado Outubro 4, 2012 (editado) 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 Outubro 4, 2012 por GuizitoG Link para o comentário https://xtibia.com/forum/topic/195614-receber-dinheiro-ao-matar-player/#findComment-1354567 Compartilhar em outros sites More sharing options...
0 hadamais 2 Postado Outubro 4, 2012 Autor Share Postado Outubro 4, 2012 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 https://xtibia.com/forum/topic/195614-receber-dinheiro-ao-matar-player/#findComment-1354571 Compartilhar em outros sites More sharing options...
0 1579091 109 Postado Outubro 4, 2012 Share Postado Outubro 4, 2012 (editado) 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 Outubro 4, 2012 por GuizitoG Link para o comentário https://xtibia.com/forum/topic/195614-receber-dinheiro-ao-matar-player/#findComment-1354585 Compartilhar em outros sites More sharing options...
0 hadamais 2 Postado Outubro 4, 2012 Autor Share Postado Outubro 4, 2012 Beleza, e como faz pro coração cair tambem? Link para o comentário https://xtibia.com/forum/topic/195614-receber-dinheiro-ao-matar-player/#findComment-1354588 Compartilhar em outros sites More sharing options...
0 notle2012 233 Postado Outubro 4, 2012 Share Postado Outubro 4, 2012 (editado) 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 Outubro 4, 2012 por notle2012 Link para o comentário https://xtibia.com/forum/topic/195614-receber-dinheiro-ao-matar-player/#findComment-1354597 Compartilhar em outros sites More sharing options...
0 1579091 109 Postado Outubro 4, 2012 Share Postado Outubro 4, 2012 (editado) 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 Outubro 4, 2012 por GuizitoG Link para o comentário https://xtibia.com/forum/topic/195614-receber-dinheiro-ao-matar-player/#findComment-1354603 Compartilhar em outros sites More sharing options...
0 hadamais 2 Postado Outubro 4, 2012 Autor Share Postado Outubro 4, 2012 Certinho. Vlw, vou dar Rep pro cara la em cima, e amanhã te dou tambem Notle2012! PRecisa de mexer alguma coisa pra tirar, pra não ter ban nem PK? Link para o comentário https://xtibia.com/forum/topic/195614-receber-dinheiro-ao-matar-player/#findComment-1354605 Compartilhar em outros sites More sharing options...
0 1579091 109 Postado Outubro 4, 2012 Share Postado Outubro 4, 2012 Não entendi, explica direitinho aí oque se quer... Link para o comentário https://xtibia.com/forum/topic/195614-receber-dinheiro-ao-matar-player/#findComment-1354607 Compartilhar em outros sites More sharing options...
0 hadamais 2 Postado Outubro 4, 2012 Autor Share Postado Outubro 4, 2012 Tipo, pra quando os players se matarem, nenhum deles ficar PK, nem Ficar RED, nem Ficar BLACK entende? Link para o comentário https://xtibia.com/forum/topic/195614-receber-dinheiro-ao-matar-player/#findComment-1354609 Compartilhar em outros sites More sharing options...
Pergunta
hadamais 2
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
Link para o comentário
https://xtibia.com/forum/topic/195614-receber-dinheiro-ao-matar-player/Compartilhar em outros sites
20 respostass a esta questão
Posts Recomendados