Ir para conteúdo

xWhiteWolf

Héroi
  • Registro em

  • Última visita

Tudo que xWhiteWolf postou

  1. tá escrito em cima ué Se o player tiver acesso 3 ou maior não aparece a mensagem pros outros players de que ele está dando look.
  2. esse problema começou depois que vc usou isso que eu falei ou ja tinha antes? Só arruma isso daqui pra evitar erros: if getCreatureSpeed(cid) < getCreatureBaseSpeed(cid) then local delta = ( (getCreatureBaseSpeed(cid)) - (getCreatureSpeed(cid)) ) doChangeSpeed(cid, delta) end
  3. xWhiteWolf postou uma resposta no tópico em Scripts tfs 0.4 (OLD)
    a skill ser imediata tiraria a graça da spell e se for pra fazer um sqm antes ainda seria possível atravessar portas porque o teleporte seria no tile mais próximo em volta do player
  4. xWhiteWolf postou uma resposta no tópico em Suporte Tibia OTServer
    local config = { showGamemasters = getBooleanFromString(getConfigValue('displayGamemastersWithOnlineCommand')) } function onSay(cid, words, param, channel) local players = getPlayersOnline() local strings = {""} local i, position = 1, 1 local added = false for _, pid in ipairs(players) do if(added) then if(i > (position * 7)) then strings[position] = strings[position] .. "," position = position + 1 strings[position] = "" else strings[position] = i == 1 and "" or strings[position] .. ", " end end if((config.showGamemasters or getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_GAMEMASTERPRIVILEGES) or not getPlayerCustomFlagValue(pid, PLAYERCUSTOMFLAG_GAMEMASTERPRIVILEGES)) and (not isPlayerGhost(pid) or getPlayerGhostAccess(cid) >= getPlayerGhostAccess(pid))) then strings[position] = strings[position] .. getCreatureName(pid) .. "" i = i + 1 added = true else added = false end end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[PokeLute] ".. (i - 1) .. " player(s) online:") return true end ou se vc não se incomodar de aparecer os gamemaster na lista de players onlines: function onSay(cid, words, param, channel) local players = getPlayersOnline() doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[PokeLute] ".. (#players) .. " player(s) online:") return true end
  5. vai em creaturescripts\scripts\login.lua e antes do último return true adiciona isso: if getCreatureSpeed(cid) ~= getCreatureBaseSpeed(cid) then local delta = ( (getCreatureBaseSpeed(cid)) - (getCreatureSpeed(cid)) ) doChangeSpeed(cid, delta) end
  6. preciso antes que vc me explique como isso se dá, o player desloga e quando loga novamente ele ainda está montado na bike ou ele loga desmontado?
  7. @Sr.Samuel, essa mensagem não tem nenhum fundamento com relação ao tópico, portanto isso é considero FLOOD! Dê uma olhada nas regras do fórum. @Topic Isso que vc tá pedindo é bem dificil de fazer, seria um onStatsChange que retornaria false e por funções removeria vida de um terceiro player que seria o "Target", certo? Eu só não entendi essa sua lógica de 30 segundos enfeitiçado e 10 segundos pra usar de novo, isso poderia dar um bug satânico no seu servidor porque se um cara for enfeitiçado duas vezes ele vai obviamente crashar o seu servidor;
  8. function onLook(cid, thing, position, lookDistance) if not isCreature(thing.uid) then local house = getHouseFromPos(position) if house then local article = thing.type > 1 and thing.type.." " or getItemArticleById(thing.itemid)..(getItemArticleById(thing.itemid) == "" and "" or " ") local plural = getItemPluralNameById(thing.itemid) == "" and getItemNameById(thing.itemid).."s" or getItemPluralNameById(thing.itemid) local desc = getItemSpecialDescription(thing.uid) == "" and "" or getItemSpecialDescription(thing.uid).." " local str = "You see "..(article)..""..(thing.type > 1 and plural or getItemNameById(thing.itemid))..". "..desc..".\nPertence à casa '"..getHouseName(house).."'." if getHouseOwner(house) ~= 0 then str = str.." ".. getPlayerNameByGUID( getHouseOwner(house) ).." é dono dessa casa." else str = str.." Ninguém é dono dessa casa. Ela custa "..getHousePrice(house).." dólares." end if getPlayerAccess(cid) > 2 then str = str.."\nItemID: ["..(thing.itemid).."]" if thing.actionid > 0 then str = str..", ActionID: ["..(thing.actionid).."]" end if thing.uid < 65536 then str = str..", UniqueID: ["..(thing.uid).."]" end str = str..".\nPosition: [X: "..(getThingPos(thing.uid).x).."] [Y: "..(getThingPos(thing.uid).y).."] [Z: "..(getThingPos(thing.uid).z).."]." end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, str) return false end end return true end deve resolver
  9. Linha 37: local p = Player(t[2]) vc tá chamando uma coisa que não existe.. em nenhum momento foi definido nenhuma tabela chamada Players.. então vc tem que remover isso, ficando só assim: local p = t[2]
  10. entendi mas isso não vai resolver o problema porque os players ainda poderão morrer ou dar exit.. o jeito é fazer com que sempre que eles loguem seja checado a velocidade, se for diferente doque a velocidade anterior então seta a velocidade anterior.. igual vc fez aqui:
  11. a função é a doBroadcastMessage, as cores pra essa função são essas daqui: TALKTYPE_FIRST = 1 TALKTYPE_WHISPER = 2 TALKTYPE_YELL = 3 TALKTYPE_PRIVATE_PN = 4 TALKTYPE_PRIVATE_NP = 5 TALKTYPE_PRIVATE = 6 TALKTYPE_CHANNEL_Y = 7 TALKTYPE_CHANNEL_W = 8 TALKTYPE_RVR_CHANNEL = 9 TALKTYPE_RVR_ANSWER = 10 TALKTYPE_RVR_CONTINUE = 11 TALKTYPE_BROADCAST = 12 TALKTYPE_CHANNEL_RN = 13 TALKTYPE_PRIVATE_RED = 14 TALKTYPE_CHANNEL_O = 15 TALKTYPE_CHANNEL_RA = 17 TALKTYPE_MONSTER = 19 TALKTYPE_MONSTER_YELL = 20 não sei se tem verde, vai testando todas e vê qual vc prefere
  12. @CreatServer, onde está escrito createConditionObject(CONDITION_POISON) troca esse CONDITION_POISON POR CONDITION_FIRE @lucasalsre, eu estudo então tenho pouquíssimo tempo pra jogar, meu nick é xWhiteWolf mas eu sou um mero nv 14 auhuhauh (e bem noob). Sobre o seu pedido, bem, não é possível pelo simples fato de que a aranha na verdade é um monstro (Na realidade até é possível mas ia ter que refazer o script todo e é muito capaz de no final eu chegar num bug ou em alguma coisa que invalida o script porque precisaria teleportar a creatura na direção que vc tá olhando e isso iria requerer um addEvent mas qnd ela explodisse ia remover a criatura e o addEvent ia bugar infinito)
  13. como é a vip no seu server, é por premium? por database? por storage?? tem a função isVip(cid)? eu tinha lido errado haha o jeito que a AnaPaula falou resolve o problema!
  14. olha, essas coisas de nao poder deslogar não impedem o player de sair do jogo quando morrer e nem de dar quit.. é só fazer um creaturescripts onLogout retornando false
  15. como assim no monstro? da uma explicada melhor noque ela faz ou posta uma imagem/gif que to sem ter como testar
  16. Olá, desculpa a demora pra responder haha. vc tem que colocar -1 no lugar dos 1's kkk é que a função de formula do ml retorna um valor positivo e daí a vida é curada, tem que ser um valor negativo pra tirar dano
  17. tá, mas tipo.. posta o script aqui pra mim ver
  18. eu não tenho um server pra testar, eu fiz esse script meio que às cegas e postei aqui.. pra retirar o dano em área é só colocar assim: --[[Script made 100% by Night Wolf and Nogard do not remove the fucking credits or I may kill you and practice necrofily with your filthy body]] --condição que irá adicionar local gelocondition = createConditionObject(CONDITION_PARALYZE) setConditionParam(gelocondition, CONDITION_PARAM_TICKS, 10000) setConditionFormula(gelocondition, -0.9, 0, -0.9, 0) ------- local config = { itemid = 7897, --id do item que deverá ser equipado para ativar o gelo place = 4, --posição que o item deve estar para funcionar, cheque na tabela abaixo percent = 5, --se vc quiser 20%, coloque 5 pois 1/5 = 0,2 (20%) valorvida = 300 --quanto deve ser o valor minimo de vida a perder para executar o script } local head = { itemid = 7902, place = 1 } local legs = { itemid = 7896, place = 7 } local boots = { itemid = 7892, place = 8 } local necklace = { itemid = 7888, place = 2 } --[[ Tabela de places possíveis CONST_SLOT_HEAD (1) = helmet CONST_SLOT_NECKLACE (2) = necklace slot (amulet of loss etc.) CONST_SLOT_BACKPACK (3) = backpack, bag CONST_SLOT_ARMOR (4) = armor CONST_SLOT_LEFT (5) = left hand (its really hand placed >> (right page on screen)) CONST_SLOT_RIGHT (6) = right hand (its really hand placed << (left page on screen)) CONST_SLOT_LEGS (7) = legs CONST_SLOT_FEET (8) = boots CONST_SLOT_RING (9) = ring slot CONST_SLOT_AMMO (10) = ammo slot (arrows etc.)]] ----------------------------------------------- function canEffect(pos, pz, proj) -- Night Wolf based on Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTilePzInfo(pos) and not pz then return false 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 onStatsChange(cid, attacker, type, combat, value) if (getPlayerSlotItem(cid, config.place).itemid == config.itemid) then if type == STATSCHANGE_HEALTHLOSS and value >= config.valorvida then if math.random (1,config.percent) == 1 then local pos = getPlayerPosition (cid) local effectPositions = { {x = pos.x, y = pos.y - 2, z = pos.z}, {x = pos.x, y = pos.y + 2, z = pos.z}, {x = pos.x - 2, y = pos.y, z = pos.z}, {x = pos.x + 2, y = pos.y, z = pos.z}, {x = pos.x - 2, y = pos.y - 1, z = pos.z}, {x = pos.x + 2, y = pos.y - 1, z = pos.z}, {x = pos.x + 2, y = pos.y + 1, z = pos.z}, {x = pos.x - 2, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y - 2, z = pos.z}, {x = pos.x + 1, y = pos.y - 2, z = pos.z}, {x = pos.x + 1, y = pos.y + 2, z = pos.z}, {x = pos.x - 1, y = pos.y + 2, z = pos.z} } local conditionPositions = { {x = pos.x, y = pos.y - 2, z = pos.z}, {x = pos.x, y = pos.y + 2, z = pos.z}, {x = pos.x - 2, y = pos.y, z = pos.z}, {x = pos.x + 2, y = pos.y, z = pos.z}, {x = pos.x - 2, y = pos.y - 1, z = pos.z}, {x = pos.x + 2, y = pos.y - 1, z = pos.z}, {x = pos.x + 2, y = pos.y + 1, z = pos.z}, {x = pos.x - 2, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y - 2, z = pos.z}, {x = pos.x + 1, y = pos.y - 2, z = pos.z}, {x = pos.x + 1, y = pos.y + 2, z = pos.z}, ---- {x = pos.x, y = pos.y - 1, z = pos.z}, {x = pos.x, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y, z = pos.z}, {x = pos.x + 1, y = pos.y, z = pos.z}, {x = pos.x - 1, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y - 1, z = pos.z}, {x = pos.x + 1, y = pos.y - 1, z = pos.z}, {x = pos.x + 1, y = pos.y + 1, z = pos.z}, ------ {x = pos.x - 1, y = pos.y + 2, z = pos.z} } if isCreature(cid) == TRUE then for _, cPos in ipairs(conditionPositions) do local mob = getTopCreature(cPos).uid if canEffect (cPos) and mob ~= 0 and isMonster(mob) then doAddCondition(mob, gelocondition) end if (getPlayerSlotItem(cid, head.place).itemid == head.itemid) and (getPlayerSlotItem(cid, legs.place).itemid == legs.itemid) and (getPlayerSlotItem(cid, boots.place).itemid == boots.itemid) and (getPlayerSlotItem(cid, necklace.place).itemid == necklace.itemid) then if canEffect (cPos) then doSendMagicEffect(cPos, 43) end end end for _, ePos in ipairs(effectPositions) do if canEffect(ePos) then doSendMagicEffect(ePos, 41) end end else end else end return true else end return true end return true end se possível testa pra mim e coloca o resultado aqui que eu analiso mas acredito que não dá PK não por ser por função de add condition e não de fazer combat condition
  19. as quests de 4 players só teleportam o player da posição mais alta, logo os invisíveis não serão teleportados ou serão no lugar dos outros players. Pra mudar isso de atravessar enquanto tá invisível só mexendo nas sources mesmo e eu não faço a mínima idéia de como fazer isso.
  20. xWhiteWolf postou uma resposta no tópico em Scripts tfs 0.4 (OLD)
    Olá, desculpa a demora pra responder.. eu tinha viajado esse fds e fiquei sem computador. Receio que não seja possível não, e tem um motivo pra isso! É que nem a ult da catlyn no league of legends, não importa pra onde o player fuja ele vai ser acertado pela spell. Lembre-se que ela foi usada antes dele entrar na pz e se ela demora pra ser ativada não teria porque cancelar caso o oponente entra-se na pz. Sobre as portas: bem, isso realmente é um problema mas não consigo pensar em uma solução possível :/
  21. no caso de fazer com piso vc escolheria um action ou uniqueid, e não pelo itemid.
  22. então o problema é com a sua função vip o.O porque aqui funcionou perfeitamente, quando ele entra e não é vip ele checa se tem o [VIP] no nome e se tiver ele remove e faz o player relogar, daí vc tem que dar cancel e colocar login e senha de novo que aparece sem o [VIP]
  23. a função que manda mensagem, qual que é?

Informação Importante

Confirmação de Termo