Postado Outubro 17, 2014 10 anos Bom se eu to postando no lugar errado, por favor me migre. Bom galera, eu queria colocar no meu server, um npc que quando você fala com ele ele muda sua cidade natal, mas como eu n to manjando, alguem pode me ajudar? A Vingança nunca é plena, mata a alma e envenena. "Seu Madruga" Não acredite na mentira, ela não é verdade. "Uma Pessoa do Facebook" Se a força não esta funcionando, é porque você esta batendo fraco demais. "Natsu Dragnell" Pokemon Revolution 2015 Facebook: https://www.facebook.com/PokemonRev?ref=ts&fref=ts Sword Tibiart OnlineFacebook: https://www.facebook.com/swordtibiartonline
Postado Outubro 17, 2014 10 anos Solução Poketibia? na maioria dos servidores de poketibia tem um NPC que faz isso em troca de diamonds no meu servidor ele está assim 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 msg = string.lower(msg) --------- local configs = { diamondsID = 2145, --id do diamond no items.xml/otb... (achu q vais ter q criar, ou pegar algum item q ja tenha ae...) VIP = {days = 30, cost = 10}, --days = qnts dias de VIP o player compra por vez.... cost = custo para virar VIP... SEX = {cost = 2}, --cost = custo para trocar de sexo... TOWN = {cost = 2}, --cost = custo para trocar de city... } local places = { ["saffron"] = 1, --tens q por o id do RME das tuas citys aki... ["cerulean"] = 2, ["lavender"] = 3, ["fuchsia"] = 4, ["celadon"] = 5, ["viridian"] = 6, ["vermilion"] = 7, ["pewter"] = 8, ["cinnabar"] = 10, } if (msgcontains(msg, 'diamond account') or msgcontains(msg, 'diamond')) then selfSay("você que paga uma diamond account e Ser VIP até "..configs.VIP.days.." dias? Custará "..configs.VIP.cost.." diamonds!", cid) talkState[talkUser] = 2 return true elseif msgcontains(msg, 'yes') and talkState[talkUser] == 2 then if getPlayerItemCount(cid, configs.diamondsID) >= configs.VIP.cost then selfSay("Ok então, agora você tem "..configs.VIP.days.." dias de VIP, Divirta-se!", cid) doPlayerAddPremiumDays(cid, configs.VIP.days) doPlayerRemoveItem(cid, configs.diamondsID, configs.VIP.cost) talkState[talkUser] = 0 return true else selfSay("Você precisa de pelo menos "..configs.VIP.cost.." diamonds para fazer isso!", cid) talkState[talkUser] = 0 return true end elseif (msgcontains(msg, 'sex change') or msgcontains(msg, 'sex')) then selfSay("Então você quer mudar de sexo? Custará "..configs.SEX.cost.." diamonds, Para isso Fale sex change ou sex", cid) talkState[talkUser] = 3 return true elseif msgcontains(msg, 'yes') and talkState[talkUser] == 3 then if getPlayerItemCount(cid, configs.diamondsID) >= configs.SEX.cost then local sex = getPlayerSex(cid) selfSay("Ok então, agora você é do sexo "..(sex == 0 and "female" or "male")..". Divirta-se!", cid) doPlayerSetSex(cid, (sex == 0 and 1 or 0)) doPlayerRemoveItem(cid, configs.diamondsID, configs.SEX.cost) talkState[talkUser] = 0 return true else selfSay("Você precisa de pelo menos "..configs.SEX.cost.." diamonds para fazer isso!", cid) talkState[talkUser] = 0 return true end elseif (msgcontains(msg, 'town change') or msgcontains(msg, 'town')) then selfSay("Então você quer mudar sua cidade natal? Custará "..configs.TOWN.cost.." diamonds, para isso fale town change ou town", cid) talkState[talkUser] = 4 return true elseif msgcontains(msg, 'yes') and talkState[talkUser] == 4 then selfSay("Ok, então, me diga qual cidade?", cid) talkState[talkUser] = 5 return true elseif places[msg] and talkState[talkUser] == 5 then if getPlayerItemCount(cid, configs.diamondsID) >= configs.TOWN.cost then selfSay("Feito, desfrutar da sua nova cidade!", cid) doPlayerSetTown(cid, places[msg]) doPlayerRemoveItem(cid, configs.diamondsID, configs.TOWN.cost) talkState[talkUser] = 0 return true else selfSay("Você precisa de pelo menos "..configs.TOWN.cost.." diamonds para fazer isso!", cid) talkState[talkUser] = 0 return true end elseif msgcontains(msg, 'no') then selfSay("Ok, então, dizer-me outra vez o que você quer ...", cid) talkState[talkUser] = 0 return true end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
Postado Outubro 17, 2014 10 anos aproveitar o tópico, eu queria um sistema desse pro tibia normal( sei que é errado mais pra não ter que criar um tópico só pra me tirar essa duvida e foda). Editado Outubro 17, 2014 10 anos por hakunamatata (veja o histórico de edições) Se Te Ajudei? REP+ clicando em
Postado Outubro 17, 2014 10 anos Autor aproveitar o tópico, eu queria um sistema desse pro tibia normal( sei que é errado mais pra não ter que criar um tópico só pra me tirar essa duvida e foda). acredito, que esse memso NPC vai funcionar, basta vc mudar as cidades, e adaptar o item para um utilizado no seu OtServ. A Vingança nunca é plena, mata a alma e envenena. "Seu Madruga" Não acredite na mentira, ela não é verdade. "Uma Pessoa do Facebook" Se a força não esta funcionando, é porque você esta batendo fraco demais. "Natsu Dragnell" Pokemon Revolution 2015 Facebook: https://www.facebook.com/PokemonRev?ref=ts&fref=ts Sword Tibiart OnlineFacebook: https://www.facebook.com/swordtibiartonline
Postado Outubro 18, 2014 10 anos aproveitar o tópico, eu queria um sistema desse pro tibia normal( sei que é errado mais pra não ter que criar um tópico só pra me tirar essa duvida e foda). Estarei editando e já posto aqui
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.