Ir para conteúdo
Banner com Efeitos

xWhiteWolf

Héroi
  • Registro em

  • Última visita

Tudo que xWhiteWolf postou

  1. substitui o script por esse daqui.. --[[Script made 100% by Nogard and Night Wolf. You can feel free to edit anything you want, but don't remove the credits]] local config = { minlevel = 150, --- level inical para resetar price = 10000, --- preço inicial para resetar newlevel = 20, --- level após reset priceByReset = 0, --- preço acrescentado por reset percent = 100, ---- porcentagem da vida/mana que você terá ao resetar (em relação à sua antiga vida total) levelbyreset = 0 --- quanto de level vai precisar a mais no próximo reset } --- end config function addReset(uid) resets = getResets(uid) setPlayerStorageValue(uid, 378378, resets+1) doTeleportThing(uid, getTownTemplePosition(getPlayerTown(uid))) local hp = getCreatureMaxHealth(uid) local resethp = hp*(config.percent/100) setCreatureMaxHealth(uid, resethp) local differencehp = (hp - resethp) doCreatureAddHealth(uid, -differencehp) local mana = getCreatureMaxMana(uid) local resetmana = mana*(config.percent/100) setCreatureMaxMana(uid, resetmana) local differencemana = (mana - resetmana) doCreatureAddMana(uid, -differencemana) doRemoveCreature(uid) local description = resets+1 db.executeQuery("UPDATE `players` SET `description` = ' [Reset: "..description.."]' WHERE `players`.`id`= ".. playerid .."") db.executeQuery("UPDATE `players` SET `level`="..config.newlevel..",`experience`= 0 WHERE `players`.`id`= ".. playerid .."") return true end function getResets(uid) resets = getPlayerStorageValue(uid, 378378) if resets < 0 then resets = 0 end return resets end 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 creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local newPrice = config.price + (getResets(cid) * config.priceByReset) local newminlevel = config.minlevel + (getResets(cid) * config.levelbyreset) if msgcontains(msg, 'reset') then if getResets(cid) == resets then selfSay('You want to reset your character? It will cost '..newPrice..' gp\'s!', cid) talkState[talkUser] = 1 else selfSay('I couldnt acess your bank of acess!', cid) end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if getPlayerMoney(cid) < newPrice then selfSay('Its necessary to have at least '..newPrice..' gp\'s for reseting!', cid) elseif getPlayerLevel(cid) < newminlevel then selfSay('The minimum level for reseting is '..newminlevel..'!', cid) else doPlayerRemoveMoney(cid,newPrice) playerid = getPlayerGUID(cid) addEvent(addReset, (5*1000), cid) local number = getResets(cid)+1 local msg ="---[Reset: "..number.."]-- You have reseted! You'll be disconnected in 5 seconds." doPlayerPopupFYI(cid, msg) talkState[talkUser] = 0 end talkState[talkUser] = 0 elseif(msgcontains(msg, 'no')) and isInArray({1}, talkState[talkUser]) == TRUE then talkState[talkUser] = 0 selfSay('Ok.', cid) elseif msgcontains(msg, 'quantity') then selfSay('You have a total of '..getResets(cid)..' reset(s).', cid) talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) obrigado por avisar, vou arrumar o tópico principal tb
  2. trabalha com uma dessas checagens http://www.lua.org/pil/22.1.html
  3. vc acabou de dizer a função o.O getItemText(uid)
  4. ^ acho que vai ser dificil ele postar todas as magias de knight
  5. @xarles, isso é considerado flood. Se você não tem nada a dizer que vá acrescentar algo ao tópico, apenas fique quieto. @Topic: me manda um vídeo ou faz um desenho que eu tento fazer
  6. To sem net no pc... to respondend8 pelo tablet e sem condições de programarnpelo tablet
  7. xWhiteWolf postou uma resposta no tópico em Scripts tfs 0.4 (OLD)
    Creaturescripts/scripts/login.lua
  8. xWhiteWolf postou uma resposta no tópico em Scripts tfs 0.4 (OLD)
    Deleta a linha um e reescreve ela
  9. eita, dá algum erro no console? Era pra parar o evento ao remover o anel... qual a versão do seu TFS?
  10. é tranquilo, dps faço pra ti.. to sem net no pc de casa e tá complicado criar coisas novas por conta disso
  11. O problema foi que vc tava usando o getglobal do v... eu havia dito que era no index! O v só existe dentro do for. Em todo caso se a dúvida foi resolvida, apenas clique em "melhor resposta" pra deixar como resolvido e clique em gostei nos comentários de quem te ajudou.
  12. Só fazer um creaturescript onAdvance que coloca o storage e adiciona o mesmo evento se baseando na vocação, igualzinho no script da action... eu faria pra vc mas to sem pc, to digitando pelo tablet...
  13. Só colocar os mesmos ids nas armas ali na parte da spell haha. Espero ter ajudado ;]
  14. xWhiteWolf postou uma resposta no tópico em Scripts tfs 0.4 (OLD)
    Onde está cooldown = 180, apenas coloque cooldown = 15
  15. Ganhar oque, a aura ou o crystal?
  16. eu criei uma função que faz esse tipo de coisa, testa aí e me fala se funciona: function hasGroundInDistance(cid, distance, tablegrama) local checker = {} -- deixe assim local pos = getThingPos(cid) for i = -distance, distance do for j = -distance, distance do local position = {x = pos.x + i, y = pos.y + j, z = pos.z, stackpos = 0} if i ~= 0 or j ~= 0 then local grama = getThingFromPos(position).itemid for k = 1, #tablegrama do if tablegrama[k] == grama then table.insert(checker, 1) end end end end end if distance >= 1 then local total = 0 for x = 1, distance do number = x * 2 + 1 t = (number * 2) + (2* (number-2)) total = total + t end end return (#checker == total and true or false) end pra usar vc precisa colocar isso daí tudo que tá no spoiler no começo do script e quando quiser saber se o player está cercado por grama/agua/lava/etc. vc faz: local itemid = {todos os ids do piso que vc quer analisar} local distancia = 1 -- distancia a ser analisada.. como vc quer só 1 sqm da posição do player a distancia é 1. if hasGroundInDistance(cid, distancia, itemid) thenfaz isso end Se vc quisesse a seguinte area abaixo: Você colocaria distancia = 2. Bom, espero ter ajudado PS : minha internet quebrou e to pelo tablet. no Lugar de local total = 0 coloca só total = 0
  17. sim, se não me engano se vc colocar aquele uniqueid do actions vc também consegue ganhar a aura independente do item que tenha o uniqueid mas isso eu não cheguei a testar. Coloca os items normais no mapa e faz uma action de uma alavanca pra cada gema e esconde essa alavanca em algum lugar e que quando você clicar nela, se não tiver a pedra no lugar ele cria ela.
  18. local times = { [1] = globalStorage do time1, [2] = globalStorage do time2, [3] = globalStorage do time3, ​[4] = globalStorage do time4 } local minor = getGlobalStorageValue(times[1]) -- seta um valor inicial for _, v in pairs (times) do if getGlobalStorageValue(v) <= minor then minor = getGlobalStorageValue(v) index = v end end colocar o player no time cujo globalStorage seja (v) e setar o global storage do v e o valor de minor como sendo o atual + 1 essa é a melhor lógica que você pode usar pra qualquer quantidade de times. É ainda melhor até que ternário.
  19. 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: "Diversos → Gráficos → Galerias → Galeria Design Geral" Para: "OTServ → Spriting OTServ → Show Off"
  20. 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 → Downloads → Servidores Derivados" Para: "OTServ → Suporte OTServ → Suporte de Servidores Derivados"
  21. acompanhando... tem potencial.
  22. sim, é possível. Vai até 256 porque o tibia separa 1 byte de informação pra guardar os efeitos. Pra ter mais que isso vc precisaria editar praticamente tudo e acho realmente dificil vc achar alguém que saiba fazer isso e esteja disposto a ensinar. Lembrando que 1 byte = 8 bits e bits contém 0's e 1's. Logo 2^8 = 256 (numero de efeitos possíveis). Como a contagem começa do efeito 0 o último que temos é de fato o 255. Espero ter resolvido sua dúvida. Vou colocar o tópico como resolvido por razões já apresentadas, se tiver mais alguma dúvida pode comentar aqui. Edit: Muitas das coisas no Tibia contém exatamente 1 byte de informação, portanto, é correto dizer que 256 é um número cabalístico no mundo do Tibia haha. 256 também são as cores que você utilizar.. O tibia inicialmente possuia 1 byte pra armazenar os outfits mas como isso não foi suficiente eles separaram mais 1 bit, aumentando a quantidade de outfits no jogo de 256 pra 512. Não sei se as versões mais atuais trabalham com 10 bits mas acho dificil porque é informação pra caralho KKKK Se tiver vontade de se aprofundar no assunto você pode conferir esse pdf de uma aula da Universidade Federal do ABC sobre a natureza da informação clicando >aqui<
  23. xWhiteWolf postou uma resposta no tópico em Playground (Off-topic)
    eita porra

Informação Importante

Confirmação de Termo