Ir para conteúdo

xWhiteWolf

Héroi
  • Registro em

  • Última visita

Tudo que xWhiteWolf postou

  1. @Danihcv, dessa forma que vc fez vai dar erro na lista de players porque pensa cmg: vc tá adicionando e removendo valores de uma tabela indefinidamente e toda vez que vc tirar um valor a tabela inteira vai ter um index menor a partir do index removido: local tb = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} se eu removo o 3 o tb[3] vai passar a ser 4 e assim sucessivamente. Pra fazer essa spell vc pode salvar o x num storage, o y num outro e o z num último storage e aí mandar pra uma posição e setar um storage ativo, se o valor do storage ativo for 1 e usar dnv ele manda pra posiçao onde x, y e z são os valores dos storages x, y e z; Não sei se ficou muito superficial essa explicação mas é uma das formas de fazer.
  2. xWhiteWolf postou uma resposta no tópico em Playground (Off-topic)
    feliz ano novo pra vc tb.. espero que nenhum de vcs estrague a ceia hahaheuahuhue
  3. vamos analisar o erro que deu: [24/12/2014 17:18:36] (luaDoRemoveItem) Item not found ele tentou remover o item mas não havia item. Pra resolver isso vc precisa fazer duas coisas bem simples, pegar o uid do item coletado (não sei se a função já faz isso automaticamente) e fazer a checagem se aquele uid é válido. ficaria assim sem o callback: for posx = 490,496 do -- checar posição X, começo e final da sala for posy = 498,503 do -- checar posicao Y, começo e final da sala local pos = {x=posx, y=posy, z=5} local limpar = getTileItemById(pos, 1739) if limpar > 0 then doRemoveItem(limpar.uid) end end end se der erro só coloca ali na checagem if limpar.uid > 0 then
  4. xWhiteWolf postou uma resposta no tópico em Scripts tfs 0.4 (OLD)
    ^ vc precisa ter a função isWalkable, é a primeira função da minha lib. só coloca antes de function onCastSpell: local 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
  5. vc ao menos testou?
  6. to seguindo o tópico, dps eu faço qnd voltar de viagem
  7. o foda é que usar magias remove mana e daí ativaria o dodge. Mas eu vou dar uma olhada melhor qnd eu voltar de viagem.. até tinha esquecido disso
  8. xWhiteWolf postou uma resposta no tópico em Websites
    Negativado, não quero mais ver esse tipo de atitude. Se tiver alguma crítica pra fazer, que seja uma construtiva.. do contrário, guarde pra você.
  9. tem um jeito específico de fazer isso usando a função getTileItemById (não lembro se é exatamente esse nome agr). Você vai alterando uma pos dentro de dois fors que vão ser responsáveis pelo range da área, e daí vc usa essa função pra pegar o uid do item que vc quer remover pra dps usar doRemoveItem. Eu to viajando agora (devo voltar lá pra fevereiro só :/) to no note do meu padrasto mas qnd eu chegar se ainda não tiver resolvido eu faço pra você um métodozinho pra remover itens em uma area
  10. a função getCreatureSummons(cid) retorna uma tabela com todos os uids dos summons do player cid. o [1] serve pra indiciar que é o primeiro summon da tabela
  11. local pos = {x = 507, y = 500, z = 5} pid = getTopCreature(pos).uid if pid > 0 then doRemoveCreature(pid) end se der erro tira o .uid. Isso daí vc coloca em qualquer lugar que quiser (actions,movements, etc)
  12. 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 Servidores Derivados"
  13. O problema era aqui: essa tag indica que o player sempre vai soltar a magia em si mesmo. Se você queria que ela seguisse a direção deveria ter usado direction="1" ou casterTargetOrDirection="1" (sendo que essa segunda solta a magia sempre no target e caso não haja ele solta na sua frente (igualzinho aos exori de sorcerer).
  14. manda como está no spells.xml
  15. 1º Abra uma spell do seu server que dê dano 2º Abra esse script da spell que não dá dano, vou chamá-las de spells 1 e 2 respectivamente. 3º Na spell 1 copie a fórmula de dano 4º Substitua na spell 2, dê reload no spells e teste. Caso dê erro poste aqui como vc deixou.
  16. abre uma spell que dê dano e troca essa parte do seu script local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -110, -17, -10, -30, 6, 6, 2.2, 2.8) pela parte da spell que dá dano.
  17. o char se mova 3 sqm's mudando o outfit para ''x'' e causando dano por onde passar lembrando que se tiver algum player na direçao o char atravessa ele se a caso ser impossivel de atravessar o player ele pare na frente e cause o dano. da uma explicada melhor nessa parte, o char escolhe pra onde vai ou é sempre pra frente/direção que tá olhando? O char é obrigado a se mover ou ele pode escolher andar/não andar? Dano que ele causa é no sqm atrás de onde ele andar ou em volta?
  18. tenta trocar por esse daqui:
  19. serio que vcs vão continuar floodando? Tudo isso é vontade de passar o natal fora do tk?
  20. formata pra ansi, se o erro persistir deleta a primeira linha e reescreve ela
  21. Aqui deu tudo certinho, o script final ficou assim e pra usar vc digita /cargo nome do player, cargo (tutor/gm/cm/adm) Criei um char chamado Ggizi e usei com o meu GOD ​/cargo Ggizi, adm deu tudo certinho.. uso TFS 0.3.6 tibia 8.54. Se não dá nenhum erro fica não dá pra dizer que é incompatibilidade da versão;
  22. não, pode salvar como ansi mesmo mas em extensão lua, roda e me diz se tá dando algum erro agora..
  23. não, não é possível haha. Até porque o server crasha qnd cai e é impossivel executar qualquer coisa, inclusive saves emergências.
  24. local cargos = { ["tutor"] = {prefixNick = "[TUTOR]", group = 2}, ["gm"] = {prefixNick = "[GM]", group = 4}, ["cm"] = {prefixNick = "[GM]", group = 5}, ["adm"] = {prefixNick = "[ADM]", group = 6} } function onSay(cid, words, param, channel) local t = string.explode(param, ",") if param == "" or not tostring(t[1]) or not tostring(t[2]) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o nome do jogador e o nome do cargo que deseja atribuir à ele, separados por vírgula. Exemplo: /cargo Player, GM") end local p = getPlayerByNameWildcard(t[1]) if not p then return doPlayerSendCancel(cid, "Este player não está online, ou não existe.") end if not cargos[t[2]:lower()] then return doPlayerSendCancel(cid, "Cargo inexistente.") end ​local c = cargos[t[2]:lower()] db.executeQuery("UPDATE `players` SET `name` = '["..c.prefixNick.."] "..getCreatureName(p).."' WHERE `players`.`id`= "..getPlayerGUID(p).."") doPlayerSetGroupId(p, c.group) addEvent(function() if isPlayer(p) then doRemoveCreature(p, true) end end, 5 * 1000) doPlayerSendTextMessage(p, MESSAGE_STATUS_CONSOLE_BLUE, "Voce sera kikado em 5 segundos.") return true end testa agora

Informação Importante

Confirmação de Termo