Ir para conteúdo
  • Cadastre-se

Lyu

Membro
  • Total de itens

    459
  • Registro em

  • Última visita

  • Dias Ganhos

    18

Tudo que Lyu postou

  1. Olá, você reviveu um tópico muito antigo (acho que é contra as regras, não sei). Mas eai, você teve interesse nesse script? Ele é antigo, eu era inexperiente, mas caso queira uma versão atual(melhorada), aqui está:
  2. local config = { max = 5, group_id = 1 } local accepted_ip_list = {} local function antiMC(p) if #getPlayersByIp(getPlayerIp(p.pid)) >= p.max then return false end return true end function onLogin(cid) if getPlayerGroupId(cid) <= config.group_id then if isInArray(accepted_ip_list,doConvertIntegerToIp(getPlayerIp(cid))) == false then return antiMC({pid = cid, max = config.max+1}) end end return true end <event type="login" name="AntiMC" event="script" value="antimc.lua"/> É em creaturescripts. Você configura em max o número máximo de
  3. Execute isso em sua database! CREATE TABLE IF NOT EXISTS `players_online` ( `player_id` int(11) NOT NULL, PRIMARY KEY (`player_id`) ) ENGINE=MEMORY;
  4. Se sua source for 0.3.7 ou 0.4 talvez eu possa lhe ajudar.
  5. em config.lua, procure por classicEquipmentSlots e mude para false.
  6. Coffee is life! ☕

  7. Utilize a Interface Raid, é exatamente o que você precisa. Talvez você encontre exemplos de como fazer em data/raids.
  8. Na datapack dos TFS atuais, em compat.lua, tem funções para trabalhar com TFS antigos, veja um exemplo : function getCreatureName(cid) local c = Creature(cid) return c ~= nil and c:getName() or false end Nesse caso, pode até rodar se o script for simples, mas o recomendado é fazer a conversão aplicando metamethods para rodar 100%.
  9. @KotZletY Ele já conseguiu o conteúdo pelo Discord, @VitorSubhi ajudou ele, acho que já podes considerar o tópico como resolvido. Para os que veio aqui atrás do mesmo conteúdo, irei deixar uma versão minha abaixo para TFS 0.3.7/0.4. data/npc/Neil.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="Neil" script="neil.lua" walkinterval="2000" skull="green" floorchange="0"> <health now="100" max="100"/> <look type="128" head="0" body="105" legs="105" feet="0" addons="0"/> <parameters> <parameter key="message_greet" value="Olá |PLAYERNAME|. E
  10. Testa ai function onLook(cid, thing, position, lookDistance) if isPlayer(thing.uid) then local k = getPlayerMarriage(getPlayerGUID(thing.uid)) if k then doPlayerSetSpecialDescription(thing.uid, (cid and "yourself" or getCreatureName(thing)) .. "[".. getPlayerLevel(thing) .."]. " .. (thing.uid == cid and "You are" or (getPlayerSex(thing.uid) == 0 and "She" or "He") .. " is") .. " Casado com [" .. getPlayerNameByGUID(k) .."]") end end return true end
  11. tem que ver se o player não possui a storage referente, senão ele não recebe. Porque reparei aqui que está bloqueado para receber as skulls somente uma vez (storage), a não ser que, esteja manipulando essa storage a partir de outro script.
  12. Procurei a função aqui, não testei, mas adicione-a em data/lib/050-function.lua e veja se resolve o seu problema. function getPlayerFrags(cid) local time = os.time() local times = {today = (time - 86400), week = (time - (7 * 86400))} local contents, result = {day = {}, week = {}, month = {}}, db.getResult("SELECT `pd`.`date`, `pd`.`level`, `p`.`name` FROM `player_killers` pk LEFT JOIN `killers` k ON `pk`.`kill_id` = `k`.`id` LEFT JOIN `player_deaths` pd ON `k`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `pk`.`player_id` = " .. getPlayerGUID(cid) ..
  13. sim, é possível! Da pra fazer uma tag pro XML na source. Edit : outra forma mais fácil segue abaixo.. data/spells/scripts/support/challenge.lua : local list = {'Dragon', 'Dragon Lord'} local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED) local area = createCombatArea(AREA_SQUARE1X1) setCombatArea(combat, area) function onTarget(cid, target) for k, v in ipairs(list) do if getCreatureName(target) == v then return end end return doChallengeCreature(cid, target) end setCombatCallback(combat, CALLBACK_PARAM
  14. se quiser que eu dê uma olhada mais de perto, me adiciona no Discord (ta no meu perfil) que lhe ajudo mais tarde. Deve ser algo que vc esteja errando. *Edit: Resolvido, o código está 100%!
  15. Quanto tá o seu CASTEXP_PERCENT lá em data/lib/lib-castexp.lua?
  16. @Jobs que estranho! Coloquei o código sem os bugs no pastebin talvez funcione dessa vez, copie e cole la no seu arquivo : https://pastebin.com/gVn7BtzV
  17. Agora provavelmente é um bug no código, vi aqui é no último end. Apague o end e escreva novamente. *edit : no começo abaixo de function também te um bugzinho, apaga tb. *edit2: pra aparecer esses simbolos, só mudar a encoding para ANSI no Notepad++
  18. esse é o onGainExperience completo? Se sim, tenta assim : function Player:onGainExperience(source, exp, rawExp) if not source or source:isPlayer() then return exp end if CASTEXP[self:getName()] then if CASTEXP[self:getName()] <= os.time() then exp = (exp * CASTEXP_PERCENT) + exp self:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'Voce recebeu mais experiencia por manter o cast aberto.') end end return exp end
  19. Da uma olhadinha em data/events/events.xml e veja se o evento onGainExperience está ativado. <event class="Player" method="onGainExperience" enabled="1" /> Testei com o protocolo 8.60 e funcionou direitinho aqui rs
  20. Opa, olha eu aqui de novo xD testa ai: local walls = {1058, 9119, 10180, 1039} function onUse(cid, item, _, itemEx) local tmp = {} for _, v in ipairs(walls) do tmp[v] = #walls == _ and '_last' or walls[_ + 1] end local wall = tmp[itemEx.itemid] if not wall then return false end if wall == '_last' then doRemoveItem(itemEx.uid, 1) else doTransformItem(itemEx.uid, tmp[itemEx.itemid]) end return doRemoveItem(item.uid, 1) end
  21. O problema do cast é porque não está recebendo broadcast, por isso fica congelado.
  22. https://github.com/mattyx14/otxserver/tree/otxserv2 https://github.com/mattyx14/otxserver/tree/otxserv3
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo