Ir para conteúdo
  • 0

[Pedido] Script Anti Power Abuser - Valendo Dinheiro De Verdade


porkts

Pergunta

-Galera Eu vou pagar 5 reais pra quem me der este script

-Por favor testem antes de mandar

-Me mande por Private msg

 

 

Galera seguinte, tenho esse script aqui:

 

 

 

function onKill(cid,target,lastHit)
 if getCreatureSkullType(target) >= 1 then
 return TRUE
 end
 local dif = getPlayerLevel(cid)-getPlayerLevel(target)
 local diff = 100 --aqui você define a diferença de lvs que receberam a punição
 local puni = (dif*2000) --aqui voce define quanto de experiencia o matador vai perder.
 if isPlayer(cid) and isPlayer(target) and dif >= diff then
   doPlayerSendTextMessage(cid,21,'Você não teve honra!Matou um player com '..dif..' leveis de diferença e perdeu '..puni..' pontos de expêriencia.')
   doPlayerAddExp(cid, -puni)
   return TRUE
else
return TRUE
 end
return TRUE
end

 

Tipo se o cara for level 200 e matar um level 100, o level 200 vai perder 100 (level de diferença) * 2000

Mas eu estou querendo um script que seja por porcentagem, tipo assim:

-Se o jogador que for o alvo, estiver pk ignore o script
-Se o jogador alvo for level maior, ignore o script
- Se um jogador matar outro, e esse jogador morto for 70% do level dele ele não é punido ( EX: um jogador level 100 pode matar sem ser punido até um jogador level 70).
-Caso isso não aconteça (o jogador morto for level menor que 70%) o jogador que matou vai perder x * 2000 de exp (onde esse X é a quantidade de porcentos para alcançar os 70% [EX: um jogador level 100 mata um jogador level 65 ou seja 65% do level dele, então esse jogador matador vai perder 5 * 2000, esse 5 por que 65 +5 = 70)

 

Atenção galera, façam ai e testem, pois está valendo dinheiro!

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

local config = {

   maxLevelDifference = 0.7,
   experience = 2000
}

function onKill(cid, target, lastHit)
   if(not isPlayer(target)) then
       return true
   end

   if(getCreatureSkull(cid) > 1) then
       return true
   end

   if(getPlayerLevel(target) > getPlayerLevel(cid) or getPlayerLevel(target) >= config.maxLevelDifference * getPlayerLevel(cid)) then
       return true
   end

   local formula = ((config.maxLevelDifference - (getPlayerLevel(target) / getPlayerLevel(cid))) * 100) * config.experience
   doPlayerAddExperience(cid, -formula)
   doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você não teve honra!\nVocê matou um jogador com ".. getPlayerLevel(cid) - getPlayerLevel(target) .." levels de diferença e, por isso, perderá ".. formula .." pontos de experiência.")
   return true
end

 

Pela fórmula que eu fiz e pude entender do tópico:

 

- Um jogador level 100 mata um jogador level 50 - level 50 é abaixo de 70% de 100 - logo o jogador irá receber uma punição.

- Essa punição será - ((0.7 - 50/100) * 100) * 2000 - 40000 pontos de experiência.

 

E não preciso do dinheiro não.

 

Um grande abraço.

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

  • 0

Vlw Cara, tem certeza que não quer? Vocês me ajudou muito com este script. Qualquer coisa manda uma private ;)

 

Edit:

Cara acho que não está funcionando Oo

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

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