WE
script

Help Pokemon andando na agua

Por wevertonvrb, 25 de mar. de 2016 em Scripts

poke andando na agua
andando onde não deve
19
4.3k
wevertonvrbW
28 de março de 2016 às 11:42

então gente eu adicionei novas aguas com opção transparence no meu serve e adicionei elas no surf aparentemente tudo certo surf funcionando, mas por algum motivo o pokémon esta andando na agua, o player não consegue andar na agua ate aee ok
mas o pokémon anda, como arrumo isso? acredito q não seja no surf nem no item editor nem no client pois as opções selecionadas estão idênticas as das aguas sem o transparece talvez seja algum movement que tenha q adicionar as novas aguas

olhem como ficou o poke sobre a agua http://prntscr.com/ak0vqf
o surf esta ok http://prntscr.com/ak0waq


pff me ajudem


up


up


up


up

 

Editado Março 25 por wevertonvrb

PoccnnP
29 de março de 2016 às 10:31

Por que você não ler alguns tutoriais sobre sprites para ver se tem algo errado no que você fez ou a forma como foi adicionado no sistema.

 

Eu já te avisei, para de jogar poketibia!

wevertonvrbW
29 de março de 2016 às 19:18

rsrs nossa voce me ama mesmo, veio atras de mim aqui? rsrsrs mas eu como ja tinha te dito ja arrumei era em movements

wevertonvrbW
01 de abril de 2016 às 16:31

Por que você não ler alguns tutoriais sobre sprites para ver se tem algo errado no que você fez ou a forma como foi adicionado no sistema.

 

Eu já te avisei, para de jogar poketibia!

 

vamos la este esta 100% porem se o serve for fechado a contagem para, unico erro é essa questão do serve fexar e parar a contagem

 

local obj = {}

function onUse(cid,item,pos)

local agora,tempo = os.time(),10

if not(obj[item.actionid])then

obj[item.actionid] = agora+tempo

doSendMagicEffect(pos, CONST_ME_MAGIC_BLUE)

elseif(obj[item.actionid] <= agora)then

doTransformItem(item.uid,15143)

doSendMagicEffect(pos, CONST_ME_MAGIC_RED)

obj[item.actionid] = nil

else

doPlayerSendCancel(cid, "O item sera transformado as: "..(os.date("%H:%M:%S", obj[item.actionid] or 0))..".")

end

return true

end

 

 

agora este continua a contagem porem a contagem vai para todos os jogadores e apenas 1 dos jogadores pode transformar o item

 

function onUse(cid,item,pos)

local agora,tempo,get = os.time(),10,getGlobalStorageValue (item.actionid)

if not(get > 0)then

setGlobalStorageValue (item.actionid, agora+tempo)

doSendMagicEffect(pos, CONST_ME_MAGIC_BLUE)

elseif(get <= agora)then

doTransformItem(item.uid,15143)

doSendMagicEffect(pos, CONST_ME_MAGIC_RED)

setGlobalStorageValue (item.actionid,-1)

else

doPlayerSendCancel(cid, "O item sera transformado as: "..(os.date("%H:%M:%S", get > 0 and get or 0))..".")

end

return true

end

 

então n entendi essa parte

 

Use tabelas {}

Citar

local itens = { [item1]= itemid, [item2] = itemid2, etccc.....}

 

 

Não retire as storages.

PoccnnP
02 de abril de 2016 às 09:34

Disseste tu que, criaste um arquivo para cada item, mas não se faz necessário isso.

Adiciona ao código uma tabela com os ids e ela vai fazer referência a eles através da variável item da função onuse.

 

local tab = {

--[id do item] = valor associado a esse id

[2160] = 10,

[2152] = function () sendtext ("textual") end,

[9272] = "em promoção!"

}

 

function onUse (cid, item)

if (tab[item]) then return tab[item] end

return true

end

 

 

 

Colocaste tu aid diferente para cada item?

wevertonvrbW
02 de abril de 2016 às 20:52

Disseste tu que, criaste um arquivo para cada item, mas não se faz necessário isso.

Adiciona ao código uma tabela com os ids e ela vai fazer referência a eles através da variável item da função onuse.

 

local tab = {

--[id do item] = valor associado a esse id

[2160] = 10,

[2152] = function () sendtext ("textual") end,

[9272] = "em promoção!"

}

 

function onUse (cid, item)

if (tab[item]) then return tab[item] end

return true

end

 

 

 

Colocaste tu aid diferente para cada item?

 

continuo sem entender esta tabela, não estou conseguindo entender onde no script coloco ela e onde configuro cada item

são inumeros itens com Ids diferentes

isso de promoção,

 

 

o actions.xml esta assim

 

http://prntscr.com/anetwa

 

e o script é aquele acima

 

como você pode ver os ids são o seguinte

os números pares se transforma nos números ímpares que não estão no xml

 

Editado Abril 2 por wevertonvrb

PoccnnP
04 de abril de 2016 às 09:36

Se todos os ids dos quais cada item é transformado for +1, entao muda isso:

 

doTransformItem(item.uid,15143)

 

Para isso:

 

doTransformItem(item.uid,item.itemid+1)

 

Assim todos os itens independente do id dele será transformado sem precisar criar um script pra cada.

 

Depois que tu fizer essa modificação, testa e me diz o que deu errado.

Editado Abril 4 por Poccnn

wevertonvrbW
04 de abril de 2016 às 20:58

Se todos os ids dos quais cada item é transformado for +1, entao muda isso:

 

doTransformItem(item.uid,15143)

 

Para isso:

 

doTransformItem(item.uid,item.itemid+1)

 

Assim todos os itens independente do id dele será transformado sem precisar criar um script pra cada.

 

Depois que tu fizer essa modificação, testa e me diz o que deu errado.

 

você não esta entendendo o erro

oque ta acontecendo é que se eu usar qualquer um dos itens a globall storage é ativada para todos os jogadores online ou offline

 

é como se todos os jogadores estivessem usado todos os itens ao mesmo tempo que eu, a contagem do tempo esta indo pra todos os jogadores

e quando a contagem termina qualquer jogador pode transformar o item 1, 2, 3 e etc....

 

 

 

 

wevertonvrbW
08 de abril de 2016 às 12:28
Em 04/04/2016 at 09:36, Poccnn disse:

Se todos os ids dos quais cada item é transformado for +1, entao muda isso:

 

doTransformItem(item.uid,15143)

 

Para isso:

 

doTransformItem(item.uid,item.itemid+1)

 

Assim todos os itens independente do id dele será transformado sem precisar criar um script pra cada.

 

Depois que tu fizer essa modificação, testa e me diz o que deu errado.

ta assim o script

 

script

  Ocultar conteúdo

function  onUse(cid,item,pos)

local agora,tempo,get = os.time(),20,getGlobalStorageValue (item.actionid)

if not(get > 0)then  

setGlobalStorageValue (item.actionid, agora+tempo)

doSendMagicEffect(pos, CONST_ME_MAGIC_BLUE)

elseif(get <= agora)then

doTransformItem(item.uid,item.itemid+1)

doSendMagicEffect(pos, CONST_ME_MAGIC_RED)

setGlobalStorageValue (item.actionid,-1)

else

doPlayerSendCancel(cid,  "Este item vai demorar 2 dias para ficar pronto "..(os.date("%D:%H:%M:%S", get > 0 and get or 0)).." apos passar os 2 dias podera transforma-lo .")

end

return  true

end  

 

e esta é a tag

<action itemid="15142;15144;15146;15148;15150;15152;15154;15156;15158;15160;15162;15164;15166;15168;15170" event="script" value="estatuas/estatuas.lua"/>

PoccnnP
08 de abril de 2016 às 14:10

Certo.

Adicionou aid diferente para cada item desse?

3 meses depois...
wevertonvrbW
15 de julho de 2016 às 19:50
Em 08/04/2016 at 14:10, Poccnn disse:

Certo.

Adicionou aid diferente para cada item desse?

resolvi

 

Editado Julho 17 por wevertonvrb

PoccnnP
16 de julho de 2016 às 08:18

Você tem que saber se a função removeitem retornar um boolean ou o valor dos items removidos, ai sim você vai poder saber se foram removidos os items.

DenuvoD
16 de julho de 2016 às 11:46

o tile da água está configurado no moviments.xml? mostra algum erro no distro quando o poke anda na água?

wevertonvrbW
16 de julho de 2016 às 19:30
17 horas atrás, Poccnn disse:

Você tem que saber se a função removeitem retornar um boolean ou o valor dos items removidos, ai sim você vai poder saber se foram removidos os items.

amor fiquei o dia todo mexendo e consegui resolver agora 1:30 da manhã rsrsrs isso que da n saber mt de script

Editado Julho 17 por wevertonvrb

PoccnnP
17 de julho de 2016 às 07:36

Vai ler algums tutoriais sobre scripting.