Ir para conteúdo

Wise

Membro
  • Registro em

  • Última visita

Tudo que Wise postou

  1. Não tem de quê. Disponha ;]
  2. Mais uma coisa, a nova vocação é uma promotion da vocação anterior? Se não for e se você puder, faça desse modo, a nova vocação como sendo uma promotion da vocação anterior do player. Assim simplificaria bastante, pois do jeito que você quer, seria desnecessário ter de configurar vários elementos em tabelas.
  3. Certo, tente desse modo: function onCombat(cid, target) if isPlayer(target) and isInParty(cid) and isInParty(target) then if getPlayerParty(target) == getPlayerParty(cid) or getPartyLeader(target) == cid then return false end end return true end
  4. Wise respondeu ao post em um tópico de ducb em Suporte Tibia OTServer
    Não nesse caso, pois há 2 variações. Perceba que há outro bloco no else do escopo, ou seja, são 2 "modos" de executar a action e por isso a função teve de ser repetida. @ducb Veja abrindo o arquivo tibia.spr do seu client. Ou se não souber, use talkactions in game, como /x número do shoottype (que permitem que você os visualize).
  5. Wise respondeu ao post em um tópico de Gabrielk em Suporte Tibia OTServer
    O tópico foi movido para a área correta, preste mais atenção da próxima vez! Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680 Este tópico foi movido: De: "OTServ → Suporte OTServ → Suporte de Scripts" Para: "OTServ → Suporte OTServ → Suporte de Programação"
  6. Sem problemas. Só um detalhe: Seria um efeito pra cada vocação, ou somente um único efeito para todas?
  7. stranger.lua (data\npc\scripts): local level = 50 local pos = {x=123, y=456, z=7} 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, 'teleport')) then talkState[talkUser] = 1 selfSay('I can teleport you, but you need at least level '..level..' to go. Are you sure you\'re ready?', cid) elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if (getPlayerLevel(cid) >= level) then doTeleportThing(cid, pos) doSendMagicEffect(pos, CONST_ME_TELEPORT) selfSay('Be careful!', cid) else talkState[talkUser] = 0 selfSay('I said! You need at least level '..level..' to be teleported. You\'re not ready.', cid) end elseif (msgcontains(msg, 'no') and talkState[talkUser] == 1) then talkState[talkUser] = 0 npcHandler:releaseFocus(cid) selfSay('Sure.', cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Stranger.xml (data\npc): <npc name="Stranger" script="data/npc/scripts/stranger.lua" access="5" lookdir="1"> <health now="1000" max="1000"/> <look type="129" head="115" body="132" legs="114" feet="95" addons="0"/> <parameters> <parameter key="message_greet" value="Hey |PLAYERNAME|, I can {teleport} some mortals." /> </parameters> </npc>
  8. @Frenesy Só faltou encerrar o parâmetro do metamétodo da função: db.executeQuery("INSERT `player_storage` SET `key` = 0000, 'value' = 1, WHERE `player_id` = " .. getPlayerGUID(cid) .. ";")
  9. Wise respondeu ao post em um tópico de Veteran em Suporte Tibia OTServer
    Amigo, o título do seu tópico estava inadequado. Sem oferecer nenhuma ideia do que ele se trata, poucos vão se interessar em te ajudar. Da próxima vez, crie um tópico com um título que descreva o assunto dele. • 2.3 - Use títulos e ícones adequados: Ao criar um novo tópico no fórum, dê a ele um título que esteja relacionado ao conteúdo do tópico. Títulos como "Ajudaaa!" ou "Entrem aqui!" só pioram as coisas: ninguém vai saber do que se trata, e menos pessoas irão entrar para olhar o que você postou e também evite de usar o CAPSLOCK ao criar seu título. Leia e se preciso releia as Regras Gerais do fórum.
  10. Conferindo aqui no fórum, vi que há esse conteúdo disponível. Pesquise um pouco mais da próxima vez, antes de postar. Onde aumentar o número de efeitos (créditos ao membro que respondeu no tópico mencionado).
  11. Wise respondeu ao post em um tópico de Rikikajimo em Suporte Tibia OTServer
    Você provavelmente devia estar usando o segundo script, era pra ter feito uso do primeiro que eu postei. Mas, como você quer que tenha os resets como descrição no look, use estes códigos: levelreset.lua (data\talkactions\scripts): function onSay(cid) local time = 5 -- time to logout local lvl = {1000, 100} -- {minLevel, newLevel} local rstor = 78910 -- reset storage if getTileInfo(getThingPos(cid)).protection then if getPlayerLevel(cid) >= lvl[1] then setPlayerStorageValue(cid, rstor, getPlayerStorageValue(cid, rstor) + 1) db.executeQuery("UPDATE `players` SET `description` = ' [Resets: "..getPlayerStorageValue(cid, rstor).."]' WHERE `players`.`id`= "..getPlayerGUID(cid).."") db.executeQuery("UPDATE `players` SET `level`="..lvl[2]..",`experience`= "..getExperienceForLevel(lvl[2]).." WHERE `players`.`id`= "..getPlayerGUID(cid).."") doCreatureSetNoMove(cid, true) addEvent(doRemoveCreature, time * 1000, cid, true) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'You will be logged out within '..time..' seconds.') else doPlayerSendCancel(cid, 'You need at least level '..lvl[1]..' to reset.') end else doPlayerSendCancel(cid, 'You can only reset within a protected zone.') end return true end Tag - talkactions.xml (data\talkactions\scripts): <talkaction words="!reset" event="script" value="levelreset.lua"/> noresets.lua (data\creaturescripts\scripts): function onLogin(cid) local rstor = 78910 -- reset storage if getPlayerStorageValue(cid, rstor) < 0 then setPlayerStorageValue(cid, rstor, 0) db.executeQuery("UPDATE `players` SET `description` = ' [Resets: 0]' WHERE `players`.`id`= "..getPlayerGUID(cid).."") doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'Please, log out and sign in again.') end return true end Tag - creaturescripts.xml (data\creaturescripts): <event type="login" name="NoResets" event="script" value="noresets.lua"/>
  12. Wise respondeu ao post em um tópico de ducb em Suporte Tibia OTServer
    Não, lookType é algo totalmente diferente. Na tabela balls, em shoottype = n, você determina o número do distance effect que você quer em determinada ball.
  13. Nada é impossível. Uma prova disso é o Far Cry, um game sensacional, desenvolvido em Lua. Mas agora tendo em vista sobre o que o membro perguntou, faça das palavras do Orochi Elf, minhas palavras. Basta estar apto, a criatividade é o limite.
  14. Amigo, há vários scripts desse tipo que no tópico também incluem o mapa, como você quer. Pesquise um pouco mais antes de postar. [Castle War 24H] Conquiste o trono!
  15. Dá pra simplificar com um creature event combat, caso prefira: function onCombat(cid, target) if isPlayer(target) and isInParty(cid) and isInParty(target) and getPlayerParty(target) == getPlayerParty(cid) then return false end return true end
  16. Wise respondeu ao post em um tópico de Rikikajimo em Suporte Tibia OTServer
    Pelo visto, não tem porquê acusar esse erro. Tente renomear o arquivo e a tag, só pra garantir que não esteja lendo um arquivo já existente que você talvez não tenha percebido.
  17. Amigo, o título do seu tópico estava inadequado. Sem oferecer nenhuma ideia do que ele se trata, dificilmente outros membros vão se interessar em te ajudar. Da próxima vez, crie um tópico com um título que descreva o assunto dele e, se possível, informe cada detalhe do motivo de você tê-lo criado. E não faça um tópico para ser respondido privadamente. Se você quer desse modo, então mande uma mensagem privada para alguém em específico te ajudar. Os tópicos de suporte devem servir à todos, de forma compartilhada, e não somente à você. • 2.3 - Use títulos e ícones adequados: Ao criar um novo tópico no fórum, dê a ele um título que esteja relacionado ao conteúdo do tópico. Títulos como "Ajudaaa!" ou "Entrem aqui!" só pioram as coisas: ninguém vai saber do que se trata, e menos pessoas irão entrar para olhar o que você postou e também evite de usar o CAPSLOCK ao criar seu título.
  18. "Passiva"? Desculpe, mas o seu script não fez sentido pra mim. Explique o que você quer, que eu faço.
  19. Wise respondeu ao post em um tópico de Rikikajimo em Suporte Tibia OTServer
    Poste o script do arquivo Lua que você criou.
  20. Wise respondeu ao post em um tópico de Rikikajimo em Suporte Tibia OTServer
    Está indicando erros de estrutura. Você não está adicionando o script corretamente. Veja os meus códigos, não há esse tipo de erro:
  21. Wise respondeu ao post em um tópico de Rikikajimo em Suporte Tibia OTServer
    Não, apenas isso mesmo. O erro que você citou indica que a parte inferior do script não foi copiada, já que diz faltar encerrar o callback. Senão ele não teria sido informado no distro.
  22. Wise respondeu ao post em um tópico de Rikikajimo em Suporte Tibia OTServer
    Certo, mas cara: Esse erro indica que faltou encerrar o callback. Nos meus códigos, a estrutura está correta. Você provavelmente não copiou/não adicionou o script corretamente, refaça o processo.
  23. vocadvance.lua (data\creaturescripts\scripts): local t = { [1] = {2, 300, 456}, -- [vocationID] = {newVocationID, level, lookType} [2] = {3, 400, 567}, [3] = {4, 500, 678}, [4] = {5, 600, 789} } function onAdvance(cid, skill, oldLevel, newLevel) local v = t[getPlayerVocation(cid)] if v and newLevel == v[2] then doCreatureChangeOutfit(cid, {lookType = v[3]}) doPlayerSetVocation(cid, v[1]) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'You\'ve received a new outfit.') end return true end Tag - creaturescripts.xml (data\creaturescripts): <event type="advance" name="VocAdvance" event="script" value="vocadvance.lua"/> Registre o creature event em login.lua (data\creaturescripts\scripts): registerCreatureEvent(cid, "VocAdvance")
  24. Wise respondeu ao post em um tópico de Rikikajimo em Suporte Tibia OTServer
    Nada acontece? Nem mesmo algum erro? Bom, eu refiz de outro modo: function onSay(cid) local lvl = {1000, 100} -- {minLevel, newLevel} if getTileInfo(getThingPos(cid)).protection then if getPlayerLevel(cid) >= lvl[1] then doPlayerAddExperience(cid, -(getPlayerExperience(cid) - getExperienceForLevel(lvl[2]))) doSendMagicEffect(getThingPos(cid), CONST_ME_STUN) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'You returned to the level '..lvl[2]) else doPlayerSendCancel(cid, 'You need at least level '..lvl[1]..' to reset.') end else doPlayerSendCancel(cid, 'You can only reset within a protected zone.') end return true end
  25. Amigo, só um detalhe sobre o título do seu tópico. TFS 4.0 não existe, seria 0.4. E como seria essa soft vip? Se o seu sistema de "vip" for por premium days, então apenas jogadores premium poderiam utilizar o item? Acrescente mais detalhes.

Informação Importante

Confirmação de Termo