Ir para conteúdo
  • Cadastre-se

Posts Recomendados

vc fez tudo certinho de colocar no login.lua e tal? Eu testei aqui e foi tudo perfeito

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
  • 1 year later...

tem como você modifica para só glacier robe ativa paralyze e freezing, e tmb pra atk o player o freezing e lyze

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

--[[Script made 100% by Night Wolf and Nogard
do not remove the fucking credits or I may kill you and practice necrofily with your filthy body]]

--condição que irá adicionar
local gelocondition = createConditionObject(CONDITION_PARALYZE)
setConditionParam(gelocondition, CONDITION_PARAM_TICKS, 10000)   
setConditionFormula(gelocondition, -0.9, 0, -0.9, 0)  


local frigo = createConditionObject(CONDITION_FREEZING)
setConditionParam(frigo, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(frigo, 5, 2000, -300)
addDamageCondition(frigo, 5, 2000, -200)
addDamageCondition(frigo, 5, 2000, -100)
-------
local config = {
itemid = 7897, --id do item que deverá ser equipado para ativar o gelo
place = 4, --posição que o item deve estar para funcionar, cheque na tabela abaixo
percent = 5,  --se vc quiser 20%, coloque 5 pois 1/5 = 0,2 (20%)
valorvida = 300 --quanto deve ser o valor minimo de vida a perder para executar o script 
}


local function canEffect(pos, pz, proj) -- Night Wolf based on Nord
	if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end
	if getTilePzInfo(pos) and not pz then return false end
	local n = not proj and 3 or 2
	for i = 0, 255 do
		pos.stackpos = i
		local tile = getTileThingByPos(pos)
		if tile.itemid ~= 0 and not isCreature(tile.uid) then
			if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then
				return false
			end
		end
	end
return true
end

function onStatsChange(cid, attacker, type, combat, value)
	if (getPlayerSlotItem(cid, config.place).itemid == config.itemid) then
		if type == STATSCHANGE_HEALTHLOSS and value >= config.valorvida and isCreature(attacker) then
			if math.random (1,config.percent) == 1 then
				local pos = getPlayerPosition(cid)
				local effectPositions = {
					{x = pos.x, y = pos.y - 2, z = pos.z},
					{x = pos.x, y = pos.y + 2, z = pos.z},
					{x = pos.x - 2, y = pos.y, z = pos.z},
					{x = pos.x + 2, y = pos.y, z = pos.z},
					{x = pos.x - 2, y = pos.y - 1, z = pos.z},
					{x = pos.x + 2, y = pos.y - 1, z = pos.z},
					{x = pos.x + 2, y = pos.y + 1, z = pos.z},
					{x = pos.x - 2, y = pos.y + 1, z = pos.z},
					{x = pos.x - 1, y = pos.y - 2, z = pos.z},
					{x = pos.x + 1, y = pos.y - 2, z = pos.z},
					{x = pos.x + 1, y = pos.y + 2, z = pos.z},
					{x = pos.x - 1, y = pos.y + 2, z = pos.z}
				} 

				local conditionPositions = {
					{x = pos.x, y = pos.y - 2, z = pos.z},
					{x = pos.x, y = pos.y + 2, z = pos.z},
					{x = pos.x - 2, y = pos.y, z = pos.z},
					{x = pos.x + 2, y = pos.y, z = pos.z},
					{x = pos.x - 2, y = pos.y - 1, z = pos.z},
					{x = pos.x + 2, y = pos.y - 1, z = pos.z},
					{x = pos.x + 2, y = pos.y + 1, z = pos.z},
					{x = pos.x - 2, y = pos.y + 1, z = pos.z},
					{x = pos.x - 1, y = pos.y - 2, z = pos.z},
					{x = pos.x + 1, y = pos.y - 2, z = pos.z},
					{x = pos.x + 1, y = pos.y + 2, z = pos.z},
					----
					{x = pos.x, y = pos.y - 1, z = pos.z},
					{x = pos.x, y = pos.y + 1, z = pos.z},
					{x = pos.x - 1, y = pos.y, z = pos.z},
					{x = pos.x + 1, y = pos.y, z = pos.z},
					{x = pos.x - 1, y = pos.y + 1, z = pos.z},
					{x = pos.x - 1, y = pos.y - 1, z = pos.z},
					{x = pos.x + 1, y = pos.y - 1, z = pos.z},
					{x = pos.x + 1, y = pos.y + 1, z = pos.z},
					------
					{x = pos.x - 1, y = pos.y + 2, z = pos.z}
				} 
				
				for _, cPos in ipairs(conditionPositions) do
					local mob = getTopCreature(cPos).uid
					if canEffect (cPos) and mob ~= 0 and isCreature(mob) then
						doAddCondition(mob, gelocondition)
						doAddCondition(mob, frigo)
						doSendMagicEffect(cPos, 43)
					end
				end 			

				for _, ePos in ipairs(effectPositions) do
					if canEffect(ePos) then
						doSendMagicEffect(ePos, 41)
					end
				end

			end
		end
	end
return true
end

 

foi muito engraçado arrumar esse script, qnd eu fiz ele eu tava começando a scriptar e tinha muita checagem desnecessária

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

 

9 horas atrás, xWhiteWolf disse:
  Ocultar conteúdo



--[[Script made 100% by Night Wolf and Nogard
do not remove the fucking credits or I may kill you and practice necrofily with your filthy body]]

--condição que irá adicionar
local gelocondition = createConditionObject(CONDITION_PARALYZE)
setConditionParam(gelocondition, CONDITION_PARAM_TICKS, 10000)   
setConditionFormula(gelocondition, -0.9, 0, -0.9, 0)  


local frigo = createConditionObject(CONDITION_FREEZING)
setConditionParam(frigo, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(frigo, 5, 2000, -300)
addDamageCondition(frigo, 5, 2000, -200)
addDamageCondition(frigo, 5, 2000, -100)
-------
local config = {
itemid = 7897, --id do item que deverá ser equipado para ativar o gelo
place = 4, --posição que o item deve estar para funcionar, cheque na tabela abaixo
percent = 5,  --se vc quiser 20%, coloque 5 pois 1/5 = 0,2 (20%)
valorvida = 300 --quanto deve ser o valor minimo de vida a perder para executar o script 
}


local function canEffect(pos, pz, proj) -- Night Wolf based on Nord
	if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end
	if getTilePzInfo(pos) and not pz then return false end
	local n = not proj and 3 or 2
	for i = 0, 255 do
		pos.stackpos = i
		local tile = getTileThingByPos(pos)
		if tile.itemid ~= 0 and not isCreature(tile.uid) then
			if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then
				return false
			end
		end
	end
return true
end

function onStatsChange(cid, attacker, type, combat, value)
	if (getPlayerSlotItem(cid, config.place).itemid == config.itemid) then
		if type == STATSCHANGE_HEALTHLOSS and value >= config.valorvida and isCreature(attacker) then
			if math.random (1,config.percent) == 1 then
				local pos = getPlayerPosition(cid)
				local effectPositions = {
					{x = pos.x, y = pos.y - 2, z = pos.z},
					{x = pos.x, y = pos.y + 2, z = pos.z},
					{x = pos.x - 2, y = pos.y, z = pos.z},
					{x = pos.x + 2, y = pos.y, z = pos.z},
					{x = pos.x - 2, y = pos.y - 1, z = pos.z},
					{x = pos.x + 2, y = pos.y - 1, z = pos.z},
					{x = pos.x + 2, y = pos.y + 1, z = pos.z},
					{x = pos.x - 2, y = pos.y + 1, z = pos.z},
					{x = pos.x - 1, y = pos.y - 2, z = pos.z},
					{x = pos.x + 1, y = pos.y - 2, z = pos.z},
					{x = pos.x + 1, y = pos.y + 2, z = pos.z},
					{x = pos.x - 1, y = pos.y + 2, z = pos.z}
				} 

				local conditionPositions = {
					{x = pos.x, y = pos.y - 2, z = pos.z},
					{x = pos.x, y = pos.y + 2, z = pos.z},
					{x = pos.x - 2, y = pos.y, z = pos.z},
					{x = pos.x + 2, y = pos.y, z = pos.z},
					{x = pos.x - 2, y = pos.y - 1, z = pos.z},
					{x = pos.x + 2, y = pos.y - 1, z = pos.z},
					{x = pos.x + 2, y = pos.y + 1, z = pos.z},
					{x = pos.x - 2, y = pos.y + 1, z = pos.z},
					{x = pos.x - 1, y = pos.y - 2, z = pos.z},
					{x = pos.x + 1, y = pos.y - 2, z = pos.z},
					{x = pos.x + 1, y = pos.y + 2, z = pos.z},
					----
					{x = pos.x, y = pos.y - 1, z = pos.z},
					{x = pos.x, y = pos.y + 1, z = pos.z},
					{x = pos.x - 1, y = pos.y, z = pos.z},
					{x = pos.x + 1, y = pos.y, z = pos.z},
					{x = pos.x - 1, y = pos.y + 1, z = pos.z},
					{x = pos.x - 1, y = pos.y - 1, z = pos.z},
					{x = pos.x + 1, y = pos.y - 1, z = pos.z},
					{x = pos.x + 1, y = pos.y + 1, z = pos.z},
					------
					{x = pos.x - 1, y = pos.y + 2, z = pos.z}
				} 
				
				for _, cPos in ipairs(conditionPositions) do
					local mob = getTopCreature(cPos).uid
					if canEffect (cPos) and mob ~= 0 and isCreature(mob) then
						doAddCondition(mob, gelocondition)
						doAddCondition(mob, frigo)
						doSendMagicEffect(cPos, 43)
					end
				end 			

				for _, ePos in ipairs(effectPositions) do
					if canEffect(ePos) then
						doSendMagicEffect(ePos, 41)
					end
				end

			end
		end
	end
return true
end

 

foi muito engraçado arrumar esse script, qnd eu fiz ele eu tava começando a scriptar e tinha muita checagem desnecessária

obg cara funciono certinho do jeito q eu queria

Link para o post
Compartilhar em outros sites

nãao, é muita diferença entre as versões: de 0.36 pra 1.2

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
  • 2 weeks later...

Wolf, existe alguma diferença tecnica entre transformar um item que está equipado em outro e equipar um novo item?

doTransformItem(uid, toitemid[, count/subtype])

sei que faz bastante tempo q esse topico foi criado mas, se o usuario duplicar o item no seu client e items.otb e xml.

fizer um action que transforma um item no outro.

daria pra fazer um (on/off)

o que "solucionaria" o problema de abrir pk atoa ao estar fullset.

meu medo é que quando transforme o item acabe bufando tendo que tirar e equipar dnv ( o que tornaria feio ).

mas é possivel também que seja irrelevante porque não vi nenhuma função que gire em torno de equipar ou desequipar.

enfim, é uma teoria.

Link para o post
Compartilhar em outros sites

tem um jeito melhor de resolver isso, é só checar se o player tem skull yellow, red ou black na hr de adicionar a condition nele. Aí vc nao pega pk

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

Acho q deveria verificar skull nos 2 players. No que possui o set e na vítima do condition, do contrário se o usuário do set abrir pk em cima de outro acho que não iria acertar os efeitos no player q n tem skull.

Posso estar errado haha, mas pela lógica parece correto.

Link para o post
Compartilhar em outros sites

realmente, vc tem razão... o foda é que n existe função pra retornar se a mãozinha do pk tá fechada ou aberta, se não era tranquilo.

Talvez eu refaça esse script utilizando combat semelhante à spells, aí a própria source se encarrega desse esquema de atacar pk

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

Bom, teria q fazer o script verificar se o alvo é player e SOMENTE se fosse player seguisse para verificar skull. Caso o alvo não possuia skull verificasse se o próprio player possui skull 

Caso não fosse criatura seguisse normalmente.

 

Acho que fazer por spell não mudaria nesse caso, se não me engano ataques em área abrem PK da mesma forma.

Se estiver ilegível me perdoem (estou pelo cell)

Link para o post
Compartilhar em outros sites

qnd vc solta spell em área abre PK se tiver com a mãozinha aberta? faz anos q n entro no tibia, não me recordo.

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

:hum:  estou extremamente confuso.

Acho q eu me confundi, acho que não da dano se estiver com a mãozinha aberta. Preciso testar, chegando em casa verificarei.

-edit

não abre pk mesmo não, viajei legal :c

Editado por Henriquegb (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 3 months later...
Em 06/06/2016 at 17:59, Admnwso disse:

esta funcionando em monster, em players nao sabe dizer pq?

 

troca 
 

 if canEffect (cPos) and mob ~= 0 and isMonster(mob) then


por 

 if canEffect (cPos) and mob ~= 0 and isCreature(mob) then

 

 

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
  • 5 years later...

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo