SkyDangerous 395 Postado Outubro 19, 2010 Share Postado Outubro 19, 2010 (editado) Bom , eu resolvi a fazer script .. antes eu só sabia editar ela .. 1º Coisa só queria saber se existe programa pra ficar mais facil? Agora vamos o que interessa. Minha dificuldade em fazer os script é assim. Eu não tenho noção de onde devo colocar os script , pq se colocar em lugar errado parece que ele dá erros. function onSay(cid, words, param) ^ Bom , em ingles significa mais ou menos , função quando falar .. isso é obrigatório no começo de toda as talkaction né? 2º if(words == "!vipdays") then ^ Aqui significa ^ se as palavras for igual a !vipdays então .. ou seja se ele falar !vipdays irá funcionar o talkaction certo? é assim mais ou menos que eu sei .. Eu queria saber sobre as variaves , por exemplo os comandos que eu devo adicionar para tal efeito. Como Exemplo: local price = 1000000 local days = 2 if doPlayerRemoveMoney(cid, price) then addVipDays(cid, days) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você adicionou "..days.." dia(s) de vip, agora você possui "..getVipDays(cid).." dia(s) de vip.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa de "..price.." para adicionar "..days.." dia(s) de vip.") end local price = 1000000 local days = 2 if doPlayerRemoveMoney(cid, price) then addVipDays(cid, days) ^ Pq uso isso ? Plxx alguem sabe um tutorial com todos os comandos e pra que serve , pra eu aprender a montar .. eu iria agradecer de mais .. e se tiver programa mais ainda. Qual diferença de get , do .. essas coisinhas. E return TRUE end ^ Toda hora que acabar uma parte de um script e passar para outro deve colocar no final ? Vlw ! Editado Outubro 19, 2010 por SkyDangerous Link para o comentário https://xtibia.com/forum/topic/143275-duvida-criar-script-talkaction/ Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Outubro 19, 2010 Share Postado Outubro 19, 2010 Primeiramente se você quiser criar uma talkactions tem que usa a função function onSay(cid, words, param) como você mesmo disse,esse script só será executado quando o jogador falar algo. --- porque usar if(words == "!vipdays") then ? Na verdade só usamos essa funções para colocar mais de um Comando no mesmo arquivo.lua if(words == "test1") then script .... elseif(words == "test2") then script ... end a partir que vc usa if words ou elseif words os scripts não poderão conctar entre si... exemplo: if(words == "test1") then local storage = 1234 if getPlayerStorageValue(cid, storage) >= 1 doPlayerAddItem(cid,2123,1) end -- fecha if getPlayerStorageValue(cid, storage) >= 1 no test1 elseif(words == "test2") then if getPlayerStorageValue(cid, storage) >= 1 doPlayerAddItem(cid,2124,1) end -- fecha if getPlayerStorageValue(cid, storage) >= 1 no test2 end -- fecha o if do test1 then o test2 não vai funcionar nesse caso.., porque? porque a variavel storage não foi declarada como no test1... ------ locais locais são tabelas para armazenar algum tipo de informação. exemplo: do seu local price = 1000000 local days = 2 if doPlayerRemoveMoney(cid, price) then addVipDays(cid, days) end mais facil para organizar certo? pois soh mudar ali no local a informação para que ela seja executada depois tbm poderia ser assim: if doPlayerRemoveMoney(cid, 1000000) then addVipDays(cid, 2) end ---- get -- pegar informação do jogador set -- trocar alguma informação do jogador exemplo: if getPlayerStorageValue(cid, 12345) <= 0 then setPlayerStorageValue(cid, 12345,1) -- mudei a storage do player para 1 end -- return false e return true são saídas simples função retornando um valor booleano return FALSE serve para parar um evento sobre o return TRUE é para retorna Verdadeiro se essa ação ocorreu exemplo: if doPlayerRemoveMoney(cid, 1000000) == FALSE then return false -- vai parar o script end Link para o comentário https://xtibia.com/forum/topic/143275-duvida-criar-script-talkaction/#findComment-947392 Compartilhar em outros sites More sharing options...
SkyDangerous 395 Postado Outubro 19, 2010 Autor Share Postado Outubro 19, 2010 Opa é mais ou menos assim .. aonda to aprendendo. Mais .. não existe programa pra fazer ñ? Além do mais , por exemplo eu não sei os comandos que eu posso utilizar if getPlayerAccess(cid) == 5 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") Aonde eu encontro mais comandos com o if e o do ? Ai .. vo treinar aqui fazendo scripts faceis .. e pretendo melhorar. Qual eu queria um script que teleporta.. local teleporte = { ["depot"] = pos = {x=129, y=54, z=6},level = 5,price = 1000}, Só que por exemplo , pra funcionar esse script a cima , tenho que ter mais alguma coisa certo? essas coisas mais ou menos né? doPlayerSendTextMessage(cid, 22, "Descupel mais nao existe esse lugar que quer teleportar") Existe mais coisas .. Ahh , precisso mais efeitos .. de do , esses local .. get uhauha ! Link para o comentário https://xtibia.com/forum/topic/143275-duvida-criar-script-talkaction/#findComment-947394 Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Outubro 19, 2010 Share Postado Outubro 19, 2010 esse do teleport é script meu só que nesse caso é usado tabbles,mais pra frente vc vai ver isso... não entendi com oque vc quis dizer encontrar mais comandos if e do? vc quis dizer funções? :X abraços Link para o comentário https://xtibia.com/forum/topic/143275-duvida-criar-script-talkaction/#findComment-947402 Compartilhar em outros sites More sharing options...
SkyDangerous 395 Postado Outubro 19, 2010 Autor Share Postado Outubro 19, 2010 Sim , quis dizer funções. Sim o script de teleporte e seu .. aquele de vip. Então , eu também queria aprender a mecher com script + banco de dados. mais esse eu espero. Se tiver programa ficaria melhor , é quis dizer funções ;P Link para o comentário https://xtibia.com/forum/topic/143275-duvida-criar-script-talkaction/#findComment-947409 Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Outubro 19, 2010 Share Postado Outubro 19, 2010 eu não uso nenhum programa mais um que pode te ajudar é o do colex chamado: OTScript Live! alguns links para vc: todos os get,do,set: http://www.zonegames.com.br/t14301/ http://www.xtibia.com/forum/topic/130494-funcoes-tirado-da-pastinha-doc-tfs-034/ http://www.tibialife.com/forum/lista-fun-es-t185.html Link para o comentário https://xtibia.com/forum/topic/143275-duvida-criar-script-talkaction/#findComment-947415 Compartilhar em outros sites More sharing options...
SkyDangerous 395 Postado Outubro 19, 2010 Autor Share Postado Outubro 19, 2010 Vlw Rep + Agora só uma coisa uid cid QUAL DIferença? Por exemplo : getPlayerAccess(uid) essa função é pra escolher qual player poderá comprar o item se tiver o acesso né? só que como eu termino ele? Ex: doPlayerAddMana(cid,mana) faço como? doPlayerAddMana(cid,15000) <-- ai ao usar o talkaction ele irá adicionar 15k de mana? Outro Ex: doPlayerAddExp(cid,exp) doPlayerAddExp(cid,5000) ele irá ganhar 5k de exp ? Como Funciona esses : cid , uid , itemid , count , rank , nick , looktype , addons , condition , text , new_type , é Em que parte tenho que adicionar if , do ? Todas as funções serve para talkaction ? ou tem próprios? Link para o comentário https://xtibia.com/forum/topic/143275-duvida-criar-script-talkaction/#findComment-947420 Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Outubro 19, 2010 Share Postado Outubro 19, 2010 (editado) actionid: vc utiliza para criar uma ação em alguma coisa,já com um script Pronto,pode ser colocado ActionID em, mais de um item. uniquiid: eh um id que somente um unico item pode ter,também serve para criar alguma ação,você não pode adicionar mais que um UniqueID em items. sobre o getPlayerAccess(uid) if getPlayerAccess(cid) >= 3 then or getPlayerAccess(player) >= 3 then mana = 15000 exp = 5000 doPlayerAddMana(cid,mana) doPlayerAddExp(cid,exp) end "player" teriamos que identificar com um param para pegar o nome dele. cid = proprio jogador que executo a ação itemid -- determina a ação em um certo item exemplo: item.itemid == 2123 then count -- quantidade exemplo: if getPlayerItemCount(cid, 2145) >= 5 then rank -- rank acho que é acess,nao sei mto looktype, = numero da ropa do jogador addons, - addons 1,2 ou 3(full) condition, adiciona uma condição ao jogador (ex: battle) new_type, da uma nova ropa ao jogador como e quando usar o if,then e else? "if" significa "se" "then" significa "então" "else" significa "senão" "end" significa "fim" "se" Jogador_for_level_ >= 8 "então" script... "senão" mandar_msg_de_level "fim" obs: > maior que < menor que >= igual ou maior que <= igual ou menor que em lua: "if" Jogador_for_level_ >= 8 "then" script... "else" mandar_msg_de_level "end" -- fecha o if todo "if" se fecha com "end". Editado Outubro 19, 2010 por Vodkart Link para o comentário https://xtibia.com/forum/topic/143275-duvida-criar-script-talkaction/#findComment-947436 Compartilhar em outros sites More sharing options...
supraaxx 0 Postado Outubro 30, 2010 Share Postado Outubro 30, 2010 (editado) hm.... perguntinha olha esse talk ak --[[ Talking Tp/signs/tiles for TFS 0.2+ 70%shawak,30%Damadgerz Idea by Damadgerz ]]-- local time = 3 -- 1 = 1 sec, 1 = 1 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),"'. , . ',", math.random(01,255)) end say_events[getPlayerGUID(cid)] = addEvent(SayText, time * 300 / 1, 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),". ´ , ´", math.random(01,255)) end say_events[getPlayerGUID(cid)] = addEvent(SayText, time * 200, cid) doPlayerSendTextMessage(cid,MESSAGE_STATUS_WARNING,"You Now Stated you are Gema Espiritual.") 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 Gema Espiritual.") end return TRUE end esse é só para subir escritos mais por exemplo como faço para subir mais de uma palavra? Editado Outubro 30, 2010 por xXfurYXx Link para o comentário https://xtibia.com/forum/topic/143275-duvida-criar-script-talkaction/#findComment-950843 Compartilhar em outros sites More sharing options...
Posts Recomendados