Ir para conteúdo

FeeTads

Membro
  • Registro em

  • Última visita

Tudo que FeeTads postou

  1. 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
  2. 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
  3. creio que o unico erro desse script seja essa linha troca os "getPlayerVocation" pra getPlayerVocation(cid) que ja vai funcionar @matheuspeixoto12
  4. 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
  5. 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
  6. 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
  7. Tópico aprovado e movido pra sessão de códigos de TalkActions, obrigado pela contribuição mano, isso vai ajudar muito principalmente quem não tem conhecimento em mexer na source.
  8. Este tópico foi movido para a seção de Suporte Otserv. esse sistema eh o da soulWar, existe scripts no TK já deles, mais tarde quando eu for pro PC procuro pra vc
  9. escrevi "parametes" em vez de "parameteRs" kkkkkkkk, mas boa mano, imaginava ser no check.exhaust
  10. 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
  11. 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
  12. 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
  13. creio que deve existir alguma função onLogout então, precisaria ver a função de saveCharacter na sua source tbm
  14. 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"/>
  15. FeeTads postou uma resposta no tópico em Suporte Tibia OTServer
    posta o script tbm pf
  16. FeeTads postou uma resposta no tópico em Suporte Tibia OTServer
    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
  17. 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.')
  18. 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.
  19. 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
  20. 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
  21. 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
  22. 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
  23. Coloca assim: return doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você precisa de "..reset_need.." reset(s) para passar.")
  24. 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
  25. 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 }

Informação Importante

Confirmação de Termo