Ir para conteúdo
  • Cadastre-se

FeeTads

Coordenador
  • Total de itens

    400
  • Registro em

  • Última visita

  • Dias Ganhos

    38

Tudo que FeeTads postou

  1. Este tópico foi movido para a seção de Suporte Otserv. ele setou certo, os.time() = tempo da maquina + (30*24*60*60) = 30 dias esse numero indica tempo da maquina + 30 dias está tudo correto, provavelmente vc não tratou a informação corretamente para mostrar certinho dia horas etc..
  2. as pastas, modules, mods, data e o init.lua estão zipados dentro da pasta junto com o client do otc? aqui tem um tutorial sobre o otcv8
  3. boa, indico vc fazer o item, ser "reward" e fazer se uma table, pq futuramente vc pode querer entregar mais de 1 item na mesma quest. reward = {{item, qtd}, {item, qtd}}, ai vc indexa com for i=1, #quest.reward do doPlayerAddItem(cid, questId.reward[i][1], questId.reward[i][2]) -- [i][1] = index i, valor 1 (item), [i][2] = index i, valor 2 (qtd) end ja seria um upgrade a mais no script, seria bom sempre fazer a checagem se o item é stackavel ou não tbm, caso n seja stackavel e a QTD seja maior que 1, do "doPlayerAddItem" não adiciona mais que 1 item não stackavel, d
  4. Isso é um problema do próprio client 8.6, não tem nada que vc possa fazer na source, é uma limitação do client, até hoje nunca vi nada que arrume isso, apenas o OTCv8 corrigiu isso fazendo um novo client (não ironicamente unico modo de resolver isso é trocando de versão)
  5. Ótimo conteúdo, obrigado pela contribuição, apenas alguns adendos que podem melhorar o seu código. vc fez um for k, v in pairs(config) do esse for não tem nenhuma condição de parada, porém com 10-15 quests ele executará bem rapido, correto? mas imaginemos um cenário de 100 players clicando no mesmo bau ou outros ao mesmo tempo, ainda assim mesmo não lagando, ele irá fazer checagens desnecessárias. vc pode trocar o for por local questId = config[item.actionid] if questId then --código aqui else -- foi clicado no bau chamado um aid que não existe na config end apartir
  6. muda na source o ID da gold punch (pq scripts usam "ITEM_GOLD_PUNCH"), vai no items.xml e muda o nome, e pronto, da uma olhada no player.onMoveItem pra ver se não ta o Id fixo da gold punch. ps: creio que o Id da gold punch na source está no enums.h ou const.h, mudando la o ID pra 0, ja funfa como bag normal. você pode tambem criar uma bp com slot igual a gold punch
  7. config.lua > procure por monsterSpawnWalkback = true allowBlockSpawn = false troque por monsterSpawnWalkback = false allowBlockSpawn = true
  8. Não existe maneira de deixar infinita pelo config.lua, o unico modo é vc fazer um script onLogin que adicione bless sempre que o player logar, ai ao morrer/logar ele recebe bless. Ou criar um script que adicione bless atraves de storage
  9. troca function onSay(player, words, param) por function addondoll.onSay(player, words, param) ai no final fora da function após o end, adiciona addondoll:itemid(9693) addondoll:register()
  10. esse comando é o comando para compilar usando todos os núcleos da maquina, basicamente o make -j 4, faz compilar usando 4 núcleos da maquina, quando acontece isso, só basta esperar, e depois ir na pasta da source e mover o arquivo "theotxserver" para a pasta raiz do server
  11. isso ai não eh erro, é apenas a criação do executavel. quando da erro aparece "failed" isso ai ta normal, entre na pasta da source > de F5 > procure por Theotxserver > mova pra pasta raiz do servidor (junto com o config.lua) e pronto
  12. sim procura por ReturnValue Actions::canUse(const Player* player, const Position& pos) { const Position& playerPos = player->getPosition(); if(pos.x == 0xFFFF) return RET_NOERROR; if(playerPos.z > pos.z) return RET_FIRSTGOUPSTAIRS; if(playerPos.z < pos.z) return RET_FIRSTGODOWNSTAIRS; if(!Position::areInRange<1,1,0>(playerPos, pos)) return RET_TOOFARAWAY; return RET_NOERROR; } troca por: ReturnValue Actions::canUse(const Player* player, const Position& pos) { const Position&am
  13. passa as espcificações do seu server, e qual ubuntu e usa, fica mais fácil pra ajudar
  14. quando der esse pensa, como vou acertar algo que ja está morto / não existe mais? como checar isso? local target = getCreatureTarget(cid) if target > 0 then if isCreature(target) then ... função ... end end checando se ainda existe aquele creature com "isCreature", pq se não tiver mais la, não fará nada no script pode ser basicamente assim: local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_HITCOLOR, COLOR_LIGHTGREEN) setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFE
  15. qq tem na sua linha 115? manda print dessa parte depois de vc ter mexido já
  16. Não deu certo pq vc botou nome errado ou o arquivo no lugar errado, o próprio erro te falou isso. "no such file or directory" vc colocou no XML que o arquivo ta na raiz do actions data/actions/scripts/desafio2.lua < ele ta exatamente nesse diretório? pq a distro falou que não, se tiver dentro de pasta coloque o diretório correto <action actionid="5001;5002" script="PASTA/desafio2.lua" /> << caso esteja dentro de alguma pasta se atente a arrumar os action ID dentro do arquivo pois vai dar erro caso você n arrume. como esta no script -- actions ID da estatu
  17. não sei oq tu mexeu pq o layout.php eh gigantesco, mas isso ai é basicamente CSS, só mudar a classe quando checkar se ta online ou não.
  18. se vc usa o sistema de CAST da OTX, é necessário kickar o char (a criatura) pela source, se não não irá deslogar e sumir o personagem
  19. fiz um script que da pra colocar mais de um monstro e recompensas pra cada um no mesmo script vá em: data/actions/actions.xml <action actionid="ACTIOND-ID-DA-ESTATUA;ACTIONID;ACTIONID" script="questVertical.lua" /> INSIRA TODOS os actions ID das estatus, tanto das de entrada (clica pra entrar na sala), como as de recompensa ps: se for em sequencia, tipo 5001,5002,5003... só é necessário colocar o primeiro e o ultimo, ex: 5001-5003, porém PRESTE BASTANTE ATENÇÃO! Agora vá em: data/actions/scripts/questVertical.lua (caso não exista pode criar e excluir os scr
  20. Este tópico foi movido para a seção de Suporte Otserv.
  21. pelo que entendi, vc quer um script que teleporte o personagem, basicamente um barco? é necessário ser um NPC? se sim, esse script ta bem desatualizado. tem como fazer ele por movements mais simples e mais facil.
  22. tenta assim então local dailyWand = TalkAction("!wand") local vocs = {[1] = "D", [2] = "S", [5] = "ED", [6] = "MS"} --1 druid / 2 sorc / 5 ED / 6 MS function dailyWand.onSay(player, words, param) if not vocs[player:getVocation()] then player:sendCancel("somente Sorcerers e Druid podem receber está recompensa") return true end local storage = 556655001 local getStor = player:getStorageValue(storage) if getStor == -1 then --se a storage for -1, significa que nunca deu o comando player:addItem(28557, 500) player:setStorageValue(storage, 1) -- set
  23. local dailyWand = TalkAction("!wand") local vocs = {1,2,5,6} --1 druid / 2 sorc / 5 ED / 6 MS function dailyWand.onSay(player, words, param) if not vocs[player:getVocation()] then player:sendCancel("somente Sorcerers e Druid podem receber está recompensa") return true end local storage = 556655001 local getStor = player:getStorageValue(storage) if getStor == -1 then --se a storage for -1, significa que nunca deu o comando player:addItem(28557, 500) player:setStorageValue(storage, 1) -- seta a storage pra 1 = ja pegou else player:sendCancel
  24. pelo que entendi a cada 24h o player digita e ganha a varinha né? só mudar onde ele checa por tempo local dailyWand = TalkAction("!wand") function dailyWand.onSay(player, words, param) local storage = 556655001 local getStor = player:getStorageValue(storage) if getStor == -1 then --se a storage for -1, significa que nunca deu o comando player:addItem(28557, 500) player:setStorageValue(storage, 1) -- seta a storage pra 1 = ja pegou else player:sendCancel("você já pegou sua recompensa.") end return false end dailyWand:register(
  25. Este tópico foi movido para a seção de Suporte Otserv Alternativo
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo