Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 04/02/11 em todas áreas
-
War Arena System.
dully e 2 outros reagiu a MatheusGlad por um tópico no fórum
Todos os scripts foram testados em um ot 8.6 Bem o script é auto-explicativo, e ainda tem um video do sistema, acho que nao preciso explicar o que faz ne? AGORA EM MOD, MUITO MAIS PRATICO DE INSTALAR. SE FOR USAR O MOD VA ATE O FINAL DO POST, É EXATAMENTE IGUAL A VERSAO NORMAL, SO QUE MAIS PRATICO. FUNCIONA DO MESMO JEITO. Video: obs: Veja em fullscreen para ver melhor as msgs que retornam. Vá em data/lib e adicione esse script.lua com o nome de WarArenaLib: -- [[ Area and Positions Infos ]] -- areaplayersteam = { {1,1,1,1}, {1,1,1,1}, {1,1,1,1}, {1,1,1,1}, {1,1,1,1} } areateam1ext = {x=80, y=305, z=7} -- Ponta superior esquerda da area do time um areateam2ext = {x=87, y=305, z=7} -- Ponta superior esquerda da area do time dois leaderteam1pos = {x=83, y=307, z=7, stackpos=255} -- Posição do lider do time um (que puxara a alavanca) leaderteam2pos = {x=87, y=307, z=7, stackpos=255} -- Posição do lider do time dois (que puxara a alavanca) newplayersposteam1 = {x=67, y=300, z=7} -- Posição para onde os players do time um serao teleportados newplayersposteam2 = {x=67, y=330, z=7} -- Posição para onde os players do time dois serao teleportados team1leverpos = {x=84, y=307, z=7, stackpos=1} -- Posição da alavanca que o lider do time um puxara team2leverpos = {x=86, y=307, z=7, stackpos=1} -- Posição da alavanca que o lider do time dois puxara leverafter, leverbefore = 9825, 9826 -- Ids das alavancas antes de puxadas e depois, consecutivamente (9825 = antes; 9826 = depois) posbenterteam1 = {x=78, y=307, z=7} -- Posiçao do sqm antes de entrar na arena do time 1 posbenterteam2 = {x=92, y=307, z=7} -- Posiçao do sqm antes de entrar na arena do time 2 backteampos = {x=77, y=307, z=7} -- [[ Storage Infos ]] -- team1leverstorage = 123497 -- Storage que sera usado quando puxarem a alavanca do time 1 team2leverstorage = 123498 -- Storage que sera usado quando puxarem a alavanca do time 2 haveteaminarena = 123499 -- Storage que sera usado para ve se tem algum time lutando na arena storageteam1death = 123500 -- Storage usado para ver quantos morreram do time 1 storageteam2death = 123501 -- Storage usado para ver quantos morreram do time 2 storageteam1 = 123502 -- Storage usado para ver quantas pessoas entraram na arena no time 1 storageteam2 = 123503 -- Storage usado para ver quantas pessoas entraram na arena no time 2 storageleader1 = 123504 -- Storage onde ficara guardado o uid do lider do time 1 storageleader2 = 123505 -- Storage onde ficara guardado o uid do lider do time 2 storageplayersteam1 = 123506 -- Storage que todos os players do team 1 iram ter. storageplatersteam2 = 123507 -- Storage que todos os players do team 2 iram ter. -- [[ Player Infos ]] -- needlevelarena = 20 -- Level que os outros jogadores sem ser o lider teram que ter. leaderlevel = 4000 -- Level que o lider tera que ter. onlyguildwars = true -- Se os membros de um time tem que ser da mesma guild do lider. (Nesse caso somente o lider da guild podera puxar a alavanca.) needplayers = 2 -- Quantidade de players que cada time tem que ter. -- [[ Functions ]] -- function getUidsFromArea(firstpos, area) local result = {} for i,x in pairs(area) do for s,z in pairs(x) do if isPlayer(getThingFromPos({x=firstpos.x+s-1, y=firstpos.y+i-1, z=firstpos.z, stackpos=255}).uid) then table.insert(result, getThingFromPos({x=firstpos.x+s-1, y=firstpos.y+i-1, z=firstpos.z, stackpos=255}).uid) end end end return result end function teleportUidsToPos(uids, pos) for i,x in pairs(uids) do doTeleportThing(x, pos) end end function isAllUidsSameGuild(uids, guildid) for i,x in pairs(uids) do if not (getPlayerGuildId(x) == guildid) then return false end end return true end function isAllUidsLevel(uids, level) for i,x in pairs(uids) do if not (getPlayerLevel(x) >= level) then return false end end return true end function haveQuantPlayersInArea(firstpos, area, quant) local result = 0 for i,x in pairs(area) do for s,z in pairs(x) do if isPlayer(getThingFromPos({x=firstpos.x+s-1, y=firstpos.y+i-1, z=firstpos.z, stackpos=255}).uid) then result = result+1 end end end return result >= quant end function addStorageToUids(uids, storage, value) for i,x in pairs(uids) do setPlayerStorageValue(x, storage, value) end end function checkPoses(pos1, pos2) if pos1.x == pos2.x and pos1.y == pos2.y and pos1.z == pos2.z then return true end return false end function startArena() setGlobalStorageValue(storageleader1, getThingFromPos(leaderteam1pos).uid) setGlobalStorageValue(storageleader2, getThingFromPos(leaderteam2pos).uid) addStorageToUids(team1uids, storageplayersteam1, 1) addStorageToUids(team2uids, storageplayersteam2, 1) teleportUidsToPos(team1uids, newplayersposteam1) teleportUidsToPos(team2uids, newplayersposteam2) setGlobalStorageValue(storageteam1, #team1uids) registerCreatureEventUids(team1uids, "DeathTeam1") registerCreatureEventUids(team2uids, "DeathTeam2") setGlobalStorageValue(storageteam2, #team2uids) setGlobalStorageValue(haveteaminarena, 1) setGlobalStorageValue(team1leverstorage, 0) setGlobalStorageValue(team2leverstorage, 0) doTransformItem(getThingFromPos(team1leverpos).uid, leverafter) doTransformItem(getThingFromPos(team2leverpos).uid, leverafter) end function haveTeamInArena() return getGlobalStorageValue(haveteaminarena) == 1 and true or false end function isSqmFromArea(firstpos, area, sqmpos) for i,x in pairs(area) do for s,z in pairs(x) do if sqmpos.x == firstpos.x+s-1 and sqmpos.y == firstpos.y+i-1 and sqmpos.z == firstpos.z then return true end end end return false end function registerCreatureEventUids(uids, event) for i,x in pairs(uids) do registerCreatureEvent(x, event) end end Agora vá em data/actions/scripts e adicione um script.lua com o nome de WarArenaLever: function onUse(cid, item, fromPosition, itemEx, toPosition) team1uids = getUidsFromArea(areateam1ext, areaplayersteam) team2uids = getUidsFromArea(areateam2ext, areaplayersteam) if haveTeamInArena() then return doPlayerSendCancel(cid, "Already have a team in arena.") end if checkPoses(toPosition, team1leverpos) then if checkPoses(getCreaturePosition(cid), leaderteam1pos) then if getGlobalStorageValue(team1leverstorage) == 1 then setGlobalStorageValue(team1leverstorage, 0) return doTransformItem(getThingFromPos(team1leverpos).uid, leverafter) end if onlyguildwars and getPlayerGuildLevel(cid) < 3 then return doPlayerSendCancel(cid, "You need to be the leader of your guild.") end if onlyguildwars and not isAllUidsSameGuild(team1uids, getPlayerGuildId(cid)) then return doPlayerSendCancel(cid, "All of your team need to be in your guild.") end if not isAllUidsLevel(team1uids, needlevelarena) then return doPlayerSendCancel(cid, "All of your team need to be level " .. needlevelarena .. " or more.") end if getPlayerLevel(cid) < leaderlevel then return doPlayerSendCancel(cid, "You, the leader of the team, need to be level " .. leaderlevel .. " or more.") end if not haveQuantPlayersInArea(areateam1ext, areaplayersteam, needplayers) then return doPlayerSendCancel(cid, "Your team need " .. tostring(needplayers) .. " players.") end setGlobalStorageValue(team1leverstorage, 1) doTransformItem(getThingFromPos(team1leverpos).uid, leverbefore) if getGlobalStorageValue(team2leverstorage) >= 1 then startArena() end else doPlayerSendCancel(cid, "You must be the leader of the team to pull the lever.") end elseif checkPoses(toPosition, team2leverpos) then if checkPoses(getCreaturePosition(cid), leaderteam2pos) then if getGlobalStorageValue(team2leverstorage) == 1 then setGlobalStorageValue(team2leverstorage, 0) return doTransformItem(getThingFromPos(team2leverpos).uid, leverafter) end if onlyguildwars and getPlayerGuildLevel(cid) < 3 then return doPlayerSendCancel(cid, "You need to be the leader of your guild.") end if onlyguildwars and not isAllUidsSameGuild(team2uids, getPlayerGuildId(cid)) then return doPlayerSendCancel(cid, "All of your team need to be in your guild.") end if not isAllUidsLevel(team2uids, needlevelarena) then return doPlayerSendCancel(cid, "All of your team need to be level " .. needlevelarena .. " or more.") end if getPlayerLevel(cid) < leaderlevel then return doPlayerSendCancel(cid, "You, the leader of the team, need to be level " .. leaderlevel .. " or more.") end if not haveQuantPlayersInArea(areateam2ext, areaplayersteam, needplayers) then return doPlayerSendCancel(cid, "Your team need " .. tostring(needplayers) .. " players.") end setGlobalStorageValue(team2leverstorage, 1) doTransformItem(getThingFromPos(team2leverpos).uid, leverbefore) if getGlobalStorageValue(team1leverstorage) >= 1 then startArena() end else doPlayerSendCancel(cid, "You must be the leader of the team to pull the lever.") end end return TRUE end E em actions.xml bote essa linha: <action actionid="12349" event="script" value="WarArenaLever.lua"/> Agora vá em data/creaturescripts/scripts e adicione dois scripts.lua com esses nomes: WarArenaDeathTeam1: function onDeath(cid) setPlayerStorageValue(cid, storageplayersteam1, 0) setGlobalStorageValue(storageteam1death, getGlobalStorageValue(storageteam1death) >= 0 and getGlobalStorageValue(storageteam1death)+1 or 1) if getGlobalStorageValue(storageteam1death) >= getGlobalStorageValue(storageteam1) then if onlyguildwars then doBroadcastMessage("The Team 2 won the war, guild " .. getPlayerGuildName(getGlobalStorageValue(storageleader2)) .. ".") else doBroadcastMessage("The Team 2 won the war, team leader name is " .. getCreatureName(getGlobalStorageValue(storageleader2)) .. ".") end setGlobalStorageValue(storageteam1death, 0) setGlobalStorageValue(storageteam2death, 0) setGlobalStorageValue(haveteaminarena, 0) end return TRUE end WarArenaDeathTeam2: function onDeath(cid) setPlayerStorageValue(cid, storageplayersteam2, 0) setGlobalStorageValue(storageteam2death, getGlobalStorageValue(storageteam2death) >= 0 and getGlobalStorageValue(storageteam2death)+1 or 1) if getGlobalStorageValue(storageteam2death) >= getGlobalStorageValue(storageteam2) then if onlyguildwars then doBroadcastMessage("The Team 1 won the war, guild " .. getPlayerGuildName(getGlobalStorageValue(storageleader1)) .. ".") else doBroadcastMessage("The Team 1 won the war, team leader name is " .. getCreatureName(getGlobalStorageValue(storageleader1)) .. ".") end setGlobalStorageValue(storageteam1death, 0) setGlobalStorageValue(storageteam2death, 0) setGlobalStorageValue(haveteaminarena, 0) end return TRUE end Agora abra o creaturescripts.xml e adicione essas linhas: <event type="death" name="DeathTeam1" event="script" value="WarArenaDeathTeam1.lua"/> <event type="death" name="DeathTeam2" event="script" value="WarArenaDeathTeam2.lua"/> Agora vá em data/movements/scripts e adicione tres scripts.lua com esses nomes: WarArenaMovement1: function onStepOut(cid, item, position, fromPosition) local team = (fromPosition.x == leaderteam1pos.x and fromPosition.y == leaderteam1pos.y and fromPosition.z == leaderteam1pos.z) and "team1" or (fromPosition.x == leaderteam2pos.x and fromPosition.y == leaderteam2pos.y and fromPosition.z == leaderteam2pos.z) and "team2" if team == "team1" then if getGlobalStorageValue(team1leverstorage) == 1 then setGlobalStorageValue(team1leverstorage, 0) doTransformItem(getThingFromPos(team1leverpos).uid, leverafter) end elseif team == "team2" then if getGlobalStorageValue(team2leverstorage) == 1 then setGlobalStorageValue(team2leverstorage, 0) doTransformItem(getThingFromPos(team2leverpos).uid, leverafter) end end end WarArenaMovement2: function onStepIn(cid, item, position, fromPosition) local team = isSqmFromArea(areateam1ext, areaplayersteam, fromPosition) and "team1" or isSqmFromArea(areateam2ext, areaplayersteam, fromPosition) and "team2" if team == "team1" then if getGlobalStorageValue(team1leverstorage) == 1 then if not haveQuantPlayersInArea(areateam1ext, areaplayersteam, needplayers) then setGlobalStorageValue(team1leverstorage, 0) doTransformItem(getThingFromPos(team1leverpos).uid, leverafter) end end elseif team == "team2" then if getGlobalStorageValue(team2leverstorage) == 1 then if not haveQuantPlayersInArea(areateam2ext, areaplayersteam, needplayers) then setGlobalStorageValue(team2leverstorage, 0) doTransformItem(getThingFromPos(team2leverpos).uid, leverafter) end end end if getGlobalStorageValue(team1leverstorage) == 1 then if checkPoses(fromPosition, posbenterteam1) then doTeleportThing(cid, fromPosition) return doPlayerSendCancel(cid, "You can't enter now.") end elseif getGlobalStorageValue(team2leverstorage) == 1 then if checkPoses(fromPosition, posbenterteam2) then doTeleportThing(cid, fromPosition) return doPlayerSendCancel(cid, "You can't enter now.") end end end WarArenaMovement3: function onStepIn(cid, item, position, fromPosition) if getPlayerStorageValue(cid, storageplayersteam1) >= 1 then setPlayerStorageValue(cid, storageplayersteam1, 0) doTeleportThing(cid, posbenterteam1) setGlobalStorageValue(storageteam1death, getGlobalStorageValue(storageteam1death) >= 0 and getGlobalStorageValue(storageteam1death)+1 or 1) if getGlobalStorageValue(haveteaminarena) >= 1 then if getGlobalStorageValue(storageteam1death) >= getGlobalStorageValue(storageteam1) then if onlyguildwars then doBroadcastMessage("The Team 2 won the war, guild " .. getPlayerGuildName(getGlobalStorageValue(storageleader2)) .. ".") else doBroadcastMessage("The Team 2 won the war, team leader name is " .. getCreatureName(getGlobalStorageValue(storageleader2)) .. ".") end setGlobalStorageValue(storageteam1death, 0) setGlobalStorageValue(storageteam2death, 0) setGlobalStorageValue(haveteaminarena, 0) end end elseif getPlayerStorageValue(cid, storageplayersteam2) >= 1 then setPlayerStorageValue(cid, storageplayersteam2, 0) doTeleportThing(cid, posbenterteam2) setGlobalStorageValue(storageteam2death, getGlobalStorageValue(storageteam2death) >= 0 and getGlobalStorageValue(storageteam2death)+1 or 1) if getGlobalStorageValue(haveteaminarena) >= 1 then if getGlobalStorageValue(storageteam2death) >= getGlobalStorageValue(storageteam2) then if onlyguildwars then doBroadcastMessage("The Team 1 won the war, guild " .. getPlayerGuildName(getGlobalStorageValue(storageleader1)) .. ".") else doBroadcastMessage("The Team 1 won the war, team leader name is " .. getCreatureName(getGlobalStorageValue(storageleader1)) .. ".") end setGlobalStorageValue(storageteam1death, 0) setGlobalStorageValue(storageteam2death, 0) setGlobalStorageValue(haveteaminarena, 0) end end end return TRUE end E adicione essas linhas em movements.xml: <movevent type="StepOut" actionid="12350" event="script" value="WarArenaMovement1.lua"/> <movevent type="StepIn" actionid="12351" event="script" value="WarArenaMovement2.lua"/> <movevent type="StepIn" actionid="12352" event="script" value="WarArenaMovement3.lua"/> Pronto acabou rairiaria. Adicionando os Actions IDS: Nas 2 alavancas, adicione o actionid 12349. Nos 2 sqms que os players vao estar antes de entrar na arena adicione o actionid 12351. Nos 2 quadrados aonde os lideres irao ficar (na frente da alavanca) bote o actionid 12350. No sqm de sair da arena bote o actionid 12352. NA AREA DOS TIMES E NA ARENA, BOTE PELO MAP EDITOR PARA NAO PODER LOGAR. (Se voce nao fizer isso pode haver bugs.) Bem, se voce souber ler o script da lib, vai saber configura-lo para seu otserver. Versão MOD: (Abra o spoiler) O modo de configurar é exatamente igual ao normal. Flws. By MatheusMkalo3 pontos -
Alissow OTs 4.11! Esta versão 4.11 foi meio apressada, só adicionamos as features novas do 8.6. Aproveitem. Créditos: Alissow Comedinha Luis Nirk TFS Team Viniply Xedegux Sobre o OT/Mapa: Principais quests: -Annihilator -Inquisition Quest -Pits of inferno -Demon Oak -Solar axe quest -HOTA -MPA quest -The Challenger Monstros: -Total monstros: 10292 -Total spawn: 5587+ Cidades: -12 Cidades -200 Houses+- Raids/Invasões: -Rat -Orshabaal -Ghazbaran -Giant spider/The old window -Ferumbras -Morgaroth Spells: -Magias editadas para balanceamento das vocações Changelog Atualização [3.4 BETA]: - Removido áreas não usadas no mapa, diminuindo o tamanho em MBs - Adicionado Anti Magebomb System - Corrigido bugs no npc addon - Adicionado sistema onde os npcs falam sozinhos (Igual como foi adicionado no global). First ;] - Adicionado Elf village em Venonh ( bem parecida com a do global ;]) - Potions desaparecem quando usadas - Corrigido sistema de Up - Corrigido sistema de Monster Counter - Nova dragon lair em Mirand Theraan (Subsolo) - Adicionado porta de level, que protege leveis baixos acessarem os demons da cidade de Flam - Ampliado deserto da cidade de Mirand Theraan - Adicionado Ilha de Goroma - Adicionado Forbidden islands - Ampliado floresta da cidade de alfon e colocado área de macacos parecida com Banuta. - Ligação de alfon com Mirand Theraan - Corrigido bugs reportados nas portas das casas - Corrigido posição dos buracos e escadas - Adicionado beds em todas as casas - Corrigido bugs em casas de yalahar - Adicionado Blue legs quest ( Koshei The Deathless global) - Corrigidas quase todas as areas de Yalahar - Teleports em Yalahar substituidos por NPCs de teleport do global - Corrigido pequenos erros no npc Capitao Coruja, e adicionado viagem à goroma - diminuido ataque do Eye of the seven - Ice rapier agora quebra - Corrigido npc Banker - Adicionado quase todos os items 8.5 - Adicionado medusa - Adicionado Todos os outfits novos - Corrigido NPC Banker (que dava dinheiro) Script By Ta4e - Corrigido Annihilator Quest - Adicionado Notice System - Adicionado novo distro, compilado por Comedinha Atualização nº 2 [3.4]: Otserv atualizado... Corrigido debugs frequentes Corrigido debugs na magia exevo pan Corrigido bugs nos npcs Roy e Firewalker Adicionados mais novos items 8.5, agora temos 90% dos items novos... Atualização 3.5 [06/08/2009]: - Cidade principal (dorion) totalmente reformada - corrigido blue legs quest - Corrigido alavancas de compra de potions - Adicionado alavancas de compra de runas - Corrigido npc Bank - Adicionado NPC King Arthas, que vende promotion - Adicionado npc Rashid, que vende items. - Arrumado Wild Growth rune - Arrumado Utani Hur - Magias reajustadas - Novo estilo de server save - Ilha de mystic reformulada (by Nirk) - Adicionado nova magia para knights "Exkordium". - Adicionado nova magia para mages (promoted) "Exura Seil". - Adicionado nova magia para mages (promoted) "Exevo Gran Frigo". (arrumar -> sem exhausted nem gasta mana) - Adicionados novos monstros. - Adicionado quest challenge (lvl 250) - Corrigido bug do Dead Cyclops - Bug aol Arrumado - Poi Modificada - Corrigido teleports ghouls yalahar - Modificada demon helmet quest, assim como o premio da quest - Corrigido nome do Hallowed axe - Corrigido bug das houses - Corrigido bug dos items andaveis Atualização Patch 3.5.1 [07/08/2009]: - Corrigido erro na inicialização do Ot - Bug das potions corrigido - Bug do aol corrigido (pelomenos pra mim) - Bug dos outfits corrigido - Corrigido erros nas escadas na ilha PvP - O monstro The Fastest Turtle agora não morre, se tornando um monstro apenas para atrapalhar - Retirada suposta quest dos 3 hellhounds e 1 minishabaal - Adicionado teleport de retorno na Ferumbras Tower - Corrigido posições da raid de The old widow - Corrigido bug das escadas nas minas de demons - Corrigido alguns bugs vistos no mapa Atualização 3.6 [10/08/2009]: - Arrumado bugs criticos - Arrumado comando !promote/!demote - Atualizado Items.xml - Bug das Beds arrumado - Modificações na cidade, como, nature e caves - Nova sala de treino - Adicionado comando !highscores Atualização 3.7! Beta [18/12/2009]: - Guildhall support (Elf) - Nova deathlist(Elf, OpenTibia SVN) - Frags funcionando (Elf) - Atualizado monstros e items (slawkens, KaczooH, Elf) - Novas talkactions: /commands, /wp, /storage, /config, /promote & /demote. (slawkens) - Novas funções lua - Novos creatureevents (slawkens, Elf) - Novos configuráveis (Elf, slawkens) - Modificado ataque de monstros existentes (especialmente outfits e velocidade) (Elf) - Monstros reorganizados & atualizados (Nem todos) (slawkens) - Melhorado sistema de banimentos (Elf) - Reescrita janela de Rule Violation (Elf) - Arrumado Stamina (Elf, OpenTibia SVN) - Casas agora são salvas nas modificações do dono (Elf) - Escadas de yalahar funcionando perfeitamente (Elf, Talaturen) - Sistema de nado & waterball completo (slawkens) - Monstros invisiveis não são mais mandandos ao client (anti bot) (OpenTibia SVN) - Anti-dash (OpenTibia SVN) - Sistema de leilão de casas, possibilidade de usar site para vender casas (house_actions table) (OpenTibia SVN, Elf) - Salvando bot actions para /logs/bots por cada player. Por exemplo, bot pode enviar mensagem com mais de 255 caracteres (slawkens) - Novos raid events- item spawning & disappearing and more (Elf) - Modificações no NPC system (Elf) - NPCs OutfitModule (Elf) - Completo 8.53 support, com wars (Elf) - Completo 8.54 support (Elf) - Arrumado NPC voices (Elf) - Players serão informados quando o Gamemaster logar ou ficar invisivel (slawkens) - Arrumado Player Deaths (Elf, slawkens) - Arrumado Abuso de PZ (slawkens) - Portas agora não ajudam players a entrar em PZ (slawkens) - Magic level formula (OpenTibia SVN, KaczooH) - Memory leaks (Elf) - Queries optimization (Talaturen) - Janelas podem ser abertas do lado de fora da casa- agora apenas GMs podem fazer isso (slawkens) - arrumado Efeitos para o Ghost (GM)- configuravel (slawkens) - Corrigido >> Ghost debugging players (OpenTibia SVN, Elf) - Corrigido erro na promotion (Elf) - Corrigido vários erros no console. (slawkens) - Corrigido Spam de magias (Elf) - Corrigido stamina premium (Elf) - Corrigido Clean (Elf) - Corrigido vários outfits (Elf) - Corrigido Ghost (Elf) - Todas as correções no OpenTibia SVN (Open Tibia SVN, Elf) - Corrigido Todos os crashes possiveis (Elf) - Npcs Corrigidos (Comedinha) - Distro Reformulado (comedinha) - Bugs de reports arrumados (Comedinha) - Novos outfits (Alissow) - Actions Arrumadas (Comedinha) - Libs trocadas (Comedinha) - Talkactions bugadas arrumadas (Comedinha) - Reforma na área Sul da cidade Dorion (Alissow) - Adicionado monstros 8.54 (Alissow) - Corrigido bug das potions infinitas (Alissow) Atualização 3.7 Patch 1 [27/12/2009]: - Rampa na frente da loja de foods retirada (Alissow) - Arrumado bugs de mapa em anknor (Alissow) - Bug na Lib dos npcs corrigido (Alissow) - Bug do acc manager arrumado! (Alissow) - Magias "Exkordium" e "Ice Storm" arrumadas (Alissow) - Monstros 8.54 funcionando (Alissow) - 2º Addon Yalaharian arrumado (Alissow) - Addons Warmaster adicionados no NPC Addoner (Alissow) - Pequenas modificações na cidade principal, Dorion, para melhora da jogabilidade (Alissow) - Comando /Deathlist retirado (Alissow) - Magic Wall Rune arrumada (Alissow) - Quest Annihilator arrumada (Alissow) - "Your depot contain x items" Arrumado (Alissow) - Addons reorganizados, mais facil aggora (Alissow) - Tempo de Red skull e Black skull reduzidos para 24 e 42 horas (Alissow) - Reduzida porcentagem de morte (Alissow) - Acrescentado chance de critical hits (Alissow) - ShowHealingDamage Adicionado (Alissow) - Várias partes do mapa remapeadas (Alissow) - NPCs para recarga de Soft boots & Firewalker boots arrumados [Não testado] (Alissow) - Comando !frags arrumado! (Alissow) - Agora é possivel fazer addons sem precisar do comando !buypremium (Alissow) Atualização 3.8 [17/01/2010]: - Arrumado bug nas escadas do Dlair (Alissow) - Todos os bugs nos NPCs arrumados (Comedinha) - Novas talkactions [a pedidos] (Comedinha) - Deathlist arrumada (Comedinha) - Novo Distro (Comedinha) - MySQL Atualizada (Comedinha) - Firewarker boots não é mais gasta quando não está usando (Comedinha) - Problemas com items no Rashid arrumados (Alissow, Comedinha, Comunidade) - O NPC Banker foi corrigido, mas achei mais seguro retira-lo, visto que ninguem usava e poderia causar outro tipo de bug - Ilha (Sim aqui é uma ilha) de Zao adicionada (Alissow, Barker) - Monstros 8.54 aperfeiçoados (Alissow, Markithu, Zkum) - Reduzido danos da magia Exkordium (Alissow) - Os npcs Dark Rodo e Rachel vendem Blank Runes (Alissow) - Magias que não hitavam anteriormente foram arrumadas (Alissow) - Comando !buypremium arrumado (Alissow) - Arena PVM - Mais conhecida como Arena Svargrond - FUNCIONANDO!!! (Alissow) - Magia LightChain Retirada (Alissow) - Adicionado um sisteminha legal no templo (Alissow) - NPC Rashid retirado (Alissow) Atualização 3.8 Minor Patch 1 [17/01/2010]: - Comando Deathlist retirado novamente, fizemos testes equivocados. Se você é uma das 16 pessoas que baixou a versão anterior (3.8) não precisa baixar esta, basta retirar o comando !deathlist e /deathlist do seu Talkactions.xml, Os comandos causam quedas no servidor. Atualização 3.9 [15/02/2010]: - Cidade principal (Dorion) reformada, novo templo, novo depot, novo porto, novos npcs :] (Alissow) - Adicionado Reputation System (Comedinha, Cybermaster) - Adicionado !bless system (Comedinha) - /info melhorado (Comedinha) - Jail System (Comedinha) - Bug chatinho nos tiles pretos arrumado. - Magic Wall Funcionando! (Alissow) - Agora você pode fazer bolos e pães :] (Comedinha, Jean, Ojani) - Adicionado sistema de casamento (Comedinha, ScorpiOOn93, Alissow) - Loot The Fastest Turtle diminuido (Alissow) - Loot e experiencia do Feromous mais baixo (Alissow) - Sistema de parceis para Dorion funcionando (Alissow) - Guildwar System (Comedinha) - Anti MageBomb System (Comedinha, Huggen) - Adicionado Anti Nuker - Esse funciona! (Comedinha) - Adicionado Map Marks, para os players novos (Alissow, Comedinha) Atualização 4.0 [15/02/2010]: - Cidade Mountain totalmente reformada (Alissow) - Montanha de Goblins de Dorion reformada (Alissow) - Demonic Castle de Dorion reformado (Alissow) - Cidade de Venonh modificada (Luis) - Distro atualizado, funcionando nos clients 8.54, 8.55, 8.56 e 8.57 (Comedinha) - Comando !bless retirado (Alissow) - O NPC Ermes não vende mais items de decoração (Alissow) - Arrumado bugs na Ferumbras Tower (Alissow) - O comando !AFK on agora mantem o player parado (Comedinha) - Arrumado bugs nas escadas da área de DeathFans (Alissow) - Comando !Deathlist funcionando! (Alissow, Doidinmapper, GT Thionix) - Sistema de REP atualizado (Comedinha) - Sistema de Polls (Comedinha) - Banco por comandos (Comedinha) - Novos comandos de addon e accounts (Comedinha) - Sistema de futebol completo! (Comedinha) - Sistema Antibot (Comedinha) - Magia Spared Hur modificada (Alissow, Orzeleagle) - Adicionado sistema de montaria (Alissow, unknown666) - Adicionado Canivetes (Alissow, Siramix) - Nova hunt Subaquatica (Luis) Atualização 4.11! [11/07/2010]: - Versão 8.6, todos os items, outfits e monstros novos (Comedinhasss, Fireelement) - Adicionados os novos monstros 8.6 (Alissow) - Bug das potions arrumado (Comedinha, Matheusmkalo, Gabriel linhares, Fireelement) - Erros das runas arrumado (Comedinha, Gabriel linhares, Matheusmkalo, fireelement) Download Servidor: 4shared Tamanho: 17,416 KB Download: http://www.4shared.com/file/ez8XKrju/860_Alissow_Ots_411.html Link protegido: http://lix.in/-8d4bc0 Scan VirusTotal: http://www.virustotal.com/pt/analisis/983abb574dbb957a75aa1fd29eb804065f775e6a0c43216aa277686d32bce22a-1263702373 Atenção - Acc do God: god/god - LEIA o tópico antes de postar qualquer coisa ou duvida - Reportem se houver algum bug - A database fica na pasta schemas+Database - Proibido o uso do nosso distro sem o nosso consenso, obrigado. Andei percebendo que há muitos mapas feitos por mim em outros servidores postados aqui no xtibia, eu não sei se vocês sabem, mas isso é PLÁGIO. Eu não sou uma pessoa egoista, tudo que eu posto aqui no XTibia é para ser compartilhado, mas desde que mantenham os devidos créditos. Será denunciado qualquer tipo de "roubo" sem minha autorização para beneficio próprio. Eu sei que vocês não se importam muito com isso, eu também não deveria me importar, mas é o tempo e a dedicação de outra pessoa que vocês estão roubando, então peço gentilmente aos que tem conhecimento desses mapas, que me apontem. Não tem graça trabalhar horas e horas e ser roubado em dois minutos.2 pontos
-
Site Para Poketibia Versões 8.5X
jackbolin e um outro reagiu a bruno333 por um tópico no fórum
# Revolution Website # Nome: Revolution Website Versão: 8.5+ Autor: Bruno333 Coméntario: Bom, eu vi que tem varios Poketibia e nenhum site , então resolvi fazer um bom, leve e pratico! *lembrando que eu,uso como base o site do Nicaw SVN 19b Configurando o site: Primeiro passo e acessar o phpmyadmin (http://localhost/ ou http://localhost:8090) Entre na sua conta do PhpMyAdmin, "Root" "sua senha" Agora cria uma database (coloque um nome mais simples que puder, aconselho coloca o nome de "tibia") agora la em cima no menu tem o butão [iMPORTAR] Clique ele! Depois irar aparecer uma pagina, com um butão chamado PROCURAR, clique e va até a pasta do seu ot.. e importa a database do ot. Caso não tenho pode baixar Clicando aqui[/url] Agora continuando no [iMPORTAR] vc deve importar agora a database no NICAW ACC, que se encontra na pasta xampp/htdocs/documents nome do arquivo eh shema.mysql (database do nicaw) Podemos fechar o internet explorer e configurar logo! va a pasta Xampp/htdocs/config.inc e abra ele! Vamos agora configurar: # Set data directory of your OT server $cfg['dirdata'] = 'C:\otserv\data; $cfg['house_file'] = 'world/map-house.xml'; # MySQL server settings $cfg['SQL_Server'] = 'localhost'; $cfg['SQL_User'] = 'root'; $cfg['SQL_Password'] = '123456'; $cfg['SQL_Database'] = 'tibia'; Configurando: Onde a pasta data do seu ot está localizado entre na pasta data/world do seu ot e ve o arquivo que ta no final com house.xml e coloque no lugar do map-house.xml senha do seu phpmyadmin! Nome da tua database, aconselho colocar a database com nome de tibia!! ai so colocar como está ai em cima! Agora feche e salve.. Va a pasta do seu ot abra config lua e aperte ctrl + f e procure por root la vc encontrara tpw assim: sql_host = "localhost" sql_user = "root" sql_pass = "SUA SENHA" sql_db = "COLOQUE O NOME DA TUA DATABASE" * só lembrando galera que o site eu ia usar em meu servidor então tem certas funções que esta configurada para meu servidor mais quem tem um conhecimento minimo consegue de boa fazer as devidas mudanças! SS Agora o mais importante de tudo o Download e Scan !!! Revolution WebSite Scan !!! Bom galerinha do Xtibia é isso ai, espero que gostem do meu Website qualquer Duvida ou Bug's postem aqui Não se esqueça de quem gostou da um +Repp que não vai cair a mão tbem !!!2 pontos -
Pasta Data - Funções Em Lua
zorddella e um outro reagiu a tibiaa4e por um tópico no fórum
Pasta Enciclopedia com todos os links de outros tutoriais ! http://www.xtibia.com/forum/Pasta-Data-Enc...r-E-t99746.html Parte II – Funções Lua Nessa segunda parte irei mostrar como usar e quase todas as funções em lua existentes no otserver, lembrando que esse tutorial foi baseado no The Forgotten Server 0.3.0 Alpha 3. Portanto poderá haver funções aqui que não terá em outros otservers ou será diferente o nome. Lembrando que todas as funções existentes aqui poderão ser usadas tanto em actions,npcs,movements,talk actions e spells. Dividi as funções em três grandes grupos e subgrupos, os três grandes são funções get(receba), set (insira) e do (faça). Use Forgotten Server 3.0 pelo amor de deus, se você não saber usar sql aprende a usar SqlLite nesse link... Se você Aries você não tem honra para mexer aqui Funções Get São as funções que retornam valores, ou seja, elas fazem checagens. São muitos usadas e uteis. Ela é usada em condicionais (If, while, for) ou inseridas em variaveis. O modo de usa-la depende do tipo de script ou do jeito que você preferir. Dividi elas em dois grupos, a get simples e a get com parametros. Funções get simples São funções simples mesmo basta coloca-las e elas retornarão um valor, pode coloca-las em condicionais ou em variaveis. E todas elas buscam valores em players. Os que há creature pode ser usados em monstros (a maioria). São elas : getPlayerFood(cid) – Verifica quanto de tempo de comida o player possui. getCreatureHealth(cid) – Verifica a health atual do player. getCreatureMaxHealth(cid) – Verifica a health maxima do player. getCreatureMana(cid) – Verifica a mana atual do player. getCreatureMaxMana(cid) – Verifica a mana maxima do player. getPlayerLevel(cid) – Verifica o level do player. getPlayerExperience(cid) – Verifica a experiencia. getPlayerMagLevel(cid) – Verifica o magic level. getPlayerAccess(cid) – Verifica o nivel de acesso (player,gm,tutor...) getPlayerTown(cid) - Verifica o id da cidade natal do player. getPlayerVocation(cid) – Verifica a vocação dele. getPlayerSoul(cid) – Verifica o soul points. getPlayerFreeCap(cid) – Verifica quanto de capacidade atual existe. getPlayerLight(cid) - Verifica o tamanho da luz do player. getPlayerGuildId(cid) – Verifica o id atual da guild do player. getPlayerGuildName(cid) – Verifica o nome da guild. getPlayerGuildRank(cid) - Verifica o posto dele na guild. getPlayerGuildNick(cid) – Verifica o nick dele na guild. (aquilo escrito no final entre parenteeses). getPlayerGuildLevel(cid) – Verifica o nivel da guild. getPlayerSex(cid) – Verifica o sexo do player(0-mulher, 1 – homem). getPlayerLookDir(cid) – Verifica a direção na qual ele está olhando. (0-norte, 1-leste, 2-sul, 3 -oeste). getPlayerGUID(cid) – Verifica o id dele na database. getPlayerPromotionLevel(cid) – Verifica o nivel da promoção do player. getPlayerGroupId(cid) – Verifica o nivel dele. (igual acesso). getPlayerInstantSpellCount(cid) - Verifica quantas spells o player sabe. getMonsterTargetList(cid) – Verifica os montros na qual você está atacando. getMonsterFriendList(cid) – Verifica os monstros amigo (provavelmente summons). getCreatureOutfit(cid) – Verifica o id da roupa do player. getCreaturePosition(cid) – Verifica a posição x,y,z do player. getCreatureSpeed(cid) – Verifica a velocidade atual do player. getCreatureBaseSpeed(cid) – Verifica a velocidade base do player. getCreatureName(cid) – Verifica o nome do player. getCreatureTarget(cid) – Verifica quem o player está atacando. getPlayerPremiumDays(cid) – Verifica quantos dias de premmium account o player possui. getPlayerSkullType(cid) – Verifica qual skull o player possui. getPlayerBalance(cid) – Verifica o saldo bancario do player. getPlayerStamina(cid) – Verifica o tempo de stamina. getPlayerNoMove(cid) – Verifica se ele pode se mover. getPlayerExtraExpRate(cid) – Verifica a taxa de experiencia extra (a confirmar). getPlayerPartner(cid) – Se o player está em parte ou não. getPlayerParty(cid) – Verifica informações da party do player. getPartyMembers(lid) – Verifica os membros da party segundo o id da função acima. getCreatureMaster(cid) – Verifica a criatura mestre (a que sumona). getCreatureSummons(cid) – Verifica os summons da criatura. A sintaxe dessas funções é essa : Exemplo : if getCreatureMana(cid) == 20 then Ou mana = getCreatureMana(cid) if mana == 20 then Funções get com parametros. Essas funções fazem o mesmo papel da outra get simples, porém elas tem certos parametros pois normalmente elas checam coisas a mais, e algumas checam objetos e não só valores do player. Lembrando que se for comparar itens que são com nomes (exemplo : getItemNameById(2195) == 'boots of haste' then) deve se colocar entre aspas pois é uma função string. Numeros não prescisam estar dentro de aspas. São elas : getPlayerSkill(cid, skillid) - checa o skill especificado do player (0- fist,1-club, 2-sword, 3-axe, 4-distance, 5 -shield, 6 – fishing). getPlayerItemCount(cid,itemid) - checa a quantidade de item agrupaveis. getPlayerSlotItem(cid, slot) - Checa que item tem no slot do player (1-cabeca, 2- amuleto, 3- backpack, 4-armadura, 5-mao direita, 6-mao esquerda, 7-pernas, 8- botas, 9-anel, 10 slot da torcha). getPlayerWeapon(cid, <optional> ignoreAmmo) - Checa que arma o player esta usando. (o outro paramentro ainda n usei). getPlayerItemById(cid, deepSearch, itemId, <optional> subType) - Procura o item especifica no item, pode colocar o subtipo (viais por exemplo). getPlayerDepotItems(cid, depotid) - Ve quantos itens tem no depot da cidade (Por id de cidade). getPlayerFlagValue(cid, flag) - Ve as flag dos players (Apenas em TFS e nunca usei). getPlayerCustomFlagValue(cid, flag) - Verifica o valor da flag. getPlayerLearnedInstantSpell(cid, name) - Verifica se o player sabe a magia. getPlayerInstantSpellInfo(cid, index) - Desconheço getInstantSpellInfoByName(cid, name) - Verifica valores da magia getInstantSpellWords(name) - Retorna a palavra magica da magia. getPlayerStorageValue(uid, valueid) - Verifica o valor do storage do player getCreatureByName(name) - Retorna o nome da criatura. getPlayerGUIDByName(name) - Verifica o numero da tabela sql do player. getPlayerNameByGUID(guid) - Verifica o nome do jogador pelo numero da tabela sql getContainerSize(uid) - Verifica quantos slots tem o container. getContainerCap(uid) - Verifica quanto pesa o container. getContainerItem(uid, slot) - Verifica se há um container no slot especificado. getDepotId(uid) - - Verifica o id da cidade do depot. getItemDescriptionsById(itemid) - Pega a descrição do item pelo id. getItemNameById(itemid) - - Pega o nome do item pelo id. getItemPluralNameById(itemid) - Pega o nome em plural do item pelo id.(apenas itens agrupaveis). getItemIdArticleById(itemid) - Retorna um valor pelo id. Desconheço essa função getItemWeightById(itemid, count, <optional: default: 1> precise) - -Pega o peso do item por id. getItemDescriptions(uid) - - Pega a descrição do item por uid. (por exemplo se ele é item ou item2 em actions). getItemName(uid) - - Pega a descrição do item por uid. getItemAttack(uid) - Pega o ataque do item por uid. getItemPluralName(uid) - Pega o nome em plural por uid. getItemExtraAttack(uid) - Modifica o ataque extra da arma (Acho que deve ser ataque elemental ou defesa de armor). getItemIdArticle(uid) - - Desconheço. getItemDefense(uid) - - Pega a defesa do item por uid. getItemExtraDefense(uid) - - Pega a defesa extra (armor) por uid. getItemArmor(uid) - - Pega o valor de armour por uid. getItemAttackSpeed(uid) - - Pega a velocidade de ataque por uid. getItemHitChance(uid) - - Pega a chanche de dano do item por uid. getItemIdByName(name) - - Retorna o id do item pelo nome. getPromotedVocation(vocation) - - Verifica qual o nome da vocação promocional da vocação(Sorcerer = Master Sorcerer). getPlayerBlessing(cid, blessing) - - Verifica qual nivel de benção o player tem (1 = 1, 2 =2...). getTemplePositionByName(townName) - - Verifica as coordenadas do templo pelo nome da cidade. getTemplePositionById(townId) - - Verifica as coordenadas do templo pelo id da cidade. Funções Set São poucas funções. Elas inserem valores ou seja inserem novos valores, inutilizando os antigos. Deve se usa-las dentro de condicionais. Exemplo : No caso se o item se chamar boots of haste, o script coloca arm 5 nela. São elas : setItemAttack(uid, attack) - Modifica o ataque da arma setPlayerStamina(cid, minutes) - Adicione tempo em stamina. setPlayerExtraExpRate(cid, value) - Modifica mais taxa de experiencia setPlayerPartner(cid, guid) - Desconheço setItemPluralName(uid) - Modifica ou adiciona o nome do item no plural. setItemName(uid) - Muda o nome do item. setItemIdArticle(uid) - Modifica o article no item (sei la q merda é essa) setItemExtraAttack(uid, extraattack) - Adiciona ataque extra na arma. setItemDefense(uid, defense) - Modifica defesa no item setItemExtraDefense(uid, extradefense) - Modifica aquela defesa extra na arma setItemArmor(uid, armor) - Modifica a armor do item setItemAttackSpeed(uid, attackspeed) - Muda a velocidade de ataque do item setItemHitChance(uid, hitChance) - Modifica a taxa de dano do item setGlobalStorageValue(valueid, newvalue) - Adiciona um valor global (Muito util para scripts avançados) setHouseOwner(houseid, ownerGUID) - Muda o dono da casa setWorldType(type) - Muda o estilo do mundo para PvP, Non Pvp e Pvp Enforced Funções do Funções que fazer algo, normalmente modificam , porem ao contrario do set algumas apenas adiciona valores. São usadas dentro de condicionais. A sintaxe dela é : if item.itemid == 2195 then doCreatureAddHealth(cid, -1000) end No caso se o item usado no script for 2195, ele remove 1000 de hp. São elas : doPlayerLearnInstantSpell(cid, name) - Faz o player aprende a magia pelo nome dela. doRemoveItem(uid, quantidade) - Remove o item do player. doPlayerFeed(cid, food) - Adiciona "comida" ao player. doPlayerSendCancel(cid, text) - Manda aquela mensagem branca no rodape da tela. doPlayerSendDefaultCancel(cid, ReturnValue) - Inutil pelo que saiba , pq nunca vi um script com isso e por isso n sei pra q serve. doTeleportThing(cid, newpos, <optional> pushmove) - Teleporta o player para uma nova posição. doTransformItem(uid, toitemid, <optional> count/subtype) - Transforma o item em outro. doCreatureSay(cid, text, type) - - Faz o player falar algo. doSendMagicEffect(pos, type[, player]) - Faz algum efeito magico doSendDistanceShoot(frompos, topos, type) - Faz algum efeito de distancia doChangeTypeItem(uid, newtype) - Muda o tipo dele ou a quantidade de itens agrupaveis. doSetItemActionId(uid, actionid) - Adiciona uma nova actionid por uid. doSetItemText(uid, text) - - Adiciona um texto ao item. doSetItemSpecialDescription(uid, desc) - Coloca a descrição especial no item. (Esse item foi feito especialmente para sei la kem). doSendAnimatedText(pos, text, color) - Manda um texto animado (Se vc joga servidor Pvp Enforced sabe qual é). doPlayerAddSkillTry(cid, skillid, n) - Adiciona uma tentativa em um skill (Se vc colocar 9999999 ele aumenta apenas 1 skill). doCreatureAddHealth(cid, health) - Adiciona life ao player. doCreatureAddMana(cid, mana) - Adiciona mana ao player. doPlayerSetTown(cid, townid) - Muda a cidade do player. doPlayerSetVocation(cid,voc) - Muda a vocação do player ( Não coloque vocação promocional em TFS pq dará erros). doPlayerRemoveItem(cid, itemid, count, <optional> subtype) - Remove um item do player. doPlayerAddExp(cid, exp) - Adiciona experiencia ao player. doPlayerAddOutfit(cid,looktype,addons) - Adiciona addons do outfit ao player. doPlayerRemoveOutfit(cid,looktype,addons) - Remove addons do outfit do player. doAddContainerItem(uid, itemid, <optional> count/subtype) - Adiciona um container por uid. doBroadcastMessage(message, type) - Manda uma mensagem global ao servidor. doPlayerBroadcastMessage(cid, message, <optional> type) - doPlayerSetSex(cid, newSex) - - Muda o sexo do Player (0- mulher, 1 homem) doCreatureChangeOutfit(cid, outfit) - Muda a roupa do player. doSetMonsterOutfit(cid, name, time) - Muda a roupa para de um monstro. doSetItemOutfit(cid, item, time) - Muda a roupa do player para de um item. doSetCreatureOutfit(cid, outfit, time) - Adiciona uma roupa por tempo. doPlayerAddMapMark(cid, pos, type, <optional> description) - Adiciona aquelas marcações no mapa do jogador. doPlayerAddPremiumDays(cid, days) - Adiciona dias de premmium no jogador doPlayerAddManaSpent(cid, mana) - Adiciona % de magic level (Se vc colcoar 99999999 ele aumentará muitos mls...) doPlayerAddSoul(cid, soul) - Adiciona soul points ao jogador doPlayerAddItem(uid, itemid, <optional> count/subtype, <optional: default: 1> canDropOnMap) - Adiciona itens no player. doPlayerAddItemEx(cid, uid, <optional: default: 0> canDropOnMap) - Adiciona um item2 no player (Estranho). doPlayerSendTextMessage(cid, MessageClasses, message) - Manda um texto pro player. doPlayerAddMoney(cid, money) - Adiciona dinheiro ao player doPlayerRemoveMoney(cid, money) - Remove dinheiro do player. doPlayerWithdrawMoney(cid, money) - Remove dinheiro do banco doPlayerDepositMoney(cid, money) - Adiciona dinheiro ao banco. doPlayerTransferMoneyTo(cid, target, money) - Transfere dinheiro do banco. doShowTextDialog(cid, itemid, text) - Mostra o texto do item doDecayItem(uid) - Decai o item (aprodecer) doCreateItem(itemid, type/count, pos) - doCreateItemEx(itemid, <optional> count/subtype) - Cria um item2. doTileAddItemEx(pos, uid) - Cria um item2 em um tile doAddContainerItemEx(uid, virtuid) - Adiciona um item2 no container doCreateTeleport(itemid, topos, createpos) - Cria um teleport doSummonCreature(name, pos) - Sumona um monstro Existem mais comandos porém são rarissimos de ser usados. Por que os cara do TFS criam comandos em Luas para o Gesior e Jiddo se lascarem criando tranqueiras em Lua. Stackpos Sem duvidas, umas das partes mais chatas de explicar, porém ao aprender é dificil esquecer. O stackpos é usado para se mexer em itens empilhados, infelizmente ele se modifica muito então essa tabela mostra os stackpos que não mudam. Agora tirando isso os de 2 a 252 sempre mudam (Eu acho que não esqueci os outros que mudam), então vou tentar explicar do jeito que entendi antigamente... Se você tem empilhado o chão, uma mesa, e um bag. Os stackpos ficam assim Agora se você tem os mesmo itens e em cima da bag uma backpack e um scarab coin. Confundiu ? Sim é normal, se houver três ou mais itens acima do chão, o chão e o objeto acima dele continuam com o mesmo stackpos. Porém depois é contado de cima para baixo. Veja esse exemplo : stackpos: Nesse caso a ordem dos itens de baixo para cima é : Areia, mesa, dead human, machete, shovel, rope, gold coin.bag e backpack. Entenderam agora ? Se não tente fazer uns testes que com certeza entenderá. E depois pelo seu bem, tente não esquecer isso. Pois em movements é importantissimo. Bem esse tutorial foi leve e servirá de base para os proximos, pois esses comandos podem ser usados em tudo que há lua. Peço desculpas se ele fico confuso Pois não estou vagal quanto antes e tenho pouco tempo... Esperem que virão mais tutoriais. Comentarios é o combustivel. Então deem sugestões, reclamações ou me ofendam sei la.2 pontos -
[Action] Recarregando Soft E Firewalker
Leandrinhow e um outro reagiu a Kimoszin por um tópico no fórum
Ola amigos Xtibianos :smile_positivo: vim trazer um script simples que dando USE vc recarrega sua soft ou firewalker boots Script: Soft: & Firewalker Boots Topico Arrumado contendo 1 script so com as 2 funções2 pontos -
Olá e eu apresento a vocês o servidor DBFO (Luta Dragon Ball Online). Introduzido algumas modificações.versões de servidor do Tibia 8.00. Download Scan Comentários e dar uma avaliação da1 ponto
-
Tutorial Avatar Basico Fw Cs3
Fernandinand reagiu a Maluko Aprendiz por um tópico no fórum
Criando Avatar | Fireworks CS3 Avatar Slash / Fácil e Rápido . Informações: Autor: Lucas Farina (Eu) PNG: Download Previa: Todos Direitos Autorais são Privados ao Autor e Xtibia.com, Não Podendo Estar em Posse de Outro Fórum que Não Seja Xtibia.com. . Bom gente o que vou ensinar hoje é como fazer um Avatar em Fireworks, o que não é um mistério. A Pedido do meu amigo FeZzinN... . 1. Crie um Palco com 180 x 250px (Tamanho Padrão Xtibia.com): . 2. Depois aplique um fundo que criei especificamente para este tutorial: . 3. Agora aplique um Foco de Luz sobre o Fundo: . Coloque em Soft Light: 4. Duplique o Brilho (CTRL + C, CTRL + V): . 5. Depois coloque um efeito simples por cima e Aplique Overlay( Efeito Aqui): . 6. Pronto agora terá este resultado: . 7. Agora vamos aplicar a render do Slash que pode ser baixada aqui. Coloque a render com Blend em Screen: . 8. Agora duplique a render e deixe a render de baixo em Blend Normal, e de um Smudge( ) nela: . 9.Passe as duas camadas para baixo de tudo menos do fundo e Aplique a tipografia: . Pronto Caso se Perdeu no meio do Tutorial Baixe a PNG e abra no FW para saber como foi feita, só não deixei o tutorial "melhorzinho" pois estou muito cansado. Se tiver dúvidas mande MP. Todos Direitos Autorais são Privados ao Autor e Xtibia.com, Não Podendo Estar em Posse de Outro Fórum que Não Seja Xtibia.com.1 ponto -
[Oficial] Real Global Map hello Galerinha do Xtibia, Venho aqui desponibilizar o mapa do Doidin (8.57 Só que editado com minhas ideias e na versão 8.60 OBS: Para rodar esse servidor No seu pc voce tem que ter 2GB+ de memória ram e em bom estado. ( nao recomendo abrir o otserv com o mapa editor aberto junto). Real Global Map: - Versão do Tibia:8.60 - Mapa global 95% full. - Quase todos os NPC's do Tibia Global. - Servidor com o mínimo de bugs possíveis. - Scripts arrumados. - Entre outros... Cidades: Quest's: Oque tem de melhor que o servidor do Doidin? Quase nada pois ele copio minhas coisas x) Algumas Print Screen: para quem nao conseguiu abrir o spolier e gostaria de ver as SS link abaixo: print screen.txt Créditos: - Doohz Rush - Doidin - Alissow - DoidinMapper - RenanSdc - TFS Team - Styller Team - Alissow Team - Feragon - Viana! - Azevedo ATUALIZADO DIA 28/10/2010 Scan: Arquivo Muito grande para fazer scan. Remeres Mapa Editor 2.0 ( nao use outra versão ou vai bugar o mapa: Download Aqui! Doohz Rush Server : Download Aqui! OBS: FOI ARRUMADO TODOS OS LOOT'S DOS MONSTROS, E FOI ADICIONADO A NOVA AREA DE ZÃO (OS Draken elite etc, todos configurados perfeitamente ) Atualização 2.2; Arrumado os Teleport's dos Drakens; Editado os seal's da POI (+ parecido com global); adicionado 1 npc de runa em northern de ZAO; arrumada as Houses, e bugs de Cormaya; Retirado BUG de money; Arrumado detalhes do mapa. MSN: Doohz_rush@hotmail.com Gostou? REP+ Ali do lado :arrow:1 ponto
-
[Gesior Acc] Sistema De Confirmação
CliffBurtton reagiu a walefxavier por um tópico no fórum
1° Vá em Htdocs e crie um arquivo chamado confirmacao.php e ponha isso: <?PHP $main_content .= ' <form name="form1" method="post" action="donate/gravar.php"> </SCRIPT> <FIELDSET id=fieldcontato><LEGEND><STRONG>Formulário</STRONG> </LEGEND> <FORM id=form1 method=post name=form1> <TABLE border=0 cellSpacing=3 cellPadding=3 width=500> <TBODY> <TR> <TD width="29%"><STRONG>Assunto</STRONG></TD> <TD width="71%"><LABEL><SELECT id=assunto name=assunto> <OPTION selected>Doação por Pagseguro (Boleto, Cartão de Credito e etc)</OPTION> <OPTION>Doação pelo Banco Real</OPTION></SELECT> </LABEL></TD></TR> <TR></TD> <TD height=20 vAlign=center colSpan=2> <HR color=#c0c0c0 noShade> </TD></TR> <TR> <TD><STRONG>Nome</STRONG></TD> <TD><SPAN id=nome><LABEL><INPUT id=nome maxLength=40 size=25 name=nome> </LABEL><SPAN class=textfieldRequiredMsg><FONT size=1>Digite seu nome completo.</FONT></SPAN></SPAN></TD></TR> <TR></TD> <TD height=20 vAlign=center colSpan=2> <HR color=#c0c0c0 noShade> </TD></TR> <TR> <TD><STRONG>Email da sua Account</STRONG></TD> <TD><SPAN id=email><LABEL><INPUT id=email size=25 name=email> </LABEL><SPAN class=textfieldRequiredMsg><FONT size=1>Digite o email da sua conta.</FONT></SPAN><SPAN class=textfieldInvalidFormatMsg></SPAN></SPAN></TD></TR> <TR></TD> <TD height=20 vAlign=center colSpan=2> <HR color=#c0c0c0 noShade> </TD></TR> <TR> <TD><STRONG>Sua Account</STRONG></TD> <TD><SPAN id=conta><LABEL><INPUT id=account maxLength=25 size=25 name=account> </LABEL><SPAN class=textfieldRequiredMsg><FONT size=1>Digite sua conta.</FONT></SPAN><SPAN class=textfieldInvalidFormatMsg></SPAN></SPAN></TD></TR> <TR></TD> <TD height=20 vAlign=center colSpan=2> <HR color=#c0c0c0 noShade> </TD></TR> <TR> <TD><STRONG>Personagem</STRONG></TD> <TD><SPAN id=personagem><LABEL><INPUT id=personagem size=25 name=personagem> </LABEL><SPAN class=textfieldRequiredMsg><FONT size=1>Digite seu personagem.</FONT></SPAN></SPAN></TD></TR> <TR></TD> <TD height=20 vAlign=center colSpan=2> <HR color=#c0c0c0 noShade> </TD></TR> <TR></TR> <TR> <TD><STRONG>Valor da doação</STRONG></TD> <TD><SPAN id=valor><LABEL><INPUT id=valor maxLength=3 size=25 name=valor> <SPAN class=textfieldRequiredMsg><FONT size=1>Exemplo: 40</FONT></SPAN></SPAN></LABEL></TD></TR> <TR></TD> <TD height=20 vAlign=center colSpan=2> <HR color=#c0c0c0 noShade> </TD></LABEL></TR> <TR> <TD><STRONG>Data do depósito</STRONG></TD> <TD><SPAN id=data><LABEL><INPUT id=data maxLength=10 size=25 name=data> </LABEL><SPAN class=textfieldRequiredMsg><FONT size=1>Exemplo: 15/07/2009</FONT></SPAN><SPAN class=textfieldInvalidFormatMsg></SPAN></SPAN></TD></TR> <TR></TD> <TD height=20 vAlign=center colSpan=2> <HR color=#c0c0c0 noShade> </TD></TR> <TR> <TD><STRONG>Hora do depósito</STRONG></TD> <TD><SPAN id=hora><LABEL><INPUT id=hora maxLength=5 size=25 name=hora> </LABEL><SPAN class=textfieldRequiredMsg><FONT size=1>Exemplo: 14:20</FONT></SPAN><SPAN class=textfieldInvalidFormatMsg></SPAN></SPAN></TD></TR> <TR></TD> <TD height=20 vAlign=center colSpan=2> <HR color=#c0c0c0 noShade> </TD></TR> <TR> <TD><STRONG>Imagem do comprovante</STRONG><BR><FONT color=red>(Apenas por Deposito)</FONT></TD> <TD><LABEL><INPUT id=imagem size=25 name=imagem> <BR> <H5>Hospede a foto do seu comprovante no <A href="http://www.imageshack.us" target=_blank>ImageShack</A></H5></LABEL></TD></TR> <TR></TD> <TD height=20 vAlign=center colSpan=2> <HR color=#c0c0c0 noShade> </TD></TR> <TR> <TD> </TD></TR></TBODY></TABLE> <P><INPUT value=Enviar type=submit name=enviar> <INPUT value=Limpar type=reset name=limpar></P></FORM></FIELDSET><BR> <H3>Dúvidas.</H3><FONT color=red>Atenção se você fez uma doação no dia 01 se tem que confirma no maximo até dia 03( Seu comprovante vale por 48 horas ), caso contrário sua doação não é mas valida ou seja no momento que você faz uma doação se tem que confirma rapidamente! Para não ocorrer atrasos.<BR></FONT> <P><STRONG>1) Fiz meu depósito e confirmei quantos dias devo esperar antes de enviar uma nova confirmação?</STRONG><BR><STRONG>R:</STRONG> Sua doação será liberada em até 24hrs após o envio da confirmação. Se em 24 horas você ainda não recebeu sua Doação, envie uma nova confirmação.</P> <P><STRONG>2) Fiz meu depósito, como prosseguir para receber minha Doação?</STRONG><BR><STRONG>R:</STRONG> É simples basta clicar em "Confirmar Donate", prencha ele corretamente com todos os dados pedidos. Não digite nada errado, pois isso atrasará sua Doação e você terá que esperar 24h para enviar uma nova confirmação.</P> <P><STRONG>3) O que é imagem do comprovante, como consigo uma? </STRONG><BR><STRONG>R:</STRONG> Esta opção serve para agiilizar a ativação de sua Doação. Após escanear o seu comprovante ou tirar uma foto você deve hospedar no site citado e enviar o link para nós usando o campo imagem.</P><FONT color=red>OBS: Só é obrigatorio por Deposito pelo Banco Real.<BR></FONT> <script type=text/javascript> <!-- var sprytextfield1 = new Spry.Widget.ValidationTextField("nome", "none", {validateOn:["blur", "change"]}); var sprytextfield2 = new Spry.Widget.ValidationTextField("email", "email", {validateOn:["blur", "change"]}); var sprytextarea1 = new Spry.Widget.ValidationTextarea("dados", {validateOn:["blur", "change"]}); var sprytextfield3 = new Spry.Widget.ValidationTextField("conta", "integer", {validateOn:["blur", "change"]}); var sprytextfield4 = new Spry.Widget.ValidationTextField("personagem", "none", {validateOn:["blur", "change"]}); var sprytextfield5 = new Spry.Widget.ValidationTextField("data", "date", {format:"dd/mm/yyyy", validateOn:["blur"]}); var sprytextfield6 = new Spry.Widget.ValidationTextField("valor", "integer", {validateOn:["blur", "change"]}); var sprytextfield7 = new Spry.Widget.ValidationTextField("hora", "time", {validateOn:["blur", "change"]}); //--> </SCRIPT> <BR><BR></TD></TABLE> <CENTER></CENTER></TD></TABLE></DIV> '; ?> Agora vá em index.php e adicione isto: case "confirmacao"; $subtopic = "confirmacao"; $topic = "Confirmar Pontos"; include("confirmacao.php"); break; Agora vá em Htdocs/layouts/tibiacom/layout.php e adicione isto: <a href='?subtopic=confirmacao'> <div id='submenu_buypoints' class='Submenuitem' onMouseOver='MouseOverSubmenuItem(this)' onMouseOut='MouseOutSubmenuItem(this)'> <div class='LeftChain' style='background-image:url(".$layout_name."/images/general/chain.gif);'></div> <div id='ActiveSubmenuItemIcon_buypoints' class='ActiveSubmenuItemIcon' style='background-image:url(".$layout_name."/images/menu/icon-activesubmenu.gif);'></div> <div class='SubmenuitemLabel'><font color=red>Confirmar Pagamento</font></div> <div class='RightChain' style='background-image:url(".$layout_name."/images/general/chain.gif);'></div> </div> </a> Agora preste atenção : Faça download do arquivo abaixo (pasta Donate) e cole-o em Htdocs,onde fica todos os seus phps. O script está configurado para pagamento via pagseguro e BB.Mais é apenas confirmação,então não irá fazer muita diferença da onde veio o pagamento.Eu acho... Após ter feito isso clique em confirmação no seu site e faça um teste. O script contém: Nome Assunto Email Account Personagem Data do deposito Hora do * Imagem do comprovante Toda confirmação feita irá para a pasta Htdocs/donate/arquivo.txt <<<<< Não esqueça !!! Abraços !! Link do Download : Donate.rar1 ponto -
1 ponto
-
O Dragão Khax do TibiaVenezuela.Com foi sequestrado pelo Ferumbras do Tibiopedia.pl. O dragão está sobre controle do maligno Ferumbras e quem estiver disposto a ajudar poderá ganhar um Ferumbras Doll ou um Dragon Goblet, em breve entre nos fansites. Fonte: Tibia.Com1 ponto
-
O corpo morto não fica como um looktype e sim como um item. Depois que você fizer ele no tibia.dat/spr você terá que adicionar ele no items.otb usando o OTItemEditor que tem disponível pra download aqui no fórum..1 ponto
-
a bolsa deve ter algum item que da bug se ver/passar por cima... se tava fazendo item (ex:/i 2154) e o msm da um error, sempre que abrir a bag vai dar esse erro1 ponto
-
Primeiramente, muito obrigado por agradecer... Quando vc clicar na foto, ela abre, e ae vc tem que clicar com o botão direito sobre ela e colocar "Salvar imagem como..." Selecione onde irá salvar (Aconselho criar uma pasta separada só para isso) e depois abra e vá recortando do seu jeito, mas lembre-se tem que ser em 32x32 pixels!! Ajudas irei adicionando no tuto na parte rosa escrito "AJUDAS:" Blz... Tinha escrevido errado.. num é look, é itemtype... FOI MAL. Colocando em 64x64 ao envés de 32x32... weihgt: 2 e height: 2 ... Mais com 4 sprites para cada parte.. Olha no dat editor o tentacruel e vc entenderá...1 ponto
-
1 ponto
-
Ta vou usar, mais onde que mudo o tempo? Quero cololocar pra dar so 5 hrs. é aqui? : addEvent(endExpRate, info.time *3600*1000, cid) Pra 5 hrs ficaria oque? Cara é o seguinte, Ele é um amuleto que vc nem precisa colocar no local de um amulet.É só dar use nele que ele some e vc continua com seu AOL. Agora sobre a exp dele no script ta 3x mais de exp ex: Se vc mata um rat e ganha 300 de exp, usando o anel vc ganhara 900 ou seja 3x mais do normal de exp. Vá em items.xml e substitui o teu por esse aqui: <item id="10221" article="a" name="Exp Amulet"> <attribute key="description" value="Mais experiência para seu char." /> <attribute key="weight" value="700" /> <attribute key="slotType" value="necklace" /> </item> Vlw, Ajudei? Rep+1 ponto
-
[Gesior Acc] Trade Offline
Piabeta Kun reagiu a walefxavier por um tópico no fórum
xD Acesse o seusite/phpmyadmin na barrinha do seu navegador. Clique na sua database (a que vc criou quando colocou seu site online) Depois Clique em SQL,vai estar escrito bem grande la em cima. Vai aparecer um espaço em branco,vc poem o script que o Gm Beckman falo ae. Depois so clicar em EXECUTAR... ____________________ Não sei esplicar muito bem,então quem não entendeu da uma olhada pelo forum ae,que vc acha rapidin...1 ponto -
Olá XTibianos, Resolvir criar uma magia para que seu OT fique mais legal, como o nome já diz, somente Paladins podem usar. Agora vamos aos Scripts: Vá na pasta spells/scripts/attack, copie qualquer arquivo, cole e renomei-o para "full atack" (sem aspas), abra-o e cole isso: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_STUN) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1.9, -60, -2.5, 40) local area = createCombatArea(AREA_CIRCLE3X3) setCombatArea(combat, area) function onCastSpell(cid, var) return doCombat(cid, combat, var) end Agora abra a pasta data\spells e abra o arquivo "spells.XML", em "instant spells" adicione o seguinte codigo: <instant name="Full Atack" words="exori pally" lvl="75" mana="360" prem="1" exhaustion="1500" needlearn="0" script="attack/full atack.lua"> <vocation name="Paladin"/> <vocation name="Royal Paladin"/> </instant> Pronto, agora você tem aquela magia simples e que todo OT gostaria de ter, e que vai ajudar muito os paladins do seu OT. Até a próxima, fiquem com Deus. Magia 100% by Miter1 ponto
-
Akuma Sign
Fernandinand reagiu a moskitinho por um tópico no fórum
Olá manolitos :embarrest: hoje não e um dia legal pra mim perdi um amigo num acidente de moto então estou meio down. Mais mesmo assim vou ajudar vocês cheguei do velório a pouco e mandei ver neste tutorial autorizado pra vocês... Espero que gostem e que possam aprender com ele. Eu vou ver se acho recursos parecidos e posto aqui. Edit# Aqui a coisa é VIP manolo Recursos: Render Tem que cortar mais ta bem facil só usar o magic, use o da esquerda. Yellow Clouds Não é a mesma, usa photofilter pra deixar mais escura. Nebula Use a parte de cima.1 ponto -
Emo Shoes
Fernandinand reagiu a moskitinho por um tópico no fórum
Olá pessoal, bom fiquei a semana sem postar nada porque tava testando alguns videos pra ver se rola um Screencast... Mais tenho muito o que aprender ainda então pra não ficar sem ajudar eu achei um tutorial bem bacana na net e resolvi compartilhar com vocês, bom eu traduzi ele todo e adicionei a Skin porém os creditos são totais ao autor Duxx. Se gostar já sabe né? Rep+ ne mim.1 ponto -
Como Fazer Um Monstro Desaparecer?
fadoninho reagiu a WeyderWalker por um tópico no fórum
Agora que ja está no lugar certo. alguem pode ajudar-me?1 ponto -
Portas Sem Volta
danilocastrianisantos reagiu a Demolyt por um tópico no fórum
simples e bom.. ta perfeito cara não precisa complica isso ai é super simples.. perfeito. =D1 ponto -
-1 pontos