Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Olá, gostaria de saber de esse script (onkill.lua) tmb da XP e não só puni quem mata player do mesmo IP... (Esse script existe em server de war, player x player).

 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) + 800 * (lvl)) / 5
                        local nexp = (50 * (nlvl) * (nlvl) * (nlvl) - 150 * (nlvl) * (nlvl) + 900 * (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

Link para o post
Compartilhar em outros sites

acho que sim

Mas preciso saber aonde e como funciona, pois level 700 mata um 300 e upa demais (exemplo) rs... Queria tipo "Stages", mas só que para players....

@UP - Alguém sabe por favor? Preciso urgente de alguem que entenda pois a xp está alta d+... Queria tipo stages para players, inicia level 300, depois do 600 fode a XP...

Link para o post
Compartilhar em outros sites

Eu acho que sim, Vc quer ganhar mais xp upando aonde, nao tem outro lugar para upar se n for monstros cara -.-'

 

 

 

 

 

 

Link para o post
Compartilhar em outros sites

Ahh. Acho q entendi....

Ele quer Stages individuais, uma para monstros e outra para players

Correto @Leoo Zanin?

Meus Contatos!

 

Minhas Funções:

 

               Skype: TsplayerT

         Facebook: TakaFukushii

          YouTube: ADoseDupla

           Twitter: @_Splayer_

 

 

 

 

 

 

 

                             Mapper:▓▓▓▓▓▓▓▓▓▓ 97%

     Programmer:▓▓▓▓▓▒▒▒▒▒ 45%

             Scripter:▓▓▓▓▓▓▓▓▓▒ 83%

              Spriter:▓▓▓▓▓▓▒▒▒▒ 57%

    Gamemaster:▓▓▓▓▓▓▓▓▓▓ 99%

        Ot Creator:▓▓▓▓▓▓▓▒▒▒71%

Ot Client Maker:▓▓▓▓▓▓▓▒▒▒74%

 

Link para o post
Compartilhar em outros sites

Ahh. Acho q entendi....

Ele quer Stages individuais, uma para monstros e outra para players

Correto @Leoo Zanin?

Correto... Não sei se tem como fazer isso em xml.... Mas se tivesse como fazer isso no script que postei seria ótimo! Sei não se ele já não tem uma coisa assim ein, só não entendo como funciona...  :hum:

Link para o post
Compartilhar em outros sites

Não brother, ele só está punindo quem tem o mesmo IP. Não adiciona XP.

 

- Se quiser que dê XP e Puna me avisa.

- Se quiser que so puna deixe como está.

- E se quiser tirar a punição diga tambem que te ajudo.

z_WL63_Tt.png

Link para o post
Compartilhar em outros sites

Quero o 1º o/... Mas não se esqueça que é para player mata player em...

Link para o post
Compartilhar em outros sites
 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
        local exp = (50 * (lvl) * (lvl) * (lvl) - 150 * (lvl) * (lvl) + 800 * (lvl)) / 5
        local nexp = (50 * (nlvl) * (nlvl) * (nlvl) - 150 * (nlvl) * (nlvl) + 900 * (nlvl)) / 5
        local newexp = nexp - exp
            doPlayerAddExp(cid,newexp)
            doSendAnimatedText(getPlayerPosition(cid), "Orgasmic~", 198)
            if getPlayerIp(cid) ~= getPlayerIp(target) then
				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

Aqui está, se tiver o mesmo IP vai dar a XP e ao mesmo tempo punir.

z_WL63_Tt.png

Link para o post
Compartilhar em outros sites

Pera '-' não entendi... Esse script ta igualzinho o meu? Oquê mudou?

Eu quero "exp stages" para player que mata player.... Exemplo: O player level 300 que mata algum outro player upa 5 leveis, o player level 400 ganha 3, o 500 ganha 2 e assim por diante... (exemplo)

Link para o post
Compartilhar em outros sites

Ta até faço embora esteja com preguiça, vê se fica bom assim:

Pra cima (exemplo: Quem mata é level 100 e quem morre é level 120) = 

Se a diferença for de 20 levels = +5 levels
Se a diferença for de 50 levels = +6 levels
Se a diferença for de +100 levels = +8 levels
Se a diferença for de +150 levels = +10 levels

-

Pra baixo (exemplo: Quem mata é level 100 e quem morre é level 80) = 

Se a diferença for de 20 levels = +5 levels
Se a diferença for de 50 levels = +4 levels
Se a diferença for de +100 levels = +3 levels

z_WL63_Tt.png

Link para o post
Compartilhar em outros sites
function onKill(cid, target)
--config----------------------------
local lvl = getPlayerLevel(cid) --players level
local target_lvl = getPlayerLevel(target) -- add 5 levels
--end-------------------------------

    if isPlayer(target) == TRUE then
		if getPlayerIp(cid) ~= getPlayerIp(target) then
			doPlayerAddExperience(cid, -50000)
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Voce foi punido por matar alguem do mesmo IP e não ganha lvl")
			return TRUE
		else
		if lvl < target_lvl then -- Quem mata é menor do que de quem morre
			if (lvl - target_lvl) <= 20 then -- Se a diferença for 20 ou menos adiciona 5 level
				doPlayerAddSkill(cid, SKILL__LEVEL, 5)
			end
			if (lvl - target_lvl) <= 50 then
				doPlayerAddSkill(cid, SKILL__LEVEL, 7)
			end
			if (lvl - target_lvl) <= 80 then
				doPlayerAddSkill(cid, SKILL__LEVEL, 9)
			end
			if (lvl - target_lvl) <= 100 then
				doPlayerAddSkill(cid, SKILL__LEVEL, 11)
			end
			if (lvl - target_lvl) > 100 then
				doPlayerAddSkill(cid, SKILL__LEVEL, 15) -- Se a diferença for maior que 100 levels adiciona 15 lvl
			end
		end
		if lvl > target_lvl then -- Quem mata é maior do que de quem morre
			if (target_lvl - lvl) <= 20 then -- Se a diferença for 20 ou menos adiciona 5 level
				doPlayerAddSkill(cid, SKILL__LEVEL, 5)
			end
			if (target_lvl - lvl) <= 50 then
				doPlayerAddSkill(cid, SKILL__LEVEL, 4)
			end
			if (target_lvl - lvl) <= 80 then
				doPlayerAddSkill(cid, SKILL__LEVEL, 3)
			end
			if (target_lvl - lvl) <= 100 then
				doPlayerAddSkill(cid, SKILL__LEVEL, 2)
			end
			if (target_lvl - lvl) > 100 then
				doPlayerAddSkill(cid, SKILL__LEVEL, 1) -- Se a diferença for maior que 100 levels adiciona 15 lvl
			end	
		end
    end
	doSendAnimatedText(getPlayerPosition(cid), "Orgasmic~", 198)
    return TRUE
end

Não testei, mas creio que ira funcionar. Botei uns comentarios para ti entender, ta bem explicativo creio eu. Testa e me diz.

z_WL63_Tt.png

Link para o post
Compartilhar em outros sites

Deu esse erro na distro:
 

[20/07/2014 01:42:20] [Error - LuaScriptInterface::loadFile] data/creaturescripts/scripts/onkill.lua:50: 'end' expected (to close 'function' at line 1) near '<eof>'
[20/07/2014 01:42:20] [Warning - Event::loadScript] Cannot load script (data/creaturescripts/scripts/onkill.lua)
[20/07/2014 01:42:20] data/creaturescripts/scripts/onkill.lua:50: 'end' expected (to close 'function' at line 1) near '<eof>'
Link para o post
Compartilhar em outros sites
function onKill(cid, target)
--config----------------------------
local lvl = getPlayerLevel(cid) --players level
local target_lvl = getPlayerLevel(target) -- add 5 levels
--end-------------------------------

    if isPlayer(target) == TRUE then
		if getPlayerIp(cid) ~= getPlayerIp(target) then
			doPlayerAddExperience(cid, -50000)
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Voce foi punido por matar alguem do mesmo IP e não ganha lvl")
			return TRUE
		else
		if lvl < target_lvl then -- Quem mata é menor do que de quem morre
			if (lvl - target_lvl) <= 20 then -- Se a diferença for 20 ou menos adiciona 5 level
				doPlayerAddSkill(cid, SKILL__LEVEL, 5)
			end
			if (lvl - target_lvl) <= 50 then
				doPlayerAddSkill(cid, SKILL__LEVEL, 7)
			end
			if (lvl - target_lvl) <= 80 then
				doPlayerAddSkill(cid, SKILL__LEVEL, 9)
			end
			if (lvl - target_lvl) <= 100 then
				doPlayerAddSkill(cid, SKILL__LEVEL, 11)
			end
			if (lvl - target_lvl) > 100 then
				doPlayerAddSkill(cid, SKILL__LEVEL, 15) -- Se a diferença for maior que 100 levels adiciona 15 lvl
			end
		end
		if lvl > target_lvl then -- Quem mata é maior do que de quem morre
			if (target_lvl - lvl) <= 20 then -- Se a diferença for 20 ou menos adiciona 5 level
				doPlayerAddSkill(cid, SKILL__LEVEL, 5)
			end
			if (target_lvl - lvl) <= 50 then
				doPlayerAddSkill(cid, SKILL__LEVEL, 4)
			end
			if (target_lvl - lvl) <= 80 then
				doPlayerAddSkill(cid, SKILL__LEVEL, 3)
			end
			if (target_lvl - lvl) <= 100 then
				doPlayerAddSkill(cid, SKILL__LEVEL, 2)
			end
			if (target_lvl - lvl) > 100 then
				doPlayerAddSkill(cid, SKILL__LEVEL, 1) -- Se a diferença for maior que 100 levels adiciona 15 lvl
			end	
		end
		end
    end
	doSendAnimatedText(getPlayerPosition(cid), "Orgasmic~", 198)
    return TRUE
end

Faltou um end, testa.

z_WL63_Tt.png

Link para o post
Compartilhar em outros sites

Opa, na distro não deu erro nenhum... Agora vou passar para meu servidor e testar se está de acordo, se estiver tudo certinho posto aqui, beleza? ;) REP+ já pela ajuda...

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo