Postado Setembro 13, 2014 10 anos Olá galera, tenho um problema com um script gringo. Então a Função do Script é Ficar Mudando o Addon e sua cor Continuamente. O único problema do script até agora é a hora que o player desloga. Como o Script continua funcionando mesmo com o player off, o script começa a dar vários erros e isso da um baita lag no server. Enfim, pensei em fazer do script um movement, e assim colocar um item como função para o script rodar. O item seria um Anel de ID: 7697. *(Versão do TFS 0.3.1)* Então, Este é o meu pedido: Transformar este TalkAction em Um Movement que utilize o id 7697, quando o player usar o anel, o seu addon irá mudar continuamente. O Script(Talkaction) é este: Mostrar conteúdo oculto local conf = {} -- // config // --- conf.outfitSpeed = 250 -- outfit changer speed conf.outfitMale = {128, 129, 130, 131, 132, 133, 134, 143, 144, 145, 146, 151, 152, 153, 154, 251, 268, 273, 278, 289, 325} -- all male outfits conf.outfitFemale = {136, 137, 138, 139, 140, 141, 142, 147, 148, 149, 150, 155, 156, 157, 158, 252, 269, 270, 279, 288, 324} -- all female outfits -- // end // -- local condition_infight = createConditionObject(CONDITION_INFIGHT) setConditionParam(condition_infight, CONDITION_PARAM_TICKS, -1) function outfitChanger(tab) if isPlayer(tab[1]) then if getPlayerSex(tab[1]) == PLAYERSEX_FEMALE then outs = conf.outfitFemale else outs = conf.outfitMale end local outfit = { lookType = outs[math.random(1, #outs)], lookHead = math.random(1,133), lookBody = math.random(1,133), lookLegs = math.random(1,133), lookFeet = math.random(1,133), lookTypeEx = math.random(1,133), lookAddons = math.random(0,3)} doCreatureChangeOutfit(tab[1], outfit) tab[2].outfitChanger = addEvent(outfitChanger,conf.outfitSpeed, tab) end end backOutfit = {} local backOutfit = {} local storage = 38417 function onSay(cid, words, param, channel) local pidCheck = getPlayerStorageValue(cid, storage) if(param == "") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.") return TRUE end local pid = getPlayerGUID(cid) if type(events[pid]) ~= "table" then events[pid] = {} end if (param == "start") then if (pidCheck == -1) then if (isPlayer(cid)) then end outBack = getCreatureOutfit(cid) backOutfit[pid] = outBack backOutfit[pid].lookType = outBack.lookType backOutfit[pid].lookAddons = outBack.lookAddons doPlayerSendCancel(cid, "Ai Que Loucuuura ") outfitChanger({cid, events[pid]}) doAddCondition(cid, condition_infight) doCreatureSetNoMove(cid, true) setPlayerStorageValue(cid, storage, 1) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você está com o DANCE ligado, digite !dance stop.") end elseif (param == "stop") then stopEvent(events[pid].outfitChanger) stopEvent(events[pid].messager) events[pid] = {} doCreatureChangeOutfit(cid, backOutfit[pid]) doRemoveCondition(cid, CONDITION_INFIGHT) doCreatureSetNoMove(cid, false) setPlayerStorageValue(cid, storage, -1) doPlayerSendCancel(cid, "Ai Que Loucuuura ") end return TRUE end O Erro que dá é este: Mostrar conteúdo oculto [02/08/2014 19:16:23] Lua Script Error: [TalkAction Interface] [02/08/2014 19:16:23] in a timer event called from: [02/08/2014 19:16:23] data/talkactions/scripts/dancing test.lua:onSay [02/08/2014 19:16:24] luaDoCreatureChangeOutfit(). Creature not found [02/08/2014 19:16:24] Lua Script Error: [TalkAction Interface] [02/08/2014 19:16:24] in a timer event called from: [02/08/2014 19:16:24] data/talkactions/scripts/dancing test.lua:onSay [02/08/2014 19:16:24] luaDoCreatureChangeOutfit(). Creature not found Dês de já, Agradeço. Darei Rep+ Para quem ajudar, mesmo que não funcione. Grato Editado Setembro 13, 2014 10 anos por eviltox (veja o histórico de edições)
Postado Setembro 13, 2014 10 anos Cara, creio que já mexi neste scripts, e por adicionar a condition_infight, players normais não podem logar. Acho que eu mesmo já arrumei este script para você antes. A não seu que esteja testando com GM, GOD ou na account dos mesmos, players não poderão logar com esta condition. Temos até outras soluções, mas creio que o script esteja correto. Gosta do meu trabalho? Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs. Atenciosamente,Adriano Swatt' Para ver meus tutoriais acesse meu perfil.
Postado Setembro 13, 2014 10 anos Autor Então eu lembro disso, o problema é que quando o player morre o script volta a dar os erros. Também tem o kick após 15 minutos parado. Enfim, eu criei o tópico para ver se alguém poderia criar um movement com a mesma função do script que está em talkaction.
Postado Setembro 13, 2014 10 anos Em 13/09/2014 em 18:07, eviltox disse: Então eu lembro disso, o problema é que quando o player morre o script volta a dar os erros. Também tem o kick após 15 minutos parado. Enfim, eu criei o tópico para ver se alguém poderia criar um movement com a mesma função do script que está em talkaction. Bem, cara, modifiquei seu script, só que continua em talkaction, mas, não dará mais este erro(creio eu). Mostrar conteúdo oculto local conf = {}-- // config // ---conf.outfitSpeed = 250 -- outfit changer speedconf.outfitMale = {128, 129, 130, 131, 132, 133, 134, 143, 144, 145, 146, 151, 152, 153, 154, 251, 268, 273, 278, 289, 325} -- all male outfitsconf.outfitFemale = {136, 137, 138, 139, 140, 141, 142, 147, 148, 149, 150, 155, 156, 157, 158, 252, 269, 270, 279, 288, 324} -- all female outfits-- // end // --local condition_infight = createConditionObject(CONDITION_INFIGHT)setConditionParam(condition_infight, CONDITION_PARAM_TICKS, -1)function outfitChanger(tab)if isPlayer(tab[1]) thenif getPlayerSex(tab[1]) == PLAYERSEX_FEMALE thenouts = conf.outfitFemaleelseouts = conf.outfitMaleendlocal outfit = {lookType = outs[math.random(1, #outs)],lookHead = math.random(1,133),lookBody = math.random(1,133),lookLegs = math.random(1,133),lookFeet = math.random(1,133),lookTypeEx = math.random(1,133),lookAddons = math.random(0,3)}doCreatureChangeOutfit(tab[1], outfit)tab[2].outfitChanger = addEvent(outfitChanger,conf.outfitSpeed, tab)endendbackOutfit = {}local backOutfit = {}local storage = 38417function onSay(cid, words, param, channel)if isCreature(cid) thenlocal pidCheck = getPlayerStorageValue(cid, storage)if(param == "") thendoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.")return TRUEendlocal pid = getPlayerGUID(cid)if type(events[pid]) ~= "table" thenevents[pid] = {}endif (param == "start") thenif (pidCheck == -1) thenif (isPlayer(cid)) thenendoutBack = getCreatureOutfit(cid)backOutfit[pid] = outBackbackOutfit[pid].lookType = outBack.lookTypebackOutfit[pid].lookAddons = outBack.lookAddonsdoPlayerSendCancel(cid, "Ai Que Loucuuura ")outfitChanger({cid, events[pid]})doAddCondition(cid, condition_infight)doCreatureSetNoMove(cid, true)setPlayerStorageValue(cid, storage, 1)elsedoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você está com o DANCE ligado, digite !dance stop.")endelseif (param == "stop") thenstopEvent(events[pid].outfitChanger)stopEvent(events[pid].messager)events[pid] = {}doCreatureChangeOutfit(cid, backOutfit[pid])doRemoveCondition(cid, CONDITION_INFIGHT)doCreatureSetNoMove(cid, false)setPlayerStorageValue(cid, storage, -1)doPlayerSendCancel(cid, "Ai Que Loucuuura ")endelsereturn trueendreturn TRUEend Testa ai. Editado Setembro 13, 2014 10 anos por Snowsz (veja o histórico de edições) _ .-'` `} _./) / } .'o \ | } '.___.'`.\ {` /`\_/ , `. } ME DA UMA NOZ! \=' .-' _`\ { `'`;/ `, } _\ @ ; } /__`;-...'--' Cluck!
Postado Setembro 13, 2014 10 anos Em 13/09/2014 em 18:07, eviltox disse: Então eu lembro disso, o problema é que quando o player morre o script volta a dar os erros. Também tem o kick após 15 minutos parado. Enfim, eu criei o tópico para ver se alguém poderia criar um movement com a mesma função do script que está em talkaction. Ah sim, agora entendi. Vou fazer algumas modificações pra você. Gosta do meu trabalho? Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs. Atenciosamente,Adriano Swatt' Para ver meus tutoriais acesse meu perfil.
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.