75
monster

Chance De Nascer O Bixo

Por 758594, 17 de set. de 2012 em Scripts

script
13
1.9k
7585947
17 de setembro de 2012 às 18:01

Galera queria que voces me ajudassem eu tive uma ideia,que seria assim:

 

Eu queria um monstro com a mesmas caracteristicas de um dragon...Igualzinho,so que ai vem minha ideia,devido a um scripit ele ia ter uma certa chance em % para nascer a cada 2 dias em um determinado local,ficando assim :

 

Monstro sera usado como > X

Local sera usado como > Y

Porcentagem como > %

 

fincando assim na equação:

 

X tem uma determinada % de nascer a cada dois dias na posição Y.

Ou seja,a cada 48h iria ter "uma chance" de nascer um bixo com as msm caracteristicas de um dragon (so que com nome diferente claro) no local "Y" no qual eu iria determinar no script.

 

So que eu nao sei fazer script,poderiam me ajudar?

caoticC
17 de setembro de 2012 às 18:23

Tópico em local Incorreto

 

Movido a Areá Correta

JustinnoTibiannoJ
17 de setembro de 2012 às 18:24

cara nao vi nada igual, creio que seja muito dificil de fazer ou até impossivel =x

7585947
17 de setembro de 2012 às 18:27

@caotic Desculpe,acho que acabei nem percebendo...

 

Puxa vida : / pensei que ja existisse algum tipo de script :X

SkyDangerousS
17 de setembro de 2012 às 18:48

cara nao vi nada igual, creio que seja muito dificil de fazer ou até impossivel =x

 

Nada é impossível amigo.

Tudo se da um jeito.

 

 

Galera queria que voces me ajudassem eu tive uma ideia,que seria assim:

 

Eu queria um monstro com a mesmas caracteristicas de um dragon...Igualzinho,so que ai vem minha ideia,devido a um scripit ele ia ter uma certa chance em % para nascer a cada 2 dias em um determinado local,ficando assim :

 

Monstro sera usado como > X

Local sera usado como > Y

Porcentagem como > %

 

fincando assim na equação:

 

X tem uma determinada % de nascer a cada dois dias na posição Y.

Ou seja,a cada 48h iria ter "uma chance" de nascer um bixo com as msm caracteristicas de um dragon (so que com nome diferente claro) no local "Y" no qual eu iria determinar no script.

 

So que eu nao sei fazer script,poderiam me ajudar?

 

O vodkart postou um dia no tópico de uma dúvida, se você tiver tempo de uma procurada na seção.

http://www.xtibia.com/forum/forum/718-pedidos-e-duvidas-resolvidos-scripting/

7585947
17 de setembro de 2012 às 19:03

Nao achei :,(

brun123B
17 de setembro de 2012 às 20:44

to sem tempo pra fazer a script, mas é bem fácil

faz através de globalevent (startup do server) pra ter x% chance de criar um monstro numa determinada pos, se o monstro for criado, registra nele uma creature event onDeath, se não for criado, usa um addEvent que dure 2 dias pra ser executado que tem chance de criar o monstro de novo, mesma ideia, se conseguir criar, registra a creatureevent onDeath, se não, usa um addEvent pra tentar criar de novo... e assim vai

a script onDeath iria ser pra quando o monstro morrer, executar novamente a função pra tentar criar o monstro e assim vai

 

scripters iniciantes podem tentar

LeoxtibiaL
18 de setembro de 2012 às 08:19

Como sou iniciante, irei tentar.

 

Em data/globalevents/scripts crie um arquivo.lua e cole isto dentro:

 

function onThink(interval, lastExecution, thinkInterval)

local t = {
monster = "Dragon", -- nome do monstro
pos = {x=1,y=1,z=1}, -- posição onde irá nascer
chance = 30, --- chance para o monstro ser sumonado
tempo = 60000 * 10 -- troque o número 10 pelo tempo em minutos para o monstro sumir caso ninguém vá matá-lo
}

if(math.random(1, 100) <= t.chance) then
  doBroadcastMessage("Um "..t.monster.." apareceu lá!")
  pid = doCreateMonster(t.monster, t.pos)
  addEvent(remove, t.tempo, pid)
end
return TRUE
end

function remove(pid)
 if(isMonster(pid) == true) then
 doRemoveCreature(pid)
 end
end

 

Em globalevents.xml cole a tag:

 

<globalevent name="CreateMonster" interval="172800" event="script" value="NOMEDOSEUARQUIVO.lua"/>

 

Em interval = "172800" (48 horas) é o tempo em segundos para que o script ocorra novamente.

Editado Setembro 18 por Leoxtibia

brun123B
18 de setembro de 2012 às 11:38

uui..

do seu jeito é mais simples, mas o que eu pensei em fazer era criar o monstro e deixar lá até alguém matar ele, e depois de matar esperar mais 2 dias pra criar novamente...

no seu script, se as pessoas deixarem o monstro quase morto, mas tiverem passado os 10 minutos, ele vai sumir

LeoxtibiaL
18 de setembro de 2012 às 13:26

É verdade brun123, não tinha percebido isso. Mas acho díficil colocar para sumir tão rápido, já que mesmo do seu modo, ele ficaria lá depois de 2 dias ou mais... caso alguém não fosse matá-lo =P Fora que poderia acumular muitos desses monstros no local ^^ Então, é só colocar para sumir um pouco antes do script acontecer novamente porque não corre risco disso acontecer.

brun123B
18 de setembro de 2012 às 14:52

do meu método não ia criar vários monstros, seria algo assim:

 

criar um arquivo chamado minhalib.lua em data/lib/ e colocar isso dentro:

 

function doCreateMonsterWithChance()
   local monster = "Dragon"
   local pos = {x = 1000, y = 1000, z = 7}
   local chance = 20
   local delay =  2 * 24 * 60 * 60 * 1000

   if math.random(100) <= chance then
    monster = doCreateMonster(monster, pos, false)
    if not monster then
    return addEvent(doCreateMonsterWithChance, delay)
    end
   return registerCreatureEvent(monster, "TwoDaysRespawn")
   end
addEvent(doCreateMonsterWithChance, delay)
end

 

criar um arquivo chamado monsterstart.lua em data/globalevents/scripts e colocar isso dentro:

 

function onStartup()
doCreateMonsterWithChance()
end

 

e colocar a tag no globalevents.xml:

 

<globalevent name="createmonster" type="start" event="script" value="monsterstart.lua"/>

 

criar um arquivo chamado respawn.lua em data/creaturescripts/scripts e colocar isso dentro:

 

function onDeath(cid)
addEvent(doCreateMonsterWithChance, 2 * 24 * 60 * 60 * 1000)
return true
end

 

e colocar a tag em creaturescripts.xml:

 

<event type="death" name="TwoDaysRespawn" event="script" value="respawn.lua"/>

Editado Setembro 18 por brun123

LeoxtibiaL
18 de setembro de 2012 às 15:26

Se for assim, tá beleza kk. Mas dá no mesmo =P

2 semanas depois...
7585947
26 de setembro de 2012 às 18:09

ok,vou testar.Obrigado a todos que tão me ajudando ai :)