Postado Julho 28, 2015 10 anos Olá sou novo na area de script nunca mexi com arquivos .lua ou esses tipos de arquivos. eu notei que em varios scripts de npcs do forum tem a funçao Citar TalkState[TalkUser] = 1 ... end TalkState[TalkUser] = 1 then ... TalkState[TalkUser] = 2 ... end Alguem poderia me dizer a função? :s(Procurei em todos os cantos mais n consegui achar) Obrigado Procuro alguem para me ensinar Script DragonOt (8.6/200x Rate/25x Skill/10x Magic/New Vocations/New Spells/Mapa Edited[RPG]/New Monsters and Quests) -- Em Andamento Contatos: Skype-- giovani.fogarolli LoLzin-- Maxzer0 Mapping -- Aprendendo Scripter -- Aprendendo ~~Maxzer0~~
Postado Julho 28, 2015 10 anos Solução O TalkState é para localizar o cid na conversa. Exemplo: Cid = 375727583 (número aleatório de um player qualquer) Ele armazena na tabela TalkState o cid, para identificar em que assunto o cid está, através de umas funções. Se eu não me engano, existe uma coisa assim TalkUser = cid. -- logo você pode usar cid direto como o índice do TalkState. Nesse caso a tabela fica se mudando de acordo com o que o player fala para o NPC. TalkState = { 1 = [375727583] } -- ao falar hi TalkState = { 2 = [375727583] } -- ao falar travel, o elemento do talkstate fica como 2, no índice com número do cid Isso é o que determina uma fala como "yes" ser diferente da mesma fala "yes" do player, o npc executa o "yes" de acordo com o TalkState, que deve ser configurado de acordo com a lógica que o npc foi programado para fazer. Exemplo: Npc disse: Quer 100 golds, yes or no? Npc disse: Essa rope é 100 golds, yes or no? Esse npc pode ser o mesmo, porém o caminho que o player precisa usar tem que ser diferente para não quebrar a lógica. Eu estou escrevendo pelo celular, espero que esteja claro. Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado). Tópicos: Mostrar conteúdo oculto [FAQ] BBCODE [LIB] Constant [RME] Administrando bordas. [TALK] Broadcast Editável. [TALK] Sugest. [TALK] Checkpoint. [MOVE] Pântano pegajoso. [ACTION] Piggy Bank. (Cassino). [GLOBAL] Uptime Ad. [C0DE] Consertando 'Invalid Password' [PROGRAM] Quest Maker
Postado Julho 28, 2015 10 anos Não é uma função.. no começo do script vc declarou isso daqui: local talkState = {} Nisso vc criou um vetor/array/tabela de N elementos não definidos, ou seja, uma tabela vazia. provavelmente vc tb terá essa linha declarada no seu script: local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid Nela nós verificamos se o NPCHANDLER_CONVbehavior é igual a CONVERSATION_DEFAULT, ou seja, se a "pessoa" que o NPC está conversando é a "pessoa" padrão, em outras palavras, verifica se o npc não está falando com ninguém. Os valores serem iguais implica que ele não está falando com ngm, logo a variavel talkUser apresenta valor 0, do contrário ele apresenta o valor do uid do jogador que está falando (o cid). Quando fazemos um TalkState[talkUser] estamos na verdade apontando pra um local da memória desse vetor e dizendo seu valor, pra poder controlar em que ponto da conversa com o player o npc está. Fica meio complicado te explicar isso tudo sem vc ter uma base computacional, mas vou me esforçar: Imagina que seu pc tem diversos 0's na memória. 00000000000000000000000000000000000000000000000000000000000 Daí você extrai o cid de um player e ele vai retornar o uid do player, que é um numero um tanto quanto grande. Pra efeitos de exemplo eu vou supor que o uid é um numero entre 0 a 20. Digamos então que meu cid pro exemplo seja 14, logo eu estou dizendo que a partir de agora o talkUser é 14. Ao fazer TalkState[14] eu estou modificando essa parte da memória (os zeros) e editando o décimo quarto 0 dela pra um novo valor. TalkState[14] = 3 e nossa memória se torna isso: 00000000000000300000000000000000000000000000000000000000000 E aí podemos verificar em qualquer parte do script do npc em que ponto da conversa estamos com base nisso e dar respostas diferentes pra cada texto que o player diz. Isso pode soar bem estúpido mas se torna muito útil quando temos diversas opções com yes/no. Quando o NPC captar o yes/no, oque ele vai responder? Não dá pra ter uma resposta padrão pra todas as opções que incluem o yes/no então nós usamos o TalkState pra haver essa diferenciação. Espero ter ajudado Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
Postado Julho 28, 2015 10 anos Autor Vlwz deu pra entender ( os 2 ajudaram <3) REP+ Procuro alguem para me ensinar Script DragonOt (8.6/200x Rate/25x Skill/10x Magic/New Vocations/New Spells/Mapa Edited[RPG]/New Monsters and Quests) -- Em Andamento Contatos: Skype-- giovani.fogarolli LoLzin-- Maxzer0 Mapping -- Aprendendo Scripter -- Aprendendo ~~Maxzer0~~
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.