Ir para conteúdo

ViitinG

Membro
  • Registro em

  • Última visita

Tudo que ViitinG postou

  1. ViitinG postou uma resposta no tópico em Suporte Tibia OTServer
    Ta faltando um end no script !
  2. O tópico foi movido para a área correta, preste mais atenção da próxima vez! Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680 Este tópico foi movido: De: "OTServ → Downloads → Utilitários para OTServs" Para: "OTServ → Suporte OTServ → Suporte de Clients"
  3. ViitinG postou uma resposta no tópico em Suporte Tibia OTServer
    Tenta colocar group_id 5 ao invés de 6,tem servidor que o access do ADM é 5. O tópico foi movido para a área correta, preste mais atenção da próxima vez! Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680 Este tópico foi movido: De: "OTServ → Suporte OTServ → Suporte de OTServ Geral" Para: "OTServ → Suporte OTServ → Suporte de Programação"
  4. ViitinG postou uma resposta no tópico em Sistemas, Mods & Funções .lua
    {fromPos = {x=1089, y=1110, z=8}, toPos = {x=1135, y=1142, z=8}
  5. Copía a pasta e cola ela em um lugar seguro antes de fazer a alteração isso é backup. @topic - Se no mapa não tiver nenhum item 8.60 que não tenha na versão 8.54 vai funcionar.
  6. Clique em "File>Import>Monster/NPC..." selecione o xml do monstro que você quer,importa e reinicia o RME.Verifica se no seu servidor tem o monster que você está tentando colocar !
  7. O tópico foi movido para a área correta, preste mais atenção da próxima vez! Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680 Este tópico foi movido: De: "OTServ → Suporte OTServ → Suporte de OTServ Geral" Para: "OTServ → Suporte OTServ → Suporte de Programação"
  8. ViitinG postou uma resposta no tópico em Suporte Tibia OTServer
    Tenta agora : --[[ Capture The Flag System Author: Maxwell Denisson(MaXwEllDeN) Version: 2.0 Contact: [email protected] ]] CTF_LIB = { waitpos = {x = 1009, y = 1030, z =7}, -- Posição da sala de espera tppos = {x = 1031, y = 1028, z =7}, -- Onde o TP vai aparecer days = {2, 5, 7}, -- Dias que o evento vai abrir xp_percent = 0.5, -- Porcentagem de exp que o player vai ganhar timeclose = 1, -- Tempo, em minutos, para iniciar o CTF winp = 10, -- Quantos pontos uma equipe precisa marcar para vencer teams = { ["Vermelho"] = { temple = 1, -- TownID da equipe vermelha outfit = {lookHead = 0, lookBody = 132, lookLegs = 113, lookFeet = 94}, flag = { id = 1435, flag_pos = {x = 1024, y = 1036, z =7}, -- Posição onde a bandeira vermelha vai ser criada gnd_pos = {x = 1025, y = 1036, z =7}, -- Onde os players da equipe vermelha entregarão a bandeira. }, }, ["Verde"] = { temple = 1, -- TownID da equipe verde outfit = {lookHead = 0, lookBody = 121, lookLegs = 101, lookFeet = 101}, flag = { id = 1437, flag_pos = {x = 1027, y = 1039, z =7}, -- Posição onde a bandeira verde vai ser criada gnd_pos = {x = 1027, y = 1038, z =7}, -- Onde os players da equipe verde entregarão a bandeira. }, }, }, } local CTF = CTF_LIB function CTF.getMembers() local members = {} for _, cid in pairs(getPlayersOnline()) do if getPlayerStorageValue(cid, 16700) ~= -1 then table.insert(members, cid) end end return members end function CTF.getTeamMembers(team) local members = {} for _, cid in pairs(CTF.getMembers()) do if getPlayerStorageValue(cid, 16700) == team then table.insert(members, cid) end end return members end function CTF.removePlayer(uid) setPlayerStorageValue(uid, 16700, -1) doPlayerSetTown(uid, getPlayerStorageValue(uid, 16701)) doTeleportThing(uid, getTownTemplePosition(getPlayerStorageValue(uid, 16701))) setPlayerStorageValue(uid, 16701, -1) doRemoveCondition(uid, CONDITION_OUTFIT) doCreatureAddHealth(uid, getCreatureMaxHealth(uid)) doCreatureAddMana(uid, getCreatureMaxMana(uid)) return true end function CTF.addPlayer(uid) local team = CTF.getTeamLivre() local n_team = CTF.teams[team] setPlayerStorageValue(uid, 16700, team) setPlayerStorageValue(uid, 16701, getPlayerTown(uid)) doPlayerSetTown(uid, n_team.temple) doTeleportThing(uid, CTF.waitpos) doPlayerSendTextMessage(uid, 22, "Você agora faz parte do time ".. team .. ".") local outfit = getCreatureOutfit(uid) for i, v in pairs(n_team.outfit) do outfit[i] = v end registerCreatureEvent(uid, "CTFLogout") registerCreatureEvent(uid, "CTFAttack") registerCreatureEvent(uid, "CTFCombat") registerCreatureEvent(uid, "CTFDeath") doSetCreatureOutfit(uid, outfit, -1) return true end function CTF.getTeamLivre() local teams = {} for i, _ in pairs(CTF.teams) do table.insert(teams, {i, #CTF.getTeamMembers(i)}) end if (teams[1][2] < teams[2][2]) then return teams[1][1] elseif (teams[1][2] > teams[2][2]) then return teams[2][1] end return teams[math.random(2)][1] end function CTF.broadCast(msg, class) for _, uid in pairs(CTF.getMembers()) do doPlayerSendTextMessage(uid, class or 20, msg) end return true end function CTF.getFlagTeam(flag) for i, v in pairs(CTF.teams) do if v.flag.id == flag then return i end end return "" end local score_sto = {} local a = 0 for i, _ in pairs(CTF.teams) do score_sto[i] = 42314 + a a = a + 1 end function CTF.createFlags() for i, v in pairs(CTF.teams) do local flag = doCreateItem(v.flag.id, 1, v.flag.flag_pos) doItemSetAttribute(flag, "aid", 63218) v.flag.gnd_pos.stackpos = 0 local gnd = getThingFromPos(v.flag.gnd_pos).uid doItemSetAttribute(gnd, "aid", 63200) doItemSetAttribute(gnd, "team", i) setGlobalStorageValue(score_sto[i], 0) end return true end function CTF.removeFlags() for i, v in pairs(CTF.teams) do local flag = doFindItemInPos({v.flag.id}, v.flag.flag_pos)[1] if flag then doRemoveItem(flag.uid, 1) end v.flag.gnd_pos.stackpos = 0 local gnd = getThingFromPos(v.flag.gnd_pos).uid doItemSetAttribute(gnd, "aid", 0) end return true end function CTF.start() doRemoveItem(doFindItemInPos({1387}, CTF.tppos)[1].uid, 1) setGlobalStorageValue(16705, -1) if #CTF.getMembers() < 2 then doBroadcastMessage("O CTF não pôde ser iniciado por falta de players.") for _, cid in pairs(CTF.getMembers()) do CTF.removePlayer(cid) end return false end CTF.broadCast("O CTF foi iniciado. Bom jogo!") for _, uid in pairs(CTF.getMembers()) do doTeleportThing(uid, getTownTemplePosition(getPlayerTown(uid))) end CTF.createFlags() return true end function CTF.returnFlag(uid, status) local team = getPlayerStorageValue(uid, 16702) if status then local msg = "O player ".. getCreatureName(uid) .. ", estava com a bandeira do time ".. team .. " " if status == 1 then msg = msg .. "e foi eliminado. " elseif status == 2 then msg = "e foi removido do evento. " end msg = msg .. "Portanto a bandeira do time ".. team .. " foi devolvida." CTF.broadCast(msg) end if CTF.teams[team] then local flag = doCreateItem(CTF.teams[team].flag.id, 1, CTF.teams[team].flag.flag_pos) doItemSetAttribute(flag, "aid", 63218) setPlayerStorageValue(uid, 16702, -1) end return true end function CTF.addPoint(uid) local finish local msg = "Capture The Flag:" setGlobalStorageValue(score_sto[getPlayerStorageValue(uid, 16700)], getGlobalStorageValue(score_sto[getPlayerStorageValue(uid, 16700)]) + 1) for i, _ in pairs(CTF.teams) do msg = msg .. "\nTime ".. i .. ": ".. getGlobalStorageValue(score_sto[i]) if getGlobalStorageValue(score_sto[i]) >= CTF.winp then finish = i end end CTF.broadCast(getCreatureName(uid) .. " marcou um ponto para o time ".. getPlayerStorageValue(uid, 16700) .. ".", 22) CTF.broadCast(msg) if finish then CTF.close(finish) end return true end function CTF.close(win) for i, _ in pairs(CTF.teams) do setGlobalStorageValue(score_sto[i], 0) end if not win then doBroadcastMessage("O CTF acabou sem vencedores.") else CTF.broadCast("O time ".. win .. " marcou ".. CTF.winp .. " ponto(s) e venceu o evento.") end for _, cid in pairs(CTF.getMembers()) do if getPlayerStorageValue(cid, 16700) == win then local xp = math.ceil(getPlayerExperience(cid) * (CTF.xp_percent / 100), 215) doPlayerSendTextMessage(cid, 22, "Parabéns! Você ganhou o evento e obteve ".. CTF.xp_percent .."% de sua experiência total(".. xp ..").") doSendAnimatedText(getThingPos(cid), xp, 215) doPlayerAddExperience(cid, xp) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) end if getPlayerStorageValue(cid, 16702) ~= -1 then CTF.returnFlag(cid) end CTF.removePlayer(cid) end CTF.removeFlags() return true end local function Alert(uid) if (isCreature(uid)) then if getPlayerStorageValue(uid, 16702) == -1 or getPlayerStorageValue(uid, 16700) == -1 then return false end doSendAnimatedText(getThingPos(uid), "Flag!", math.random(50, 200)) local bla = {18, 19, 21, 22, 23, 24} doSendMagicEffect(getThingPos(uid), bla[math.random(#bla)]) if (os.time() - getPlayerStorageValue(uid, 16703) >= 60) then CTF.returnFlag(uid) return setPlayerStorageValue(uid, 16703, -1) end addEvent(Alert, 500, uid) return true end return false end function CTF.stealFlag(uid, team) setPlayerStorageValue(uid, 16702, team) setPlayerStorageValue(uid, 16703, os.time()) CTF.broadCast(getCreatureName(uid) .. " roubou a bandeira do time ".. team .. "!") Alert(uid) return true end function doFindItemInPos(ids, pos) -- By Undead Slayer local results = {} for _ = 0, 255 do local findPos = {x = pos.x, y = pos.y, z = pos.z, stackpos = _} if isInArray(ids, getThingFromPos(findPos).itemid) then table.insert(results, getThingFromPos(findPos)) end end return results end
  9. ViitinG postou uma resposta no tópico em Suporte Tibia OTServer
    O tópico foi movido para a área correta, preste mais atenção da próxima vez! Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680 Este tópico foi movido: De: "OTServ → Suporte OTServ → Suporte de OTServ Geral" Para: "OTServ → Suporte OTServ → Suporte de Programação"
  10. Amigo se possível coloque o script em spoiler para facilitar a visualização e deixar o tópico mais organizado para os membros ! Para colocar em spoiler,caso não saiba : [spoiler#] SCRIPT [/spoiler#] retire o #.
  11. ViitinG postou uma resposta no tópico em OTServer Derivados
    @wesleyarruda cuidado com flood amigo,mensagens sem conteúdo que não contribuem em nada ou que não estejam relacionadas ao assunto do tópico são consideradas flood e é proibído. Leia as regras do fórum : http://www.tibiaking.com/forum/topic/1281-regras-gerais/?p=7680#entry7680
  12. @R0lfinho procure no fórum sobre sua dúvida e caso não ache crie um tópico ao invés de ficar comentando nos tópicos de outros membros amigo !! Leia as regras do fórum : http://www.tibiaking.com/forum/forum/23-regras-do-forum/
  13. @CreatServer - Cuidado já deram UP no seu tópico,você tem que esperar 24 horas antes de dar outro UP amigo ! Leia as regras do fórum : http://www.tibiaking.com/forum/forum/23-regras-do-forum/
  14. ViitinG postou uma resposta no tópico em Suporte Tibia OTServer
    @Amanditaah cuidado com double post,se precisar acrescentar alguma coisa que esqueceu é só editar o ultimo comentario,não tem necessidade de criar mais um ! Leia as regras do fórum : http://www.tibiaking.com/forum/topic/1281-regras-gerais/?p=7680#entry7680
  15. @kk4444 você só pode dar UP após 24 horas brother ! Leia as regras do fórum : http://www.tibiaking.com/forum/forum/23-regras-do-forum/
  16. Tenta assim,se não der manda o erro se possível : local commonItems = { {itemid=2457, count=1}, -- legion helmet {itemid=2463, count=1}, -- chain armor {itemid=2647, count=1}, -- studded legs {itemid=2195, count=1}, -- leather boots {itemid=2160, count=5}, -- money {itemid=2124, count=1}, -- anel {itemid=2173, count=1} -- aol } local firstItems = { { -- SORC ITEMS {itemid=2190, count=1}, -- wand of vortex {itemid=2514, count=1}, -- mms {itemid=7620, count=1} -- mana potion }, { -- DRUID ITEMS {itemid=2182, count=1}, -- snakebite rod {itemid=2514, count=1}, -- mms {itemid=7620, count=1} -- mana potion }, { -- PALADIN ITEMS {itemid=2389, count=1}, -- spear {itemid=2514, count=1}, -- mms {itemid=7618, count=1} -- mana potion }, { -- KNIGHT ITEMS {itemid=2383, count=1}, -- spike sword {itemid=2514, count=1}, -- mms {itemid=7618, count=1} -- mana potion } } for _, items in ipairs(firstItems) do for _, item in ipairs(commonItems) do table.insert(items, item) end end local storage = 35353 function onLogin(cid) if getPlayerGroupId(cid) < 3 then local receivedItems = getPlayerStorageValue(cid, storage) if receivedItems == -1 then --[[local backpack = ]]doPlayerAddItem(cid, 1988, 1) local giveItems = firstItems[getPlayerVocation(cid)] if giveItems ~= nil then for _, v in ipairs(giveItems) do --doAddContainerItem(backpack, v.itemid, v.count or 1) doPlayerAddItem(cid, v.itemid, v.count or 1) end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você recebeu seus primeiros itens !") end setPlayerStorageValue(cid, storage, 1) end return true end end
  17. ViitinG postou uma resposta no tópico em Suporte Tibia OTServer
    Tenta trocar por esse : local cleanEvent = 0 function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Collected " .. doCleanMap() .. " items.") return true end local t = string.explode(param, ",") if(t[1] == 'tile') then local removeLoaded = false if(t[2]) then removeLoaded = getBooleanFromString(t[2]) end doCleanTile(getCreaturePosition(cid), removeLoaded) return true end if(not tonumber(param)) then doPlayerSendCancel(cid, "Command numeric param required.") return true end stopEvent(cleanEvent) prepareClean(tonumber(param), cid) return true end function prepareClean(minutes, cid) if(minutes == 0) then if(isPlayer(cid)) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Cleaned " .. doCleanMap() .. " items.") end doBroadcastMessage("Game map cleaned.") elseif(minutes > 0) then if(minutes == 1) then doBroadcastMessage("Game map cleaning in " .. minutes .. " minute, please pick up all your items.") else doBroadcastMessage("Game map cleaning in " .. minutes .. " minutes.") end cleanEvent = addEvent(prepareClean, 60000, minutes - 1, cid) end end
  18. Se você usa TFS 0.3/0.4, adicione isto em "data/lib/050-function.lua" (se você ja não tiver). function doSetItemActionId(uid, actionid) return doItemSetAttribute(uid, "aid", actionid) end
  19. @danihcv - É impossível ter mais que uma house no tibia,só se seu servidor for diferente dos outros.
  20. ViitinG postou uma resposta no tópico em Suporte Tibia OTServer
    Esse aqui está funcionando perfeitamente : http://www.tibiaking.com/forum/topic/16699-sistema-battlefield-event/ Acho que é somente para TFS 0.4 !
  21. @kk4444 - Sim : function onUse(cid, item, fromPosition, itemEx, toPosition) if not getTilePzInfo(getThingPos(cid)) then return doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Desculpe, voce nao esta em protection zone.") end if hasCondition(cid, CONDITION_INFIGHT) then return doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Desculpe, voce esta em batalha.") end if getPlayerLevel(cid) < getConfigInfo("levelToBuyHouse") then return doPlayerSendCancel(cid, "Sorry, not possible.") end if not getHouseByPlayerGUID(getPlayerGUID(cid)) then return doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Desculpe, você não tem house.") end doTeleportThing(cid, getHouseEntry(getHouseByPlayerGUID(getPlayerGUID(cid)))) doRemoveItem(item.uid, 1) return true end
  22. Tenta usar esse : local commonItems = { -- ITEMS ALL VOCS RECEIVE {itemid=2480, count=1}, -- legion helmet {itemid=2464, count=1}, -- chain armor {itemid=2468, count=1}, -- studded legs {itemid=2643, count=1}, -- leather boots {itemid=2120, count=1}, -- rope {itemid=5710, count=1} -- shovel } local firstItems = { { -- SORC ITEMS {itemid=2190, count=1}, -- wand of vortex {itemid=2175, count=1} -- spellbook }, { -- DRUID ITEMS {itemid=2182, count=1}, -- snakebite rod {itemid=2175, count=1} -- spellbook }, { -- PALADIN ITEMS {itemid=2456, count=1}, -- bow {itemid=2544, count=100} -- 100 arrows }, { -- KNIGHT ITEMS {itemid=2412, count=1}, -- katana {itemid=2530, count=1} -- copper shield } } for _, items in ipairs(firstItems) do for _, item in ipairs(commonItems) do table.insert(items, item) end end local storage = 35353 function onLogin(cid) if getPlayerGroupId(cid) < 3 then local receivedItems = getPlayerStorageValue(cid, storage) if receivedItems == -1 then --[[local backpack = ]]doPlayerAddItem(cid, 1988, 1) local giveItems = firstItems[getPlayerVocation(cid)] if giveItems ~= nil then for _, v in ipairs(giveItems) do --doAddContainerItem(backpack, v.itemid, v.count or 1) doPlayerAddItem(cid, v.itemid, v.count or 1) end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You have recieved your first items!") end setPlayerStorageValue(cid, storage, 1) end return true end
  23. O tópico foi movido para a área correta, preste mais atenção da próxima vez! Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680 Este tópico foi movido: De: "OTServ → Clients OTServ" Para: "OTServ → Suporte OTServ → Suporte de Clients"
  24. Para quem não sabe como funciona o script : O player usa um certo item e se ele for dono de alguma house ele será teleportado para ela. • Adicionando o script • Em "data/actions/scripts/tphouse.lua" : function onUse(cid, item, fromPosition, itemEx, toPosition) if hasCondition(cid, CONDITION_INFIGHT) then return doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Desculpe,voce esta em batalha.") end if getPlayerLevel(cid) < getConfigInfo("levelToBuyHouse") then return doPlayerSendCancel(cid, "Sorry, not possible.") end if not getHouseByPlayerGUID(getPlayerGUID(cid)) then return doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Desculpe voce nao tem house.") end doTeleportThing(cid, getHouseEntry(getHouseByPlayerGUID(getPlayerGUID(cid)))) doRemoveItem(item.uid, 1) return true end Em "data/actions/actions.xml" : <action itemid="7722" event="script" value="tphouse.lua"/> Créditos : MaXwEllDeN por ajudar em algumas funções. • Configurando •
  25. Para quem não sabe como funciona o script : O player precisar ter uma certa quantia de gold para poder comprar um item pelo baú.(o item ficará atrás do baú no caso) • Adicionando o script • Em "data/actions/scripts/comprabau1.lua" : function onUse(cid, item) local price = 50000 -- Preço do item local it = 8932 -- ID do item local count = 1 -- Quantia do item if not doPlayerRemoveMoney(cid, price) then doPlayerSendCancel(cid, "Você precisa ter "..price.." gold coins para comprar "..count.."x "..getItemNameById(it)..".") return true end doPlayerAddItem(cid, it, count) doPlayerSendCancel(cid, "Você comprou "..count.."x "..getItemNameById(it).." por "..price.." gold coins.") return true end Em "data/actions/actions.xml" : <action actionid="6002" script="comprabau1.lua"/> • Configurando •

Informação Importante

Confirmação de Termo