Ir para conteúdo

xWhiteWolf

Héroi
  • Registro em

  • Última visita

Tudo que xWhiteWolf postou

  1. 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.
  2. 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"
  3. 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"
  4. acompanhando... tem potencial.
  5. 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<
  6. xWhiteWolf postou uma resposta no tópico em Playground (Off-topic)
    eita porra
  7. actions\scripts function isWalkable(pos, creature, proj, pz)-- by Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function onUse(cid, item, frompos, itemEx, topos) if isWalkable(topos, true, true, true) then doTeleportThing(cid, topos) addEvent(function() if isPlayer(cid) then doSendMagicEffect(getCreaturePosition(cid), 10) end end, 100) doSendMagicEffect(frompos, 10) else doPlayerSendCancel(cid, "This position is not reachable") end return false end e no actions.xml <action itemid="2379" script="kunai.lua" allowfaruse="1"/> Testado e funcionando em 8.54, vc só vai ter que garantir que não exista nenhum outro script usando esse mesmo id.
  8. local tempo = 180 -- tempo em segundos. local effect = {208} -- effect no player, caso queira apenas 1, basta remover os outros numeros. local ml = 30 -- quantos ira aumentar o skill de ML local skillfist = 55 -- quantos ira aumentar o skill de Fist local skillsword = 15 -- quantos ira aumentar o skill de Sword local skillaxe = 15 -- quantos ira aumentar o skill de Axe local skillclub = 55 -- quantos ira aumentar o skill de Club local skilldistance = 15 -- quantos ira aumentar o skill de Distance local skillshield = 15 -- quantos ira aumentar o skill de Shield local health = 80 -- A cada 1 segundo quantos aumentar de vida local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, ml) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, skillfist) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, skillsword) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, skillaxe) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, skillclub) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, skilldistance) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, skillshield) setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_SPEED, 250) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000) setCombatCondition(combat, condition) function magicEffect3(tempo2,tempo3,cid) if (isCreature(cid)) then if getPlayerStorageValue(cid, 102053) > 0 and getCreatureCondition(cid, CONDITION_REGENERATION, 1) then for i=1, #effect do local position = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} doSendMagicEffect(position, effect[i]) -- parte modificada local summons = getCreatureSummons(cid) if #summons > 0 then for k = 1, #summons do local pos = getCreaturePosition(summons[k]) local positions = {x = pos.x + 1, y = pos.y, z = pos.z} doSendMagicEffect(positions, effect[i]) end end -- fim da parte modificada end end end end function onCastSpell(cid, var) local position129 = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} if getPlayerStorageValue(cid, 102053) ~= 1 or getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false then doCombat(cid, combat, var) tempo2 = 0 while (tempo2 ~= (tempo*1000)) do addEvent(magicEffect3, tempo2, tempo2, tempo*1000, cid) tempo2 = tempo2 + 300 end setPlayerStorageValue(cid, 102053,1) -- storage verifica transformado, quando = 1 player esta transformado. doCreatureSay(cid, "Kyuubi Furie", TALKTYPE_MONSTER) doSendMagicEffect(position129, 130) else doPlayerSendCancel(cid, "Sorry, you are transformed.") end end deve resolver, só alterei a função pra funcionar com cada summon;
  9. escolha uma das versões e adicione num arquivo chamado stealth.lua em movements\scripts
  10. if os.time() - getPlayerStorageValue(cid,55342) > 0 then end só fazer assim que vai dar certo.
  11. o cristal não é um item de player, é um item grande.. os id's dele tão no actions.xml ali no spoiler, só ver e colocar. Qualquer action de apertar alavanca e criar item pode ser usada nesse sistema pra deixar ele mais bonito (tem várias aqui no tk, dá uma procurada);
  12. não mas é bem tranquilo.. só preciso que ele diga uma fórmula de dano que ele queira
  13. tá cara, mas pra que vc quer tirar a storage??? vc não tá respondendo as coisas que eu to te perguntando :/ fica dificil te ajudar assim... é muito mais simples colocar os.time() + o tempo e quando for fazer a checagem por outro script fazer os.time() - o valor do storage anterior.
  14. é só baixar, passar scan com antivirus e deletar o executável que fica tranquilo.. em todo caso agora já foi hahaha
  15. Amigo, submoderação é contra as regras... tome cuidado.
  16. mas você é muito preguiçoso viu... PS: eu apenas peguei os arquivos que vem no server "Mapa FoxWorld 1.0", os créditos são de quem fez. As spells são todas feitas pelo Jovial, é o script dele de meteor cast. O resto foi feito baseado no foxworld.
  17. que estranho.. nesse caso eu não sei de nada que possa resolver. Mesmo qnd vc reloga e loga dnv ainda continua recuperando como vip?
  18. local tab = { lvl = 300 } function onUse(cid, item, frompos, item2, topos) if getPlayerLevel(cid) <= tab.lvl then doTeleportThing(cid, topos) doSendMagicEffect(frompos, CONST_ME_MAGIC_BLUE) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Apenas players até o level "..tab.lvl.." podem entrar.") doSendMagicEffect(frompos, CONST_ME_POFF) end return true end testa agr
  19. esse script já está com exhaust entre um uso.. oque mais vc quer?
  20. xWhiteWolf postou uma resposta no tópico em Playground (Off-topic)
    discordo. Ser agnóstico é isso daí que você disse, ser ateu é acreditar na crença de que não existe nada. Ser ateu é ser cético ao ponto de não ter a mente aberta pra teorias que provavelmente estariam certas mas por não ter um embasamento científico bem definido (ainda) são descartadas. Se quiser que eu explique o porque eu penso assim me chama PM que eu te dou fortes argumentos que comprovam oque eu falei; Lembrando que isso daí eu estou considerando o Ateu e agnóstico teóricos, porque na realidade oque temos é muito diferente.. geralmente são uns adolescentes que não sabem nem 1% doque acontece na terra e querem ter opinião formada sobre assuntos esotéricos
  21. a cada up que vc der vai ser um dia a mais que eu vou demorar pra resolver isso pra ti. Eu já falei que vou fazer cara, para de ficar pressionando... já é o terceiro script que eu vou resolver pra você e eu te digo que não gosto de ser pressionado e você continua pressionando.. não vai haver uma próxima vez.
  22. posta aqui seu sistema que eu faço as alterações
  23. testa aí cara, não tem como a gente saber.. se não funcionar diga o erro que dá que a gente tenta arrumar.
  24. agora vai! haha
  25. existe uma função que faz isso que é a doCreatureSetNoMove(cid, cannotMove). Pra usar ela vc faz assim: doCreatureSetNoMove(uid, true) --- faz o cara não andar addEvent(doCreatureSetNoMove, segundos trapado * 1000, uid, false) --- faz o cara andar e vai ser executada depois de x segundos. Se eu quiser deixar o cara 15 segundos preso eu faço: e esse uid aí é o unique id da criatura que eu quero que seja trapada. Se for o cara que vai castar a spell vc troca uid por cid, se for um target vc faz local target = getCreatureTarget(cid) doCreatureSetNoMove(target, true) addEvent(doCreatureSetNoMove, 15 * 1000, target, false) Espero que tenha ajudado.

Informação Importante

Confirmação de Termo