Postado Agosto 15, 2014 10 anos Gente, queria traduzir essa script desse NPC! já tentei mudar as falas pra Português mais sempre da erro Então se puderem mudar pra mim! Agradeço. Esse é o XML: <?xml version="1.0" encoding="UTF-8"?> <npc name="Professor Robert" script="profrobert.lua" floorchange="0" speed="0"> <health now="150" max="150"/> <look type="522" head="97" body="114" legs="114" feet="0"/> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|, what city do you want to begin your jorney?"/> </parameters> </npc> Esse é o LUA: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local places = { ["saffron"] = 1, ["cerulean"] = 2, ["lavender"] = 3, ["fuchsia"] = 4, ["celadon"] = 5, ["viridian"] = 6, ["vermilion"] = 7, ["pewter"] = 8, ["cinnabar"] = 10, } if msgcontains(string.lower(msg), 'city') or msgcontains(string.lower(msg), 'citys') then if getPlayerStorageValue(cid, 9658754) == 1 then selfSay("You already choose your beginner town!", cid) return true else selfSay("You can choose your beginner town between: {Saffron, Cerulean, Lavender, Fuchsia, Celadon, Viridian, Vermilion, Pewter or Cinnabar}.", cid) return true end elseif places[string.lower(msg)] then city = string.lower(msg) selfSay("Are you sure which you want to begin in {".. doCorrectString(msg) .."}?", cid) talkState[talkUser] = 2 return true elseif msgcontains(msg, "yes") or msgcontains(msg, "Yes") and talkState[talkUser] == 2 then if getPlayerStorageValue(cid, 9658754) == 1 then selfSay("You already choose your beginner town!", cid) return true else selfSay("OK then... Now your beginner town is ".. doCorrectString(city)..". Good luck in your jorney!", cid) doPlayerSetTown(cid, places[city]) setPlayerStorageValue(cid, 9658754, 1) return true end elseif msgcontains(msg, "no") or msgcontains(msg, "No") and talkState[talkUser] == 2 then selfSay("Ok then... say again what city you want to begin!", cid) talkState[talkUser] = 0 return true end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) REP+ pra quem ajudar, VLW Atensiosamente, Gabriel L.
Postado Agosto 15, 2014 10 anos Tenta esse. Arquivo .XML <?xml version="1.0" encoding="UTF-8"?> <npc name="Professor Robert" script="profrobert.lua" floorchange="0" speed="0"> <health now="150" max="150"/> <look type="522" head="97" body="114" legs="114" feet="0"/> <parameters> <parameter key="message_greet" value="Ola |Playername|, em que cidade voce quer começar a sua viagem?"/> </parameters> </npc> Arquivo .Lua local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler)NpcSystem.parseParameters(npcHandler)local talkState = {}function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) endfunction onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) endfunction onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) endfunction onThink() npcHandler:onThink() endfunction creatureSayCallback(cid, type, msg)if(not npcHandler:isFocused(cid)) thenreturn falseendlocal talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cidlocal places = {["saffron"] = 1,["cerulean] = 2,["lavender"] = 3,["fuchsia] = 4,["celadon"] = 5,["viridian] = 6,["vermilion"] = 7,["pewter] = 8,["cinnabar"] = 10,}if msgcontains(string.lower(msg), 'city') or msgcontains(string.lower(msg), 'citys') thenif getPlayerStorageValue(cid, 9658754) == 1 thenselfSay("Voce ja escolheu sua cidade inicial!", cid)return trueelseselfSay("Você pode escolher sua cidade entre: {Saffron, Cerulean, Lavender, Fuchsia, Celadon, Viridian, Vermilion, Pewter ou Cinnabar}.", cid) return trueendelseif places[string.lower(msg)] thencity = string.lower(msg)selfSay("Tem certeza que você quer para começar em {".. doCorrectString(msg) .."}?", cid)talkState[talkUser] = 2return trueelseif msgcontains(msg, "yes") or msgcontains(msg, "Yes") and talkState[talkUser] == 2 thenif getPlayerStorageValue(cid, 9658754) == 1 thenselfSay("Voce ja escolheu sua cidade inicial!", cid)return trueelseselfSay("OK, entao ... Agora sua cidade inicial e ".. doCorrectString(city)..". Boa sorte em sua jornada!", cid)doPlayerSetTown(cid, places[city])setPlayerStorageValue(cid, 9658754, 1)return trueendelseif msgcontains(msg, "no") or msgcontains(msg, "No") and talkState[talkUser] == 2 thenselfSay("Ok então ... diga novamente que cidade voce quer começar!", cid) talkState[talkUser] = 0return trueendreturn trueendnpcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Editado Agosto 15, 2014 10 anos por TioDoLeite (veja o histórico de edições) Atenciosamente, Knowth.
Postado Agosto 15, 2014 10 anos Solução .xml : <?xml version="1.0" encoding="UTF-8"?> <npc name="Professor Robert" script="profrobert.lua" floorchange="0" speed="0"> <health now="150" max="150"/> <look type="522" head="97" body="114" legs="114" feet="0"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|, qual cidade voce gostaria de comecar sua jornada ?"/> </parameters> </npc> .lua : local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local places = { ["saffron"] = 1, ["cerulean"] = 2, ["lavender"] = 3, ["fuchsia"] = 4, ["celadon"] = 5, ["viridian"] = 6, ["vermilion"] = 7, ["pewter"] = 8, ["cinnabar"] = 10, } if msgcontains(string.lower(msg), 'cidade') or msgcontains(string.lower(msg), 'cidades') then if getPlayerStorageValue(cid, 9658754) == 1 then selfSay("Voce ja escolheu sua cidade inicial!", cid) return true else selfSay("Voce tem que escolher sua cidade inicial entre: {Saffron, Cerulean, Lavender, Fuchsia, Celadon, Viridian, Vermilion, Pewter or Cinnabar}.", cid) return true end elseif places[string.lower(msg)] then cidade = string.lower(msg) selfSay("Tem certeza que voce quer comecar em {".. doCorrectString(msg) .."}?", cid) talkState[talkUser] = 2 return true elseif msgcontains(msg, "yes") or msgcontains(msg, "Yes") and talkState[talkUser] == 2 then if getPlayerStorageValue(cid, 9658754) == 1 then selfSay("Voce ja escolheu sua cidade inicial!", cid) return true else selfSay("OK entao... Agora sua cidade inicial e ".. doCorrectString(cidade)..". Boa sorte com sua jornada!", cid) doPlayerSetTown(cid, places[cidade]) setPlayerStorageValue(cid, 9658754, 1) return true end elseif msgcontains(msg, "no") or msgcontains(msg, "No") and talkState[talkUser] == 2 then selfSay("Ok entao... Fale novamente a cidade que gostaria de comecar!", cid) talkState[talkUser] = 0 return true end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Ajudei = REP+ Não dou suporte por PM qualquer dúvida procure no fórum,caso não encontre oque procura crie um tópico. [email protected]" /> | TFS 0.4 DEV | %5Bcreaturescript%5D Icones no minimap com descrição%5Btalkaction%5D Adicionar ou remover VIP do player.%5Bcreaturescripts%5D Senha para porta%5Btalkaction%5D Mandar mensagem para pasta do servidorMapa Evento War Castle%5Baction%5D Canoa em MovimentoTeleport Scroll System%5Bcreaturescripts%5D Recompensa por level para X vocations%5Btalkaction%5D Adicionar X item para o player%5Btalkactions%5D Adicionar item para todos players online%5Baction%5D Item que teleporta o player para house[action+movement] Passaporte para entrar no barco
Postado Agosto 15, 2014 10 anos Well.. vejo que ja responderam, então nem irei checar os scripts, mas irei lhe passar uma dica que nenhum dos dois comentou. Quando for editar o arquivo XML, não use pontuação nem nada, isso buga o npc. Pode fazer o teste, tente fazer uma simples fala como "Olá" e veja se funciona.. depois troca pra "Ola" e você verá que vai rodar, as vezes também nem fosse esse o problema, mas como não testei o script, isso aqui é mais uma dica mesmo.. vai saber né
Postado Agosto 15, 2014 10 anos @augustomeneghetti Foi exatamente por isso que eu não usei acentos nas falas do npc,se o dono do tópico tivesse citado para ensinar eu diria o porque não usei acentos mas como ele só pediu para traduzir então eu só traduzi.Obrigado pela dica,agora o criador do tópico vai pensar duas vezes antes de por algum acento nos scripts,rsrsrsr. @topic Caso haja alguma dúvida quanto ao meu script é só comentar ! Ajudei = REP+ Não dou suporte por PM qualquer dúvida procure no fórum,caso não encontre oque procura crie um tópico. [email protected]" /> | TFS 0.4 DEV | %5Bcreaturescript%5D Icones no minimap com descrição%5Btalkaction%5D Adicionar ou remover VIP do player.%5Bcreaturescripts%5D Senha para porta%5Btalkaction%5D Mandar mensagem para pasta do servidorMapa Evento War Castle%5Baction%5D Canoa em MovimentoTeleport Scroll System%5Bcreaturescripts%5D Recompensa por level para X vocations%5Btalkaction%5D Adicionar X item para o player%5Btalkactions%5D Adicionar item para todos players online%5Baction%5D Item que teleporta o player para house[action+movement] Passaporte para entrar no barco
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.