WooX 26 Postado Agosto 15, 2010 Share Postado Agosto 15, 2010 Ae Xtibianos Vou Ensinar A Vocês Como Criar Um Npc Que Vende A Nova Voc Que Vc Criou No Seu Server! 1°Vá Hem data/npc/ Click Hem Novo->Documento De Texto Renomei Para Nome Que Quiser Dentro Coloque Iso <?xml version="1.0" encoding="UTF-8"?> <npc name="Vip Johnny" script="data/npc/scripts/vip promote.lua" walkinterval="2000" floorchange="0"> <mana now="800" max="800"/> <health now="200" max="200"/> <look type="133" head="114" body="119" legs="132" feet="114"/> </npc> Azul:Nome Do NPc Click Hem Salvar Como Coloque Nome Que Quiser + No Final Coloque.xml E Salve Na Pasta Do Seu Ot Agora Delete O Arquivo Txt Que Tinha Criado! 2°Vá Hem data/npc/scripts/ Copie E Cole Qualquer Arquivo.lua Renomeio Para vip promote Dentro Coloque Iso 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, 'vip sorcerer') or msgcontains(msg, 'vip sorcerer')) then selfSay('Deseja virar {Vip Sorcerer} por 50 crystal coins?', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if(getPlayerItemCount(cid, 2160) >= 50) then doPlayerRemoveItem(cid, 2160, 50) doPlayerSetVocation(cid,9) selfSay('Vocação trocada com sucesso , Agora você é um Vip Sorcerer.', cid) else selfSay('Você não tem {crystal coins} Suficientes.', cid) end talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Vermelho:Vocação Verde:Preço Da Voc Roxo:ID Da Voc É Isso Vlw Se Falto Algo Comenten By:Leo46 premii reagiu a isso 1 Link para o comentário https://xtibia.com/forum/topic/139469-npc-que-vende-nova-voca%C3%A7%C3%A3o/ Compartilhar em outros sites More sharing options...
DevilMoon 125 Postado Agosto 23, 2010 Share Postado Agosto 23, 2010 Muinto Bom Cara, Estava Pensando em Fazer algo Assim agora nao preciso Mais!! REP+ Link para o comentário https://xtibia.com/forum/topic/139469-npc-que-vende-nova-voca%C3%A7%C3%A3o/#findComment-923538 Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Agosto 23, 2010 Share Postado Agosto 23, 2010 (editado) achei o npc muito simples por dois motivos. o primeiro é que nele tem uma falha,qualquer vocação pode usar esse npc,ou sejá um knight poderá virar um "vip sorcerer",já que não tem nenhuma função que faz a checkagem da voc do player. e a segunda é que o npc só da uma vocação,o certo seriam no minimo 4 vocações. procure melhorar amigo,você tem futuro espero novos trabalhos seus por aqui abraços Editado Agosto 23, 2010 por Vodkart Link para o comentário https://xtibia.com/forum/topic/139469-npc-que-vende-nova-voca%C3%A7%C3%A3o/#findComment-923709 Compartilhar em outros sites More sharing options...
DevilMoon 125 Postado Agosto 23, 2010 Share Postado Agosto 23, 2010 Hmm, eu liguei nesses erros so que eu ia fazer para min tipow qalquer voc ia virar uma vocation vip '-' e nao Vip Kina e etc.. Mais se for para usar nesse tipo como o vodkart falo, é muinto simplisinho!! Link para o comentário https://xtibia.com/forum/topic/139469-npc-que-vende-nova-voca%C3%A7%C3%A3o/#findComment-923711 Compartilhar em outros sites More sharing options...
WooX 26 Postado Agosto 27, 2010 Autor Share Postado Agosto 27, 2010 TPW No Caso De Qualquer Voc Pegar As Vocs Vip! Meu Ot É Baiak Yoruts 8.54 a 8.57. Coloquei O Npc So Na Area Vip. Assim Somente Vips Comprariam. E No Caso De Vender 4 Vocs. É So Copiar Iso Abaixo E Editar. elseif(msgcontains(msg, 'vip druid') or msgcontains(msg, 'vip druid')) then selfSay('Deseja virar {Vip Druid} por 50 crystal coins?', cid) talkState[talkUser] = 2 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2) then if(getPlayerItemCount(cid, 2160) >= 50) then doPlayerRemoveItem(cid, 2160, 50) doPlayerSetVocation(cid,10) selfSay('Vocação trocada com sucesso , Agora você é um Vip Druid.', cid) else selfSay('Você não tem {crystal coins} Suficientes.', cid) end talkState[talkUser] = 0 No Final Coloque Iso. end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Desculpa Se O Npc Não Ta Perfeito Vou Tentar Melhorar. Link para o comentário https://xtibia.com/forum/topic/139469-npc-que-vende-nova-voca%C3%A7%C3%A3o/#findComment-925164 Compartilhar em outros sites More sharing options...
rafavbueno 0 Postado Setembro 29, 2010 Share Postado Setembro 29, 2010 Putz cara tava disisperado atraz disso!!!! só que tipow tem como arrumar isso ao inves de dinheiro ser por lvl? se tiver como mi da uma ajuda plx! Link para o comentário https://xtibia.com/forum/topic/139469-npc-que-vende-nova-voca%C3%A7%C3%A3o/#findComment-939741 Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Setembro 29, 2010 Share Postado Setembro 29, 2010 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 a = { [5] = {new_voc = 9,need_level = true,level = 60,cobrar = true,price = 100000,need_premium = true}, [6] = {new_voc = 10,need_level = true,level = 60,cobrar = true,price = 100000,need_premium = true}, [7] = {new_voc = 11,need_level = true,level = 60,cobrar = true,price = 100000,need_premium = true}, [8] = {new_voc = 12,need_level = true,level = 60,cobrar = true,price = 100000,need_premium = true} } local b = a[getPlayerVocation(cid)] if(msgcontains(msg, 'vip promotion') or msgcontains(msg, 'vip promote')) then if(not b) then selfSay('Você não tem a second promote, então não poderá ser promovido!.', cid) talkState[talkUser] = 0 else selfSay('Deseja virar ' .. getVocationInfo(b.new_voc).name .. ' por '..b.price..' gold coins? {yes}', cid) talkState[talkUser] = 1 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if b.need_premium == true and not isPremium(cid) then selfSay('Você precisa ser Premium para ser promovido!.', cid) talkState[talkUser] = 0 elseif b.need_level == true and getPlayerLevel(cid) < b.level then selfSay('Você deve ter pelo menos level '.. b.level ..' para ser promovido!.', cid) talkState[talkUser] = 0 elseif b.cobrar == true and doPlayerRemoveMoney(cid, b.price) == TRUE then doPlayerSetVocation(cid,b.new_voc) selfSay('Você foi promovido com sucesso.', cid) talkState[talkUser] = 0 else selfSay('Você não tem '..b.price..' gold coins Suficientes.', cid) doSendMagicEffect(getPlayerPosition(cid), 2) end end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Link para o comentário https://xtibia.com/forum/topic/139469-npc-que-vende-nova-voca%C3%A7%C3%A3o/#findComment-939761 Compartilhar em outros sites More sharing options...
Gegiskan 0 Postado Outubro 16, 2010 Share Postado Outubro 16, 2010 tipo eu fiz esse npc promote ae ae ele promoveu o player mais quando o player loga ele volta a ser ex: elder druid : / Link para o comentário https://xtibia.com/forum/topic/139469-npc-que-vende-nova-voca%C3%A7%C3%A3o/#findComment-946248 Compartilhar em outros sites More sharing options...
otiano 0 Postado Novembro 5, 2010 Share Postado Novembro 5, 2010 Aqui tbm..quando reloga volta a voc de antes como arrumar isso?! Link para o comentário https://xtibia.com/forum/topic/139469-npc-que-vende-nova-voca%C3%A7%C3%A3o/#findComment-953674 Compartilhar em outros sites More sharing options...
GoD_RaFkS 4 Postado Janeiro 26, 2011 Share Postado Janeiro 26, 2011 (editado) Boa a explicação, e o tutorial é muito útil. O script postado pelo @Vodkart é o que, de fato, eu estava procurando. PORÉM... Ambos têm o mesmo bug: Quando o player promovido Loga, ele volta a ser a vocação que era antes. Exemplo: O player sai do jogo Vip Knight, e volta Elite Knight. Ou seja, a promoção funciona! mas até o player fazer logoff. Alguém aí sabe sanar este problema? se souber, posta, por favor! Abraços. Editado Janeiro 26, 2011 por GoD_RaFkS Link para o comentário https://xtibia.com/forum/topic/139469-npc-que-vende-nova-voca%C3%A7%C3%A3o/#findComment-993554 Compartilhar em outros sites More sharing options...
coyotestark 25 Postado Abril 21, 2011 Share Postado Abril 21, 2011 alguem pode converter esse sistema para 8.52, acho que eh esse meu, pq eu to vendendo vocação no site, coloco pela database, mas os skills bugam cada hit upa um skill de glove se usar luva e sword se usar spada. Link para o comentário https://xtibia.com/forum/topic/139469-npc-que-vende-nova-voca%C3%A7%C3%A3o/#findComment-1026859 Compartilhar em outros sites More sharing options...
daaniel13 1 Postado Setembro 7, 2011 Share Postado Setembro 7, 2011 auqee tbm esta assim. quando vira a promotion vip.. assim que ele logaa. a promotion volta a anteriorr AJUDAAAA ajudaaaaaaa. desculpa p double post Link para o comentário https://xtibia.com/forum/topic/139469-npc-que-vende-nova-voca%C3%A7%C3%A3o/#findComment-1098330 Compartilhar em outros sites More sharing options...
EduardoDantas 0 Postado Fevereiro 4, 2012 Share Postado Fevereiro 4, 2012 (editado) Isso é simples, la na terceira vocação, vocês procuram fromvoc="1" e deletam... OBS: Só deletem da terceira vocação, de todas as quatro. rs Editado Fevereiro 4, 2012 por EduardoDantas Link para o comentário https://xtibia.com/forum/topic/139469-npc-que-vende-nova-voca%C3%A7%C3%A3o/#findComment-1194026 Compartilhar em outros sites More sharing options...
cordis 0 Postado Fevereiro 5, 2012 Share Postado Fevereiro 5, 2012 (editado) Cara, eu não sou scripter então não sei a tag correta para usar pra concertar, porem eu estou estudando script, e pelo que eu vi o problema é o código "PlayerSetVocation" pois ele ele muda a vocação mas éla funciona como um buff, quando vc loga, acaba. o correto seria utilizar um código de promotion (o qual eu não sei qual é) pois vc usando ex:"doPromotion" ele cria uma especie de storage do player que de 0 passa a ser 1 tornando o player promoted, ai no caso teria que fazer um código promotion de 1 "setPromotion = 2' algo assim... posso ta falando besteira, defecando pela boca, mas eu acredito que seja isso =P quem souber, puder fazer, agradeço, prescio desse npc tbm Editado Fevereiro 5, 2012 por Korocham Link para o comentário https://xtibia.com/forum/topic/139469-npc-que-vende-nova-voca%C3%A7%C3%A3o/#findComment-1195084 Compartilhar em outros sites More sharing options...
bepokemon 101 Postado Fevereiro 5, 2012 Share Postado Fevereiro 5, 2012 (editado) Cara, eu não sou scripter então não sei a tag correta para usar pra concertar, porem eu estou estudando script, e pelo que eu vi o problema é o código "PlayerSetVocation" pois ele ele muda a vocação mas éla funciona como um buff, quando vc loga, acaba. o correto seria utilizar um código de promotion (o qual eu não sei qual é) pois vc usando ex:"doPromotion" ele cria uma especie de storage do player que de 0 passa a ser 1 tornando o player promoted, ai no caso teria que fazer um código promotion de 1 "setPromotion = 2' algo assim... posso ta falando besteira, defecando pela boca, mas eu acredito que seja isso =P quem souber, puder fazer, agradeço, prescio desse npc tbm Na verdade está certíssimo. É doPlayerSetPromotionLevel(cid, level). Eu postei um Script para segunda promotion (promotion VIP) aqui já. Aqui vai o code e o link do pastebin: local keywordHandler = KeywordHandler:new() -- By Byerne XTibia 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 startVoc = (getPlayerVocation(cid) - ((getPlayerPromotionLevel(cid))*4)) if msgcontains(msg, 'promotion') then if getPlayerPromotionLevel(cid) ~= 1 then selfSay("Não posso te promover.", cid) else selfSay("Deseja virar um {VIP "..getVocationInfo(startVoc).name.."} por {40.000 gold coins} ({40k})?", cid) talkState[talkUser] = 1 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if doPlayerRemoveMoney(cid, 40000) then doPlayerSetPromotionLevel(cid, 2) selfSay("Parabéns, você agora é um "..getVocationInfo(getPlayerVocation(cid)).name..".", cid) else selfSay("Você não tem dinheiro suficiente.", cid) end talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Editado Fevereiro 5, 2012 por Byerne Link para o comentário https://xtibia.com/forum/topic/139469-npc-que-vende-nova-voca%C3%A7%C3%A3o/#findComment-1195107 Compartilhar em outros sites More sharing options...
Posts Recomendados