Ir para conteúdo

Chicken Egg


Skymagnum

Posts Recomendados

Tipo: Movement.

Autor: Eu.

 

@Oque Faz

A pedido de um membro eu criei isso, é inútil serve só pra zua, ele cria um ovo quando a galinha anda mas nem sempre.

 

@Colocando o Script

/data/movements/scripts eggChicken.lua adicione esse conteúdo dentro:

 

function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)

local EGG, EGG_N = 2695, 1 -- ID DO OVO, QUANTIDADE
local EFF = CONST_ME_POFF

if isMonster(cid) then
  if getCreatureName(cid) == "Chicken" then
  if math.random(1, 100) > 80 then
	  doCreateItem(EGG, EGG_N, fromPosition)
		  doSendMagicEffect(fromPosition, EFF)
			 doSendAnimatedText(fromPosition, "EGG!", 215)
			  end
		  end
	   end
return true
end

 

/data/movements/movements.xmls

 

 

<movevent type="StepIn" itemid="1-12780" event="script" value="eggChicken.lua"/>

 

 

é isso aí espero que gostem.

Editado por Skymagnum
Link para o comentário
Compartilhar em outros sites

vai bugar tudo, pois vai dar double movement registered para todos os item ids

então... meio q desfuncional

Editado por 20cm
Link para o comentário
Compartilhar em outros sites

preguiça de arrumar? e como vc arrumaria? kk

o melhor jeito seria usar onMove (tem na net) q é quando um player ou monstro se move, adicionar ela no tfs

e que eu me lembre nao é só warning nao, só ela funciona e todos os outros movements com itemid param de funfar

Link para o comentário
Compartilhar em outros sites

você pode utilizar um registerCreatureEvent no monstro com onThink, dae você cria um arquivo.lua em creaturescript, no arquivo cria uma função que a cada 1 minuto, por exemplo, passe (com addEvent msm), e dps se repita, e logo no final do script la coloca o unregisterCreatureEvent para evitar ficar repetindo... dae a galinha poderia botar o ovo, sem esses erros, e sem dar lag...

 

é só abrir o chicken.xml (monstro), registrar o script, e criar um script +- assim

 

function createEgg()

if math.random(1,30) == 1 then

doCreateItem(ID_EGG,1,getCreaturePosition(cid))

end

return addEvent(createEgg,60*1000)

end

function onThink(atributos que nao me lembro)

createEgg()

unregisterCreatureEvent(cid,"egg")

end

 

 

 

(Fiz direto no xtibia, assim nao irá funcionar, mas a ideia é essa :p )

Link para o comentário
Compartilhar em outros sites

n ficaria zuado, ficaria a mesma coisa oO.. e sem lag...

e nesse caso, o monstro precisaria sim, porque senão de segundo em segundo ele executaria o script por ser onThink, então iria sim dar lag... e você precisa registra-lo no chicken.xml, pois se não nao leria o script.. n é login!

 

isso dae é tipo uma gambiarra pra função onSpawn (que pode ser instalada nas sources.. ja tem nos forums) kkk

 

o unico motivo que está o unregisterCreatureEvent ai é para ele só ler a função createEgg() uma unica vez, pois se nao ele leria 1000x e criaria sei la, uns 10 ovos por segundo toda hora kkk...

 

faz do jeito que você achar melhor, só dei minha opniao, porque talvez executar um script toda hora que a galinha der um passo possa causar lag nos servidores, visto que nao há uma unica galinha kk

 

enfim só minha opiniao, nao estou criticando, estou abrindo sua mente a ideias diferentes para um mesmo fim! kk

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...

esse script naop funciona da o seguinte erro:


[12:45:49.901] [Error - LuaInterface::loadFile] data/movements/scripts/whitheggs.lua:1: unexpected symbol near '�'
[12:45:49.901] [Error - Event::checkScript] Cannot load script (data/movements/scripts/whitheggs.lua)
[12:45:49.901] data/movements/scripts/whitheggs.lua:1: unexpected symbol near '�'

 

alguem saberia me dizer oq e?

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...