Ir para conteúdo
  • Cadastre-se

(Resolvido)Suporte - Script não funciona e nem apresenta erro


Ir para solução Resolvido por zipter98,

Posts Recomendados

Olá senhores,

 

 Tentei utilizar esse script postada por alguém que não me lembro o nome, porém ela não funciona e nem apresenta erro.

 

 Vejam abaixo: 

 

 

 

function onKill(cid, target)

 
 
    if isPlayer(cid) and isPlayer(target) then
    if getPlayerIp(cid) ~= getPlayerIp(target) then
 
 local config = {
 
Kname = getPlayerName(cid),
Tname = getPlayerName(target),
Tlevel = getPlayerLevel(target),
}
 
local heart = doPlayerAddItem(cid, 5943, 1)
 
doItemSetAttribute(heart, "name", "" ..config.Tname.. " Heart's")
doItemSetAttribute(heart, "description", "Killed at Level "..config.Tlevel.." by "..config.Kname..". " .. (getCreatureSkullType(cid) <= SKULL_GREEN and "(Unjustified)" or "(Justified)"))
 
    elseif getPlayerIp(cid) == getPlayerIp(target) then
doPlayerAddExp(cid, -10000)
    end
end
return true
end

 

Link para o post
Compartilhar em outros sites

Ativou ele exemplo se for 1 action adicionou ele no actions.xml

Meus Trabalhos
 
Tudo em Desenvolvimento mais att em breve
Estou parado
 
Tudo Removido
Link para o post
Compartilhar em outros sites

eu acho que apenas 1 script n vai fazer isso acho que ta meio incompleto

Meus Trabalhos
 
Tudo em Desenvolvimento mais att em breve
Estou parado
 
Tudo Removido
Link para o post
Compartilhar em outros sites

Olá amigo, conheço um Sistema que está postado aqui no fórum, não sei se te interessa, porque ele te da o coração automaticamente. 

Pode verificar, e espero que goste!

 

Data>CreatureScripts>scripts crie um arquivo .lua chamado hearts.lua e poe dentro:

function onDeath(cid, corpse, lastHitKiller, mostDamageKiller)
    local cidpos = getPlayerPosition(lastHitKiller)
    loot = 5943
    item = doPlayerAddItem(lastHitKiller,loot,1)
    if(isPlayer(lastHitKiller) == TRUE) then
	    hitKillerName = getPlayerName(lastHitKiller)
	    doSetItemSpecialDescription(item,"This is the heart of "..getPlayerName(cid).." killed at Level "..getPlayerLevel(cid).." by "..hitKillerName..".")
	    doPlayerSendTextMessage(lastHitKiller, MESSAGE_STATUS_CONSOLE_ORANGE, "You Killed " .. getCreatureName(cid) .. ".")
	    doSendMagicEffect(cidpos,12)
    else
	    hitKillerName = getCreatureName(lastHitKiller)
	    doSetItemSpecialDescription(item,"This is the heart of "..getPlayerName(cid).." killed at Level "..getPlayerLevel(cid).." by a "..hitKillerName..".")
    end
    setItemName(item, ""..getPlayerName(cid).."\'s Heart")
    return TRUE
end

Depois volta para creaturescripts.xml e adiciona a tag:

<event type="death" name="Reward" event="script" value="hearts.lua"/>

Crédito do script: TonyHalk

xBlackWolf

THX @Storm Night

Best Avatar Ever

 

9p0FoTd.png

Link para o post
Compartilhar em outros sites

 

Olá amigo, conheço um Sistema que está postado aqui no fórum, não sei se te interessa, porque ele te da o coração automaticamente. 

Pode verificar, e espero que goste!

 

Data>CreatureScripts>scripts crie um arquivo .lua chamado hearts.lua e poe dentro:

function onDeath(cid, corpse, lastHitKiller, mostDamageKiller)
    local cidpos = getPlayerPosition(lastHitKiller)
    loot = 5943
    item = doPlayerAddItem(lastHitKiller,loot,1)
    if(isPlayer(lastHitKiller) == TRUE) then
	    hitKillerName = getPlayerName(lastHitKiller)
	    doSetItemSpecialDescription(item,"This is the heart of "..getPlayerName(cid).." killed at Level "..getPlayerLevel(cid).." by "..hitKillerName..".")
	    doPlayerSendTextMessage(lastHitKiller, MESSAGE_STATUS_CONSOLE_ORANGE, "You Killed " .. getCreatureName(cid) .. ".")
	    doSendMagicEffect(cidpos,12)
    else
	    hitKillerName = getCreatureName(lastHitKiller)
	    doSetItemSpecialDescription(item,"This is the heart of "..getPlayerName(cid).." killed at Level "..getPlayerLevel(cid).." by a "..hitKillerName..".")
    end
    setItemName(item, ""..getPlayerName(cid).."\'s Heart")
    return TRUE
end

Depois volta para creaturescripts.xml e adiciona a tag:

<event type="death" name="Reward" event="script" value="hearts.lua"/>

Crédito do script: TonyHalk

 

Tem que ve o id do item pra ve se não tem nenhuma função no ot dele 

quando postar tutorias assim defina algumas coisas com 1 outra cor e explique como ele editar para ajudar ele e ganhar seu rep com mais facilidade

Meus Trabalhos
 
Tudo em Desenvolvimento mais att em breve
Estou parado
 
Tudo Removido
Link para o post
Compartilhar em outros sites

Mas já levo em consideração que ele entende do ot dele né... E o item utilizado é o mesmo o script dele e.e Por isso não precisa mudar nada.

xBlackWolf

THX @Storm Night

Best Avatar Ever

 

9p0FoTd.png

Link para o post
Compartilhar em outros sites

^^

function onKill(cid, target) 

local config = 
{	Kname = getPlayerName(cid),
	Tname = getPlayerName(target),
	Tlevel = getPlayerLevel(target),
	heart = doPlayerAddItem(cid, 5943, 1)
}
 
	if isPlayer(cid) and isPlayer(target) then
		if getPlayerIp(cid) ~= getPlayerIp(target) then
			doSetItemSpecialDescription(config.heart, "name", "" ..config.Tname.. " Heart's")
			doSetItemSpecialDescription(config.heart, "description", "Killed at Level "..config.Tlevel.." by "..config.Kname..". " .. (getCreatureSkullType(cid) <= SKULL_GREEN and "(Unjustified)" or "(Justified)"))
 
		elseif getPlayerIp(cid) == getPlayerIp(target) then
			doPlayerAddExp(cid, -10000)
		end
	end
return true
end
<event type="kill" name="hearts" event="script" value="nomedoarquivo.lua"/>

Não se esqueça de alterar o value"nomedoarquivo.lua" com o que você colocar.

 

 

em data/creaturescripts/login.lua antes do ultimo "return true" adicione :

registerCreatureEvent(cid, "hearts") 

EQD4Qy4.gif

Link para o post
Compartilhar em outros sites

Olá senhores!

 

 xBlackWolf,

 

 o script n funcionou, ultimamente eu estou com problemas em executar alguns scripts no meu servidor.

 

 Acredito que ele n tenha algumas funções.

 

 O mesmo n apresenta nenhum erro na distro.

 

 Será que tenho que adc alguma outra tag em algum outro lugar ? 


@ TESTANO O DO SUMM

 

@@ Summ, o seu tbm não funcionou.... Meu servidor deve ser pobre de algum comando.

Editado por 919894 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Summ,

 

 o player que matou até perdeu level, como na script. Porém, não dropou o coração.

 

 Será que tem como deixar mais simples essa script e tirar essa função de Skull ?

Link para o post
Compartilhar em outros sites

@Summ, não é mais fácil simplificar?
 

function onKill(cid, target)
 
	if isPlayer(cid) and isPlayer(target) then
		if getPlayerIp(cid) ~= getPlayerIp(target) then
			doSetItemSpecialDescription(doPlayerAddItem(cid, 5943, 1), "name", "" ..getPlayerName(target).. " Heart's")
			doSetItemSpecialDescription(doPlayerAddItem(cid, 5943, 1), "description", "Killed at Level "..getPlayerLevel(target).." by "..getPlayerName(cid)..". " .. (getCreatureSkullType(cid) <= SKULL_GREEN and "(Unjustified)" or "(Justified)"))
		else
			doPlayerAddExp(cid, -10000)
		end
	end
	
	return true
end

@919894, o script ta configurado para se o IP da vitima for igual do atacante, é removido EXP e não ganha o coração.

Link para o post
Compartilhar em outros sites

@luanluciano93 Nem veio a mente simplificar dessa forma, ficou mais mais simples e agradável de se ler :D

 

@919894 É como o luan explicou se o cara tiver o msm ip do que a pessoa que ele matou, só removido a perda de exp e não perde o coração (para evitar poweabuses).

EQD4Qy4.gif

Link para o post
Compartilhar em outros sites

@Summ, não é mais fácil simplificar?

 

function onKill(cid, target)
 
	if isPlayer(cid) and isPlayer(target) then
		if getPlayerIp(cid) ~= getPlayerIp(target) then
			doSetItemSpecialDescription(doPlayerAddItem(cid, 5943, 1), "name", "" ..getPlayerName(target).. " Heart's")
			doSetItemSpecialDescription(doPlayerAddItem(cid, 5943, 1), "description", "Killed at Level "..getPlayerLevel(target).." by "..getPlayerName(cid)..". " .. (getCreatureSkullType(cid) <= SKULL_GREEN and "(Unjustified)" or "(Justified)"))
		else
			doPlayerAddExp(cid, -10000)
		end
	end
	
	return true
end

@919894, o script ta configurado para se o IP da vitima for igual do atacante, é removido EXP e não ganha o coração.

 

Tem como remover essa função??

Editado por ADM Lucas OTBR (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
function onKill(cid, target)

    if isPlayer(cid) and isPlayer(target) then
            doSetItemSpecialDescription(doPlayerAddItem(cid, 5943, 1), "name", "" ..getPlayerName(target).. " Heart's")
            doSetItemSpecialDescription(doPlayerAddItem(cid, 5943, 1), "description", "Killed at Level "..getPlayerLevel(target).." by "..getPlayerName(cid)..". " .. (getCreatureSkullType(cid) <= SKULL_GREEN and "(Unjustified)" or "(Justified)"))
    end
    
    return true
end

EQD4Qy4.gif

Link para o post
Compartilhar em outros sites

Summ, quase perfeito!

 

 Agora, assim que matei outro jogador, o char está com 0 de vida e andando normalmente e está sendo adicionado 1 coração por segundo no inventário do meu char. No caso eu quem matei.

 

@Edit

 

 Os corações não estão com o esquema de quem morreu e quem matou.

Editado por ADM Lucas OTBR (veja o histórico de edições)
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.

  • Conteúdo Similar

    • Por fezeRa
      Olá,
      Desta vez gostaria de fazer um pedido que não sei já se postaram aqui , eu não achei, mais é bem assim:
      No caso quando você mata 1 player de
      level 100 a level 200 você tira 1 tipo de coração,
      level 200 a level 300 outro tipo de coração,
      level 300 a level 400 outro tipo ... e assim indo ? teria como alguém fizer para mim ? darei REP+

      No caso eu queria que fosse com esses leveis:
      1000~2000
      2000~3000
      3000~4000
      4000~5000
      5000~6000
      6000+

      Não precisa colocar id dos items , somente o script e se possível me dizer onde editar o ID dos items que irá ganhar a matar um player de "tal" level.

      Obrigado,
      Disturbbed.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo