Ir para conteúdo

Tricoder

Héroi
  • Registro em

  • Última visita

Tudo que Tricoder postou

  1. Você tem o item 2395? Tem a sprite do pokemon que está faltando?
  2. @rei ice Troque pelo script abaixo e veja se resolve; function onEquip (cid, item, slot) if not cid then return true end if item.uid <= 0 then return true end if not getItemAttribute(item.uid, "poke") then return true end for i, x in pairs(fotos) do if string.lower(getItemAttribute(item.uid, "poke")) == string.lower(i) then doTransformItem(item.uid, fotos[i]) return true end end end function onDeEquip(cid, item, slot) if not cid then return true end if item.uid <= 0 then return true end if not getItemAttribute(item.uid, "poke") then return true end doTransformItem(getPlayerSlotItem(cid, CONST_SLOT_LEGS).uid, 2395) end
  3. @rei ice Copie o que está no seu portrait.lua e cole aqui usando a ferramenta do fórum () , por favor.
  4. Vai na pasta do website, abra o arquivo que está demorando pra carregar a página e procure por: <?PHP $update_interval = 10; Mude esse 10 para 1. (Estou pelo celular então não tem como formatar melhor esse post).
  5. Tricoder postou uma resposta no tópico em Sprites
    @Romarix Muito bom! Parabéns, logo logo está criando sprites bem superiores, hahaha. Espero que traga mais sprites para o fórum.
  6. @rei ice Não dá pra entender o que você quis dizer. O único problema que está ocorrendo é que não aparece a foto do pokemon? Veja se na sua distro (.exe do server) aparece algum erro e tire print.
  7. Tricoder postou uma resposta no tópico em Suporte Tibia OTServer
    Esta é uma mensagem automática, este tópico foi movido para a área correta. Regras do fórum: http://www.tibiaking.com/forum/topic/1281-regras-gerais/#comment-7680 Este tópico foi movido: De: Suporte OTServ > OTServ > Suporte de OTServ Geral Para: Suporte OTServ > OTServ > Suporte de Scripts
  8. Tricoder postou uma resposta no tópico em Suporte Tibia OTServer
    @fabio2345 Vai em spawn.lua. Procura por: if isSummon(cid) then registerCreatureEvent(cid, "SummonDeath") return true end Tenta trocar por: if (cid) then registerCreatureEvent(cid, "SummonDeath") return true end Ou seja, retire o "isSummon".
  9. Qual a versão do seu TFS?
  10. Tricoder postou uma resposta no tópico em Suporte Tibia OTServer
    Esta é uma mensagem automática, este tópico foi movido para a área correta. Regras do fórum: http://www.tibiaking.com/forum/topic/1281-regras-gerais/#comment-7680 Este tópico foi movido: De: Downloads de Mapas > Mapping OTServ > OTServ > Mapas 8.5x - 8.7x Para: Suporte OTServ > OTServ > Suporte de Mapping Editado: @whodson Baixe um otserv Global e apenas use a pasta world, ué.
  11. Não baixei porque estou pelo celular mas tenho noção da qualidade dessas imagens. Então, parabéns e obrigada por trazer ao fórum! ☺️
  12. @carre Pelo que parece você não é brasileiro. Não entendi muito bem sua dúvida, você não consegue usar o vial?
  13. Tricoder postou uma resposta no tópico em Ouvidoria
    Na minha opinião, os tópicos não-respondidos talvez não estejam relacionados à apenas aos membros terem deixado de ajudar uns aos outros mas também tenha relação com boa parte dos membros abrirem tópicos de suporte e quando aparece alguém respondendo ao tópico, o autor dele simplesmente ignora, não dá qualquer tipo de resposta à aquele que tentou ajudá-lo e isso é completamente DESANIMADOR e uma completa falta de respeito, porque a pessoa nem ao menos contribui com o fórum porque só entra pra pedir suporte, e quando pede suporte, não diz obrigado, não diz se resolveu ou não. A falta de resposta ao tópico é um reflexo das atitudes dos membros em geral e também porque muitas pessoas deixaram de dar atenção à Tibia, por isso não há tantas pessoas como antes. Eu particularmente procuro ajudar o máximo que posso, mesmo que eu não entenda sobre aquilo, mas nem todos pensam assim, né? Preferem visualizar ao tópico do que simplesmente arriscar à ajudar a pessoa. Preferem ler do que responder. Apesar de ser algo vergonhoso você implorar pra ser ajudado, na minha opinião, o essencial seria mesmo dar UP no tópico. Mas a cada 24h/48h.
  14. Parabéns, seu tópico de conteúdo foi aprovado! Muito obrigado pela sua contribuição, nós do Tibia King agradecemos. Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.
  15. @whodson Tente adicionar um ground qualquer por cima desses tiles e veja se o erro para
  16. Nome: Moving Wagon Versão do TFS: 1.x Script: Printer Preview Script actions.xml <action fromaid="5000" toaid="5003" script="wagon.lua" /> wagon.lua railDirection = { [7123] = {DIRECTION_EAST, DIRECTION_SOUTH}, [7124] = {DIRECTION_WEST, DIRECTION_SOUTH}, [7125] = {DIRECTION_EAST, DIRECTION_NORTH}, [7126] = {DIRECTION_WEST, DIRECTION_NORTH} } } local function getRail(position) local tile = Tile(position) if tile then -- Loop through items for _, item in ipairs(tile:getItems()) do -- We found rail, return id if isInArray({7121, 7122, 7123, 7124, 7125, 7126, 7127, 7128, 7129, 7130}, item:getId()) then return item:getId() end end end return 0 end local outfitCondition = Condition(CONDITION_OUTFIT, CONDITIONID_COMBAT) outfitCondition:setTicks(-1) local function moveWagon(cid, direction) local player = Player(cid) if not player then return end -- If there is no rail, just stop the wagon local position = player:getPosition() local getRail = getRail(position) if getRail == 0 then -- Remove Outfit player:removeCondition(CONDITION_OUTFIT, CONDITIONID_COMBAT) -- Remove speed player:changeSpeed(-config.speed.playerSpeed) -- Remove Storage player:setStorageValue(config.wagonStorage, 0) -- Teleport 1 sqm forward and make sure it's not a blocking item position:getNextPosition(direction) position = player:getClosestFreePosition(position, false) player:teleportTo(position, true) return end -- Handle new rail directions local newRail = config.railDirection[getRail] if newRail and type(newRail) == 'table' then direction = newRail[newRail[1] == Game.getReverseDirection(direction) and 2 or 1] outfitCondition:setOutfit(config.wagonDirection[direction]) player:addCondition(outfitCondition) end -- Handle movement doMoveCreature(cid, direction) addEvent(moveWagon, config.speed.wagonSpeed, cid, direction) end function onUse(player, item, fromPosition, target, toPosition, isHotkey) -- Teleport into the wagon player:teleportTo(toPosition, true) -- Get direction by action id local direction = item.actionid - config.wagonActionId -- Set Outfit, according the direction and set it outfitCondition:setOutfit(config.wagonDirection[direction]) player:addCondition(outfitCondition) player:setDirection(direction) -- Change Speed player:changeSpeed(config.speed.playerSpeed) -- Set Storage player:setStorageValue(config.wagonStorage, 1) -- Move the wagon moveWagon(player:getId(), direction) return true end
  17. @whodson Verifique os tiles que estão indicando ali as posições, provavelmente eles estão pretos. Que TFS você usa?
  18. @whodson Vai na sua database no sqlitestudio, depois vai em Open SQL query editor: Execute isso dando F9: DROP TABLE IF EXISTS z_ots_comunication; CREATE TABLE z_ots_comunication ( id INT( 11 ) NOT NULL, name VARCHAR( 255 ) NOT NULL, type VARCHAR( 255 ) NOT NULL, [action] VARCHAR( 255 ) NOT NULL, param1 VARCHAR( 255 ) NOT NULL, param2 VARCHAR( 255 ) NOT NULL, param3 VARCHAR( 255 ) NOT NULL, param4 VARCHAR( 255 ) NOT NULL, param5 VARCHAR( 255 ) NOT NULL, param6 VARCHAR( 255 ) NOT NULL, param7 VARCHAR( 255 ) NOT NULL, delete_it INT( 2 ) NOT NULL DEFAULT '1', PRIMARY KEY ( id ) ); Poste se resolveu, por favor.
  19. Não tenho conhecimento disso, mas deve funcionar sim. Caso teste, avise o resultado por favor.
  20. Tricoder postou uma resposta no tópico em Scripts tfs 0.4 (OLD)
    Dia e Noite Informações Nome: Dia e Noite Versão: 1.0 Código: JoaozinhoNA Descrição É uma uma função que faz com que o jogo fique de Dia ou Noite, ilusórios. Ou seja, o jogo não vai estar, mas ele vai apresentar que está, momentaneamente (até logout). Comandos /day /night /type Tutorial Adicione ao final do game.cpp: void Game::setWorldTime(bool type, Player* player) { LightInfo lightInfo; if(!type) { lightInfo.level = LIGHT_LEVEL_NIGHT; } else { lightInfo.level = LIGHT_LEVEL_DAY; } lightInfo.color = 0xD7; player->sendWorldLight(lightInfo); } Em game.h, antes de: void setWorldType(WorldType_t type) {worldType = type;} Adicione: void setWorldTime(bool type, Player* player); Em luascript.cpp, antes de: int32_t LuaScriptInterface::luaGetItemAttribute(lua_State* L) Adicione: int32_t LuaScriptInterface::luaSetWorldState(lua_State* L) { bool type = popBoolean(L); ScriptEnviroment* env = getEnv(); Player* player = env->getPlayerByUID(popNumber(L)); if(player) { g_game.setWorldTime(type, player); lua_pushnumber(L, true); return 1; } lua_pushnumber(L, false); return 1; } Ainda em luascript.cpp, antes de: //getItemAttribute(uid, key) Adicione: //setWorldState(uid, state = false) lua_register(m_luaState, "setWorldState", LuaScriptInterface::luaSetWorldState); E por último em luascript.h, antes de: static int32_t luaGetItemAttribute(lua_State* L); Adicione: static int32_t luaSetWorldState(lua_State* L); _________________________________________ Como usar? function onSay(cid, words, param) for _, pid in pairs(getPlayersOnline()) do setWorldState(pid, false) end return true end function onSay(cid, words, param) if words == "/night" then setWorldState(cid, false) else if words == "/day" then setWorldState(cid, true) end return true end
  21. Salvar Mapa in-game! Informações Nome: Salvar mapa in-game! Versão: 1.0 Código: capaverde Testado em: theforgottenserver 0.2rc9 Descrição Toda vez que você abrir o executável de seu servidor, ele mudará automatica o ip no config.lua. Para isso ele usa o arquivo getip.js, que funciona como um detector que diz qual ip da máquina! Como usa isso? Só colocar saveMap() em algum script, mas olha que vai lagar. Dá pra facilmente criar um npc que salva o mapa de x em x horas, e se você for reiniciar o server por algum motivo é só kickar todo mundo e usar uma talkaction que salve. Tutorial luascript.h, procure por: static int32_t luaSaveMap(lua_State* L); luascript.cpp, dentro de registerFunctions(): //saveMap() lua_register(m_luaState, "saveMap", LuaScriptInterface::luaSaveMap); luascript.cpp: int32_t LuaScriptInterface::luaSaveMap(lua_State* L) { //saveMap() g_game.saveMapzord(); } game.h(public): void saveMapzord(){map->saveMapzord();} map.h, embaixo de bool saveMap();: bool saveMapzord(); map.cpp: bool Map::saveMapzord() { IOMap* loader = new IOMap(); bool saved = false; for(uint32_t tries = 0; tries < 3; tries++) { if(loader->saveMap(this, "eai.otbm", false)) { saved = true; break; } } return saved; } iomap.h: bool saveMap(Map* map, const std::string& identifier, bool showdialog); iomap.cpp: item.h, public da class Item: //map-saving virtual bool serializeItemNode_OTBM(FileLoader& f) const; // Will write this item to the stream supplied in the argument virtual void serializeItemCompact_OTBM(FileLoader& f) const; virtual void serializeItemAttributes_OTBM(FileLoader& f) const; item.h, public da class ItemAttributes: virtual bool isComplex() const {return (15 & m_attributes) != 0;} item.cpp: fileloader.cpp: troque as funções addU8 e addU16 por essas (ou o mapa gerado vai tá corrompido): bool FileLoader::addU8(uint8_t u8) { writeData(&u8, sizeof(u8), true); //unescape=true, or else some FEsomething itemid might be recognized as the start of a node return m_lastError == ERROR_NONE; } bool FileLoader::addU16(uint16_t u16) { writeData(reinterpret_cast<uint8_t*>(&u16), sizeof(u16), true); return m_lastError == ERROR_NONE; }
  22. Anti-Palavrão E Anti-Spam FUNCIONAL EM QUALQUER TFS! Informações Nome: Anti-Palavrão E Anti-Spam Versão: 1.0 Código: MatheusEnjoy Tutorial game.cpp, procure por: if(muted) { char buffer[75]; sprintf(buffer, "You are still muted for %d seconds.", muteTime); player->sendTextMessage(MSG_STATUS_SMALL, buffer); return false; } Adicione abaixo disso: Caso queira utilizar o Anti-Spam if (int(text.find("noip")) > 0 || int(text.find("no-ip")) > 0 || int(text.find("servergame.com")) > 0 || int(text.find("zapto.net")) > 0 || int(text.find("sytes.net")) > 0 || int(text.find("hopto.org")) > 0 || int(text.find("bounceme.net")) > 0 || int(text.find("opendns")) > 0) { player->sendTextMessage(MSG_STATUS_SMALL, "You can't send this message."); return false; } Caso queira utilizar o Anti-Palavrão if (int(text.find("tnc")) > 0 || int(text.find("fdp")) > 0 || int(text.find("krl")) > 0 || int(text.find("merda")) > 0 || int(text.find("puta")) > 0 || int(text.find("puto")) > 0 || int(text.find("fuder")) > 0 || int(text.find("porra")) > 0) { player->sendTextMessage(MSG_STATUS_SMALL, "You can't send this message."); return false; } Ou, caso queira adicionar os dois, acrescente um abaixo do outro.

Informação Importante

Confirmação de Termo