Ir para conteúdo
  • Cadastre-se

[PEDIDO] Adquirir promotion automaticamente ao pegar lvl 20. TFS 1.0


Posts Recomendados

Bom, estou com um problema deixar a promotion para free account no meu server.

Como ja alterei as sources e não deu certo, me veio a idéia de tirar o fromvoc das vocações e deixar como se as promotions fossem vocations especificas, e que ao player chegar no lvl 20, ele mude de vocation X para vocation X.


Ou um CreatureScripts que sempre que o player logar, for lvl 20 mais, e for vocation 1, 2, 3 ,4, mudar de vocation para a respectiva promotion, 5, 6 ,7 ,8


Bom, não sei como fazer esses scripts, pesso ajuda de vocês, obrigaodo!


RESOLVIDO

Link para o post
Compartilhar em outros sites

Adicione isso em data\creaturescripts/creaturescipts.xml:

<event type="advance" name="Promo20" event="script" value="promo20.lua"/>

Crie em data\creaturescripts\scripts/promo20.lua:

local level = 20
local vocs = {1, 2, 3, 4}

function onAdvance(cid, skill, oldlevel, newlevel)
    if getPlayerLevel(cid) == level then
	for i = 1, #vocs
		if getPlayerVocation(cid, vocs[i]) then
			setPlayerPromotionLevel(cid, 1)
		end
	end
end
Adicione isso em data\creaturescripts\scripts/login.lua:
registerCreatureEvent(cid, "Promo20")

Te ajudei?? REP + e ficamos quites... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

Link para o post
Compartilhar em outros sites
  • 9 months later...

desculpe amigo mais preciso deste script e ake deu esse erro se puder ajudar  TFS 0.4

 

[11:24:21.219] [Error - LuaInterface::loadFile] data/creaturescripts/scripts/pro
mo20.lua:7: 'do' expected near 'if'
[11:24:21.222] [Warning - Event::loadScript] Cannot load script (data/creaturesc
ripts/scripts/promo20.lua)
[11:24:21.226] data/creaturescripts/scripts/promo20.lua:7: 'do' expected near 'i
f'

Editado por brufds (veja o histórico de edições)
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.


  • Conteúdo Similar

    • Por Drafenous
      Eeeeelaiá... aqui estou eu mais uma vez com problemas :/
      O bug atual é o seguinte, eu não encontrei nada relacionado a isto aqui no forum...
       
      No meu servidor tem o npc The Drahix King, a função dele é vender promotion.
      Porém, ele vende promotion para player que não são premium.
       
      O servidor é 8.6, usa o tfs 0.3.6... Eu gostaria de saber como fazer para ele vender promotion somente para players premium.
       
      O problema que isto está causando, é que o player compra a promotion e não fica promotion, e então, acha que está bugado, sendo que quando isso ocorre, ele tem que comprar a premium, deslogar, eu tenho que ir no banco de dados, remover a promotion, e ele comprar a promotion novamente.
       
      Segue então o script do npc de premium:
      <?xml version="1.0" encoding="UTF-8"?> <npc name="The Drahix King" script="promotion.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="332" head="20" body="39" legs="45" feet="7" addons="0"/> </npc> local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 local node1 = keywordHandler:addKeyword({'promot'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can promote you for 20000 gold coins. Do you want me to promote you?'}) node1:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 20000, level = 20, promotion = 1, text = 'Congratulations! You are now promoted.'}) node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then, come back when you are ready.', reset = true}) npcHandler:addModule(FocusModule:new()) Quem ajudar eu dou rep+
    • Por jonei
      Olá
      Eu adicionei novas vocats no meu ot junto com um npc pra entrega-las aos players vips, PORÉM depois que eles relogam, perdem a promote, e voltam a ser oque eram. alguém pode me ajudar a resolver este problema?... obrigado.
      Vocations,xml
       
    • Por Loldinis
      TFS 1.0
      Pessoal, preciso de uma spell que gaste % de vida ao invés de mana

      Atualmente ela ta assim
      Quem souber da um help, vlw
    • Por NathanAmaro
      Olá!
       
      Estou precisando de algum script, ou algum jeito de quando o player comprar premium account (isPremium) ele receber a promotion junto.
      A premium é fornecida por um npc, então eu quero que quando o jogador compre a premium account a promotion venha junto. Sendo assim:
       
      Um knight vire um Elite knight 
      Um druid vire um Elder druid
      Um sorcerer vire um Master sorcerer
      um paladin vire um Royal paladin
       
      Script do npc:
       



       
      Agradeço a atenção!   
    • Por Pedriinz
      Depois da atualização da TFS, esses scripts ficaram assim:
       
      [Warning - Event::checkScript] Can not load script: scripts/alladdons.lua
      data/talkactions/scripts/alladdons.lua:1: unexpected symbol near '�'
      [Warning - Event::checkScript] Can not load script: scripts/allmounts.lua
      data/talkactions/scripts/allmounts.lua:1: unexpected symbol near '�'
       
       
      Alguem poderia ajudar ?
       
      alladddons.lua
      function onSay(cid, words, param) local femaleOutfits = { ["citizen"]={136}, ["hunter"]={137}, ["knight"]={139}, ["noblewoman"]={140}, ["warrior"]={142}, ["barbarian"]={147}, ["druid"]={148}, ["wizard"]={149}, ["oriental"]={150}, ["pirate"]={155}, ["assassin"]={156}, ["beggar"]={157}, ["shaman"]={158}, ["norsewoman"]={252}, ["nightmare"]={269}, ["jester"]={270}, ["brotherhood"]={279}, ["demonhunter"]={288}, ["yalaharian"]={324}, ["warmaster"]={336},["wayfarer"]={366}, ["afflicted"]={431}, ["elementalist"]={433}, ["deepling"]={464}, ["insectoid"]={466}, ["red baron"]={471}, ["crystal warlord"]={513}, ["soil guardian"]={514}, ["demon"]={542} } local maleOutfits = { ["citizen"]={128}, ["hunter"]={129}, ["knight"]={131}, ["nobleman"]={132}, ["warrior"]={134}, ["barbarian"]={143}, ["druid"]={144}, ["wizard"]={145}, ["oriental"]={146}, ["pirate"]={151}, ["assassin"]={152}, ["beggar"]={153}, ["shaman"]={154}, ["norsewoman"]={251}, ["nightmare"]={268}, ["jester"]={273}, ["brotherhood"]={278}, ["demonhunter"]={289}, ["yalaharian"]={325}, ["warmaster"]={335}, ["wayfarer"]={367}, ["afflicted"]={430}, ["elementalist"]={432}, ["deepling"]={463}, ["insectoid"]={465}, ["red baron"]={472}, ["crystal warlord"]={512}, ["soil guardian"]={516},["demon"]={541} } local player, param = Player(cid), string.lower(param) local addondoll_id = 9693 if player:getItemCount(addondoll_id) > 0 then if param ~= "" and maleOutfits[param] and femaleOutfits[param] then local outfit = player:getSex() == 0 and femaleOutfits[param][1] or maleOutfits[param][1] if not player:hasOutfit(outfit, 3) then player:removeItem(addondoll_id, 1) player:sendTextMessage(MESSAGE_INFO_DESCR, "Seu Addon full foi adicionado!") Position(getThingPos(cid)):sendMagicEffect(CONST_ME_GIFT_WRAPS) player:addOutfitAddon(outfit, 3) else player:sendTextMessage(MESSAGE_INFO_DESCR, "Voce ja tem este addon") end else player:sendTextMessage(MESSAGE_INFO_DESCR, "Digite novamente, algo esta errado!") end else player:sendTextMessage(MESSAGE_INFO_DESCR, "Voce nao tem addon doll!") end end allmounts.lua
      function onSay(cid, words, param) local table = { -- ["mount"] = {price = x, id = x}, ["black sheep"] = {price = 0, id = 4}, ["crystal wolf"] = {price = 0, id = 16}, ["draptor"] = {price = 0, id = 6}, ["dromedary"] = {price = 0, id = 20}, ["gnarlhound"] = {price = 0, id = 32}, ["hellgrip"] = {price = 0, id = 39}, ["kingly deer"] = {price = 0, id = 18}, ["lady bug"] = {price = 0, id = 27}, ["manta ray"] = {price = 0, id = 28}, ["midnight panther"] = {price = 0, id = 5}, ["racing bird"] = {price = 0, id = 2}, ["rapid boar"] = {price = 0, id = 10}, ["scorpion king"] = {price = 0, id = 21}, ["panda"] = {price = 0, id = 19}, ["tiger slug"] = {price = 0, id = 14}, ["tin lizzard"] = {price = 0, id = 8}, ["titanica"] = {price = 0, id = 7}, ["uniwheel"] = {price = 0, id = 15}, ["widow queen"] = {price = 0, id = 1} } local player, param = Player(cid), string.lower(param) local mountdoll_id = 13030 -- id do addon doll local t = table[param] if player:getItemCount(mountdoll_id) > 0 then if param ~= "" and t then if not player:hasMount(t.id) then player:sendTextMessage(MESSAGE_INFO_DESCR, "Sua mount foi adicionada!") player:removeItem(mountdoll_id, 1) Position(getThingPos(cid)):sendMagicEffect(CONST_ME_GIFT_WRAPS) player:addMount(t.id) else player:sendTextMessage(MESSAGE_INFO_DESCR, "Voce ja tem esta mount.") end else player:sendTextMessage(MESSAGE_INFO_DESCR, "Digite novamente, algo está errado!") end else player:sendTextMessage(MESSAGE_INFO_DESCR, "Voce não tem um mount doll!") end end
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo