Ir para conteúdo

xWhiteWolf

Héroi
  • Registro em

  • Última visita

Tudo que xWhiteWolf postou

  1. xWhiteWolf postou uma resposta no tópico em Playground (Off-topic)
    seguindo pra acompanhar a #TRETA auheuhauheuha eu acho que a Costa Rica ganha pelo fato que os caras tão treinando na Vila Belmiro (estádio do Santos (time de Neymar, Robinho e Pelé))
  2. @Emersonssss, você reviveu um tópico de 2012... quando tiver uma dúvide crie um tópico no suporte e cole o link desse tópico pra guiar melhor quem for te ajudar. Essa função manda pro player a lista de canais existentes no servidor e pra usar vc coloca essa linha no script: doPlayerSendChannelsDialog(cid). Ela vai retornar a lista completa de todos os canais existentes (Trade, Help, Game-Chat...etc)
  3. acredito que seja algum problema na sua source :/ não sei oque mais poderia causar esse tipo de conflito
  4. function onSay(cid, words, param, channel) player = getPlayersOnline() for i = 1, #player do doPlayerPopupFYI(player[i], ""..getCreatureName(cid)..": "..param.."") end return true end <talkaction log="yes" words="/all" access="5" event="script" value="broadcastempopup.lua"/>
  5. xWhiteWolf postou uma resposta no tópico em Suporte Tibia OTServer
    vai dar duplicate porque é o mesmo nome, vc teria que fazer uma spell só no spells.xml e dentro do script dela distinguir oque vai ser oque, entendeu?
  6. teria sim mas como isso não existe então eu fiz por addEvent pra quebrar o galho, mas eu ja tinha avisado no começo do tópico que se o player deslogasse nesse meio tempo entao ele nao seria teleportado
  7. xWhiteWolf postou uma resposta no tópico em Suporte Tibia OTServer
    coloca a magia return false e usa função de exhaust do próprio server exhaustion.get(cid, storage) exhaustion.set(cid, storage, time) daí o set vai ser diferente se for vip ou se não for. Só não sei como faria pra verificar se é vip porque eu não manjo desses vip system por sql
  8. por se tratar de uma munição é no weapons.xml: <distance id="7368" level="80" event="function" value="default"> <!-- Assassin Star --> <vocation id="3"/> <vocation id="7" showInDescription="0"/> </distance> muda só o id e o level ali
  9. um deles tá.. procura ai no tópico. O outro tá como action
  10. clica em "Melhor Resposta" pra que o tópico fique como [RESOLVIDO] e poder ajudar outros que possuam a mesma dúvida
  11. eu só queria ver a cara dos players qnd eles tivessem no meio de um pvp insano e o cara desaparecesse auhuheuhauhe
  12. @Danihcv, tá na imagem q ele anexou
  13. tem sim, eu só não coloquei porque o próprio tibia ja tem um sistema de exhausted padrão de 1 segundo entre ações contendo itemEx (que é configurável pelo config.lua)
  14. só adicionar essas duas linhas no script. daí vc cria o arquivo stamina refuel.txt na pasta data e toda vez que usar vai aparecer o dia, horario, nome do player usou STAMINA REFUEL local file = "data/stamina refuel.txt" doWriteLogFile(file, ""..getPlayerName(cid).." usou STAMINA REFUEL.")
  15. tenta <outfit id="5" storageId="1415" storageValue="1"> se não der tenta <outfit id="4" quest="40853"> (isso varia com a versão)
  16. se não for no config.lua é na pasta do server\data\xml\stages e também na data\xml\vocations
  17. local templepos = {x= 140, y= 54, z = 7} function onUse(cid, item, fromPosition, itemEx, toPosition) queststatus = getPlayerStorageValue(cid,19485) if queststatus == -1 then setPlayerStorageValue(cid, 19485, 1) doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "Voce ganhou uma hora de vip.") doPlayerAddPremiumDays(cid, 1) addEvent(function() if isCreature(cid) then doTeleportThing(cid, templepos, true) end end, 1000*3600) else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "Voce ja pegou sua recompensa.") end return true end foi mal, comi uma linha do script sem querer e foi justo a que adicionava o storage pra ele não poder fazer várias vezes... mudei o tempo da premium pra 1 dia vê se agora dá certo
  18. @poko360, dá algum erro no console? As vezes pode ser a versão do seu server q mudou o nome da função que adiciona premium days..
  19. event="function" value="searchPlayer"> /\ o evento dela é function, ou seja, é algo padrão do jogo já definido pela source. Qual erro retorna nas pessoas que não podem ser exivadas?
  20. local config = { storage = 19400, -- storage em que será salvo o tempo cor = "advance", -- de acordo com o constant.lua da lib tempo = 2, -- em minutos price = 1000, -- preço pra usar o broadcast level = 100 -- level pra poder utilizar o broadcast } function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.") return true end if getPlayerLevel(cid) >= config.level then if getPlayerStorageValue(cid, config.storage) - os.time() <= 0 then if doPlayerRemoveMoney(cid, config.price) then setPlayerStorageValue(cid, config.storage, os.time() + (config.tempo*60)) local player = Player(cid) print("> " .. player:getName() .. " broadcasted: \"" .. param .. "\".") for _, tmpPlayer in ipairs(Game.getPlayers()) do tmpPlayer:sendPrivateMessage(player, param, TALKTYPE_BROADCAST) end doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You have successfully sent a broadcast, now you'll have to wait " ..config.tempo.. " minute(s) until you broadcast again.") else doPlayerSendCancel(cid, "You don't have " ..config.price.. " gp's for broadcasting.") return true end else doPlayerSendCancel(cid, "You have to wait " ..(getPlayerStorageValue(cid, config.storage) - os.time()).. " seconds until you can broadcast again.") return true end else doPlayerSendCancel(cid, "You have to be level " ..config.level.. " or more in order to use broadcast.") end end não sei se vai dar certo mas acho q é isso
  21. local templepos = {x= 160, y= 54, z = 7} function onSay(cid, words, param, channel) player = getPlayersOnline() for i = 1, #player do doPlayerSendTextMessage(player[i],MESSAGE_INFO_DESCR, "Voce ganhou uma hora de vip.") doPlayerAddPremiumDays(player[i], 1/24) addEvent(function() if isCreature(player[i]) then doTeleportThing(player[i], templepos, true) end end, 1000*3600) end return true end <talkaction log="yes" words="/vip" access="5" event="script" value="vipp.lua"/>
  22. Fala galera do TK, criei esse anelzinho pra servers que procuram inovar.. bom, oque ele faz?? Simples, ele torna o usuário invisível. aff, mas já existe o stealth ring que faz isso! Sim mas dessa vez eu digo invisível mesmo, nenhum monstro ou players conseguirá te ver. que lixo, assim qualquer player vai poder ficar invisível e passar no meio dos monstros e players.. vai estragar o server Aí é que vc se engana porque o anel vem uma maldição, quem usar ele vai perdendo 3% de vida por segundo (ajustável) e só vai estragar o server se vc sair distribuindo o anel pra todos os players haha O anel em si possui duas versões, na primeira ele retira 3% de vida por segundo, na segunda ele adiciona uma condição que te deixa perdendo uma quantidade fixa de vida, CONTUDO, na segunda versão aparece uma poça de sangue cada vez que toma o dano então dá pros players te pegarem caso vc coloque o anel e resolva fugir kkkkk Vou chamar aqui de versão 1 e 2 respectivamente. OBS: ISSO É EM MOVEMENTS! 1ª versão (sem sangue mas que tira 3% de vida por segundo): local invisible = createConditionObject(CONDITION_GAMEMASTER, -1, false, GAMEMASTER_INVISIBLE) local outfit = createConditionObject(CONDITION_INVISIBLE, -1, false) local percent = 3 local tempo = 1 -- em segundos function onEquip(cid, item, slot) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "By using this ring you will become fully invisible and lose health over time because of it's curse.") function lifesteal(cid) steal = addEvent(lifesteal, 1000*tempo, cid) if isCreature(cid) then doSendAnimatedText(getCreaturePos(cid), "-"..math.floor((getCreatureMaxHealth(cid) * (percent/100))), 144, cid) doCreatureAddHealth(cid, -math.floor(getCreatureMaxHealth(cid) * (percent/100))) end end lifesteal(cid) doAddCondition(cid, invisible) doAddCondition(cid, outfit) doSendMagicEffect(getCreaturePos(cid), 12) return true end function onDeEquip(cid, item, slot) doTransformItem(item.uid, 2165) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You're no longer receiving the special bonus..") stopEvent(steal) doRemoveCondition(cid, CONDITION_INVISIBLE) doSendMagicEffect(getCreaturePos(cid), 12) doRemoveCondition(cid, CONDITION_GAMEMASTER, GAMEMASTER_INVISIBLE) return true end 2ª versão (a cada 1,5 segundos ele te tira um dano configurado e deixa uma poça de sangue embaixo de vc facilitando que te identifiquem mesmo estando invisivel): local invisible = createConditionObject(CONDITION_GAMEMASTER, -1, false, GAMEMASTER_INVISIBLE) local outfit = createConditionObject(CONDITION_INVISIBLE, -1, false) local condition = createConditionObject(CONDITION_PHYSICAL) setConditionParam(condition, CONDITION_PARAM_DELAYED, TRUE) addDamageCondition(condition, -1, 1500, -500) function onEquip(cid, item, slot) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "By using this ring you will become fully invisible and lose health over time because of it's curse.") doAddCondition(cid, condition) doAddCondition(cid, invisible) doAddCondition(cid, outfit) doSendMagicEffect(getCreaturePos(cid), 12) return true end function onDeEquip(cid, item, slot) doTransformItem(item.uid, 2165) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You're no longer receiving the special bonus..") doRemoveCondition(cid, CONDITION_PHYSICAL) doRemoveCondition(cid, CONDITION_INVISIBLE) doSendMagicEffect(getCreaturePos(cid), 12) doRemoveCondition(cid, CONDITION_GAMEMASTER, GAMEMASTER_INVISIBLE) return true end Agora edite no items.xml o stealth ring pra que ele seja infinito: <item id="2202" article="a" name="stealth ring"> <attribute key="weight" value="100" /> <attribute key="slotType" value="ring" /> <attribute key="transformDeEquipTo" value="2165" /> </item> e em movements.xml adicione essas linhas: <movevent type="Equip" itemid="2202" slot="ring" event="script" value="stealth.lua"/> <movevent type="DeEquip" itemid="2202" slot="ring" event="script" value="stealth.lua"/> Editando: Na primeira versão vc pode alterar as seguintes coisas que estão em colorido: local invisible = createConditionObject(CONDITION_GAMEMASTER, -1, false, GAMEMASTER_INVISIBLE) local outfit = createConditionObject(CONDITION_INVISIBLE, -1, false) local percent = 3 local tempo = 1 -- em segundos em vermelho é o tempo que dura a invisibilidade... -1 é infinito em azul é a porcentagem de vida que perde por tempo em verde é o tempo em que se perde vida.. nesse caso a cada 1 segundo perde 3% Na segunda versão vc pode editar as mesmas coisas do primeiro só que o tempo e o dano pelo tempo estão na condition: local condition = createConditionObject(CONDITION_PHYSICAL) setConditionParam(condition, CONDITION_PARAM_DELAYED, TRUE) addDamageCondition(condition, -1, 1500, -500) em vermelho é o numero de vezes que vai tirar vida. Mais uma vez -1 significa infinito (infinito até remover o anel) em azul é o dano que vc toma a cada tempo (lembre-se de deixar sempre um - na frente se não ele vai adicionar vida) em verde é o tempo em que se perde vida.. nesse caso a cada 1 segundo e meio retira 500 de vida Bom, é isso.. um script simples mas que vai ajudar muita gente pelo fato de usar conditions não tão comuns e de uma forma diferente haha
  23. xWhiteWolf postou uma resposta no tópico em Scripts tfs 0.4 (OLD)
    Eu tava brincando de "vamos procurar uns scripts legais e tentar melhorá-los" e eis que eu me deparei com duas spells muito legalzinhas num forum americano e decidi editá-las pra que elas funcionassem em conjunto. Feito isso eu acabei criando o seguinte sistema de combos: O cara solta a primeira spell e ele tem 5 segundos pra soltar a segunda spell, NÃO É POSSÍVEL UTILIZAR A SEGUNDA SPELL SEM TER USADO A PRIMEIRA ANTES e se o player tentar usar a primeira spell novamente nesses 5 segundos ele vai perder 15% de vida.... só se atentem ao fato de que a segunda magia deve ser bem mais forte que a primeira pra coisa ter graça. Primeiro de tudo crie dois scripts chamados kaesar7.lua e kaesar9.lua em kaesar7.lua adicione o seguinte: e em kaesar9.lua adicione o seguinte: e em spells.xml adicione: <instant name="Implode" words="knight implode" lvl="120" mana="200" prem="1" blockwalls="1" exhaustion="1000" needlearn="0" event="script" value="attack/kaesar9.lua"> <vocation id="4"/> <vocation id="8"/> </instant> <instant name="Explode" words="knight explode" lvl="120" mana="200" prem="1" blockwalls="1" exhaustion="1000" needlearn="0" event="script" value="attack/kaesar7.lua"> <vocation id="4"/> <vocation id="8"/> </instant> Bom, ambos scripts são complexos mas as edições são bem parecidas com qualquer outra magia. No script 1 vc pode editar aqui: local stepDelay = 75 --- tempo entre um e outro.. quanto menor mais rápido a magia sai local spins = 2 --- numero de voltas que vai dar antes de explodir local percent = 15 --- porcentagem de vida que perde caso use a spell 2x seguidas Créditos: 90% pro Colandus (o cara que fez os scripts) 10% pra mim por ter editado tudo e feito as magias serem dependentes
  24. xWhiteWolf postou uma resposta no tópico em Suporte Tibia OTServer
    depende ué, como vc gostaria que esse sistema fosse? Dá pra fazer uma sala com os itens à mostra e na frente de cada item uma alavanca, daí tem uma placa falando os preços de cada item e qnd vc clica na alavanca, se vc tiver a quantidade de moedas ele te dá o item
  25. todo item que vc editar no items.xml pra dar atributos vc tem que adicioná-lo no movements.xml (caso não esteja declarado) <movevent type="Equip" itemid="6531" slot="head" level="10" event="function" value="onEquipItem"> </movevent> <movevent type="DeEquip" itemid="6531" slot="head" event="function" value="onDeEquipItem"/> itemid é o id do item, slot é o tipo de slot que o item deve ocupar pra ativar os bonus.. nesse caso ele ativa qnd vc colocar o item 6531 no slot de head (cabeça); O level pra usar o item é 10

Informação Importante

Confirmação de Termo