To Com Uma Duvida Em Um Script.

othereality
em Scripts

othereality

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 18/01/11Posts: 343Char no Tibia: Zodriac

eai galera eu estou com um escript do Doidin aqui,

foi até apriveitar pra agradecer ele por ter feito =D

 

mas ele tem um unico problema que eu não consegui resolver,

o scrip a seguir:

 

-- [( Script created by Doidin for XTibia.com )] --
function onUse(cid, item, fromPosition, item2, toPosition)

local itemid = 2195  -- ID do item que o player ganhará!
local monstername1 = "Dragon Lord" -- Nome dos monstros que serão sumonados após o player clicar no item!
local monstername2 = "Dragon" -- Nome dos monstros que serão sumonados após o player clicar no item!
local monster1 = {x=161,y=101,z=7} -- Coordenas de a onde o monstro irá aparecer! (Dragon Lord)
local monster2 = {x=162,y=102,z=7} -- Coordenas de a onde o monstro irá aparecer! (Dragon Lord)
local monster3 = {x=163,y=103,z=7} -- Coordenas de a onde o monstro irá aparecer! (Dragon Lord)
local monster4 = {x=164,y=104,z=7} -- Coordenas de a onde o monstro irá aparecer! (Dragon)
local monster5 = {x=165,y=105,z=7} -- Coordenas de a onde o monstro irá aparecer! (Dragon)

actionstatus = getPlayerStorageValue(cid,6666)
if actionstatus == -1 then
if doCreatureSay(cid,"You went in the wrong place, beware!",TALKTYPE_ORANGE_1) then
setPlayerStorageValue(cid,6666,1)
else
doPlayerSendTextMessageCancel(cid,MESSAGE_INFO_DESCR,"Sorry is not possible.")
end

function Quest()
doPlayerSendTextMessage(cid,22,"You have found the secret item!")
doPlayerAddItem(cid,itemid,1)
end

function Summon()
doSummonCreature(monstername1,monster1)
doSummonCreature(monstername1,monster2)
doSummonCreature(monstername1,monster3)
doSummonCreature(monstername2,monster4)
doSummonCreature(monstername2,monster5)
doSendMagicEffect(monster1,36)
doSendMagicEffect(monster2,36)
doSendMagicEffect(monster3,36)
doSendMagicEffect(monster4,36)
doSendMagicEffect(monster5,36)
end

addEvent(Summon,100)
addEvent(Summon,15000)
addEvent(Summon,30000)
addEvent(Summon,45000)
addEvent(Summon,60000)
addEvent(Summon,75000)
addEvent(Quest,6000)
end
end

 

 

na parte onde aparece:

 

addEvent(Summon,100)
addEvent(Summon,15000)
addEvent(Summon,30000)
addEvent(Summon,45000)
addEvent(Summon,60000)
addEvent(Summon,75000)
addEvent(Quest,6000)

 

Não está funcionando todos os summons aparecem ao mesmo tempo,

não importa o tempo que eu bote.

 

e tem um:

 

addEvent(Summon,time)

 

a mais do que a quantidade de monstros a ser sumonados é assim mesmo?

 

 

vlw Doidin pelo script,

e obrigado a quem poder me ajudar.

não me dê rep

apenas leia abaixo

###motivos pra você clicar aqui agora e entrar no Uwnia99 OT###

 

Temos 15 classes e está sempre lançando mais.
A classe Assassin fica invisível até pra
 players :rip:

A classe Cake Guardian tem uma magia de refletir dano

Temos Eventos próprios acontecendo todo momento

Temos várias sprites únicas do OT

 A classe Feral Druid se transforma em vários bichos e tem magias diferentes dependendo da forma que está  :beurk:

Temos um contato muito grande entre desenvolvedor e jogador

 Temos uma classe chamada CAKE GUARDIAN! ELE ATIRA BOLOS!!!!! :love:

Não temos sistema vip e não vamos ter

Não vendemos nenhum tipo de vantagem na loja do site e nem vamos vender (apenas cosméticos)

 24h  :ph34r:

 

Entre no site clicando aqui!

infernity

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 22/03/08Posts: 46Char no Tibia: Nagumo Utsunomiya

Mano não intendo disso mas vo tenta ajuda.

Normal:

addEvent(Summon,100)
addEvent(Summon,15000)
addEvent(Summon,30000)
addEvent(Summon,45000)
addEvent(Summon,60000)
addEvent(Summon,75000)
addEvent(Quest,6000)

Mude para:

addEvent(monster1,100)
addEvent(monster2,15000)
addEvent(monster3,30000)
addEvent(monster4,45000)
addEvent(monster5,60000)
addEvent(Quest,6000)

 

Se isso não der certo o erro pode ter sido ocorido porque tem addEvent(Summon,time) a mais, retire 1 deles e teste.Espero ter ajudado.

_____________________________________________________________________________________________________________________________________

Ajudei? verdinha :button_ok:

61ec48409f664c3bb1ef6ef151dcbd11.0.gif

Ajudei? verdinha
61ec48409f664c3bb1ef6ef151dcbd11.0.gif

 

othereality

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 18/01/11Posts: 343Char no Tibia: Zodriac

eai infernity,

vlw pela ajuda mas nem funcionou.

 

mas dando mais uma mechida eu percebi o seguinte:

o script sumona todos os bixos para cada addEvent(Summon,time), e no tempo certo.

 

se eu retirar oque tem a mais ele buga,

e se eu trocar por "monster1" também buga.

 

ainda nada.

se tiver alguma outra idéia diz ae que eu testo. =D

não me dê rep

apenas leia abaixo

###motivos pra você clicar aqui agora e entrar no Uwnia99 OT###

 

Temos 15 classes e está sempre lançando mais.
A classe Assassin fica invisível até pra
 players :rip:

A classe Cake Guardian tem uma magia de refletir dano

Temos Eventos próprios acontecendo todo momento

Temos várias sprites únicas do OT

 A classe Feral Druid se transforma em vários bichos e tem magias diferentes dependendo da forma que está  :beurk:

Temos um contato muito grande entre desenvolvedor e jogador

 Temos uma classe chamada CAKE GUARDIAN! ELE ATIRA BOLOS!!!!! :love:

Não temos sistema vip e não vamos ter

Não vendemos nenhum tipo de vantagem na loja do site e nem vamos vender (apenas cosméticos)

 24h  :ph34r:

 

Entre no site clicando aqui!

Henrique Moura

Ex-administrador
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 17/02/08Posts: 2541

Não sei não, não era pra acontecer isso. Mas o que você pode fazer é adicionar uma função para cada evento.

 

Exemplo:

 

function Summon1()
doSummonCreature(monstername1,monster1)
doSendMagicEffect(monster1,36)

 

addEvent(Summon1, time)

 

É uma possível solução, mas como não manjo disso não posso dizer muita coisa.

Abraços e boa sorte.

KaKilo ~
 


Lom14fD.png

Demonbholder

avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 13/10/08Posts: 1551Char no Tibia: Demonbholder

Hmm, parece que o nosso amigo Doidin se equivocou um pouquinho.

 

Vamos lá, observe esta parte do código:

 

function Summon()
doSummonCreature(monstername1,monster1)
doSummonCreature(monstername1,monster2)
doSummonCreature(monstername1,monster3)
doSummonCreature(monstername2,monster4)
doSummonCreature(monstername2,monster5)
doSendMagicEffect(monster1,36)
doSendMagicEffect(monster2,36)
doSendMagicEffect(monster3,36)
doSendMagicEffect(monster4,36)
doSendMagicEffect(monster5,36)
end

addEvent(Summon,100)
addEvent(Summon,15000)
addEvent(Summon,30000)
addEvent(Summon,45000)
addEvent(Summon,60000)
addEvent(Summon,75000)

 

Agora pense comigo. Ele criou uma função que sumona 5 monstros quando executada. E ele usou a função addEvent que faz essa função ser executada após tanto tempo.

 

Porém, ele usou o addEvent 5 vezes, logo, 5 monstros vão ser criados depois de tanto tempo, depois de mais tanto tempo mais 5, e assim vai... (se eles não estão sendo criado deve ser por falta de espaço na área)

 

A solução é fazer como henrique sugeriu.

Oie :D

othereality

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 18/01/11Posts: 343Char no Tibia: Zodriac

vlw henrique,

e vlw demonbeholder está acontecendo exatamente isso.

acabei conseguindo resolver do jeito que o henrique sugerio.

 

e só pra comentar:

é impressionante a habilidade pra lidar com scripts que eu percebo em algumas pessoas aqui no xtibia,

demonbeholder conseguio descrever exatamente que erro ocorreria sem testar o script.

 

 

vlw a todos.

não me dê rep

apenas leia abaixo

###motivos pra você clicar aqui agora e entrar no Uwnia99 OT###

 

Temos 15 classes e está sempre lançando mais.
A classe Assassin fica invisível até pra
 players :rip:

A classe Cake Guardian tem uma magia de refletir dano

Temos Eventos próprios acontecendo todo momento

Temos várias sprites únicas do OT

 A classe Feral Druid se transforma em vários bichos e tem magias diferentes dependendo da forma que está  :beurk:

Temos um contato muito grande entre desenvolvedor e jogador

 Temos uma classe chamada CAKE GUARDIAN! ELE ATIRA BOLOS!!!!! :love:

Não temos sistema vip e não vamos ter

Não vendemos nenhum tipo de vantagem na loja do site e nem vamos vender (apenas cosméticos)

 24h  :ph34r:

 

Entre no site clicando aqui!

Garou12

O Lobo
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 14/10/10Posts: 5

Olá,

 

Juntando tudo o que nossos amigos falaram e também com algumas modificações que eu mesmo fiz, acho que o script poderá ficar assim :)

 

local config = {
storageNumber = 6666,
giveItem = 2195,
msg = {
	found = "You have found the secret item!",
	warn = "You went to the wrong place, beware!",
	cancel = "Sorry, not possible."
},
monster = {
	["Dragon Lord"] = 3,
	["Dragon"] = 2
}
}


function onUse(cid, item, fromPosition, itemEx, toPosition)
local function summon()
	for monster, times in pairs(config.monster) do
		for i = 1, times do
			addEvent(doSummonCreature, i*1000, monster, {x = 160+i, y = 100+i, z = 7})
		end
	end
end

local status = getPlayerStorageValue(cid, config.storageNumber)
if(status ~= 1) then
	doCreatureSay(cid, config.msg.warn, TALKTYPE_ORANGE_1)
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, config.msg.found)
	doPlayerAddItem(cid, config.giveItem, 1)
	addEvent(summon, 0)
else
	doPlayerSendCancel(cid, config.msg.cancel)
end
return true
end

 

Eu não testei, mas acho que funciona (y)

 

Abraços,

garou1.png

othereality

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 18/01/11Posts: 343Char no Tibia: Zodriac

o meu funcionando direitonho ficou assim:

 

 

function onUse(cid, item, fromPosition, item2, toPosition)

local itemid = 2195
local monstername1 = "Dragon Lord"
local monstername2 = "Dragon"
local monster1 = {x=161,y=101,z=7}
local monster2 = {x=162,y=102,z=7}
local monster3 = {x=163,y=103,z=7}

actionstatus = getPlayerStorageValue(cid,6666)
if actionstatus == -1 then
if doCreatureSay(cid,"You went in the wrong place, beware!",TALKTYPE_ORANGE_1) then
setPlayerStorageValue(cid,6666,1)
else
doPlayerSendTextMessageCancel(cid,MESSAGE_INFO_DESCR,"Sorry is not possible.")
end

function Quest()
doPlayerSendTextMessage(cid,22,"You have found the secret item!")
doPlayerAddItem(cid,itemid,1)
end

function Summon1()
doSummonCreature(monstername1,monster1)
doSendMagicEffect(monster1,36)
end

function Summon2()
doSummonCreature(monstername1,monster2)
doSendMagicEffect(monster2,36)
end

function Summon3()
doSummonCreature(monstername2,monster3)
doSendMagicEffect(monster3,36)
end

addEvent(Summon1,100)
addEvent(Summon2,15000)
addEvent(Summon3,30000)
addEvent(Quest,6000)
end
end

 

Se alguem quer está ai. /\

acho que o seu ficou menor mas esse e mais facinho de editar.

 

=P

não me dê rep

apenas leia abaixo

###motivos pra você clicar aqui agora e entrar no Uwnia99 OT###

 

Temos 15 classes e está sempre lançando mais.
A classe Assassin fica invisível até pra
 players :rip:

A classe Cake Guardian tem uma magia de refletir dano

Temos Eventos próprios acontecendo todo momento

Temos várias sprites únicas do OT

 A classe Feral Druid se transforma em vários bichos e tem magias diferentes dependendo da forma que está  :beurk:

Temos um contato muito grande entre desenvolvedor e jogador

 Temos uma classe chamada CAKE GUARDIAN! ELE ATIRA BOLOS!!!!! :love:

Não temos sistema vip e não vamos ter

Não vendemos nenhum tipo de vantagem na loja do site e nem vamos vender (apenas cosméticos)

 24h  :ph34r:

 

Entre no site clicando aqui!

Demonbholder

avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 13/10/08Posts: 1551Char no Tibia: Demonbholder

Sua dúvida foi sanda? Posso mover para dúvidas sanadas?

 

Abraços.

Oie :D

othereality

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 18/01/11Posts: 343Char no Tibia: Zodriac

Pode mover claro,

Duvida sanada.

não me dê rep

apenas leia abaixo

###motivos pra você clicar aqui agora e entrar no Uwnia99 OT###

 

Temos 15 classes e está sempre lançando mais.
A classe Assassin fica invisível até pra
 players :rip:

A classe Cake Guardian tem uma magia de refletir dano

Temos Eventos próprios acontecendo todo momento

Temos várias sprites únicas do OT

 A classe Feral Druid se transforma em vários bichos e tem magias diferentes dependendo da forma que está  :beurk:

Temos um contato muito grande entre desenvolvedor e jogador

 Temos uma classe chamada CAKE GUARDIAN! ELE ATIRA BOLOS!!!!! :love:

Não temos sistema vip e não vamos ter

Não vendemos nenhum tipo de vantagem na loja do site e nem vamos vender (apenas cosméticos)

 24h  :ph34r:

 

Entre no site clicando aqui!