Tudo que FeeTads postou
-
(Resolvido)Ids da database não zeram os números
vc pode fazer isso direto pelo seu phpmyadmin, ou até pelo SQL mesmo mudando o "auto_increment" e dando executar *a tabela precisa estar resetada* ou dando o comando no SQL ALTER TABLE `nome-da-tabela` AUTO_INCREMENT = 1
-
(Resolvido)Liberar porta 7171 e 7172
não sei como funciona, eu sempre consigoo kkkkkkkkk, mas em questão de vc abrir em casa e em ubuntu, não seriam as mesmas configs, eh bem diferente passar pra ubuntu, creio que vc conseguiria deixar aberto só o OT pra vc, já o site talvez com phpmyadmin local, mas ai ja eh outros 500 kkkkkk, mas tenta com alguma cloud barata, creio que seja o melhor caminho
-
Npc que muda vocação por storage
creio que o unico erro desse script seja essa linha troca os "getPlayerVocation" pra getPlayerVocation(cid) que ja vai funcionar @matheuspeixoto12
-
(Resolvido)Liberar porta 7171 e 7172
mano sendo sincero, hj em dia existem milhares de VPS's baratas ou até free, como no google, vc consegue pegar o valor de $300, e pode utilizar por 3 meses, hoje em dia servidor em casa, meio que né.... o que eu mais indico é vc usar os tuto do luan luciano de como configurar VPS com ubuntu e etc... do que abrir test server em casa
-
(Resolvido)Chance de aplicar Condition no Inimigo com item!
pra falar bem a vdd, eu não sei como funciona esse addDamageCondition, nunca usei ela, eu faria uma function pra dando dano no target, +/- assim: local percent = 30 --- Chance de Aplicar Condition local storage_CD = 2353255 --storage, se não souber não mexer local timer = 60 --timer em segundos pra aplicar o condition novamente local tempo_de_condition = 20 local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0) local function apply_condition(target) if isCreature(target) then --caso o target morra, acaba o condition dano = math.ceil(math.random(5000,10000)) --dano entre 5-10k doTargetCombatHealth(target, NULL, COMBAT_ENERGYDAMAGE, -dano, -dano, 255) --source function de combat if tempo_de_condition > 0 then --tempo de condition no cabeçalho addEvent(apply_condition, 1000, target) --addEvent de 1s que chama novamente a função tempo_de_condition = tempo_de_condition - 1 -- diminui 1 na contagem end end return true end function onUseWeapon(cid, var) local target = getCreatureTarget(cid) if getPlayerStorageValue(target, storage_CD) - os.time() > 0 then return true -- não precisa nada dentro desse IF pq se não iria flodar a tela do player end local position1 = getThingPosition(target) if isCreature(variantToNumber(var)) then -- isCreature = TODAS as criaturas > isPlayer > somente em player > isMonster somente em mmonster if percent >= math.random(1,100) then doSendMagicEffect(position1, 346) setPlayerStorageValue(target, storage_CD, os.time() + timer) apply_condition(target) end end return doCombat(cid, combat, var) end
-
(Resolvido)Chance de aplicar Condition no Inimigo com item!
a duvida seria checar se o target ja está com o condition? creio que o mais facil seria ativar uma storage no target com pelo menos 1 minuto de CD pra n receber novamente.} tipo: addCondition > 1 min de CD no inimigo pq se não por mais que não coloque enquanto estiver com o condition, quando o condition acabar, ele ja pode sofrer de novo. então creio que o mais certo seria tipo: local percent = 30 --- Chance de Aplicar Condition local storage_CD = 2353255 --storage, se não souber não mexer local timer = 60 --timer em segundos pra aplicar o condition novamente local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0) local condition = createConditionObject(CONDITION_ENERGY) ------ Aqui Voce troca qual tipo de Condition vai aplicar o item! setConditionParam(condition, CONDITION_PARAM_DELAYED, 10000) -- param_delayed, 10000 creio que o 10000 sã0 10 segundos, mexi aqui, mas não tenho ctz se é tempo adicionado ao target ou CD pra usar de novo, testar PF addDamageCondition(condition, 50, 2000, -75) ------ Aqui Voce troca a Formula do Dano da Condition function onUseWeapon(cid, var) local target = getCreatureTarget(cid) if getPlayerStorageValue(target, storage_CD) - os.time() > 0 then return true -- não precisa nada dentro desse IF pq se não iria flodar a tela do player end local position1 = getThingPosition(target) if isCreature(variantToNumber(var)) then -- isCreature = TODAS as criaturas > isPlayer > somente em player > isMonster somente em mmonster if percent >= math.random(1,100) then doAddCondition(variantToNumber(var), condition) doSendMagicEffect(position1, 346) setCreatureStorage(target, storage_CD, os.time() + timer) end end return doCombat(cid, combat, var) end
- [TFS 0.4 / 8.60] - GM, CM e GOD falam em vermelho no channel Help
- (Resolvido)[Boss Room] TFS 0.4 REV 3996, ajuda por favor
-
(Resolvido)(LuaInterface::luaGetPlayerFlagValue) Player not found
escrevi "parametes" em vez de "parameteRs" kkkkkkkk, mas boa mano, imaginava ser no check.exhaust
-
(Resolvido)(LuaInterface::luaGetPlayerFlagValue) Player not found
basicamente em função com delay, precisa checar se o cid ainda ta vivo pra executar, se n ele retorna erro mesmo local function onCastSpell1(parameters) if isCreature(parametes.cid) then return isPlayer(parameters.cid) and doCombat(parameters.cid, combat1, parameters.var) end end se possível posta a linha do XML dessas spells pf
-
item que da Spell
não reviva tópicos por favor, caso esteja com duvida criar novo post citando esse ou postando ajuda. e a linha que diz qual magia ele ganhou é: doPlayerSendTextMessage(cid, 25, "Parabens! Agora voce pode usar a magia Utani Hur.") você pode alterar o "utani hur" pra qualquer magia, e após isso cria-la no spells.xml, e nos scripts de spells
-
(Resolvido)Porta que abre com X skill
script perfeito para que ele precisa, porém um adendo, caso ele utilize, não esqueça de mudar os "and" pra "or". and significa E, ou seja, skill sword E axe E club, necessita dos 3 pra abrir. colocando OR, qualquer uma que seja maior que o estipulado, ja confere não sei dizer ao certo se funciona assim, mas creio que cada verificação necessita do parametro, ex: if getPlayerSkill(cid, SKILL_SWORD) >= 15 and getPlayerSkill(cid, SKILL_AXE) >= 15 and getPlayerSkill(cid, SKILL_CLUB) >= 15 then creio que só "getPlayerSkill(cid, SKILL_SWORD)" retorna algum boolean
-
(Resolvido)Servidor travando ao realizar login/logout
creio que deve existir alguma função onLogout então, precisaria ver a função de saveCharacter na sua source tbm
-
(Resolvido)Adicionar mais horarios
acho que se colocar tipo time="14:30;15:30;16:30" com ; entre os horarios deve funcionar, se não só duplicar o scripts <globalevent name="Bosito" time="14:30:00"event="script" value="Bosito.lua"/> <globalevent name="Bosito2" time="15:30:00"event="script" value="Bosito.lua"/> <globalevent name="Bosito3" time="16:30:00"event="script" value="Bosito.lua"/>
-
NPC Addoner
posta o script tbm pf
-
Teleporte
especifique mais pra ajudar, são quantas cidades? vai teleportar pro templo dessa cidade? essa cidade tem templePosition no RME? o item some? etc.... especifique o maximo que conseguir por favor
-
(Resolvido)Boss Spawn Apos Matar X Quantidade de Creature! (Ajuda) Resolvido 90%
uai trocando o cid por killer doPlayerSendTextMessage(killer, MESSAGE_STATUS_CONSOLE_ORANGE, 'Boss Spawning: '..(getGlobalStorageValue(r.storage)+1)..' of '..r.amount..' '..getCreatureName(cid)..'s killed to spawn boss.')
-
(Resolvido)Servidor travando sempre que upa level ou skill
quantos nucleos? instala o htop e o perf top e fica upando e fica vendo como altera os nucleos, ta dando problema no save do player apenas.
-
(Resolvido)Boss Spawn Apos Matar X Quantidade de Creature! (Ajuda) Resolvido 90%
creio que o que ta dando erro seja esse aqui mano, "cid" eh a criature que morreu, não eh nem player pro cid receber essa msg
-
(Resolvido)Servidor travando sempre que upa level ou skill
Bom seu OT está com problema na comunicação entra server/dB Pq quando desloga ele salva o character Então temos umas possibilidade: 1° máquina MT fraca 2° dB MT pesada 3° Se a máquina tiver HD em vez de SSD
-
(Resolvido)Boss Spawn Apos Matar X Quantidade de Creature! (Ajuda) Resolvido 90%
pra: doPlayerSendTextMessage(killer, MESSAGE_STATUS_WARNING, "o Boss "..r.boss.." nasceu!") também pode se usar o "MESSAGE_STATUS_CONSOLE_RED" pra mostrar no default em vermelho E Esse erro acontece por causa disso: na linha 39, se é uma função onDeath, ela só existe após o monstro morrer, como a creature vai ter "target" após morrer? o target n existe mais e ele retorna false, que não pode concatenar, o certo eh colocar: getCreatureName(killer) alias... "target" nem existe nessa função o mais certo de tudo seria usar "getCreatureTarget(cid)" o "target" só existe em função "onKill" obs: que no caso também não existe em função onDeath pra função onDeath, sempre utilizar "deathlist[1]" =ULTIMO DANO ou "deathlist[2]" = MAIOR DANO
-
(Resolvido)Servidor travando sempre que upa level ou skill
Sempre que upar LEVEL salva o character (é até bom deixar, mas vc pode colocar pra n salvar) savePlayer = false, esse script eu desabilitaria, meio que ele é inutil pro servidor quando se usa o advancedSave, no meu caso eu uso apenas o advanced save. tenta desabilitar os 2, e depois habilitar somente o advanced save
-
Ajuda com essa função
Coloca assim: return doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você precisa de "..reset_need.." reset(s) para passar.")
-
Bank System [8.60] comando !saldo, !sacar, !depositar ( até no max 100 ) com id de x item
cara eu tenho um sistema parecido, vc só precisaria adaptar ele um pouco. local config = { s = 10546, -- n mexa exhau = 2 -- tempo em seegundos } function onSay(cid, words, param) local id_mining = 2328 local msg = string.lower(param) local storage_minings = 5435300 local retirado = 0 local save_mining = 0 local s = string.explode(param, " ") if (getPlayerStorageValue(cid, config.s) <= os.time()) then doPlayerSave(cid) if isInArray({"balance", "saldo"}, msg) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você possui ".. tonumber(getPlayerStorageValue(cid, storage_minings)) .." Mining Coins salvo em Storage!") setPlayerStorageValue(cid, config.s, os.time()+config.exhau) elseif isInArray({"deposit", "depositar"}, msg) then local minings = getPlayerItemCount(cid, id_mining) if minings > 0 then doPlayerRemoveItem(cid, id_mining, minings) setPlayerStorageValue(cid, storage_minings, tonumber(getPlayerStorageValue(cid, storage_minings)+minings)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você Depositou ".. minings .." Mining Coins! Seu saldo é de: "..tonumber(getPlayerStorageValue(cid, storage_minings))) else doPlayerSendCancel(cid, "Você não tem mining Coins!") return true end setPlayerStorageValue(cid, config.s, os.time()+config.exhau) elseif isInArray({"sacar", "withdraw"}, s[1]) then if s[2] and tonumber(s[2]) then local m = tonumber(s[2]) if tonumber(getPlayerStorageValue(cid, storage_minings)) < m then doPlayerSendTextMessage(cid, 22, "Você não possui ".. m .." mining coins!") else for i=1, (m/3500)+1 do bp = doCreateItemEx(2002, 1) if m >= 3500 then doAddContainerItem(bp, id_mining, 3500) retirado = 3500 else doAddContainerItem(bp, id_mining, m) retirado = m end receive = doPlayerAddItemEx(cid, bp) if receive ~= RETURNVALUE_NOERROR then doPlayerSendTextMessage(cid, 22, "Não foi possivel Entregar Tudo, tenha espaço em sua BP!") else setPlayerStorageValue(cid, storage_minings, tonumber(getPlayerStorageValue(cid, storage_minings)-retirado)) m = m - retirado save_mining = save_mining + retirado end end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você sacou ".. save_mining .." Mining Coins! Seu saldo é de: "..tonumber(getPlayerStorageValue(cid, storage_minings))) end else doPlayerSendTextMessage(cid, 22, "Insira uma quantidade valida!") end end setPlayerStorageValue(cid, config.s, os.time()+600) else doPlayerSendCancel(cid, "Voce tem que esperar " .. getTimeString(getPlayerStorageValue(cid, config.s)-os.time()).."!") end return true end
-
preparedeath PVP-Enforce dead Protection lvl
tem um script meu por source que faz quase isso, ele é por posição, mas só vc trocar o "player->getPosition()" pra "int level = player->getLevel()" e ai colocar if (level < 500){ return true }