Ir para conteúdo
Close

REFORMULAMOS A SEÇÃO DE CLASSIFICADOS! - Crie grátis os seus anúncios de procura e oferta de serviços e produtos relacionados ao OTServ! - Acesse através do nosso menu ou clique aqui e confira já!

Vodkart

Moderador
  • Total de itens

    2.543
  • Registro em

  • Última visita

  • Dias Ganhos

    91

Vodkart venceu a última vez em Dezembro 14

Vodkart teve o conteúdo mais curtido!

Sobre Vodkart

  • Rank
    Systems Developer!
  • Data de Nascimento 05/09/1999

Informação de Perfil

  • Genero
    Masculino
  • Eu sou
    Scripter

Últimos Visitantes

57.744 visualizações
  1. @BangxD @BangxD Só trocar essa linha: local max, query = 5, db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = "..grank_stor.." ORDER BY cast(value as INTEGER) DESC;") por essa: local max, query = 5, db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = "..grank_stor.." ORDER BY cast(value as SIGNED) DESC;")
  2. data/lib rst.lua rank_storages = {[1] = 789421,[2] = 789422,[3] = 789423,[4] = 789424,[5] = 789425} grank_stor = 10082 function deletePlayerStorage(name, id, storage) local target_online = getPlayerByNameWildcard(name) if not isPlayer(target_online) then local Query = db.getResult("SELECT `value` FROM `player_storage` WHERE `player_id` = ".. id .." AND `key` = ".. storage) if (Query:getID() ~= -1) then db.executeQuery("DELETE FROM `player_storage` WHERE `player_id` = ".. id .." AND `key` = "..storage) db.executeQuery("UPDATE `players` SET `looktype` = "..(getPlayerdbSex(id) == 0 and 136 or 128).." WHERE `id` = "..id) end else setPlayerStorageValue(target_online, storage, -1) doCreatureChangeOutfit(target_online,{lookType = getPlayerSex(cid)== 0 and 136 or 128}) end end function doPlayerAddRankStorage(name, id, storage) local target_online = getPlayerByNameWildcard(name) if not isPlayer(target_online) then local Query = db.getResult("SELECT `value` FROM `player_storage` WHERE `player_id` = ".. id .." AND `key` = ".. storage) if (Query:getID() ~= -1) then db.executeQuery("UPDATE `player_storage` SET `value` = 1 WHERE `player_id` = ".. id .." AND `key` = "..storage) else db.executeQuery("INSERT INTO `player_storage` (`player_id`, `key`, `value`) VALUES (" .. id .. ", " .. storage .. ", 1);") end else setPlayerStorageValue(target_online, storage, 1) end end function getPlayerdbSex(id) return db.getResult("SELECT `sex` FROM `players` WHERE `id` = "..id):getDataInt("sex") end -- data/globalevents/scripts rts.lua function onTimer() local max, query = 5, db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = "..grank_stor.." ORDER BY cast(value as INTEGER) DESC;") local str = "TOP "..max.." Rank Task ATUALIZADA:\n\n" if (query:getID() ~= -1) then k = 1 repeat local old = 0 if query:getDataInt("value") > 0 then if getGlobalStorageValue(rank_storages[k]) ~= -1 then old = getGlobalStorageValue(rank_storages[k]) end local new = query:getDataInt("player_id") setGlobalStorageValue(rank_storages[k], new) doPlayerAddRankStorage(getPlayerNameByGUID(new), new, rank_storages[k]) if old > 0 and old ~= new then deletePlayerStorage(getPlayerNameByGUID(old), old, rank_storages[k]) end str = str .. "\n " .. k .. ". "..getPlayerNameByGUID(new).." - [" .. query:getDataInt("value") .. "]" k = k + 1 end until k > max or not query:next() end doBroadcastMessage(str, 22) return true end TAG <globalevent name="rank storage" time="20:00" event="script" value="rts.lua"/> obs: todo dia as 20:00 horas vai ser mudado o rank, aconselho a colocar para atualizar o rank depois do serve save que é quando é atualizado os valores dentro da data base. -------------------------------------- COMO DAR OUTFITS DE ACORDO COM A STORAGE? na lib tem esses valores: rank_storages = {[1] = 789421,[2] = 789422,[3] = 789423,[4] = 789424,[5] = 789425} então o rank 1 tem a storage 789421, o rank 2 tem a storage 789422, etc... ai vc vai no outfits.xml e coloca assim mais ou menos: <outfit id="20" quest="789421"> <list gender="0" lookType="288" name="Demonhunter"/> <list gender="1" lookType="289" name="Demonhunter"/> </outfit> <outfit id="21" quest="789422"> <list gender="0" lookType="324" name="Yalaharian"/> <list gender="1" lookType="325" name="Yalaharian"/> </outfit> <outfit id="22" quest="789423"> <list gender="0" lookType="336" name="Warmaster"/> <list gender="1" lookType="335" name="Warmaster"/> </outfit> <outfit id="23" quest="789424"> <list gender="0" lookType="329" name="Wife"/> <list gender="1" lookType="328" name="Husband"/> </outfit> <outfit id="24" quest="789425"> <list gender="0" lookType="366" name="Wayfarer"/> <list gender="1" lookType="367" name="Wayfarer"/> </outfit> está vendo que eu coloquei essa parte: quest="789424"> o que estives dentro das "" é o valor das storages no meu caso o top rank 1 vai liberar a Demonhunter outfit.
  3. @Zzyzx Seu servidor é otx? não sei te dizer porque deu esse erro, estranho, testou com outro item além desse "teste staff time" ?
  4. Já está pelo ID também, olha: local item_id = tonumber(param) if(not item_id) then item_id = getItemIdByName(tostring(param), false) if(not item_id) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Item wich such name does not exists.") return true end end o seu servidor é otx?
  5. entendi, faltou o "i" do for... vocês copiam o código e não colocam no code box, ai induz ao erro mesmo. function onSay(cid, words, param) if param == '' or tonumber(param) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "/find item name") return true end local item_id = tonumber(param) if(not item_id) then item_id = getItemIdByName(tostring(param), false) if(not item_id) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Item wich such name does not exists.") return true end end local str, player_depotitems, players_items, tile_items = "",{},{},{} local dp = db.getResult("SELECT `player_id`, `count` FROM `player_depotitems` WHERE `itemtype` = "..item_id),{} if (dp:getID() ~= -1) then repeat player_depotitems[#player_depotitems+1] = {dp:getDataInt("player_id"), dp:getDataInt("count") } until not(dp:next()) dp:free() end local pi = db.getResult("SELECT `player_id`, `count` FROM `player_items` WHERE `itemtype` = "..item_id),{} if (pi:getID() ~= -1) then repeat players_items[#players_items+1] = {pi:getDataInt("player_id"), pi:getDataInt("count") } until not(pi:next()) pi:free() end local hi = db.getResult("SELECT `tile_id`, `count` FROM `tile_items` WHERE `itemtype` = "..item_id),{} if (hi:getID() ~= -1) then repeat local tile = db.getResult("SELECT `house_id`, `x`, `y`, `z` FROM `tiles` WHERE `id` = "..hi:getDataInt("tile_id")),{} tile_items[#tile_items+1] = {tile:getDataInt("house_id"),tile:getDataInt("x"),tile:getDataInt("y"),tile:getDataInt("z")} until not(hi:next()) hi:free() end if #player_depotitems > 0 then str = str .. "#DEPOT ITEMS#\nQuantidade - Jogador\n" for i = 1, table.maxn(player_depotitems) do local name = getPlayerNameByGUID(player_depotitems[i][1]) local target_online = getPlayerByNameWildcard(name) str = str .. player_depotitems[i][2] .. ' ' .. name ..' | '..(not isPlayer(target_online) and 'Offline' or 'Online')..'\n' end end if #players_items > 0 then str = str .. (str ~= "" and "--------------//-------------\n\n#PLAYER ITEMS#\nQuantidade - Jogador\n" or "#PLAYER ITEMS#\nQuantidade - Jogador\n") for i = 1, table.maxn(players_items) do local name = getPlayerNameByGUID(players_items[i][1]) local target_online = getPlayerByNameWildcard(name) str = str .. players_items[i][2] .. ' ' .. name ..' | '..(not isPlayer(target_online) and 'Offline' or 'Online')..'\n' end end if #tile_items > 0 then str = str .. (str ~= "" and "--------------//-------------\n\n#TILE ITEMS#\nHouse ID - Tile Position\n" or "#TILE ITEMS#\nHouse ID -Tile Position\n") for i = 1, table.maxn(tile_items) do str = str .. tile_items[i][1] .. ' - {x = ' .. tile_items[i][2] ..', y = ' .. tile_items[i][3] ..', z = ' .. tile_items[i][4] ..'} \n' end end return doShowTextDialog(cid,item_id, str) end
  6. @BangxD Acho que finds eu entrego, vou estar com tempo livre.
  7. <?xml version="1.0" encoding="ISO-8859-1"?> <mod name="Caixa System" version="1.0" author="nsei" contact="none.com" enabled="yes"> <config name="caixa"><![CDATA[ stor = 41319 caixa_id = 2581 bank_pos = {x = 98, y = 73, z = 7} msgs = { [1] = "'saldo' para ver seu saldo em conta.", [2] = "'depositar' para depositar dinheiro em sua conta.", [3] = "'sacar' para sacar dinheiro de sua conta.", [4] = "'transferir' para transferir dinheiro para uma outra conta. Comando: transfer,quantia,nome", [5] = "'sair' ou 'exit' para sair.", } ]]></config> <action itemid="2581" event="script"><![CDATA[ domodlib('caixa') function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, stor) ~= -1 then return true elseif itemEx.itemid ~= caixa_id then doPlayerSendCancel(cid, "Você só pode usar esse item em um caixa eletrônico.") return true end setPlayerStorageValue(cid, stor, 1) doPlayerSetNoMove(cid, true) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Caixa Eletrônico: Olá! Digite !caixa + um dos parâmetros abaixo:") for a, b in ipairs(msgs) do doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Caixa Eletrônico: "..b) end return true end]]></action> <talkaction words="!caixa;/caixa" event="buffer"><![CDATA[ domodlib('caixa') local t = string.explode(param, ",") if getPlayerStorageValue(cid, stor) ~= 1 then return true end if t[1] == "balance" or t[1] == "saldo" then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Caixa Eletrônico: Você possui "..getPlayerBalance(cid).." gold coins em sua conta bancária.") return true elseif t[1] == "deposit" or t[1] == "depositar" then if not t[2] or not tonumber(t[2]) or t[3] then doPlayerSendCancel(cid, "Incorrect params.") return true elseif not doPlayerDepositMoney(cid, tonumber(t[2])) then doPlayerSendCancel(cid, "Você não possui essa quantia em dinheiro.") return true end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Caixa Eletrônico: Você depositou "..t[2].." gold coins em sua conta. Seu saldo agora é de "..getPlayerBalance(cid).." gold coins.") elseif t[1] == "withdraw" or t[1] == "sacar" then if not t[2] or not tonumber(t[2]) or t[3] then doPlayerSendCancel(cid, "Incorrect params.") return true elseif getPlayerBalance(cid) < tonumber(t[2]) then doPlayerSendCancel(cid, "Você não possui essa quantia de dinheiro em sua conta.") return true end doPlayerWithdrawMoney(cid, tonumber(t[2])) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Caixa Eletrônico: Você sacou "..t[2].." gold coins de sua conta. Seu saldo agora é de "..getPlayerBalance(cid).." gold coins.") elseif t[1] == "transfer" or t[1] == "transferir" then if not t[2] or not tonumber(t[2]) or not t[3] or not tostring(t[3]) or t[4] then doPlayerSendCancel(cid, "Incorrect params.") return true elseif getPlayerBalance(cid) < tonumber(t[2]) then doPlayerSendCancel(cid, "Você não possui essa quantia de dinheiro em sua conta.") return true elseif not playerExists(t[3]) then doPlayerSendCancel(cid, "O player "..t[3].." não existe.") return true end doPlayerTransferMoneyTo(cid, t[3], tonumber(t[2])) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Caixa Eletrônico: Você transferiu "..t[2].." gold coins de sua conta para "..t[3]..". Seu saldo agora é de "..getPlayerBalance(cid).." gold coins.") elseif t[1] == "trocar gold" then if not t[2] or not tonumber(t[2]) or t[3] then doPlayerSendCancel(cid, "Incorrect params. Specify the number of platinum coins you want to get.") return true elseif not doPlayerRemoveItem(cid, 2148, (t[2]*100)) then doPlayerSendCancel(cid, "Você não possui "..(t[2]*100).." gold coins.") return true end doPlayerAddItem(cid, 2152, t[2]) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Caixa Eletrônico: Você trocou "..(t[2]*100).." gold coins por "..t[2].." platinum coins.") elseif t[1] == "trocar platinum" then if t[2] == "gold" then if not t[3] or not tonumber(t[3]) or t[4] then doPlayerSendCancel(cid, "Incorrect params. Specify the number of platinum coins you want to change to gold coins.") return true elseif not doPlayerRemoveItem(cid, 2152, tonumber(t[3])) then doPlayerSendCancel(cid, "Você não possui "..t[3].." platinum coins.") return true end doPlayerAddItem(cid, 2148, tonumber(t[3]*100)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Caixa Eletrônico: Você trocou "..t[3].." platinum coins por "..(t[3]*100).." gold coins.") elseif t[2] == "crystal" then if not t[3] or not tonumber(t[3]) or t[4] then doPlayerSendCancel(cid, "Incorrect params. Specify the number of crystal coins you want to get.") return true elseif not doPlayerRemoveItem(cid, 2152, tonumber(t[3]*100)) then doPlayerSendCancel(cid, "Você não possui "..(t[3]*100).." platinum coins.") return true end doPlayerAddItem(cid, 2160, tonumber(t[3])) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Caixa Eletrônico: Você trocou "..(t[3]*100).." platinum coins por "..t[3].." crystal coins.") else return doPlayerSendCancel(cid, "Incorrect params. Utilize o comando assim: trocar platinum,gold ou crystal,quantia") end elseif t[1] == "trocar crystal" then if not t[2] or not tonumber(t[2]) or t[3] then doPlayerSendCancel(cid, "Incorrect params. Specify the number of crystal coins you want to change to platinum coins.") return true elseif not doPlayerRemoveItem(cid, 2160, tonumber(t[2])) then doPlayerSendCancel(cid, "Você não possui "..t[2].." crystal coins.") return true end doPlayerAddItem(cid, 2152, tonumber(t[2]*100)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Caixa Eletrônico: Você trocou "..t[2].." crystal coins por "..(t[2]*100).." platinum coins.") elseif t[1] == "sair" or t[1] == "exit" then doTeleportThing(cid, bank_pos) setPlayerStorageValue(cid, stor, -1) doPlayerSetNoMove(cid, false) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Caixa Eletrônico: Obrigado pela visita!") else doPlayerSendCancel(cid, "Incorrect Params.") return true end return true]]></talkaction> </mod>
  8. kkk assim que tiver um tempo ja adiciono e edito aqui!! function onSay(cid, words, param) if param == '' then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "/find item name") return true end local item_id = tonumber(param) if(not item_id) then item_id = getItemIdByName(tostring(param), false) if(not item_id) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Item wich such name does not exists.") return true end end local str, player_depotitems, players_items, tile_items = "",{},{},{} local dp = db.getResult("SELECT `player_id`, `count` FROM `player_depotitems` WHERE `itemtype` = "..item_id),{} if (dp:getID() ~= -1) then repeat player_depotitems[#player_depotitems+1] = {dp:getDataInt("player_id"), dp:getDataInt("count") } until not(dp:next()) dp:free() end local pi = db.getResult("SELECT `player_id`, `count` FROM `player_items` WHERE `itemtype` = "..item_id),{} if (pi:getID() ~= -1) then repeat players_items[#players_items+1] = {pi:getDataInt("player_id"), pi:getDataInt("count") } until not(pi:next()) pi:free() end local hi = db.getResult("SELECT `tile_id`, `count` FROM `tile_items` WHERE `itemtype` = "..item_id),{} if (hi:getID() ~= -1) then repeat local tile = db.getResult("SELECT `house_id`, `x`, `y`, `z` FROM `tiles` WHERE `id` = "..hi:getDataInt("tile_id")),{} tile_items[#tile_items+1] = {tile:getDataInt("house_id"),tile:getDataInt("x"),tile:getDataInt("y"),tile:getDataInt("z")} until not(hi:next()) hi:free() end if #player_depotitems > 0 then str = str .. "#DEPOT ITEMS#\nQuantidade - Jogador\n" for i = 1, table.maxn(player_depotitems) do local name = getPlayerNameByGUID(player_depotitems[1]) local target_online = getPlayerByNameWildcard(name) str = str .. player_depotitems[2] .. ' ' .. name ..' | '..(not isPlayer(target_online) and 'Offline' or 'Online')..'\n' end end if #players_items > 0 then str = str .. (str ~= "" and "--------------//-------------\n\n#PLAYER ITEMS#\nQuantidade - Jogador\n" or "#PLAYER ITEMS#\nQuantidade - Jogador\n") for i = 1, table.maxn(players_items) do local name = getPlayerNameByGUID(players_items[1]) local target_online = getPlayerByNameWildcard(name) str = str .. players_items[2] .. ' ' .. getPlayerNameByGUID(players_items[1]) ..' | '..(not isPlayer(target_online) and 'Offline' or 'Online')..'\n' end end if #tile_items > 0 then str = str .. (str ~= "" and "--------------//-------------\n\n#TILE ITEMS#\nHouse ID - Tile Position\n" or "#TILE ITEMS#\nHouse ID -Tile Position\n") for i = 1, table.maxn(tile_items) do str = str .. tile_items[1] .. ' - {x = ' .. tile_items[2] ..', y = ' .. tile_items[3] ..', z = ' .. tile_items[4] ..'} \n' end end return doShowTextDialog(cid,item_id, str) end
  9. @Matheuus Tente trocar essa linha: doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, str) por doShowTextDialog(cid, 8304, str) ou também você pode usar esta função doPlayerPopupFYI(cid, str) lembrando que as funções "doPlayerSendTextMessage" e "doPlayerPopupFYI" tem limite de caracteres.
  10. -- Coded by Zoom.. local info, win, lose = "%s [Level: %s] foi mort%s pelo %s %s%s", "%s obteve %s frags seguidos após derrotar %s.", "%s acabou de impedir que %s fizesse uma sequência de %s frags seguidos." local frags, storage = {10, 15, 20, 25, 30, 35, 40, 45, 50}, 30045 function onDeath(cid, corpse, deathList) if(not isPlayer(cid)) then return true end local target = deathList[1] if not isCreature(target) or not isPlayer(target) then return true end doCreatureSetStorage(target, storage, getCreatureStorage(target, storage) + (getCreatureStorage(target, storage) == -1 and 2 or 1)) for _, pid in ipairs(getPlayersOnline()) do doPlayerSendChannelMessage(pid, '', info:format(getCreatureName(cid), getPlayerLevel(cid), getPlayerSex(cid) == 1 and "o" or "a", isPlayer(target) and "player" or "monstro", getCreatureName(target), isPlayer(target) and " [Level: "..getPlayerLevel(target).."]." or "."), TALKTYPE_CHANNEL_O, 0xF) for _, frag in ipairs(frags) do if(getCreatureStorage(target, storage) == frag) then doPlayerSendChannelMessage(pid, '', win:format(getCreatureName(target), frag, getCreatureName(cid)), TALKTYPE_CHANNEL_W, 0xF) end if(getCreatureStorage(cid, storage) >= frag) then doPlayerSendChannelMessage(pid, '', lose:format(getCreatureName(target), getCreatureName(cid), getCreatureStorage(cid, storage)+1), TALKTYPE_CHANNEL_RN, 0xF) end end end doCreatureSetStorage(cid, storage, 0) return true end
  11. a variável "waittime" não está declarada remova esta linha: exhaustion.set(cid, storage, waittime)
  12. local min_group_id = 1 -- aqui vai contar a partir do 2, 3, 4 ... function onSay(cid, words, param, channel) local query, str = db.getResult("SELECT `name`, `group_id` FROM `players` WHERE `group_id` > "..min_group_id), "--> STAFF <--\n\n[Group]Nick | Status\n" if (query:getID() ~= -1) then repeat local _ = query:getDataString("name") local target_online = getPlayerByNameWildcard(_) str = str .. "\n ["..getGroupInfo(query:getDataInt("group_id")).name.."]".._.." | "..(not isPlayer(target_online) and "Offline" or "Online") until not(query:next()) query:free() end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, str) return true end
  13. local exausted = 0.3 -- em minutos local time = 5 -- tempo em segundos para voltar local points = 20 -- o tanto de skills ele ficara mais forte local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, time*1000) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, points) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, points) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, points) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, points) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, points) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, points) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, points) function onCastSpell(cid, var) if isPlayer(cid) and getPlayerAccess(cid) < 3 and getPlayerStorageValue(cid, 998879)-os.time() > 1 then local seetime = getPlayerStorageValue(cid, 998879)-os.time() local minutes, seconds = math.floor(seetime/60), math.floor(seetime%60) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde "..minutes.." minuto(s) e "..seconds.." segundo(s) para usar novamente!") return false end setPlayerStorageValue(cid, 998879, exausted*60+os.time()) local tar = getCreatureTarget(cid) if hasCondition(tar, CONDITION_MUTED) == true then return false end local pos = getCreaturePosition(cid) local target = getCreatureTarget(cid) local targetpos = getCreaturePosition(target) local Tile1 = {x=1083, y=473, z=8} -- position onde o player sera teleportado local Tile2 = {x=1083, y=471, z=8} -- position onde o target sera teleportado local from,to = {x=154, y=57, z=7},{x=158, y=62, z=7} -- ponto 1 ao ponto 2 da area em que ele sera teleportado local from,to1 = {x=159, y=49, z=7},{x=165, y=56, z=7} -- ponto 1 ao ponto 2 da area em que ele sera teleportado local from,to2 = {x=159, y=49, z=7},{x=165, y=57, z=7} -- ponto 1 ao ponto 2 da area em que ele sera teleportado local from,to3 = {x=159, y=49, z=7},{x=165, y=58, z=7} -- ponto 1 ao ponto 2 da area em que ele sera teleportado local from,to4 = {x=159, y=49, z=7},{x=165, y=59, z=7} -- ponto 1 ao ponto 2 da area em que ele sera teleportado if isInRange(pos, from, to) and isInRange(pos, from1, to1) and isInRange(pos, from2, to2) and isInRange(pos, from3, to3) and isInRange(pos, from4, to4) then doPlayerSendCancel(cid, "Você nao pode usar o Tsukuyomi World aqui!") return FALSE end if not isPlayer(target) then doPlayerSendCancel(cid, "Você so pode usar essa magia em players!") return FALSE end local function Teleport_Player(cid) if not isCreature(cid) then return LUA_ERROR end doTeleportThing(cid,pos) end local function Teleport_Target(target) if not isCreature(target) then return LUA_ERROR end doCreatureSetNoMove(target, 0) doTeleportThing(target,targetpos) end doAddCondition(cid, condition) doCreatureSetNoMove(target, 1) doTeleportThing(cid,Tile1) doTeleportThing(target,Tile2) doSendMagicEffect(targetpos, 252) addEvent(Teleport_Player, time*1000, cid) addEvent(Teleport_Target, time*1000, target) exhaustion.set(cid, storage, waittime) return TRUE end
  14. Legal, mas poderia ser diário né? digamos que poderia atualizar o rank por exemplo, todo dia as 20:00 horas... o que acha?
  15. @Tomarasdaf Esse sistema de labia é do seu ot? teria que pegar algumas infos para saber como funciona alguns sistemas alI!

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia partindo do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer publicidade para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução! A publicação do seu anuncio é instantânea!

×