
Tudo que Fabi Marzan postou
-
(Resolvido)EXHAUSTED AO POTAR CANCELANDO OUTRAS AÇOES
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));
- [TibiaKing] TFS 1.5 Downgrade 8.60
-
05:55 It is yours 7 login to ots. Tem um OT que tem esse sistema toda vez que loga aparece essa mensagem como se tivesse contando os dias de cada player entra no OT
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
-
ajuda em colocar block spawn player
@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
-
(Resolvido)[SCRIPT] TALKTYPE_ORANGE_2 Necessito que ele fique verde alguem me ajuda por favor
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,
-
(Resolvido)[SCRIPT] TALKTYPE_ORANGE_2 Necessito que ele fique verde alguem me ajuda por favor
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
-
Gesior - Baiak-PvP 2020
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
-
(Resolvido)Porta que abre com X skill
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)
-
Spell de 8 hits com 8 animação.
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
-
[Ajuda] Adaptar esse script para TFS 1.3 - O script é uma bp que aumenta a cap
Esse scripts e um revscripts amigo. Tem q colocar em data/scripts
-
(Resolvido)-=[TFS]=- 0.4 8.60 Stamina Infinita
- Spell de 8 hits com 8 animação.
O que você quer dizer com míssil? Isso? setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 5) -- Missile- EXP HIT NÃO DA XP NA PARTY
Tenta em vez de "doSendAnimatedText" troca por = doCreatureSay(_cid, expgain - expParty, TALKTYPE_ORANGE_1)- SQlite
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 ) );- Spell de 8 hits com 8 animação.
-----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- Player toma kick com htk auto 1
e a msm coisa sim.- [TFS 0.4] Magia StopTime buga se o player morrer com ela!
Pode funcionar para você.- [RESOLVIDO] MOUNT DOLL
0.4 não tem a função getPlayerMount- [TFS 0.4] Magia StopTime buga se o player morrer com ela!
Vou improvisar: Em data/creaturescripts/scripts/login.lua Coloque isso em qualquer lugar. setPlayerStorageValue(cid, 10569, -1)- Boss drope dp
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- Player toma kick com htk auto 1
Config.lua = maxPacketsPerSecond troca pra 300.- Boss drope dp
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- [RESOLVIDO] MOUNT DOLL
Que versao vc ta ussando?- Ajuda com spell de reflect
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".- Ajuda com spell de reflect
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 - Spell de 8 hits com 8 animação.
Informação Importante
Confirmação de Termo