Postado Janeiro 13, 2012 13 anos Bom, neste meu tópico: http://tibiaking.com...stema-de-racas/ O Skydangerous comentou o seguinte sobre o script dele: Porquê não faz o sistema igual o meu de raça? O sistema é assim, cria char sem raça, pega algum level e depois disso conversa com o npc e ganha uma raça. Sou meio novato na parada de scripts, e queria saber como fazer um script parecido com esse, ai quando o cara falava com o tal npc e escolhesse a raça, os outifits dele mudavam com os de acordo com os da raça. Editado Janeiro 13, 2012 13 anos por FilipeJF (veja o histórico de edições) Acesse o tópico!
Postado Janeiro 13, 2012 13 anos Então vou te ajudar: Fazendo script.... Já edito aqui com o script. Quais são as raças? Edit: Desculpa, eu disse que ia editar aqui, fiz new post, se alguém quiser deletar esse post aqui sem problema! Editado Janeiro 13, 2012 13 anos por JhonatanCWest (veja o histórico de edições)
Postado Janeiro 13, 2012 13 anos Autor As raças que quero adicionar são, Orc, Dwarf e Elf. Agradeço man ', jaja do rep+. Acesse o tópico!
Postado Janeiro 13, 2012 13 anos Pra tirar todos outfits deles, pra só ficar do orc, vai lá deixa só o Citizen, o resto bota default = 0 Exemplo: <outfit id="23" default="0"> Ok, primeiro você cria as raças em XML/vocations.xml Com os ids: Orc = 1 Dwarf = 2 Elf = 3 Depois crie o NPC, normal como você quer e dai em script você bota scripts/raças.lua Copie algum arquivo.lua lá renomeie para raças.lua, tire tudo de dentro e bote isso: 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 if(msgcontains(msg,'raças')then selfSay('Eu vou lhe falar um pouco mais sobre as raças, qual você gostaria de conhecer melhor? {orc}, {dwarf}, {elf}',cid) if(msgcontains(msg,'orc'))then selfSay('Os orcs são uma raça muito forte, blá blaá blá',cid) selfSay('Você deseja {ser um orc}?',cid) if(msgcontains(msg,'ser um orc'))then if (getPlayerVocation(cid)==0)then doPlayerSetVocation(cid,1) doPlayerAddOutfit(cid,5, 1) doPlayerRemoveOutfit(cid,136, 1) else selfSay('Você já é de uma raça!',cid) end end end if(msgcontains(msg,'dwarf'))then selfSay('Os dwarfs são uma raça muito forte, blá blaá blá',cid) selfSay('Você deseja {ser um dwarf}?',cid) if(msgcontains(msg,'ser um dwarf'))then if (getPlayerVocation(cid)==0)then doPlayerSetVocation(cid,2) doPlayerAddOutfit(cid,69, 1) doPlayerRemoveOutfit(cid,136, 1) else selfSay('Você já é de uma raça!',cid) end end end if(msgcontains(msg,'elf'))then selfSay('Os dwarfs são uma raça muito forte, blá blaá blá',cid) selfSay('Você deseja {ser um elf}?',cid) if(msgcontains(msg,'ser um elf'))then if (getPlayerVocation(cid)==0)then doPlayerSetVocation(cid,3) doPlayerAddOutfit(cid,63, 1) doPlayerRemoveOutfit(cid,136, 1) else selfSay('Você já é de uma raça!',cid) end end end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Tenta se não der certo me fala..
Postado Janeiro 13, 2012 13 anos Autor Cara foi mal, não tava no pc . Bom, fui testar agora, e já comecei mal. Eu não achei onde é pra botar o default 0. O resto eu acho que deu pra entender de boa, normal. Edit: Quando eu liguei o server, claramente pulando o passo do outfit (que ñ deve ter nada a ver), deu esse erro ao ligar o server: Error - LuaScriptInterface::loadFile] data/npc/scripts/racas.Lua:18 '>' expect 'then' - NpcScript::NpcScript] Cannot load script: data/npc/scripts/racas.lua /scripts/racas.lua:18: '>' expected near 'then' O arquivo lua chama racas mesmo... Editado Janeiro 13, 2012 13 anos por FilipeJF (veja o histórico de edições) Acesse o tópico!
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.