Ir para conteúdo

[Duvida] Script Servidor De War.


AnneMotta

Posts Recomendados

alguem me explica esse script

 

 

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

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

Você esqueceu de dizer que.

Manda uma mensagem pro player em no default em azul, e aparece uma animação no player.

 

--',

 

que estranho ta pegando a exp do player e pegando o level +5 do seu level e subtraindo e dando a exp ;D, deve ser isso

Link para o comentário
Compartilhar em outros sites

Esse código adiciona 5 leveis ao player que matou um adversario em batalha, se o player tiver o msm ip que o adversario ele recebe uma punição de -50 mil pontos de experiência;

Analisando o código por linhas:

 

function onKill(cid, target)

local lvl = getPlayerLevel(cid) -- lvl atual do player
local nlvl = getPlayerLevel(cid) + 5 -- lvl atual+5

   if isPlayer(target) == TRUE then -- se o "ser" que você matou é um player, então
    if getPlayerIp(cid) ~= getPlayerIp(target) then -- se o seu ip for diferente do ip do cara que você matou, então
	    local exp = (50 * (lvl) * (lvl) * (lvl) - 150 * (lvl) * (lvl) + 400 * (lvl)) / 5 -- faz um calculo estranho, que eu acho que descobre a experiência atual do player.
	    local nexp = (50 * (nlvl) * (nlvl) * (nlvl) - 150 * (nlvl) * (nlvl) + 400 * (nlvl)) / 5 -- faz o msm calculo, mais agora descobre a experiência se o player fosse 5 leveis mais alto.
	    local newexp = nexp - exp -- calcula a diferença de experiência desses 5 leveis.
	    doPlayerAddExp(cid,newexp) -- adiciona essa diferença de exp ao player que matou.
	    doSendAnimatedText(getPlayerPosition(cid), "Orgasmic~", 198) -- solta o animated text "Orgasmic~" no player que matou.
    else -- se o ip do player que matou for igual ao do player que morreu, então
	    doPlayerAddExperience(cid, -50000) -- remove 50 mil pontos de experiência do player que matou.
	    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"You have been punished for killing a player of the same IP.") -- manda essa msg no player.
    end -- o resto da linhas, finalizam condições e a função.
   end
return TRUE
end

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...