Ir para conteúdo
Banner com Efeitos

Fabi Marzan

Membro
  • Registro em

  • Última visita

Tudo que Fabi Marzan postou

  1. em outros casos, o que causa exaustão ao usar açãos timeBetweenActions = 200 timeBetweenExActions = 1000 Se voce muda para 0, voce nao tera tanto exhausted, mas um exausto terá que ser colocado para a poção tipo de storage. Para abrir o bps ou mover as coisas enquanto você caminha. Em Sourcers: player.ccp Em void Player::onWalk(Direction& dir) você tem que deletar setNextAction(OTSYS_TIME() + getStepDuration(dir));
  2. Parece ser um projeto interessante para a comunidade, para que os novatos comecem a tomá-lo como base. Estou curioso sobre o Old Classic Slot System, como assim, os itens podem lhe dar atributos, vida, mana, dano?
  3. Em data/creaturescripts/scripts function onLogin(cid) local player = Player(cid) local storage = 1762 local loginCount = getPlayerStorageValue(cid, storage) if loginCount == -1 then setPlayerStorageValue(cid, storage, 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Welcome to OTSERVER!") else setPlayerStorageValue(cid, storage, loginCount + 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "It is yours ".. (loginCount + 1) .." login to ots.") end return true end
  4. @myllenaszDiz que é a versão 11, digamos que seja TFS 1.3 ou 1.4. Essas versões devem trazer o flag blockable ou ignorespawnblock, da mesma forma verifique a ver. https://github.com/otland/forgottenserver/pull/3601/files
  5. function onSay(cid, words, param, channel) local thisball = getPlayerSlotItem(cid, 8) if param ~= "" then return false end if words == "!onlinebonus" then local loginmsg = "\n Online Bonus Informações: Tokens ganhos hoje: [?] Próximo recebimento em: 1 em 1 Hora Situação: Recebendo até." --doCreatureSay(getCreatureByName(getCreatureName(cid)), loginmsg, TALKTYPE_ORANGE_2, false, cid) --doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, getCreatureByName(getCreatureName(cid)), loginmsg) doSendAnimatedText(getPlayerPosition(cid), loginmsg, COLOR_LIGHTGREEN) end return true end Sendo um text_color tenha em mente que todos os caracteres não cabem É por isso que ele usa doCreatureSay, ou um TEXTMESSAGE,
  6. Eu não entendo o que você quer dizer, Não sei se é um TEXT_COLOR ou um MESSAGE_INFO_DESCR o que você quer dizer. function onSay(cid, words, param, channel) local thisball = getPlayerSlotItem(cid, 8) if param ~= "" then return false end if words == "!onlinebonus" then local loginmsg = "\n Online Bonus Informações: Tokens ganhos hoje: [?] Próximo recebimento em: 1 em 1 Hora Situação: Recebendo até." --doCreatureSay(getCreatureByName(getCreatureName(cid)), loginmsg, TALKTYPE_ORANGE_2, false, cid) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, getCreatureByName(getCreatureName(cid)), loginmsg) end return true end
  7. Fabi Marzan postou uma resposta no tópico em Websites
    Pra quem tem esse problema: Warning: parse_ini_file(cache/DONT_EDIT_serverstatus.txt) [function.parse-ini-file]: failed to open stream: No such file or directory in C:\xampp\htdocs\system\load.compat.php on line 750 Warning: fopen(cache/DONT_EDIT_serverstatus.txt) [function.fopen]: failed to open stream: No such file or directory in C:\xampp\htdocs\system\load.compat.php on line 772 Warning: rewind() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\system\load.compat.php on line 779 Warning: fwrite() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\system\load.compat.php on line 780 Warning: fclose() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\system\load.compat.php on line 781 Warning: fopen(cache/DONT_EDIT_usercounter.txt) [function.fopen]: failed to open stream: No such file or directory in C:\xampp\htdocs\system\load.compat.php on line 798 Warning: fputs() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\system\load.compat.php on line 800 Warning: fclose() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\system\load.compat.php on line 801 basta ir em htdocs/config: Dentro você encontrará uma pasta chamada Cache, mova essa pasta para fora da config e restar a página e isso será resolvido. Outro problema: Você tem que ir para config.php e procurar por esta linha $config['site']['google_captcha_enabled'] = true; mude para false
  8. function onUse(cid, item, fromPosition, target, toPosition, isHotkey) if getPlayerSkill(cid, SKILL_SWORD) and getPlayerSkill(cid, SKILL_AXE) and getPlayerSkill(cid, SKILL_CLUB) >= 15 then doTeleportThing(cid, toPosition, true) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE,"Acesso alcancado.") else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE,"Voce precisa de habilidade para passar.") end return true end Estes seriam os scripts, em qualquer caso, tendo maior ou igual a 15 você pode passar. (SO SWORD, AXE, CLUB), se quiser continuar colocando, é só colocar: and getPlayerSkill(cid, SKILL_MAGLEVEL) and getPlayerSkill(cid, SKILL_DISTANCE)
  9. Desculpe, eu havia deletado algumas linhas pensando que elas funcionam da mesma maneira. Edite os scripts de uma maneira melhor. -----DISCORD:SoyFabi#5938 local combat_one = createCombatObject() setCombatParam(combat_one, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat_one, COMBAT_PARAM_DISTANCEEFFECT, 5) --/ Spell With Missile. setCombatParam(combat_one, COMBAT_PARAM_HITCOLOR, 210) --/ 180(red), 70(blue), 156(brown), 215(white), 145(red 2), 95(lightblue) setCombatFormula(combat_one, COMBAT_FORMULA_LEVELMAGIC, -1.0, -5500, -1.0, -6500) -----------------------> local combat_two = createCombatObject() setCombatParam(combat_two, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat_two, COMBAT_PARAM_HITCOLOR, 210) setCombatFormula(combat_two, COMBAT_FORMULA_LEVELMAGIC, -1.0, -8500, -1.0, -9500) -----------------------> function Spell_one(cid, target) if isCreature(cid) and isCreature(target) then local pos = getCreaturePosition(target) doSendMagicEffect({x = pos.x + 0, y = pos.y + 0, z = pos.z}, 295) end end function Spell_two(cid, target) if isCreature(cid) and isCreature(target) then local pos = getCreaturePosition(target) doSendMagicEffect({x = pos.x + 0, y = pos.y + 0, z = pos.z}, 295) end end function Spell_three(cid, target) if isCreature(cid) and isCreature(target) then local pos = getCreaturePosition(target) doSendMagicEffect({x = pos.x + 0, y = pos.y + 0, z = pos.z}, 295) end end function Spell_four(cid, target) if isCreature(cid) and isCreature(target) then local pos = getCreaturePosition(target) doSendMagicEffect({x = pos.x + 0, y = pos.y + 0, z = pos.z}, 295) end end function Spell_five(cid, target) if isCreature(cid) and isCreature(target) then local pos = getCreaturePosition(target) doSendMagicEffect({x = pos.x + 0, y = pos.y + 0, z = pos.z}, 295) end end function Spell_six(cid, target) if isCreature(cid) and isCreature(target) then local pos = getCreaturePosition(target) doSendMagicEffect({x = pos.x + 0, y = pos.y + 0, z = pos.z}, 295) end end function Spell_seven(cid, target) if isCreature(cid) and isCreature(target) then local pos = getCreaturePosition(target) doSendMagicEffect({x = pos.x + 0, y = pos.y + 0, z = pos.z}, 295) end end function Spell_eight(cid, target) if isCreature(cid) and isCreature(target) then local pos = getCreaturePosition(target) doSendMagicEffect({x = pos.x + 0, y = pos.y + 0, z = pos.z}, 295) end end ----------> function onCastSpell(cid, var) local exhaustion_time = 5 --/ Time of Exhaustion. local storage = 3 --/ Storage for combo for each spell. if exhaustion.check(cid, storage) then doPlayerSendCancel(cid, "You are exhausted, wait a few seconds.") doSendMagicEffect(getCreaturePosition(cid), 2) return false end local config = { hit = 1, --/ Hits time1 = 100, --/ Delay for each function. time2 = 300, time3 = 500, time4 = 700, time5 = 900, time6 = 1100, time7 = 1300, time8 = 1500, configtarget = getCreatureTarget(cid), } -- Effects -- for f = 1, config.hit do addEvent(Spell_one, config.time1 * f, cid, config.configtarget) addEvent(Spell_two, config.time2 * f, cid, config.configtarget) addEvent(Spell_three, config.time3 * f, cid, config.configtarget) addEvent(Spell_four, config.time4 * f, cid, config.configtarget) addEvent(Spell_five, config.time5 * f, cid, config.configtarget) addEvent(Spell_six, config.time6 * f, cid, config.configtarget) addEvent(Spell_seven, config.time7 * f, cid, config.configtarget) addEvent(Spell_eight, config.time8 * f, cid, config.configtarget) -- Combat -- for i = 1, 8 do addEvent(function() doCombat(cid, combat_two, var) end, 100 + ((i-1) * 200)) end end doCombat(cid, combat_one, var) exhaustion.set(cid, storage, exhaustion_time) return true end
  10. Esse scripts e um revscripts amigo. Tem q colocar em data/scripts
  11. O que você quer dizer com míssil? Isso? setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 5) -- Missile
  12. Tenta em vez de "doSendAnimatedText" troca por = doCreatureSay(_cid, expgain - expParty, TALKTYPE_ORANGE_1)
  13. Fabi Marzan postou uma resposta no tópico em Suporte Tibia OTServer
    Essa tabela "guild_wars" está faltando no SQL. Em SqlStudio, CREATE TABLE guild_wars ( id INTEGER NOT NULL, guild_id INT NOT NULL, enemy_id INT NOT NULL, [begin] BIGINT NOT NULL DEFAULT '0', [end] BIGINT NOT NULL DEFAULT '0', frags INT NOT NULL DEFAULT '0', payment BIGINT NOT NULL DEFAULT '0', guild_kills INT NOT NULL DEFAULT '0', enemy_kills INT NOT NULL DEFAULT '0', status TINYINT( 1 ) NOT NULL DEFAULT '0', PRIMARY KEY ( id ), FOREIGN KEY ( guild_id ) REFERENCES guilds ( id ), FOREIGN KEY ( enemy_id ) REFERENCES guilds ( id ) );
  14. -----DISCORD:SoyFabi#5938 local combat = createCombatObject() local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_HITCOLOR, 215) --180(red), 70(blue), 156(brown), 215(white), 145(red 2), 95(lightblue) setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -1.0, -1000, -1.0, -1000) ------------------- local function onCastSpell1(parameters) doCombat(parameters.cid, parameters.combat1, parameters.var) end ------------------- local function Effect(cid, target) local pos = getCreaturePosition(target) doSendMagicEffect({x = pos.x + 0, y = pos.y + 0, z = pos.z}, 933) end local function Effect_two(cid, target) local pos = getCreaturePosition(target) doSendMagicEffect({x = pos.x + 0, y = pos.y + 0, z = pos.z}, 934) end local function Effect_three(cid, target) local pos = getCreaturePosition(target) doSendMagicEffect({x = pos.x + 0, y = pos.y + 0, z = pos.z}, 935) end local function Effect_four(cid, target) local pos = getCreaturePosition(target) doSendMagicEffect({x = pos.x + 0, y = pos.y + 0, z = pos.z}, 936) end local function Effect_five(cid, target) local pos = getCreaturePosition(target) doSendMagicEffect({x = pos.x + 0, y = pos.y + 0, z = pos.z}, 937) end local function Effect_six(cid, target) local pos = getCreaturePosition(target) doSendMagicEffect({x = pos.x + 0, y = pos.y + 0, z = pos.z}, 938) end local function Effect_seven(cid, target) local pos = getCreaturePosition(target) doSendMagicEffect({x = pos.x + 0, y = pos.y + 0, z = pos.z}, 939) end local function Effect_eight(cid, target) local pos = getCreaturePosition(target) doSendMagicEffect({x = pos.x + 0, y = pos.y + 0, z = pos.z}, 940) end function onCastSpell(cid, var) local exhausted = 2 -- Time of exhaustion. local storage = 3 -- Storage for combo for each spell. if exhaustion.check(cid, storage) then doPlayerSendCancel(cid, "You are exhausted.") doSendMagicEffect(getCreaturePosition(cid), 2) return false end local parameters = {cid = cid, var = var, combat1 = combat1 , combat2 = combat2} addEvent(onCastSpell1, 100, parameters) addEvent(onCastSpell1, 300, parameters) addEvent(onCastSpell1, 400, parameters) addEvent(onCastSpell1, 500, parameters) addEvent(onCastSpell1, 600, parameters) addEvent(onCastSpell1, 700, parameters) addEvent(onCastSpell1, 800, parameters) local config = { hit = 1, -- Veces que dara un hit. time = 100, -- tiempo que saldra la magia. time2 = 300, -- tiempo que saldra la magia. time3 = 400, -- tiempo que saldra la magia. time4 = 500, -- tiempo que saldra la magia. time5 = 600, -- tiempo que saldra la magia. time6 = 700, -- tiempo que saldra la magia. time7 = 800, -- tiempo que saldra la magia. time8 = 900, -- tiempo que saldra la magia. configtarget = getCreatureTarget(cid), --- No borre (es importante para que salga las magias). } for a = 1, config.hit do addEvent(Effect, config.time * a, cid, config.configtarget) addEvent(Effect_two, config.time2 * a, cid, config.configtarget) addEvent(Effect_three, config.time3 * a, cid, config.configtarget) addEvent(Effect_four, config.time4 * a, cid, config.configtarget) addEvent(Effect_five, config.time5 * a, cid, config.configtarget) addEvent(Effect_six, config.time6 * a, cid, config.configtarget) addEvent(Effect_seven, config.time7 * a, cid, config.configtarget) addEvent(Effect_eight, config.time8 * a, cid, config.configtarget) end exhaustion.set(cid, storage, exhausted) return doCombat(cid, combat, var) end ---DISCORD:SoyFabi#5938
  15. e a msm coisa sim.
  16. 0.4 não tem a função getPlayerMount
  17. Vou improvisar: Em data/creaturescripts/scripts/login.lua Coloque isso em qualquer lugar. setPlayerStorageValue(cid, 10569, -1)
  18. local items = {itemid = 2160, count = 50, chance = 100} local town_id = 12 local chest = doCreateItemEx(2595) function onDeath(cid, corpse, deathList) local killers = deathList for _, pid in pairs(killers) do if isPlayer(pid) then doPlayerSendTextMessage(pid, MESSAGE_INFO_DESCR, "Parabens! Voce matou o "..getCreatureName(cid).."!") doPlayerSendMailByName(getPlayerName(uid), doCreateItemEx(chest, items.itemid, items.count), getPlayerTown(town_id)) doAddContainerItem(chest, items.itemid, items.count) end end return true end
  19. Config.lua = maxPacketsPerSecond troca pra 300.
  20. A única coisa era remover o "else", e um pouco desnecessário, já que matá-lo não vai conseguir mais nada. local items = {itemid = 2160, count = 50, chance = 100} local town_id = 12 local chest = doCreateItemEx(2595) local killers = deathList function onDeath(cid, corpse, deathList) for _, pid in pairs(killers) do if isPlayer(pid) then doPlayerSendTextMessage(pid, MESSAGE_INFO_DESCR, "Parabens! Voce matou o "..getCreatureName(cid).."!") doPlayerSendMailByName(getPlayerName(uid), doCreateItemEx(chest, items.itemid, items.count), getPlayerTown(town_id)) doAddContainerItem(chest, items.itemid, items.count) end end return true end
  21. Que versao vc ta ussando?
  22. Onde diz: doPlayerSendCancel(cid, "Você está refletindo todo o dano recebido!") return true end doPlayerSendCancel(cid, "Você está cansado, precisa aguardar "..(config.cooldown - (os.time() - getPlayerStorageValue(cid, config.storagecol))).." segundos.") return true end na parte de "return true" troca pra "return false".
  23. local config = { storage = 318210, -- storage que salva o tempo da spell storagecol = 3482101, -- storage que salva o tempo entre 1 uso e outro cooldown = 60, -- tempo de um uso e outro duration = 5, -- tempo que a spell dura effect1 = 9 --- efeito que sai qnd usa a spell } function onCastSpell(cid, var) if getPlayerStorageValue(cid, config.storage) - os.time() > 0 then doPlayerSendCancel(cid, "Você está refletindo todo o dano recebido!") return true end if os.time() - getPlayerStorageValue(cid, config.storagecol) >= config.cooldown then setPlayerStorageValue(cid, config.storagecol, os.time()) doSendMagicEffect(getCreaturePosition(cid), config.effect1) setPlayerStorageValue(cid, config.storage, os.time() + config.duration) doPlayerSendTextMessage(cid, 27, "Voce ativou o modo Reflect e nos proximos ".. config.duration.." segundos refletira os danos recebidos.") else doPlayerSendCancel(cid, "Você está cansado, precisa aguardar "..(config.cooldown - (os.time() - getPlayerStorageValue(cid, config.storagecol))).." segundos.") return true end return true end

Informação Importante

Confirmação de Termo