
Tudo que FlameArcixt postou
-
Script que da double exp pro player premium acount
@Wodbosparta se eu ajudei, deixa a mensagem marcada como resposta amigão, vlw
-
Mensagem do player desalinhada com a sprite
Creature Information Offset - Tutoriais sobre Clients - Tibia King - Tudo sobre Tibia, OTServ e Bots! @KingDoodie caso não tenha mais duvida, por favor, deixar o tópico como resolvido.
-
!pvp on/off
(Resolvido)[Pedido] Talkactions pvp on/off TFS 0.4 - Suporte Tibia Otserv (Resolvidos) - Tibia King - Tudo sobre Tibia, OTServ e Bots!
-
Mensagem do player desalinhada com a sprite
Bom, a mensagem dos servidores tem um padrão, elas saem acima dos 32 pixels, por isso ta bugado, o tibia foi feito pra ter outfit 45° em 64x64, seu nto segue essa linhagem, da pra mudar na source, mas ai teria que ver um programador pra te falar, eu não sei como faz, mas pela logica, o servidor ta com as mensagens do tibia, ou seja, ta do modo certo.
-
(Pedido) Script para outfit
Segue a logica: <outfit id="155" quest="181656"> <list gender="0" lookType="1452" name="Hero"/> <list gender="1" lookType="1442" name="Gatinha Master"/> </outfit> O Quest seria a Storage da outfit, pra poder usar ela voce precisa ter a storage, então, pra fazer um item que da essa outfit é assim: function onUse(cid, item, fromPos, item2, toPos) local STORAGE_OUTFIT = 181656 local dias = 1 if doRemoveItem(item.uid, 1) then setPlayerStorageValue(cid,STORAGE_OUTFIT,os.time() + (1*60*60*24*Dias) doPlayerSendCancel(cid, "Recebeu uma outfit.") return true else doPlayerSendCancel(cid, "Não recebeu a outfit.") end return true end Você não vai precisar de comando, o player vai mudar nas outfits dele.
-
[Client] Como mudar o destino das hotkeys e minimapa do client
-
Meu Otserver não fica online, só eu consigo acessar
Checa se o seu ip é estatico ou fixo, caso seja estatico seu server nunca vai ficar on no pc, só pra quem ta na rede ja, ou usando radmin.
-
Ajuda em alteração de número máximo em "ranks" e aba skills.
local config = { MaxPlayer = 20, -- quantidade maxima de player na tabela fight_skills = { ['fist'] = 0, ['club'] = 1, ['sword'] = 2, ['axe'] = 3, ['distance'] = 4, ['shielding'] = 5, ['fishing'] = 6, ['dist'] = 4, ['shield'] = 5, ['fish'] = 6, }, other_skills = { ['level'] = "level", ['magic'] = "maglevel", ['health'] = "healthmax", ['mana'] = "manamax" }, vocations = { ['sorcerer'] = {1,5}, ['druid'] = {2,6}, ['paladin'] = {3,7}, ['knight'] = {4,8} } } function onSay(cid, words, param) local store,exausted = 156201,5 local param,str = string.lower(param),"" if not config.fight_skills[param] and not config.other_skills[param] and not config.vocations[param] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "this ranking does not exists.") return true elseif getPlayerStorageValue(cid, store) >= os.time() then doPlayerSendCancel(cid, "wait " .. getPlayerStorageValue(cid, store) - os.time() .. " seconds to use this command again.") return true end str = "--[ RANK "..(param == "" and "LEVEL" or string.upper(param)).." ]--\n\n" query = config.fight_skills[param] and db.getResult("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = "..config.fight_skills[param].." ORDER BY `value` DESC;") or config.other_skills[param] and db.getResult("SELECT `name`, `"..config.other_skills[param].."` FROM `players` WHERE `id` > 6 AND `group_id` < 2 ORDER BY `"..config.other_skills[param].."` DESC, `name` ASC;") or db.getResult("SELECT `name`, `level` FROM `players` WHERE `group_id` <= 2 AND `vocation` = "..config.vocations[param][1].." or `vocation` = "..config.vocations[param][2].." ORDER BY `level` DESC;") if (query:getID() ~= -1) then k = 1 while true do str = str .. "\n " .. k .. ". "..(config.fight_skills[param] and getPlayerNameByGUID(query:getDataString("player_id")) or query:getDataString("name")).." - [" .. query:getDataInt((config.fight_skills[param] and "value" or config.vocations[param] and "level" or config.other_skills[param])) .. "] - "..getPlayerVocationName(cid).."" k = k + 1 if not(query:next()) or k > config.MaxPlayer then break end end query:free() end doShowTextDialog(cid,6500, str) setPlayerStorageValue(cid, store, os.time()+exausted) return true end @Petergbc Se ajudei, marca a mensagem como resposta e encerra o tópico por favor. Deixa pra la, agora que eu li o tópico mesmo, esse negócio de aumentar o dim é hard, oq vc pode fazer é transformar esse dinheiro e mostrar em KK's em vez de todo esse numero ai.
-
Ativar Luzes OTC
Vá em Otc\modules\client_options\options.lua e procure os codigos e edite: Procure por elseif key == 'enableLights' then e substitua: Se ajudei Deixa o rep+ ai tmj mano
-
!rank Level e Vocation Juntos
local config = { MaxPlayer = 20, fight_skills = { ['fist'] = 0, ['club'] = 1, ['sword'] = 2, ['axe'] = 3, ['distance'] = 4, ['shielding'] = 5, ['fishing'] = 6, ['dist'] = 4, ['shield'] = 5, ['fish'] = 6, }, other_skills = { ['level'] = "level", ['magic'] = "maglevel", ['health'] = "healthmax", ['mana'] = "manamax" }, vocations = { ['sorcerer'] = {1,5}, ['druid'] = {2,6}, ['paladin'] = {3,7}, ['knight'] = {4,8} } } function onSay(cid, words, param) local store,exausted = 156201,5 local param,str = string.lower(param),"" if not config.fight_skills[param] and not config.other_skills[param] and not config.vocations[param] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "this ranking does not exists.") return true elseif getPlayerStorageValue(cid, store) >= os.time() then doPlayerSendCancel(cid, "wait " .. getPlayerStorageValue(cid, store) - os.time() .. " seconds to use this command again.") return true end str = "--[ RANK "..(param == "" and "LEVEL" or string.upper(param)).." ]--\n\n" query = config.fight_skills[param] and db.getResult("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = "..config.fight_skills[param].." ORDER BY `value` DESC;") or config.other_skills[param] and db.getResult("SELECT `name`, `"..config.other_skills[param].."` FROM `players` WHERE `id` > 6 AND `group_id` < 2 ORDER BY `"..config.other_skills[param].."` DESC, `name` ASC;") or db.getResult("SELECT `name`, `level` FROM `players` WHERE `group_id` <= 2 AND `vocation` = "..config.vocations[param][1].." or `vocation` = "..config.vocations[param][2].." ORDER BY `level` DESC;") if (query:getID() ~= -1) then k = 1 while true do str = str .. "\n " .. k .. ". "..(config.fight_skills[param] and getPlayerNameByGUID(query:getDataString("player_id")) or query:getDataString("name")).." - [" .. query:getDataInt((config.fight_skills[param] and "value" or config.vocations[param] and "level" or config.other_skills[param])) .. "] - "..getPlayerVocationName(cid).."" k = k + 1 if not(query:next()) or k > config.MaxPlayer then break end end query:free() end doShowTextDialog(cid,6500, str) setPlayerStorageValue(cid, store, os.time()+exausted) return true end
-
Script que da double exp pro player premium acount
No Creaturescript configure um evento novo, com o script abaixo, não esqueça de registrar no login.lua
- Remeres Map Editor (3.3) Em grupo (LIVE)
-
[Movements] Movimentar Player ate x Local
pera, o topico ja nao ta resolvido?
-
[Movements] Movimentar Player ate x Local
Editado
-
[Movements] Movimentar Player ate x Local
config = { [ACTION] = {{POS1},{POS2},{POS3},{POS4},{POS5},{POS6}}, [ACTION2] = {{POS1},{POS2},{POS3},{POS4},{POS5},{POS6}}, } function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition) if config[action.id] then for i = 1, #config[action.id][1] do doMoveCreature(cid, config[action.id][1][0+i]) end end return true end
-
X MONSTER MORRE NASCE BOSS
@Vodkart (Marcando pq nao encontrei nada falando disso na tfs 1.3)
- Remeres Map Editor (3.3) Em grupo (LIVE)
-
Item Aparecer e Desaparecer ao Pisar SQM
function onStepIn(creature, item, position, fromPosition) doCreateItem(ID,QUANTIDADE,POSIÇÂO CRIADO) -- adicionar item na pos end function onStepOut(creature, item, position, fromPosition) doRemoveItem(getTileItemById(POSIÇÂO ITEM, ID DO ITEM).uid, QUANTIDADE) -- remover item da pos end
-
Baú de donate
Acredito que em tfs 0.4 não de pra fazer, o que você pode fazer é um comando que da X Quantia de storage ao player (Que seria os pontos), e quando ele apertar o bau, checar essa storage, se a storage tiver valor 10, ele recebe os 10 pontos no depot dele, ou alterando a talk /i pra setar um atributo com o nome do player, ai vc cria o item com nome joga no bau, esse bau depois de um tempo checa os item e manda pro depois dos players que tem o nome igual do atributo do item
-
[ Boss Room ] Script
?Coloque isso nas funçoes da lib do servidor (Data/lib/compat/compat.lua)? ? Script do item vai ficar assim?
-
Compactar script!
config = [actionID] {{x = 710, y = 1420, z = 5}, {x = 709, y = 1420, z = 5}, {x = 708, y = 1420, z = 5}, {x = 707, y = 1420, z = 5}, {x = 706, y = 1420, z = 5},} } local TABELA = config[item.actionid] -- identifica o action id que está no item. function onUse(cid, item, fromPosition, itemEx, toPosition) if TABELA then doTeleportThing(cid, TABELA[1][math.random(1, #TABELA[1])]) return true else doPlayerSendCancel(cid,"FAIL") return false end end "doTeleportThing(cid, pos[math.random(1,#pos)]) ta errado manim, ele ta identificando a action id, não a tabela com posiçoes que fica dentro
-
Compactar script!
config = [actionID] {{x = 710, y = 1420, z = 5}, {x = 709, y = 1420, z = 5}, {x = 708, y = 1420, z = 5}, {x = 707, y = 1420, z = 5}, {x = 706, y = 1420, z = 5},} } local TABELA = config[item.actionid] -- identifica o action id que está no item. local lvl = 100 -- level que o player necessita pra entrar local saida = {x = 28, y = 779, z = 7} -- local para onde os players vão. function onUse(cid, item, fromPosition, itemEx, toPosition) if TABELA then doTeleportThing(cid, TABELA[1][math.random(1, #TABELA[1])]) return true end end
-
Remeres Map Editor (3.3) Em grupo (LIVE)
?? A muito tempo eu procuro um Remere's map editor com a opção Live funcional (Mapear em grupo), no dia (28/02/2021) o membro @WooX me apresentou esse Editor que possui essa opção funcional, hoje venho compartilhar aqui no Tibiaking, Mesmo que não seja relevante. ⛔ Não vou ensinar a instalação, pois é igual em todos os editor, e já existem vários tutoriais de instalação no TibiaKing. ⛔ ? Passo 1: Baixando/Usando Radmin (Necessário para quem não consegue abrir as portas do roteador/modem) ? ? Passo 2: Hosteando uma partida no Remere's Map Editor ? ? Passo 3: Entrando na live de alguém ? Demonstração em ação (Ignorem a musica) ? DEMONSTRAÇÂO ? ⚠️ DOWNLOAD REMERES MAP EDITOR 3.3: LINK ⚠️ ⚠️ DOWNLOAD RADMIN: LINK ⚠️
-
Sprites Pokemons em PNG
Ai tem varias sprites, abra com object builder e exporte em png. OtPokemon Disponiveis (mediafire.com) Scan
- Sprites Return Of The Saiyans