lukervis 0 Postado Março 15, 2012 Share Postado Março 15, 2012 (editado) Opa, estou com uma pequena dúvida a respeito de um effect function onThink(cid, interval) if getPlayerLevel(cid) >= 400 then local position = getPlayerPosition(cid) local time = 1 local effectPositions = { {x = pos.x, y = pos.y - 1, z = pos.z}, {x = pos.x, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y, z = pos.z}, {x = pos.x + 1, y = pos.y, z = pos.z}, {x = pos.x - 1, y = pos.y - 1, z = pos.z}, {x = pos.x + 1, y = pos.y - 1, z = pos.z}, {x = pos.x + 1, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y + 1, z = pos.z} } for i = 1, 6 do doSendMagicEffect(effectPositions[math.random(#effectPositions)](4)) doSendMagicEffect(effectPositions[math.random(#effectPositions)](34)) month = addEvent(SayText, time * 1000 / 2, cid) end end return true end O script basicamente seria esse, só que aqui no distro, teve vários atritos, gostaria que alguém arrumasse para mim, antes que perguntem, o effect 4 e o 34 sairiam no mesmo position, se não entender como o script funciona, me pergunte .. Desde já, agradecido .. Editado Março 15, 2012 por luakao Link para o comentário https://xtibia.com/forum/topic/182576-effect-posx-posy-mathrandom/ Compartilhar em outros sites More sharing options...
0 Vinc 101 Postado Março 15, 2012 Share Postado Março 15, 2012 tenta assim function onThink(cid, interval) if getPlayerLevel(cid) >= 400 then local pos = getPlayerPosition(cid) ---aki tava position mas abixo tava pos local time = 1 local effectPositions = { {x = pos.x, y = pos.y - 1, z = pos.z}, {x = pos.x, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y, z = pos.z}, {x = pos.x + 1, y = pos.y, z = pos.z}, {x = pos.x - 1, y = pos.y - 1, z = pos.z}, {x = pos.x + 1, y = pos.y - 1, z = pos.z}, {x = pos.x + 1, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y + 1, z = pos.z} } for i = 1, 6 do doSendMagicEffect(effectPositions[math.random(#effectPositions)],4) -- separe com virgulas n com parentes doSendMagicEffect(effectPositions[math.random(#effectPositions)],34) -- mesmo de cima month = addEvent(SayText, time * 500, cid)-- n sei pra que serve isso, mas n a nessesidade de por 1000/2, e so por 500 que o resultado end end return true end Link para o comentário https://xtibia.com/forum/topic/182576-effect-posx-posy-mathrandom/#findComment-1217829 Compartilhar em outros sites More sharing options...
0 Lucaspt 0 Postado Março 15, 2012 Share Postado Março 15, 2012 lord isso vai em qual pasta ? action ,creaturescripts? Link para o comentário https://xtibia.com/forum/topic/182576-effect-posx-posy-mathrandom/#findComment-1217838 Compartilhar em outros sites More sharing options...
0 Vinc 101 Postado Março 15, 2012 Share Postado Março 15, 2012 creaturescript Link para o comentário https://xtibia.com/forum/topic/182576-effect-posx-posy-mathrandom/#findComment-1217842 Compartilhar em outros sites More sharing options...
0 Lucaspt 0 Postado Março 15, 2012 Share Postado Março 15, 2012 (editado) que tag eu adiciono no creaturescript.xml? <event type="?" name="Effectlv" event="script" value="Effectlv.lua"/> e no ? o que eu coloko Editado Março 15, 2012 por Lucaspt Link para o comentário https://xtibia.com/forum/topic/182576-effect-posx-posy-mathrandom/#findComment-1217846 Compartilhar em outros sites More sharing options...
0 Vinc 101 Postado Março 15, 2012 Share Postado Março 15, 2012 think Link para o comentário https://xtibia.com/forum/topic/182576-effect-posx-posy-mathrandom/#findComment-1217867 Compartilhar em outros sites More sharing options...
0 lukervis 0 Postado Março 15, 2012 Autor Share Postado Março 15, 2012 (editado) Então, eu coloquei essa aura lord, só que é o seguinte, ela sai vários efeitos em vários sqm, eu gostaria de que saísse 1 combinação no mesmo sqm do effect 4 e 34, e onde a combinação sairia, seria um math.random das posições disponíveis estilo isso doSendMagicEffect({x=x,y=y,z=pos.z}, 4) doSendMagicEffect({x=x,y=y,z=pos.z}, 34) mas só que em math.random das positions que eu esta no script, Editado Março 15, 2012 por luakao Link para o comentário https://xtibia.com/forum/topic/182576-effect-posx-posy-mathrandom/#findComment-1217871 Compartilhar em outros sites More sharing options...
0 Vinc 101 Postado Março 15, 2012 Share Postado Março 15, 2012 function onThink(cid, interval) if getPlayerLevel(cid) >= 400 then local pos = getPlayerPosition(cid) local time = 1 local effectPositions = { {x = pos.x, y = pos.y - 1, z = pos.z}, {x = pos.x, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y, z = pos.z}, {x = pos.x + 1, y = pos.y, z = pos.z}, {x = pos.x - 1, y = pos.y - 1, z = pos.z}, {x = pos.x + 1, y = pos.y - 1, z = pos.z}, {x = pos.x + 1, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y + 1, z = pos.z} } k = math.random(#effectPositions) doSendMagicEffect(effectPositions[k],4) doSendMagicEffect(effectPositions[k],34) month = addEvent(SayText, time * 500, cid) end return true end n da pra comtrola o intervalo,entre um e outro Link para o comentário https://xtibia.com/forum/topic/182576-effect-posx-posy-mathrandom/#findComment-1217900 Compartilhar em outros sites More sharing options...
0 lukervis 0 Postado Março 15, 2012 Autor Share Postado Março 15, 2012 function onThink(cid, interval) if getPlayerLevel(cid) >= 400 then local pos = getPlayerPosition(cid) local time = 1 local effectPositions = { {x = pos.x, y = pos.y - 1, z = pos.z}, {x = pos.x, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y, z = pos.z}, {x = pos.x + 1, y = pos.y, z = pos.z}, {x = pos.x - 1, y = pos.y - 1, z = pos.z}, {x = pos.x + 1, y = pos.y - 1, z = pos.z}, {x = pos.x + 1, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y + 1, z = pos.z} } k = math.random(#effectPositions) doSendMagicEffect(effectPositions[k],4) doSendMagicEffect(effectPositions[k],34) month = addEvent(SayText, time * 500, cid) end return true end n da pra comtrola o intervalo,entre um e outro Acho que tem como, o local time que eu adicione é o multiplicador do tempo, por exemplo 1*2000, é só colocar um addevent, tem como ? *-* Link para o comentário https://xtibia.com/forum/topic/182576-effect-posx-posy-mathrandom/#findComment-1217902 Compartilhar em outros sites More sharing options...
0 Vinc 101 Postado Março 15, 2012 Share Postado Março 15, 2012 o onthink vai executa sempara de qualquer geito Link para o comentário https://xtibia.com/forum/topic/182576-effect-posx-posy-mathrandom/#findComment-1217904 Compartilhar em outros sites More sharing options...
0 lukervis 0 Postado Março 15, 2012 Autor Share Postado Março 15, 2012 (editado) Tranquilo, já esta ótimo já, valeu... para variar, REP+ rs EDIT@: rep+ fail, limite de hoje excedido ... amanhã eu te dou u-u uma pergunta, teria como colocar o effect system em talkaction? criar 2 setting, igual ao !afk on/off !aura on/off Editado Março 15, 2012 por luakao Link para o comentário https://xtibia.com/forum/topic/182576-effect-posx-posy-mathrandom/#findComment-1217909 Compartilhar em outros sites More sharing options...
0 Vinc 101 Postado Março 15, 2012 Share Postado Março 15, 2012 sim dai dava pra fase so com talkaction se usa o onthink,passa o afk dai eu fasso emcima fica mais facil Link para o comentário https://xtibia.com/forum/topic/182576-effect-posx-posy-mathrandom/#findComment-1217917 Compartilhar em outros sites More sharing options...
0 lukervis 0 Postado Março 15, 2012 Autor Share Postado Março 15, 2012 (editado) Script AFK: --[[ Talking Tp/signs/tiles for TFS 0.2+ 70%shawak,30%Damadgerz Idea by Damadgerz ]]-- local time = 5 -- 1 = 1 sec, 2 = 2 sec, ... local say_events = {} local function SayText(cid) if isPlayer(cid) == TRUE then if say_events[getPlayerGUID(cid)] ~= nil then if isPlayer(cid) == TRUE then doSendAnimatedText(getPlayerPosition(cid),"Ausente!", math.random(01,255)) end say_events[getPlayerGUID(cid)] = addEvent(SayText, time * 1000 / 2, cid) end end return TRUE end function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.") return true end if param == "on" then if isPlayer(cid) == TRUE then doSendAnimatedText(getPlayerPosition(cid),"Ausente!", math.random(01,255)) end say_events[getPlayerGUID(cid)] = addEvent(SayText, time * 1000, cid) doPlayerSendTextMessage(cid,MESSAGE_STATUS_WARNING,"You Now Stated you are (afk).") elseif param == "off" then stopEvent(say_events[getPlayerGUID(cid)]) say_events[getPlayerGUID(cid)] = nil doPlayerSendTextMessage(cid,MESSAGE_STATUS_WARNING,"You Now stated your are not (afk).") end return TRUE end Ao invés de ser if getplayerlevel, poderia colocar um if getplayervocation? Editado Março 16, 2012 por luakao Link para o comentário https://xtibia.com/forum/topic/182576-effect-posx-posy-mathrandom/#findComment-1217921 Compartilhar em outros sites More sharing options...
0 Vinc 101 Postado Março 16, 2012 Share Postado Março 16, 2012 (editado) ve se assim da ocal time = 5 -- 1 = 1 sec, 2 = 2 sec, ... local say_events = {} local function SayText1(cid) if isPlayer(cid) == TRUE then if say_events[getPlayerGUID(cid)] ~= nil then local pos = getPlayerPosition(cid) local effectPositions = { {x = pos.x, y = pos.y - 1, z = pos.z}, {x = pos.x, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y, z = pos.z}, {x = pos.x + 1, y = pos.y, z = pos.z}, {x = pos.x - 1, y = pos.y - 1, z = pos.z}, {x = pos.x + 1, y = pos.y - 1, z = pos.z}, {x = pos.x + 1, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y + 1, z = pos.z} } k = math.random(#effectPositions) doSendMagicEffect(effectPositions[k],4) doSendMagicEffect(effectPositions[k],34) say_events[getPlayerGUID(cid)] = addEvent(SayText1, time * 1000 / 2, cid) end end return TRUE end function onSay(cid, words, param, channel) if getPlayerVocation(cid) == (id da voc) then ------aki configura a voc if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.") return true end if param == "on" then if isPlayer(cid) == TRUE then local pos = getPlayerPosition(cid) local effectPositions = { {x = pos.x, y = pos.y - 1, z = pos.z}, {x = pos.x, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y, z = pos.z}, {x = pos.x + 1, y = pos.y, z = pos.z}, {x = pos.x - 1, y = pos.y - 1, z = pos.z}, {x = pos.x + 1, y = pos.y - 1, z = pos.z}, {x = pos.x + 1, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y + 1, z = pos.z} } k = math.random(#effectPositions) doSendMagicEffect(effectPositions[k],4) doSendMagicEffect(effectPositions[k],34) end say_events[getPlayerGUID(cid)] = addEvent(SayText1, time * 1000, cid) doPlayerSendTextMessage(cid,MESSAGE_STATUS_WARNING,"aura was been actived.") elseif param == "off" then stopEvent(say_events[getPlayerGUID(cid)]) say_events[getPlayerGUID(cid)] = nil doPlayerSendTextMessage(cid,MESSAGE_STATUS_WARNING,"aura was been desactived.") end return TRUE end end Editado Março 16, 2012 por lordbug99 Link para o comentário https://xtibia.com/forum/topic/182576-effect-posx-posy-mathrandom/#findComment-1217963 Compartilhar em outros sites More sharing options...
0 lukervis 0 Postado Março 16, 2012 Autor Share Postado Março 16, 2012 (editado) PERFEITO! teria como você fazer essa aura somente para tal ID vocation ? Editado Março 16, 2012 por luakao Link para o comentário https://xtibia.com/forum/topic/182576-effect-posx-posy-mathrandom/#findComment-1217970 Compartilhar em outros sites More sharing options...
0 Vinc 101 Postado Março 16, 2012 Share Postado Março 16, 2012 ae esqueci disso ja corrigijo la espera um pouco que a net ta lerda Link para o comentário https://xtibia.com/forum/topic/182576-effect-posx-posy-mathrandom/#findComment-1217992 Compartilhar em outros sites More sharing options...
Pergunta
lukervis 0
Opa, estou com uma pequena dúvida a respeito de um effect
function onThink(cid, interval)
if getPlayerLevel(cid) >= 400 then
local position = getPlayerPosition(cid)
local time = 1
local effectPositions = {
{x = pos.x, y = pos.y - 1, z = pos.z},
{x = pos.x, y = pos.y + 1, z = pos.z},
{x = pos.x - 1, y = pos.y, z = pos.z},
{x = pos.x + 1, y = pos.y, z = pos.z},
{x = pos.x - 1, y = pos.y - 1, z = pos.z},
{x = pos.x + 1, y = pos.y - 1, z = pos.z},
{x = pos.x + 1, y = pos.y + 1, z = pos.z},
{x = pos.x - 1, y = pos.y + 1, z = pos.z}
}
for i = 1, 6 do
doSendMagicEffect(effectPositions[math.random(#effectPositions)](4))
doSendMagicEffect(effectPositions[math.random(#effectPositions)](34))
month = addEvent(SayText, time * 1000 / 2, cid)
end
end
return true
end
O script basicamente seria esse, só que aqui no distro, teve vários atritos, gostaria que alguém arrumasse para mim, antes que perguntem, o effect 4 e o 34 sairiam no mesmo position, se não entender como o script funciona, me pergunte ..
Desde já, agradecido ..
Editado por luakaoLink para o comentário
https://xtibia.com/forum/topic/182576-effect-posx-posy-mathrandom/Compartilhar em outros sites
20 respostass a esta questão
Posts Recomendados