M i s s 9 Postado Setembro 30, 2018 Share Postado Setembro 30, 2018 Oin Alguem pode cria pra mim Um script que faça um "ovo pokemon" chocar (virando uma pokeball com um poke dentro) ? para o Ovo chocar o player vai precisar dar "x" passos ou ficar "x" tempo com ele na bag é possovel? Link para o comentário Compartilhar em outros sites More sharing options...
1 Pedriiin 0 Postado Outubro 6, 2018 Share Postado Outubro 6, 2018 Vamos la! OBS: Usei a base Cyan. Primeiramente abra o items.xml que se encontra em data/items/ Procure o id do item que vai ser o OVO. Você terá que fazer essa parte para cada ovo que adicionar no jogo. e adicione os seguintes atributos nele: Spoiler <item id="5080" article="a" name="Ovo Pokemon Inicial"> <attribute key="showattributes" value="1" /> <attribute key="passos" value="25"/> <attribute key="description" value="[Passos restantes para chocar: numero_de_passos]"/> </item> Em numero_de_passos coloque a quantidade de passos para chocar. Após isso vá em data/creaturescripts/ e abra o arquivo creaturescript.xml e adicione o seguinte: Spoiler <event type="move" name="MoveOvoChocar" event="script" value="chocarOvo.lua"/> Logo em seguida vá em data/creaturescript/scripts/ e abra o arquivo login.lua e procure por algo assim: Spoiler registerCreatureEvent(cid, "ShowPokedex") registerCreatureEvent(cid, "PlayerLogout") E embaixo coloque o seguinte: Spoiler registerCreatureEvent(cid, "MoveOvoChocar") Finalmente ainda em data/creaturescripts/scripts/ crie um arquivo com o nome de chocarOvo.lua e coloque o seguinte código dentro: Spoiler OVOS = { --[id do ovo] = {POKEMONS={"possivel pokemon 1", "possivel pokemon 2", ...}, PASSOS=quantidade de passos para chocar}, [5080] = {POKEMONS={"Magikarp","Caterpie","Weedle"},PASSOS=25}, [6568] = {POKEMONS={"Abra","Drowzee"},PASSOS=50}, } STORAGE_TIMER = 90001 -- chave para guardar se o timer estiver ativo. TEMPO_MENSAGEM = 10 -- intervalo que a mensagem sera mostrada na tela entre a primeira vez, exemplo: o cara anda e mostra a mensagem, daqui o tempo configurado a mensagem aparecera novamente. SOMENTE_UM_OVO = true -- se for para chocar somente um ovo de cada vez deixe: true, caso contrario deixei: false. MOSTRAR_MENSAGEM = false -- mostrar mensagem que não é possivel chocar dois ovos do mesmo tipo caso a pessoa tiver 2 ovos do mesmo tipo. MENSAGENS = { SOMENTE_UM_TIPO = "Voce so pode chocar um ovo do mesmo tipo de cada vez!", PASSOS = "[Passos restantes para chocar: %s]", CHOCOU = "O Ovo chocou e nasceu um(a) %s", } local function atributosOvo(ovo, passos) if not ovo then return end if not passos then return end doSetItemAttribute(ovo.uid, "passos", passos) doSetItemAttribute(ovo.uid, "description", string.format(MENSAGENS.PASSOS, passos)) end local function mostrarMensagem(cid, message) if getPlayerStorageValue(cid, STORAGE_TIMER) == -1 then setPlayerStorageValue(cid, STORAGE_TIMER, 1) doPlayerSendTextMessage(cid, 22, mensagem) addEvent( function(cid) setPlayerStorageValue(cid, STORAGE_TIMER, -1) end, TEMPO_MENSAGEM*1000, cid) end end local function fChocar(cid, ovo, tabela) passos = getItemAttribute(ovo.uid, "passos") if not passos or passos < 1 then atributosOvo(ovo, tabela.PASSOS) elseif passos > 1 then atributosOvo(ovo, passos-1) elseif passos == 1 then atributosOvo(ovo, -1) pokemon = tabela.POKEMONS[math.random(#tabela.POKEMONS)] addPokeToPlayer(cid, pokemon, 0, nil, btype) doPlayerSendTextMessage(cid, 22, string.format(MENSAGENS.CHOCOU, pokemon)) doRemoveItem(ovo.uid) end end function onMove(cid, fromPosition, toPosition) if not isPlayer(cid) then return true end for id, conteudo in pairs(OVOS) do quantidade = getPlayerItemCount(cid, id) if quantidade >= 1 then ovo = getPlayerItemById(cid, true, id) if quantidade == 1 then fChocar(cid, ovo, conteudo) if SOMENTE_UM_OVO then return true end else if not MOSTRAR_MENSAGEM then return true end mostrarMensagem(cid, MENSAGENS.SOMENTE_UM_TIPO) end end end return true end Faça bom uso, e qualquer dúvida só me avisar. Se gostou REP++. Link para o comentário Compartilhar em outros sites More sharing options...
0 Marshmello 271 Postado Novembro 11, 2018 Share Postado Novembro 11, 2018 O pedido neste tópico de foi atendido e/ou o autor do tópico resolveu sua duvida. Este tópico está fechado e foi movido para Pedidos - Resolvidos. Se você tiver outros pedidos, crie um novo tópico. Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
M i s s 9
Oin Alguem pode cria pra mim Um script que faça um "ovo pokemon" chocar (virando uma pokeball com um poke dentro) ? para o Ovo chocar o player vai precisar dar "x" passos ou ficar "x" tempo com ele na bag é possovel?
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados