Ir para conteúdo
  • Cadastre-se

(Resolvido){Pedido} Modificações em Scripts


Ir para solução Resolvido por xWhiteWolf,

Posts Recomendados

              Olá TK Friends!

 

Trouxe-lhes dois scripts que preciso de uma modificação para ficar perfect :D! Vamos lá.

 

Gun System: Script logo abaixo:

 

data/spells/scripts:

local runa = 7417 <- id da arma, tem que ser club, sowrd, ou axe
local msg = "Coloque a %s na mão para atirar."
local attackmin, attackmax = 30, 42 -- attack minimo, attack maximo
function onCastSpell(cid, var)
        local left, right = getPlayerSlotItem(cid, CONST_SLOT_LEFT), getPlayerSlotItem(cid, CONST_SLOT_RIGHT)
        if isInArray({left.itemid, right.itemid}, runa) then
        else
                return doPlayerSendCancel(cid, msg:format(getItemNameById(runa)))
        end
if doPlayerRemoveItem(cid, 2671, 1) then -- id da bala [bolt]
target = getCreatureTarget(cid)
if (target <= 0) then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Selecione um target.")
return false
end
hit = (math.random(attackmin,attackmax) + getPlayerSkillLevel(cid, SKILL_DISTANCE) / 3)
                                   doTargetCombatHealth(cid, target, COMBAT_PHYSICALDAMAGE, -hit, -hit, CONST_ME_MORTAREA)
                                    doSendDistanceShoot(getCreaturePos(cid), getCreaturePos(target), 15)
                                    return  TRUE
end
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você não possui dardos.")
return false
end

data/spells/spells.xml: adicione essa tag\/

<rune name="Espuleta" id="7417" allowfaruse="1" charges="no" lvl="1" exhaustion="2000" maglv="0" range="7" needtarget="0" blocktype="solid" event="script" value="1espuleta.lua"/>

Esse script precisa de mais algumas coisas, o exaustion não funciona, e eu preciso que funcione. E também o hit da arma poderia ser baseado no distance fighting, quanto maior, mais irá hitar.

 

Heal Aura: Aproveitando esse post, irei pedir uma modificação nesse script:

 

data/creaturescript/scripts:

-- CONFIGURAÇÕES
	porcentagem = 40 -- chance de curar em cada volta da aura, em porcentagem
	quantheal = 10 -- porcentagem do hp máximo que cada cura irá curar. (No caso, irá curar 10% do hp máximo cada cura)
	tempo = 1180 -- tempo para dar uma volta no player (este tempo foi o que achei mais agradável visualmente, é recomendável não mudar)
	tipoaura = 30 -- número do efeito da aura (efeito de distância, pode ser identificado com /x no jogo)
	efeitocura = 49 -- número do efeito quando a cura chega ao player (efeito de posição fixa, pode ser identificado com /z no jogo)

-- Função que chama a aura
function efeitosAura(i,tm,cid)
	if(isCreature(cid)) then
        	local atual = getCreaturePosition(cid)
		local posaura = {
			{x=(atual.x)-1, y=(atual.y)-1, z=atual.z},
			{x=atual.x, y=(atual.y)-1, z=atual.z},
			{x=(atual.x)+1, y=(atual.y)-1, z=atual.z},
			{x=(atual.x)+1, y=atual.y, z=atual.z},
			{x=(atual.x)+1, y=(atual.y)+1, z=atual.z},
			{x=atual.x, y=(atual.y)+1, z=atual.z},
			{x=(atual.x)-1, y=(atual.y)+1, z=atual.z},
			{x=(atual.x)-1, y=atual.y, z=atual.z},
		}
		local chances = math.random(100)
		if(chances<=porcentagem/8 and getCreatureHealth(cid)<getCreatureMaxHealth(cid)) then
			doCreatureAddHealth(cid, getCreatureMaxHealth(cid)/quantheal)
			if(i<=8 and i>1) then
				doSendDistanceShoot({x=posaura[i].x, y=posaura[i].y, z=posaura[i].z}, atual, tipoaura)
			else
				doSendDistanceShoot({x=posaura[1].x, y=posaura[1].y, z=posaura[1].z}, atual, tipoaura)
			end
			doSendMagicEffect(atual, efeitocura)
		end
		if(i==8) then
			doSendDistanceShoot({x=posaura[i].x, y=posaura[i].y, z=posaura[i].z}, {x=posaura[1].x, y=posaura[1].y, z=posaura[1].z}, tipoaura)
		elseif(i<8) then
			doSendDistanceShoot({x=posaura[i].x, y=posaura[i].y, z=posaura[i].z}, {x=posaura[i+1].x, y=posaura[i+1].y, z=posaura[i+1].z}, tipoaura)
		end
		if(i<=8) then
			i = i+1
			tm = tempo/8
			return addEvent(efeitosAura,tm,i,tm,cid)
		else
			return efeitosAura(1,0,cid)
		end
	else
		return TRUE
	end
end

--Função principal
function onLogin(cid)
	return efeitosAura(1,tempo/8,cid)
end

data/creaturescript/creaturescript.xml: Adicione essa tag\/

<event type="login" name="AuraLogin" script="auralogin.lua"/>

data/creaturescript/login.lua: Adicione depois de "onLogin" \/

function onLogin(cid)
        if(getPlayerLevel(cid)>1000) then
	      return efeitosAura(1,tempo/8,cid)
        end
        return TRUE
end

Script feito por: bielzinhocrazy

 

Nesse Heal Aura, o script faz com que uma "aura" fique em volta de você te curando, a modificação desse script seria assim: Definir 3 efeitos para ficar passando no player, em vez de ficar rodando em volta dele. "Como assim?" Ex: Eu defino do script 3 efeitos que irão ficar "piscando" no player, desde o momento que ele loga, até o momento que ele desloga. Mas serão 3 tipos de aura: "Leaves aura", "Energy aura" e "Psych aura".

 

Leaves aura: Esta irá curar o player como o script acima

Energy aura: Esta irá dar mais speed ao player

Psych aura: Esta irá curar a mana do player

 

Espero que alguém possa atender ao meu clamor ! :please1:

 

Obrigado amigos!  :beers: 

Oi

Link para o post
Compartilhar em outros sites
  • Solução

1) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você não possui dardos.")

return false
end

muda o return false pra return true.

2) 

-- CONFIGURAÇÕESporcentagem = 40 -- chance de curar em cada volta da aura, em porcentagem
quantheal = 10 -- porcentagem do hp máximo que cada cura irá curar. (No caso, irá curar 10% do hp máximo cada cura)
tempo = 1180 -- tempo para dar uma volta no player (este tempo foi o que achei mais agradável visualmente, é recomendável não mudar)
efeitocura = 49 -- número do efeito quando a cura chega ao player (efeito de posição fixa, pode ser identificado com /z no jogo)


-- Função que chama a aura
function efeitosAura(i,tm,cid)
tipoaura = math.random(30,33) -- número do efeito da aura (efeito normal, /z do jogo)
if(isCreature(cid)) then
         local atual = getCreaturePosition(cid) 
local chances = math.random(100)
if(chances<=porcentagem/8 and getCreatureHealth(cid)<getCreatureMaxHealth(cid)) then
doCreatureAddHealth(cid, getCreatureMaxHealth(cid)/quantheal)
if(i<=8 and i>1) then
doSendMagicEffect(atual, tipoaura)
else
doSendMagicEffect(atual, tipoaura)
end
doSendMagicEffect(atual, efeitocura)
end
if(i==8) then
doSendMagicEffect(atual, tipoaura)
elseif(i<8) then
doSendMagicEffect(atual, tipoaura)
end
if(i<=8) then
i = i+1
tm = tempo/8
return addEvent(efeitosAura,tm,i,tm,cid)
else
return efeitosAura(1,0,cid)
end
else
return TRUE
end
end


--Função principal
function onLogin(cid)
return efeitosAura(1,tempo/8,cid)
end

/\ cura a vida e solta os efeitos 30 a 33

 

-- CONFIGURAÇÕES
porcentagem = 40 -- chance de curar em cada volta da aura, em porcentagem
quantmana = 10 -- porcentagem da mana máxima que cada cura irá curar. (No caso, irá curar 10% da mana máxima cada cura)
tempo = 1180 -- tempo para dar uma volta no player (este tempo foi o que achei mais agradável visualmente, é recomendável não mudar)
efeitocura = 49 -- número do efeito quando a cura chega ao player (efeito de posição fixa, pode ser identificado com /z no jogo)


-- Função que chama a aura
function efeitosAura(i,tm,cid)
tipoaura = math.random(30,33) -- número do efeito da aura (efeito normal, /z do jogo)
if(isCreature(cid)) then
         local atual = getCreaturePosition(cid) 
local chances = math.random(100)
if(chances<=porcentagem/8 and getCreatureMana(cid)<getCreatureMaxMana(cid)) then
doCreatureAddMana(cid, getCreatureMaxMana(cid)/quantmana)
if(i<=8 and i>1) then
doSendMagicEffect(atual, tipoaura)
else
doSendMagicEffect(atual, tipoaura)
end
doSendMagicEffect(atual, efeitocura)
end
if(i==8) then
doSendMagicEffect(atual, tipoaura)
elseif(i<8) then
doSendMagicEffect(atual, tipoaura)
end
if(i<=8) then
i = i+1
tm = tempo/8
return addEvent(efeitosAura,tm,i,tm,cid)
else
return efeitosAura(1,0,cid)
end
else
return TRUE
end
end


--Função principal
function onLogin(cid)
return efeitosAura(1,tempo/8,cid)
end

/\ cura mana e solta os efeitos 30 a 33 (se quiser muda no math.random
 

-- CONFIGURAÇÕES
porcentagem = 40 -- chance de dar haste em cada volta da aura, em porcentagem
tempo = 1180 -- tempo para dar uma volta no player (este tempo foi o que achei mais agradável visualmente, é recomendável não mudar)
efeitocura = 49 -- número do efeito quando der haste (efeito de posição fixa, pode ser identificado com /z no jogo)
    duration = 10 -- segundos que vai durar o haste da aura. (coloque um tempo baixo porque ela vai ficar se repetindo.


local condition = createConditionObject(CONDITION_HASTE)
setConditionParam(condition, CONDITION_PARAM_TICKS, duration*1000)
setConditionFormula(condition, 1.7, -36, 1.7, -36) 


-- Função que chama a aura
function efeitosAura(i,tm,cid)
tipoaura = math.random(12,14) -- número do efeito da aura (efeito normal, /z do jogo)
if(isCreature(cid)) then
         local atual = getCreaturePosition(cid) 
local chances = math.random(100)
if(chances<=porcentagem/8 and getCreatureCondition(cid, condition) == false) then
doAddCondition(cid, condition)
if(i<=8 and i>1) then
doSendMagicEffect(atual, tipoaura)
else
doSendMagicEffect(atual, tipoaura)
end
doSendMagicEffect(atual, efeitocura)
end
if(i==8) then
doSendMagicEffect(atual, tipoaura)
elseif(i<8) then
doSendMagicEffect(atual, tipoaura)
end
if(i<=8) then
i = i+1
tm = tempo/8
return addEvent(efeitosAura,tm,i,tm,cid)
else
return efeitosAura(1,0,cid)
end
else
return TRUE
end
end


--Função principal
function onLogin(cid)
return efeitosAura(1,tempo/8,cid)
end

/\ da velocidade a cada rodada de aura por 10 segundos.. os efeitos são um math.random de 12 até 14 (12, 13, 14)

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

Vou dar uma testada aqui, já digo se funcionou.

 

---------Editado---------

Perfeito cara, ficou ótimo!

Editado por NathanAmaro (veja o histórico de edições)

Oi

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