Ir para conteúdo

Alienbear

Membro
  • Registro em

  • Última visita

Tudo que Alienbear postou

  1. Alienbear postou uma resposta no tópico em Suporte Tibia OTServer
    Isso mas não aconselho pois é muito bug de crash.
  2. Alienbear postou uma resposta no tópico em Suporte Tibia OTServer
    Sim amigo, é linux.
  3. Alienbear postou uma resposta no tópico em Suporte Tibia OTServer
    Meu amigo, o servidor mais otimizado é esse aqui: https://github.com/SaiyansKing/optimized_forgottenserver Construa tudo em cima dele!!! Outra coisa, foca em otimização e bug fix e por ultimo em "ADQUIRIR FEATURES(COISAS NOVAS)". Se te ajudei deixa like/rep+
  4. Bom dia amigo, olha q interessante. O script q você "fez" apenas manda mensagem, e você está declarando algumas funções "msg e msg2" que não são nem chamadas no script. if getPlayerAccess(cid) é pra verificar o acesso de cargo. Pesquise sobre como usar addEvent, aqui no forum ensina vou mandar o tutorial: E também veja esse script que foi criado recentemente para usar um item e sumonar um monstro: Estude isso que te mandei e tente criar seu próprio script. Continue usand function onSay e os broadcast também o resto você estuda e analisa oq te mandei. Aprender é mais fácil do que pedir ajuda você vai ver ? Se te ajudei deixe like/rep+ Caso precise de mais ajuda, pode deixar like/rep+ que irei ajudando sim.
  5. Tem sim, você vai pegar o metodo que é dado esse "elo" ao jogador. Que no seu script é por storage. Ai você vai criar um script pro tipo de "atributo" que você quer fornecer. Ah quero que ganhe 1000 de vida e 500 de mana se for elo F if getPlayerStorageValue(cid, fragsStorage) == 5 then ai você coloca tudo que precisa acontecer, fazendo essas verificações de storage. Pra adicionar vida/mana eu recomendo vc usar onLogin ou onAdvanced. Se ajudei da like/rep+ ?
  6. Exatamente, cada acesso 1 stg. Se ajudei deixa um like/rep
  7. Então, vc colocou ipv4 fixo? Testou usando ipv4 do modem? Qual é o ipv4 do seu modem? Tem certeza q salvou certo o arquivo hosts?
  8. o ip do config.lua vc deixa seu ip fixo. no cliente coloca seu IPV4 Qualquer coisa tenta fazer um teste fechando o servidor e mudando o ip dele para seu ipv4 e tentando logar normal pra ver se o problema é no servidor ou conexão.
  9. Boa noite meu caro amigo @RCM08 Veja, oque você precisa é usar Storages... Apenas isso! FUNCTIONS player:getStorageValue(key) player:setStorageValue(key, value) CONDITIONS local missionStart = 123 if player:getStorageValue(missionStart) <= 0 then // Se a storage for menor ou igual a 0 então ele n tem a primeira missão Mensagem do npc e coisas pra fazer a missão player:setStorageValue(missionStart, 1) return true end if player:getStorageValue(missionStart) <= 1 then // Se a storage for menor ou igual a 1 então ele n tem a a segunda missão missão Mensagem do npc e coisas pra fazer a missão player:setStorageValue(missionStart, 2) return true end Isso seria o básico pra vc começar a entender oq é storage.
  10. Você vai fazer uma WAND em itens.xml e em weapons.xml vai colocar efeito do tipo físico e vai colocar pra atacar a apenas 1 sqm.
  11. Boa noite meu lindo amigo, Bem possivelmente está faltando ou com erro (em) uma tabela de consulta em seu banco de dados, por isso o erro getDataInt. A função pede uma informação do banco de dados. Mas só conseguimos ter certeza ao ver o script. um abraço, e se já resolveu informe no tópico!
  12. Olá meu lindo amigo tudo bem? Vamos resolver Use esse código: local config = { bossName = "Maxxenius", bossName2 = "Glooth-Generator", bossName3 = "Glooth-Generator", bossName4 = "Glooth-Generator", summonName = "Rift Invader", bossPos = Position{x = 31983, y = 31982, z = 15}, horror = Position{x = 31982, y = 31984, z = 15}, phobia = Position{x = 31989, y = 31984, z = 15}, fear = Position{x = 31984, y = 31987, z = 15}, centerRoom = Position{x = 31984, y = 31985, z = 15}, -- Center Room exitPosition = Position{x = 32001, y = 31984, z = 15}, -- Exit Position newPos = Position{x = 31984, y = 31990, z = 15}, -- Player Position on room playerPositions = { Position{x = 32003, y = 31980, z = 15}, Position{x = 32003, y = 31981, z = 15}, Position{x = 32003, y = 31982, z = 15}, Position{x = 32003, y = 31983, z = 15}, Position{x = 32003, y = 31984, z = 15} }, range = 30, time = 30, -- time in minutes to remove the player } local function clearFerumbrasRoom() local spectators = Game.getSpectators(config.bossPos, false, false, 10, 10, 10, 10) for i = 2, #spectators do local spectator = spectators[i] if spectator:isPlayer() then spectator:teleportTo(config.exitPosition) spectator:getPosition():sendMagicEffect(CONST_ME_TELEPORT) spectator:say('Time out! You were teleported out by strange forces.', TALKTYPE_MONSTER_SAY) elseif spectator:isMonster() then spectator:remove() end end end local ferumbrasAscendantLever = Action() function ferumbrasAscendantLever.onUse(player, item, fromPosition, target, toPosition, isHotkey) if item.itemid == 9825 then if player:getPosition() ~= Position{x = 32003, y = 31980, z = 15} then return true end for x = 32003, 32003 do for y = 31980, 31984 do local playerTile = Tile(Position(x, y, 15)):getTopCreature() if playerTile and playerTile:isPlayer() then if playerTile:getStorageValue(421516177) > os.time() then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You or a member in your team have to wait 20 hours to face Boss again!") item:transform(9826) return true end end end end local specs, spec = Game.getSpectators(config.centerRoom, false, false, 15, 15, 15, 15) for i = 1, #specs do spec = specs[i] if spec:isPlayer() then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "There's someone fighting with Boss.") return true end end local spectators = Game.getSpectators(config.bossPos, false, false, 15, 15, 15, 15) for i = 1, #spectators do local spectator = spectators[i] if spectator:isMonster() then spectator:remove() end end for x = 32003, 32003 do for y = 31980, 31984 do local playerTile = Tile(Position(x, y, 15)):getTopCreature() if playerTile and playerTile:isPlayer() then playerTile:getPosition():sendMagicEffect(CONST_ME_POFF) playerTile:teleportTo(config.newPos) playerTile:getPosition():sendMagicEffect(CONST_ME_TELEPORT) playerTile:setStorageValue(421516177, os.time() + 20 * 60 * 60) -- 14 days player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have 30 minutes to kill and loot this boss. Otherwise you will lose that chance and will be kicked out.") addEvent(clearFerumbrasRoom, 60 * config.time * 1000, player:getId(), config.centerRoom, config.range, config.range, config.exitPosition) item:transform(9826) end end end Game.createMonster(config.bossName, config.bossPos, true, true) Game.createMonster(config.bossName2, config.horror, true, true) Game.createMonster(config.bossName3, config.phobia, true, true) Game.createMonster(config.bossName4, config.fear, true, true) elseif item.itemid == 9826 then item:transform(9825) return true end end ferumbrasAscendantLever:aid(30014) ferumbrasAscendantLever:register() Motivo do erro: Quando você usa um for neste caso deste script ele vai executar tudo que está dentro do for repetindo a quantidade de players, se for 1 player será 1 repetição, 2 players 2 repetições, 3 players 3 repetições e assim por diante. agora removi de dentro do for e os monstros nascerão apenas 1 de cada como está no arquivo.
  13. Boa noite meu Lindo, você pode verificar o IP que está em seu cliente. Muda o IP do seu cliente para 127.0.0.1. pode tentar logar com seu ipv4, ou o ipv4 do seu modem/roteador abra o arquivo .htaccess que fica em seu apache server e comente a linha Deny from all #Order Deny,Allow #Deny from all Allow from 127.0.0.1 Allow from ::1 Caso nada disso funcione, você terá que editar o arquivo hosts do seu pc... C:\Windows\System32\drivers\etc abra o arquivo HOST Apaga tudo de dentro use este: # Copyright (c) 1993-2009 Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP for Windows. # # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one # space. # # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a '#' symbol. # # For example: # # 102.54.94.97 rhino.acme.com # source server # 38.25.63.10 x.acme.com # x client host # localhost name resolution is handled within DNS itself. 127.0.0.1 localhost # ::1 localhost
  14. Amor, me vê um Tempo de Registro
  15. Coloque os DEVIDOS CREDITOS AMIGO, EU SOU O CRIADOR do sistema e eu que fiz a VERSÃO 2.0
  16. Então amigo, tente usar essa aqui, vê se ataca normalmente, Após funcionar mude os elementos e danos para os do seu gosto. <item id="11393" article="a" name="Cajadin"> <attribute key="description" value="Cajado." /> <attribute key="weight" value="2500" /> <attribute key="weaponType" value="wand" /> <attribute key="shootType" value="smallearth" /> <attribute key="range" value="3" /> </item> <wand id="11393" level="1" mana="2" min="8" max="20" type="Physical" event="function" value="default"> <!-- --> <vocation id="1"/> </wand> Se funcionar deixa o REP+ para informar q conseguiu ok? Abraços.
  17. Alienbear postou uma resposta no tópico em Suporte Tibia OTServer
    Neste caso reveja se fez o procedimento corretamente, aconselho fazer novamente para ver se não ocorreu nenhum erro. Também é preciso saber se o procedimento do 12x é o mesmo do 11x
  18. Alienbear postou uma resposta no tópico em Suporte Tibia OTServer
    Pode ser a chave RSA que está dando erro, já tentou verificar? Outra coisa, tenta uma conexão com um outro cliente para ver se conecta, As vezes o problema está no servidor e não no cliente.
  19. Acho que isso pode te ajudar. local config = { pos = {x=152, y=50, z=7}, -- Posição aonde sera criado o teleport topos = {x=1235, y=1197, z=7} -- Posição pra onde o teleport ira levar o player } function onStepIn(cid, item, position, fromPosition) if isPlayer(cid) then addEvent(respawnMonster, 10000, "Dwarf", pos) addEvent(respawnMonster, 20000, "Dwarf", pos) addEvent(respawnMonster, 30000, "Dwarf", pos) addEvent(respawnMonster, 40000, "Dwarf", pos) addEvent(respawnMonster, 50000, "Dwarf", pos) addEvent(doCreateTeleport, 60000, topos, pos) return true end end
  20. Amigo, *Para receber ajuda no forum, crie titulos mais especificos, como Por exemplo: *Ajuda com script da anihi. *Pois só assim você terá uma chance de te ajudarem ok? *E sempre use o "CITAR" em seus trechos longos para não demorar o carregamento da pagina. Agora vamos ao Script: local room = { -- room with demons fromX = 1069, fromY = 807, fromZ = 8, toX = 1075, toY = 813, toZ = 8 } local monster_pos = { [1] = {pos = {1074, 810, 8}, monster = "Demon"}, [2] = {pos = {1075, 810, 8}, monster = "Demon"}, [3] = {pos = {1072, 808, 8}, monster = "Demon"}, [4] = {pos = {1070, 808, 8}, monster = "Demon"}, [5] = {pos = {1073, 812, 8}, monster = "Demon"}, [6] = {pos = {1071, 812, 8}, monster = "Demon"} } local players_pos = { {x = 1099, y =842, z = 7, stackpos = 253}, {x = 1098, y =842, z = 7, stackpos = 253} } local new_player_pos = { {x = 1073, y = 810, z = 8}, {x = 1072, y = 810, z = 8} } local playersOnly = "no" local questLevel = 8 function onUse(cid, item, fromPosition, itemEx, toPosition) local all_ready, monsters, player, level = 0, 0, {}, 0 if item.itemid == 1945 then for i = 1, #players_pos do table.insert(player, 0) end for i = 1, #players_pos do player = getThingfromPos(players_pos) if player.itemid > 0 then if string.lower(playersOnly) == "yes" then if isPlayer(player.uid) == TRUE then all_ready = all_ready+1 else monsters = monsters+1 end else all_ready = all_ready+1 end end end if all_ready == #players_pos then for i = 1, #players_pos do player = getThingfromPos(players_pos) if isPlayer(player.uid) == TRUE then if getPlayerLevel(player.uid) >= questLevel then level = level+1 end else level = level+1 end end if level == #players_pos then if string.lower(playersOnly) == "yes" and monsters == 0 or string.lower(playersOnly) == "no" then for _, area in pairs(monster_pos) do doSummonCreature(area.monster,{x=area.pos[1],y=area.pos[2],z=area.pos[3]}) end for i = 1, #players_pos do doSendMagicEffect(players_pos, CONST_ME_POFF) doTeleportThing(player.uid, new_player_pos, FALSE) doSendMagicEffect(new_player_pos, CONST_ME_ENERGYAREA) doTransformItem(item.uid,1946) end else doPlayerSendTextMessage(cid,19,"Only players can do this quest.") end else doPlayerSendTextMessage(cid,19,"All Players have to be level "..questLevel.." to do this quest.") end else doPlayerSendTextMessage(cid,19,"You need "..table.getn(players_pos).." players to do this quest.") end elseif item.itemid == 1946 then local player_room = 0 for x = room.fromX, room.toX do for y = room.fromY, room.toY do for z = room.fromZ, room.toZ do local pos = {x=x, y=y, z=z,stackpos = 253} local thing = getThingfromPos(pos) if thing.itemid > 0 then if isPlayer(thing.uid) == TRUE then player_room = player_room+1 end end end end end if player_room >= 1 then doPlayerSendTextMessage(cid,19,"There is already a team in the quest room.") elseif player_room == 0 then for x = room.fromX, room.toX do for y = room.fromY, room.toY do for z = room.fromZ, room.toZ do local pos = {x=x, y=y, z=z,stackpos = 253} local thing = getThingfromPos(pos) if thing.itemid > 0 then doRemoveCreature(thing.uid) end end end end doTransformItem(item.uid,1945) end end return TRUE end Veja que nesta parte do script fiz a modificação: local players_pos = { {x = 1099, y =842, z = 7, stackpos = 253}, {x = 1098, y =842, z = 7, stackpos = 253}, {x = 1097, y =842, z = 7, stackpos = 253}, {x = 1096, y =842, z = 7, stackpos = 253} } local new_player_pos = { {x = 1073, y = 810, z = 8}, {x = 1072, y = 810, z = 8}, {x = 1071, y = 810, z = 8}, {x = 1070, y = 810, z = 8} } Modifiquei para local players_pos = { {x = 1099, y =842, z = 7, stackpos = 253}, {x = 1098, y =842, z = 7, stackpos = 253} } local new_player_pos = { {x = 1073, y = 810, z = 8}, {x = 1072, y = 810, z = 8} } E assim vc pode ir adicionando ou removendo de acordo com este padrão ai. Não esquecendo claro de deixar as posições no seu mapa iguais as que estão no script.
  21. Bom, seria legal mais informações. Qual Plataforma você usa? 0.4, 1.0, 1.2, 1.3, otx ? Qual versão seria?
  22. O que eu recomendo é você executar um comando para apagar todos os personagens/accounts que não logam a algum periodo. Exemplo, 1 ano+ Até onde sei não são os dados do Highscore que atualizam. E sim os dados do servidor, onde são enviados informações dos personagens como level, skill, storages. etc!! Sendo Assim a limpeza do banco seria uma ótima pedida, se ainda assim não resolver pode haver um problema em sua maquina que mantem o servidor online. Pois quando ocorre um Freeze, significa que está demorando para processar. De uma verificada nesses passos e entre em contato aqui de novo
  23. Me identifico muito, É triste lembrar dos bons tempos e ver oq se tornou agora. Criei um projeto para diversão com xp alta e rpg (www.ilhadadiversao.com) Mas por mais estável que o servidor seja, eu fui obrigado a fazer um tutorial e no final adicionar level para o primeiro Reset. E por ai vai, mesmo assim eles logam e logo em seguida deslogam, sem nem experimentarem os sistemas, a economia balanceada do servidor ou dar a oportunidade a si mesmos de jogar algo que preste. Preferem voltar para aqueles 8.6 todo zoado q o "filhinho da mamãe" criou pra poder editar os amiguinhos e ser alguém dentre de um servidor pq de outra maneira não consegue. É complicado Mas eu decidi que vou manter Online, tenho alguns players que entraram e adoraram o servidor e acredito que com o tempo vou fidelizando + e + jogadores, cativando com Qualidade e Boa performance.
  24. Alienbear postou uma resposta no tópico em Sistemas, Mods & Funções .lua
    Resolvido o problema, o mapa precisa ficar igual ao do TÓPICO, balcões elevados e itens com o AID 4420 como explicado. Obrigado
  25. Alienbear postou uma resposta no tópico em Suporte Tibia OTServer
    Fala pessoal do TK, estou com um probleminha no RME(Remeres Map Editor) e acredito que alguém poderá me dar uma ajuda. Estou hosteando um mapa no RME aqui em casa, e quase direto os mappers do projeto estão tendo seus mapas incompletos. Por 2 ou 3x os mappers fizeram algumas hunts bem grandes e fecharam o RME pra sair, quando voltaram umas horinhas depois a hunt tinha simplesmente "voltado no tempo" como se estivesse no começo. o Pior é que não existe uma maneira de salvarem o mapa de lá. Agradeço desde-já quaisquer ajuda, dica ou especulação que seja para resolver o problema. Tenham todos um ótimo final de semana.

Informação Importante

Confirmação de Termo