Ir para conteúdo

vankk

Membro
  • Registro em

  • Última visita

Tudo que vankk postou

  1. local pos = {x=1, y=2, z=3} local Topic = {} if isPremium(cid) then if getPlayerLevel(cid) > 7 then if msgcontains(msg, 'edron') then selfSay('Do you want to Travel to Edron for 110 gold coins?', cid) Topic[cid] = 1 elseif Topic[cid] == 1 and msgcontains(msg, 'yes') then if not isPlayerPzLocked(cid) then if doPlayerRemoveMoney(cid, 110) then selfSay('Set the sails!', cid) doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT) doTeleportThing(cid, pos) doSendMagicEffect(pos, CONST_ME_TELEPORT) Topic[cid] = 0 else selfSay('You need pay the travel.', cid) Topic[cid] = 0 end else selfSay('First get rid of those blood stains! You are not going to ruin my vehicle!', cid) Topic[cid] = 0 end elseif Topic[cid] == 1 and msgcontains(msg, 'no') then selfSay('Ok, come back when you want then!', cid) Topic[cid] = 0 end else selfSay('You need to be level 8 up to travel in this boat.', cid) Topic[cid] = 0 end else selfSay('You need be premium account to travel with me.', cid) Topic[cid] = 0 end
  2. local config = { pos = {x=608, y=602, z=10}, monster = "Demon" reset = 900 -- Seconds (15 minutos = 900 seconds) } local function reset(pos) local thing = getTileItemById(pos, 1946).uid return thing > 0 and doTransformItem(thing, 1945) end function onUse(cid, item, fromPosition, itemEx, toPosition) if(item.itemid == 1945) then doSummonCreature(config.monster, config.pos) addEvent(reset, config.reset * 1000, fromPosition) return TRUE end return FALSE end
  3. "ativar"? Como assim? Se voce fizer alguma modificacao nas sources, voce tem que compilar ela novamente. https://github.com/otland/forgottenserver/wiki/Compiling
  4. vankk postou uma resposta no tópico em Suporte Tibia OTServer
    Eu sei, eu vi pelo script. Voce quer que apareca como? !topminigame, como voce quer que apareca? Clica em um item, e voce ve? Como?
  5. Pode falar direito?!? Pq nao entendi nada.
  6. Disparando 167.114.62.4 com 32 bytes de dados: Resposta de 167.114.62.4: bytes=32 tempo=159ms TTL=116 Resposta de 167.114.62.4: bytes=32 tempo=158ms TTL=116 Resposta de 167.114.62.4: bytes=32 tempo=158ms TTL=116 Resposta de 167.114.62.4: bytes=32 tempo=158ms TTL=116 Estatísticas do Ping para 167.114.62.4: Pacotes: Enviados = 4, Recebidos = 4, Perdidos = 0 (0% de perda), Aproximar um número redondo de vezes em milissegundos: Mínimo = 158ms, Máximo = 159ms, Média = 158ms Veja com a empresa da sua maquina, fala que quem e da America do Sul esta com problema de latencia.
  7. function onStartup() db.escapeString("UPDATE `players` SET `online` = 0 WHERE `world_id` = " .. getConfigValue('worldId') .. ";") db.escapeString("DELETE FROM `guild_wars` WHERE `status` = 0 AND `begin` < " .. (os.time() - 2 * 86400) .. ";") db.escapeString("UPDATE `guild_wars` SET `status` = 5, `end` = " .. os.time() .. " WHERE `status` = 1 AND `end` > 0 AND `end` < " .. os.time() .. ";") return true end
  8. Manda o script do seu start.lua Edit: Eu tentei entrar no seu servidor, ve qual erro que deu no console e manda
  9. Tenta substituir db.executeQuery por db.escapeString. Se nao funcionar, posta o start.lua
  10. Em start.lua substitui executeQuery por db.executeQuery
  11. sudo reboot - reiniciar a maquina. Na maquina ja esta: ip = "IP DA MAQUINA" Assim, certeza? E nao esta funcionando?
  12. Em config.lua, o IP que deve estar e o IP da sua maquina, e voce tenta entrar por esse IP. Apenas IP, os numeros no qual voce da SSH com sua maquina.
  13. Eu tinha esse evento muito tempo aqui no meu Pen Drive (para ser mais específico 4 anos), eu vou mudar ele para 1.2 amanha, entao nao me interessa a versao 0.4 mais. Nao sei se esta funcionando, nao tenho mapa. E nao vou explicar configuracoes, se voce nao souber configurar esse evento, voce nao merece te-lo em seu servidor!! Entao esta ai o code: login.luaregisterCreatureEvent(cid, "TBEventC") registerCreatureEvent(cid, "TBEventS") registerCreatureEvent(cid, "TBEventO") tb.lualocal config = { base = {{x=121,y=126,z=7}, {x=142,y=149,z=7}}, -- team1 base, team2 base teamStorage = 49595, fragStorage = {49596, 49597} } function addFrag(id) return setGlobalStorageValue(config.fragStorage[id], math.max(1, (getGlobalStorageValue(config.fragStorage[id])+1))) end function getFragsTB(id) return getGlobalStorageValue(config.fragStorage[id]) == -1 and 0 or getGlobalStorageValue(config.fragStorage[id]) end function getTeam(cid) return getPlayerStorageValue(cid, config.teamStorage) == -1 and 0 or getPlayerStorageValue(cid, config.teamStorage) end function onCombat(cid, target, lastHit, flags) if not(isPlayer(cid)) or not(isPlayer(target)) then return true end if getTeam(cid) ~= 0 and getTeam(cid) == getTeam(target) then return doPlayerSendCancel(cid, "You may not attack teammates.") and false end return true end function onStatsChange(cid, attacker, type, combat, value) if combat == COMBAT_HEALING then return true end if not(isPlayer(cid)) or not(isPlayer(attacker)) then return true end if isMonster(attacker) and getTeam(cid) ~= 0 then return false end if isMonster(attacker) then return true end if getTeam(cid) ~= 0 and getTeam(cid) == getTeam(attacker) then return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You may not attack teammates.") and false elseif getTeam(cid) == 0 then return true end if type ~= STATSCHANGE_HEALTHLOSS then return true end if value >= getCreatureHealth(cid) then doTeleportThing(cid, config.base[getTeam(cid)]) doSendMagicEffect(getThingPos(cid), 10) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) addFrag(getTeam(attacker)) doPlayerSendTextMessage(attacker, MESSAGE_INFO_DESCR, "You killed ".. getPlayerName(cid) .." and earned a frag for your team. Your team now has ".. getFragsTB(getTeam(attacker)) .. " frags.") doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You were owned by ".. getPlayerName(attacker) ..".") return false end return true end function onOutfit(cid, old, current) if getTeam(cid) ~= 0 then return doPlayerSendCancel(cid, "You cannot change your outfit here.") and false end return true end globalevents tbevent.lualocal config = { tpPos = {x=92,y=118,z=7}, -- where tp happends tpToPos = {x=130,y=130,z=7}, -- tp p onde minutes = 1, -- minute area = {{x=121,y=126,z=7},{x=142,y=149,z=7}}, -- top left and bottom right corner of fight area waiting = {{x=121,y=126,z=7},{x=142,y=149,z=7}}, -- top left and bottom right corner of waiting arena needed = 2, -- minimum players timeToEnd = 30*1000, -- time to end base = {{x=121,y=126,z=7}, {x=142,y=149,z=7}}, -- team1 base, team2 base names = {"Alliance", "Horde"}, -- team names outfit = {{132, 136, 40},{132, 136, 160}}, -- outfits teamStorage = 49595, fragStorage = {49596, 49597}, fragsToWin = 3, -- frags to win outfitStorage = 49598 } function getFragsTB(id) return getGlobalStorageValue(config.fragStorage[id]) == -1 and 0 or getGlobalStorageValue(config.fragStorage[id]) end function getTeam(cid) return getPlayerStorageValue(cid, config.teamStorage) == -1 and 0 or getPlayerStorageValue(cid, config.teamStorage) end function setTeam(cid, team) local o = getCreatureOutfit(cid) setPlayerStorageValue(cid, config.outfitStorage, "{lookType=" .. o.lookType .. ", lookHead=" .. o.lookHead .. ", lookAddons=" .. o.lookAddons .. ", lookLegs=" .. o.lookLegs .. ", lookBody="..o.lookBody .. ", lookFeet=".. o.lookFeet.."}") doCreatureChangeOutfit(cid, {lookType = config.outfit[team][getPlayerSex(cid)+1], lookHead = config.outfit[team][3], lookAddons = 3, lookLegs = config.outfit[team][3], lookBody = config.outfit[team][3], lookFeet = config.outfit[team][3]}) return setPlayerStorageValue(cid, config.teamStorage, team) end function winner(id) if isInArray({1,2}, id) then doBroadcastMessage(config.names[id] .. " has won the Team Battle event.") for _, cid in pairs(getPlayersOnline()) do if getTeam(cid) == id then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your team has won the Team Battle event.") local rand = math.random(1,3) if rand == 1 then doPlayerAddItem(cid, SOFTBOOTS_ID, 1) elseif rand == 2 then doPlayerAddItem(cid, 2160, 10) else doAddPoints(cid, 5) end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your team has lost the Team Battle event.") end end else doBroadcastMessage("No one won the Team Battle event. DRAW") end for _, cid in pairs(getPlayersOnline()) do if getTeam(cid) ~= 0 then doTeleportThing(cid, getTownTemplePosition(1)) doSendMagicEffect(getThingPos(cid), 10) setPlayerStorageValue(cid, config.teamStorage, -1) setGlobalStorageValue(5474578, -1) doCreatureChangeOutfit(cid, loadstring("return " .. getPlayerStorageValue(cid, config.outfitStorage))()) end end end function areaPlayers(c) local t = {} for x = c[1].x, c[2].x do for y = c[1].y, c[2].y do for z = c[1].z, c[2].z do local tmp = getThingFromPos({x=x,y=y,z=z,stackpos=253}) if tmp.uid > 0 and (isPlayer(tmp.uid)) then table.insert(t, tmp.uid) end end end end return t end function endTB(z) if z >= config.timeToEnd then local w = getFragsTB(1) == getFragsTB(2) and 3 or getFragsTB(1) > getFragsTB(2) and 1 or 2 return winner(w) elseif getFragsTB(1) ~= getFragsTB(2) then if getFragsTB(1) >= config.fragsToWin then return winner(1) elseif getFragsTB(2) >= config.fragsToWin then return winner(2) end end addEvent(endTB, 25, z+25) end function setTeams(cid, team) local pos = config.base[team] if not(isPlayer(cid)) then return true end doTeleportThing(cid, pos) doSendMagicEffect(pos, 10) setTeam(cid, team) end function startTB() doRemoveItem(getTileItemById(config.tpPos, 1387).uid) local ppl = areaPlayers(config.waiting) for i = 1, #ppl do local level = getPlayerLevel(ppl[i]) if not(level >= 150) then -- LEVEL HERE doTeleportThing(ppl[i], getTownTemplePosition(1)) doSendMagicEffect(getThingPos(ppl[i]), 10) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "To fight here must be level 150.") end end ppl = areaPlayers(config.waiting) if #ppl%2 == 1 then local r = ppl[math.random(#ppl)] doTeleportThing(r, getTownTemplePosition(1)) doSendMagicEffect(getThingPos(r), 10) doPlayerSendTextMessage(r, MESSAGE_INFO_DESCR, "Sorry, but you were kicked from the event for balancement.") end ppl = areaPlayers(config.waiting) if #ppl >= config.needed then for p = 1, #ppl/2 do addEvent(setTeams, 10*1000, ppl[p], 1) for i = 10, 1, -1 do addEvent(doPlayerSendTextMessage, (10-i)*1000, ppl[p], MESSAGE_INFO_DESCR, "Team Battle event will start in " .. i .. " seconds.") end end for p = #ppl/2+1, #ppl do addEvent(setTeams, 10*1000, ppl[p], 2) for i = 10, 1, -1 do addEvent(doPlayerSendTextMessage, (10-i)*1000, ppl[p], MESSAGE_INFO_DESCR, "Team Battle event will start in " .. i .. " seconds.") end end addEvent(endTB, 10*1000, 0) return doBroadcastMessage("Team Battle event started.") end for i = 1, #ppl do doTeleportThing(ppl[i], getTownTemplePosition(1)) doSendMagicEffect(getTownTemplePosition(1), 10) doPlayerSendTextMessage(ppl[i], MESSAGE_INFO_DESCR, "There were not enough players") end doBroadcastMessage("Team Battle failed to start, because there were not enough players.") setGlobalStorageValue(5474578, -1) end function onTime() setGlobalStorageValue(config.fragStorage[1], -1) setGlobalStorageValue(5474578, 1) setGlobalStorageValue(config.fragStorage[2], -1) doBroadcastMessage("Team Battle event will start in " .. config.minutes .. " minutes. The teleporter is open now. ") doCreateTeleport(1387, config.tpToPos, config.tpPos) for m = config.minutes-1, 0, -1 do if m == 0 then addEvent(startTB, config.minutes*60*1000) else addEvent(doBroadcastMessage, (config.minutes-m)*60*1000, "Team Battle event will start in " .. m .. " minutes.") end end return true end Créditos: Desconhecido. Yours VANKK;
  14. vankk postou uma resposta no tópico em Suporte Tibia OTServer
    O que que voce quer? Nao entendi nada.
  15. vankk postou uma resposta no tópico em Suporte Tibia OTServer
    Usa esse code para o shop system.php : https://github.com/gesior/Gesior2012/blob/TFS-0.3.6_and_0.4_to_rev_3703/pages/shopsystem.php Mais informacoes: https://otland.net/threads/gesior2012-items-shop-installation-administration.170654/ Globalevents.xml <globalevent name="shop" interval="30000" event="script" value="shop.lua"/> Shop.lua -- ### CONFIG ### -- message send to player by script "type" (types you can check in "data/lib/000-constants.lua") SHOP_MSG_TYPE = MESSAGE_STATUS_CONSOLE_BLUE -- time (in seconds) between queries to MySQL database by shop script SQL_interval = 30 -- ### END OF CONFIG ### function onThink(interval, lastExecution) local result_plr = db.getResult("SELECT * FROM `z_ots_comunication` WHERE `type` = 'login';") if(result_plr:getID() ~= -1) then while(true) do id = tonumber(result_plr:getDataInt("id")) action = tostring(result_plr:getDataString("action")) delete = tonumber(result_plr:getDataInt("delete_it")) cid = getCreatureByName(tostring(result_plr:getDataString("name"))) if isPlayer(cid) == TRUE then local itemtogive_id = tonumber(result_plr:getDataInt("param1")) local itemtogive_count = tonumber(result_plr:getDataInt("param2")) local container_id = tonumber(result_plr:getDataInt("param3")) local container_count = tonumber(result_plr:getDataInt("param4")) local add_item_type = tostring(result_plr:getDataString("param5")) local add_item_name = tostring(result_plr:getDataString("param6")) local received_item = 0 local full_weight = 0 if add_item_type == 'container' then container_weight = getItemWeightById(container_id, 1) if isItemRune(itemtogive_id) == TRUE then items_weight = container_count * getItemWeightById(itemtogive_id, 1) else items_weight = container_count * getItemWeightById(itemtogive_id, itemtogive_count) end full_weight = items_weight + container_weight else full_weight = getItemWeightById(itemtogive_id, itemtogive_count) if isItemRune(itemtogive_id) == TRUE then full_weight = getItemWeightById(itemtogive_id, 1) else full_weight = getItemWeightById(itemtogive_id, itemtogive_count) end end local free_cap = getPlayerFreeCap(cid) if full_weight <= free_cap then if add_item_type == 'container' then local new_container = doCreateItemEx(container_id, 1) doItemSetAttribute(new_container, "description", 'Bought by ' .. getCreatureName(cid) .. ' [ID:' .. id .. '].') doItemSetAttribute(new_container, "tid", id) local iter = 0 while iter ~= container_count do local new_item = doCreateItemEx(itemtogive_id, itemtogive_count) doItemSetAttribute(new_item, "description", 'Bought by ' .. getCreatureName(cid) .. ' [ID:' .. id .. '].') doItemSetAttribute(new_item, "tid", id) doAddContainerItemEx(new_container, new_item) iter = iter + 1 end received_item = doPlayerAddItemEx(cid, new_container) else local new_item = doCreateItemEx(itemtogive_id, itemtogive_count) doItemSetAttribute(new_item, "description", 'Bought by ' .. getCreatureName(cid) .. ' [ID:' .. id .. '].') doItemSetAttribute(new_item, "tid", id) received_item = doPlayerAddItemEx(cid, new_item) end if received_item == RETURNVALUE_NOERROR then doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received >> '.. add_item_name ..' << from OTS shop.') doPlayerSave(cid) db.executeQuery("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";") db.executeQuery("UPDATE `z_shop_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";") else doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS shop is waiting for you. Please make place for this item in your backpack/hands and wait about '.. SQL_interval ..' seconds to get it.') end else doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS shop is waiting for you. It weight is '.. full_weight ..' oz., you have only '.. free_cap ..' oz. free capacity. Put some items in depot and wait about '.. SQL_interval ..' seconds to get it.') end end if not(result_plr:next()) then break end end result_plr:free() end return true end
  16. ta percebendo que todos os script estao com o final >> return TRUEend Edita todos que esta return TRUEend para: return TRUE end PS: A mesma coisa para o return FALSE.
  17. vankk postou uma resposta no tópico em Suporte Tibia OTServer
    Boa sorte.. local pos = getThingPos(cid) local monster = {'rotworm1', 'rotworm2', 'rotworm3', 'rotworm4', 'rotworm5', 'rotworm6', 'rotworm7', 'rotworm8', 'rotworm9', 'rotworm10'} local rndMon = monster[math.random(1,#monster)] doCreateMonster(rndMon, pos)
  18. vankk postou uma resposta no tópico em Suporte Tibia OTServer
    Como assim? Nao entendi o que voce quer.. Voce quer uma spell que quando voce fala o nome dela, aparece 10 monstros, sendo que 8 sao por exemplo Demon, e os outros 2 podem ser Dragon Lord, Dragon, Rotworm.. Isso?
  19. Eu tô pelo celular, quando eu chegar em casa eu vejo o script.
  20. vankk postou uma resposta no tópico em Suporte Tibia OTServer
    Script no servidor, para colocar no globalevents
  21. Boa sorte fazendo a magia, e editando a formula. function onGetFormulaValues(cid, level, shield) local min = (level * 1 + shield* 3) * 2.5 local max = (level * 1 + shield* 5) * 2.8 end setCombatCallback(combat, CALLBACK_PARAM_SKILL_SHIELD, "onGetFormulaValues")
  22. O code abaixo esta para adicionar 20 de todos skills. Adiciona no lugar de -- alguma coisa p absorver todos elementos. Type: statschange doPlayerAddMagLevel(cid, 20) doPlayerAddSkillTry(cid, SKILL_DISTANCE, 20) doPlayerAddSkillTry(cid, SKILL_SHIELD, 20) doPlayerAddSkillTry(cid, SKILL_AXE, 20) doPlayerAddSkillTry(cid, SKILL_SWORD, 20) doPlayerAddSkillTry(cid, SKILL_CLUB, 20) doPlayerAddSkillTry(cid, SKILL_SHIELD, 20)
  23. vankk postou uma resposta no tópico em Suporte Tibia OTServer
    Nao, isso e o XML, quero o LUA. Esse woe.lua localizado em data/actions/scripts.
  24. @Soco Da uma olhada nesse topico na OTLand, vai te ajudar acho.. https://otland.net/threads/i-cant-add-triggers.6919/

Informação Importante

Confirmação de Termo