Ir para conteúdo
  • Cadastre-se

(Resolvido)[Ajuda] Tradução de Script(Npc)


Ir para solução Resolvido por ViitinG,

Posts Recomendados

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 :D 

Atensiosamente, Gabriel L.

Link para o post
Compartilhar em outros sites

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) 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("
Voce ja escolheu sua cidade inicial!", cid)
return true
else
selfSay("
Você pode escolher sua cidade entre: {Saffron, Cerulean, Lavender, Fuchsia, Celadon, Viridian, Vermilion, Pewter ou Cinnabar}.", cid)

return true
end
elseif places[string.lower(msg)] then
city = string.lower(msg)
selfSay("
Tem certeza que você quer para começar 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(city)..". Boa sorte em sua jornada!", 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 então ... diga novamente que cidade voce quer começar!", cid)

talkState[talkUser] = 0
return true
end

return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

 

npcHandler:addModule(FocusModule:new())

Editado por TioDoLeite (veja o histórico de edições)

Atenciosamente, Knowth.

Link para o post
Compartilhar em outros sites
  • 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())

Link para o post
Compartilhar em outros sites

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é

Link para o post
Compartilhar em outros sites

@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 !

Link para o post
Compartilhar em outros sites

Exato esse erro na acentuação que esqueci de tirar, fui na empolgação de ajudar o Gabriel e acabou que eu esqueci =/ Como o ViitinG comentou sem acentuação os devidos créditos a ele  :palmas: .

       Se alguém puder remover meu primeiro Post acima, fico agradecido  ;) 

Editado por TioDoLeite (veja o histórico de edições)

Atenciosamente, Knowth.

Link para o post
Compartilhar em outros sites

Ficaria legal uma talkaction, tipo:

!changelanguage

 

Dai então, você colocaria nos scripts "bi-lingues" uma condição, que retornaria a língua do jogador, tipo:

 

if getPlayerStorageValue(cid, 98821) == "en" then
    
    doPlayerSendCancel(cid, "Sorry, but it's impssible.")
else
    
    doPlayerSendCancel(cid, "Desculpe, mas isso é impossível.")
end

 

Só uma dica amigo :)

Tony Araújo  ;D 

 

Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo