Tudo que Tricoder postou
- (Resolvido)ERRO OT SERVER foto bugada (resolvido)
-
(Resolvido)ERRO OT SERVER foto bugada (resolvido)
@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
- (Resolvido)ERRO OT SERVER foto bugada (resolvido)
- [VIDEO AULA] Colocando OT online nas versões atuais 10.x
-
Free for use!
@Romarix Muito bom! Parabéns, logo logo está criando sprites bem superiores, hahaha. Espero que traga mais sprites para o fórum.
- (Resolvido)ERRO OT SERVER foto bugada (resolvido)
- npc que troque 3 itens por uma chave
-
poketibia erro
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
-
poketibia erro
@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".
- Scroll Multiplicar XP/min
-
Pedido de um Mapa 8.60
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é.
- [BG's] Benny Backgrounds
-
Poi gravestone 7.6 bug
@carre Pelo que parece você não é brasileiro. Não entendi muito bem sua dúvida, você não consegue usar o vial?
-
Tópicos Não-Respondidos
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.
- World of Naruto Online v3.2 - .dat .spr .pic
-
Bug de Invalide position no mapa
@whodson Tente adicionar um ground qualquer por cima desses tiles e veja se o erro para
-
[TFS 1.x] Moving Wagon
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
-
Bug de Invalide position no mapa
@whodson Verifique os tiles que estão indicando ali as posições, provavelmente eles estão pretos. Que TFS você usa?
- [AJUDA] Como Resetar Acc's
-
Vip por item com VIP antes do nome.
Ok, cadê o script?
-
(Resolvido)Erro de login no mapa
@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.
- Anti-Palavrão E Anti-Spam
-
Dia e Noite
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
-
Salvar mapa in-game!
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; }
-
Anti-Palavrão E Anti-Spam
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.