Postado Maio 20, 2014 11 anos Du, vc n colocou parametro na function effect(), tirou aquele cid de onde? E ele quer que nunca pare de enviar o efeito enquanto o player esta on, nesse seu loop só vai mandar o efeito 31 vezes. E pq vc usou variáveis i e j se elas vão ter sempre o mesmo valor até mesmo dentro do loop? Bastava usar uma só é que eu meio que confundir . usei cid pq é só uma base, não vi todo o topico, achei que ele queria por 30 segundos, ao dar use em algum item. i e j , realmente poderia usar somente 1 'rsrs bjiim gato ;* se possível, entra skype. Editado Maio 20, 2014 11 anos por Eduardo Carvalho (veja o histórico de edições) Skype : duhw.carvalho Ajude-nos a crescer, clicando em curtir
Postado Maio 20, 2014 11 anos Max agora no seu caso, não precisa por o parametro frompos quando chama a funçao pois vc retirou o parametro pos da funçao. E esse 13 tb n deveria estar ai, pq a funçao n tem nenhum parametro nunérico. O correto seria chamar a funçao assim: doSendMagicEffectRepeat(cid) S, eu tava com pressa e n li o código todo, é isso msm. -"Supra Omnes Lux Lucis" - Acima de todos brilha a Luz -
Postado Maio 21, 2014 11 anos Autor Só uma ultima dúvida... eu usei assim... function effect(cid, pos) local pos = getCreaturePosition(cid) doSendMagicEffect(pos, 35) end function onuse local i = 1 local j = 1 if nanana then while i ~= 31 do addEvent(effect, j * 1000) i = i + 1 j = j + 1 end end Mas mesmo assim não fica enviando o efeito 30 vezes(1 por segundo) Ae tentei assim (certeza que ta errado kkk) function doSendMagicEffect(cid, pos) local pos = getCreaturePosition(cid) doSendMagicEffect(pos, 35) end function onuse local i = 1 local j = 1 if nanana then while i ~= 31 do addEvent(doSendMagicEffect, j * 1000) i = i + 1 j = j + 1 end end Pq deu errado em ambos os casos? Editado Maio 21, 2014 11 anos por llucas75 (veja o histórico de edições) Scripter: |||||||||| 10% Te ajudei?? REP + e ficamos quites... Atenciosamente, Lucas. Abraços!
Postado Maio 21, 2014 11 anos function onUse(cid, item, frompos, item2, topos) function effect() if isPlayer(cid) then local pos = getCreaturePosition(cid) doSendMagicEffect(pos, 35) end end a = 1 while a ~= 31 do addEvent(effect, a * 1000) a = a + 1 end return true end Skype : duhw.carvalho Ajude-nos a crescer, clicando em curtir
Postado Maio 21, 2014 11 anos Autor Cara desculpe pela minha ignorância no assunto(sou novo em scripting) e não entendi direito onde encaixar essa função dentro do script vou te passar ele e me mostra..(só vendo um exemplo dentro de uma seção de ifs eu vou entender acho..) function onUse(cid, item, frompos, item2, topos) local pausa = 30*1*1000 -- (1000 = 1 segundos) Tempo que o script durará local texto = "Você dobrou sua Experiencia por 30 minutos" -- Texto que irá receber ao usar a potion. textofinal = "Acabou o potion de Experiencia." -- Texto que irá receber quando o efeito da potion acabar. local exp = 2 -- O quanto que você quer que dobre sua experiencia, por exemplo 2 é 2x as rates do seu server. expfinal = 1 --Não mude, isso é para a experiencia voltar ao normal. local limitedeuso = 49015 local tempo = 1*1*1000 local textofinal1 = "Você já esta sob efeito da pot de experiência espere o efeito acabar." local a = 1 local j = 1 if item.itemid == 9930 and (getPlayerStorageValue(cid, limitedeuso) - os.time() <= 0) then doRemoveItem(item.uid,1) doPlayerSetExperienceRate(cid,exp) doSendMagicEffect(frompos,13) setPlayerStorageValue(cid, limitedeuso, os.time() + 30) doPlayerSendTextMessage(cid,22,texto) addEvent(potion,pausa,cid) function effect(cid, pos) if isPlayer(cid) then local pos = getCreaturePosition(cid) doSendMagicEffect(pos, 13) end end while a ~= 1801 do addEvent(effect, a * 1000) a = a + 1 end return true end elseif item.itemid == 9930 and (getPlayerStorageValue(cid, limitedeuso) - os.time() > 0) then doPlayerSendTextMessage(cid,22,textofinal1) end while a ~= 31 do addEvent(effect, a * 1000) a = a + 1 end return true end end function potion(cid) local limitedeuso = 49012 doPlayerSetExperienceRate(cid,expfinal) doPlayerSendTextMessage(cid,22,textofinal) end Editado Maio 21, 2014 11 anos por llucas75 (veja o histórico de edições) Scripter: |||||||||| 10% Te ajudei?? REP + e ficamos quites... Atenciosamente, Lucas. Abraços!
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.