Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 11/19/11 em todas áreas

  1. SkyDangerous

    [Sistema] Jogo Piso Mágico

    O que é o jogo Piso Mágico: Resp: O sistema foi elaborado e desenvolvido por "skydangerous", é um sistema de jogo, que junta "sorte" , "emoção" e "habilidade", muito legal para otserv que gosta de ter opções novas para os player se divertirem. Como Funciona: Resp: O player falará com o npc, então poderá escolher entre 4 fases, sendo que cada fase tem um nivél diferente, ou seja do mais facil para o mais complexo. Logo em seguida, o npc teleportará o player para a fase, então ele terá um tempo para completar o jogo, caso ele não cumprir o objetivo, será eliminado. Se ele errar o piso poderá ser teleportado para o começo ou mesmo tomar danos de magias. Como Jogar: Resp: Terá vários caminho, tenha sorte escolha, cada casa certa irá criar um piso e você poderá prosseguir normalmente, até o final do jogo. Ele está em construção, então algumas coisa dito a cima não vai ter Crie um arquivo movement na pasta scripts chamado pisomagico.lua function onStepIn(cid, item, pos) local pos = getCreaturePosition(cid) local player = getCreaturePosition(cid) player.x = player.x+1 local player2 = getCreaturePosition(cid) player2.y = player2.y-1 local player3 = getCreaturePosition(cid) player3.x = player3.x-1 local player4 = getCreaturePosition(cid) player4.x = player4.x-2 if item.actionid == 5010 then doCreateItem(724,1, player) doPlayerSendTextMessage(cid,21,"Você acertou, prosiga") elseif item.actionid == 5011 then doCreateItem(724,1, player2) doPlayerSendTextMessage(cid,21,"Você acertou, prosiga") elseif item.actionid == 5013 then doCreateItem(724,1, player3) doCreateItem(724,1, player4) doPlayerSendTextMessage(cid,21,"Você acertou, prosiga") elseif item.actionid == 5014 then doTargetCombatHealth(0, cid, COMBAT_FIREDAMAGE, -270, -310, CONST_ME_FIREAREA) doSendAnimatedText(pos,"FAIL",TEXTCOLOR_RED) end return TRUE end Em movement.xml cole essas tags <movevent type="StepIn" actionid="5010" event="script" value="pisomagico.lua"/> <movevent type="StepIn" actionid="5011" event="script" value="pisomagico.lua"/> <movevent type="StepIn" actionid="5012" event="script" value="pisomagico.lua"/> <movevent type="StepIn" actionid="5013" event="script" value="pisomagico.lua"/> <movevent type="StepIn" actionid="5014" event="script" value="pisomagico.lua"/> Caso queira usar com NPC local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local pos ={x= 1000,y=1000,z=1000} if msgcontains(msg, 'primeira fase') or msgcontains (msg, 'first') then selfSay('Voce quer participar da primeira fase?') talkState[talkUser] = 1 elseif talkState[talkUser] == 1 then if msgcontains(msg, 'yes') then selfSay('Bora jogar !.', cid) doTeleportThing(cid,pos) doPlayerSendTextMessage(cid,21,"Boa-Sorte a primeira fase") talkState[talkUser] = 0 end return true end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Lembre-se: Mude a posição que será teleportado no mapa Download Mapa: http://speedy.sh/TWQDC/jogo.otbm Scan Mapa: http://www.virustotal.com/file-scan/report.html?id=086be1bbed4e27e74b3aea414a1dfd4eb690c00bf446bd5d4c3209f883fec497-1321673489 Vale Lembrar: Fiz esse script com sono e cansado, ele está bem ruinzinho, mas irei modificar sempre até conseguir deixar ele bem legal para vocês.
    3 pontos
  2. MarcelloMendes

    [Advanced Reset System 2.0]

    -= Advanced Reset System 2.0 =- By: MarcelloMkez Fala galerinha, to aqui dinovo , mas agora e com a versão 2.0 do meu 'Advanced Reset System'. E como prometido, trazendo algumas novidades: _________________________________________________________________________________________________________________________________ - Resets agora armazenados diretamente na 'DataBase', acabando com o sistema de Storages, e com o problema dos resets atrasados no look; - Opções para Abilitar e Desabilitar Condições como por exemplo: 'look = true' , [true,false] configurando como achar melhor; - E agora '[sTAGES]', para 'premmy' (Premium Account) e 'free' (Free Account); - Instala o System e cria a Tabela de Resets com o comando "/installreset"; OBS: Sistema testado em 'Mysql' não tenho certeza si funciona em 'sql'; e Testando em: 8.50 (TFS 0.3.6) e 8.6 (TFS 0.4.0) __________________________________________________________________________________________________________________________________ Vá em data/Talkactions, e crie um arquivo .lua e nomeie para advancedResetSystem.lua e Adicione Isso: --[[ <(Advanced Reset System 2.0)> Autor: MarcelloMkez. Contato: (marcello_dirt@hotmail.com) Versão: 2.0 Testado em: 8.50 e 8.60 TFS: 0.3.6 and 0.4.0 Fórum: http://www.xtibia.com/forum/topic/142463-advanced-reset-system-20/ -=[Características]=- ~( Versão 2.0 )~ - Resets agora Armazenados na DataBase; (Sem Valor de Storage) - Instala o System e cria a Tabela de Resets com o comando "/installreset"; - Resets no Look do jogador ex: 22:10 You see Marcello [Reset 2] (Level 8). He is an elder druid.; - [sTAGES] para "Premium Account" e "Free Account"; ]] --=[Functions]=-- -- installReset()' [instala o Sistema.] -- tableResetInstall()' [Verifica Se o Sistema ja foi instaladao.] -- nowReseting()' [Verifica, retorna o erro ou reseta.] -- getPlayerReset(cid)' [Pega numero de resets do player.] -- checLevelStageReset(cid)' [Verifica o Level para Resetar.] -- newReset(cid)' [Verifica todas as Condições de Reset.] -- addValue(value)' [Adiciona numero de resets.] --=[Comandos de Jogadores]=-- -- "/installreset" -- Só será usado uma vez, para instalar o sistema. -- "!resetar" -- Para Resetar. function onSay(cid, words, param) if words =="!resetar" then --[ Condições de Reset ] -- local coNdConf = { needPz = true, -- Precisa estar em Pz pra resetar? [true, false] needPa = false, -- Precisa ser Premium Account Pra resetar? [true, false] withe = false, -- Players com Pk Withe podem resetar? [true, false] red = false, -- Players com Pk Red pode resetar? [true, false] battle = false, -- Players precisão estar sem battle pra resetar? [true, false] teleport = true, -- Teleportar Player para o templo após resetar? [true, false] look = false, -- Aparecer Resets no Look do Player? [true, false] pid = getPlayerGUID(cid), -- Não Mexer. --[ Configurações do Reset ] -- resetConf = { Level = 350, -- Level Necessário para Resetar. [Valor] backLvl = 8, -- Level que voltará após o Reset. [Valor] time = 5, -- Tempo para o Player deslogar ao resetar, em segundos. [Valor] }, } --[[>> STAGES <<]]-- x=true;X=true -- Não Mexer. local stage = {Abilitar = {x}, Desabilitar = {}, --<< Abilitar Stages?? >>-- [{x};{}] -- [RESETS] | [PREMMY] | [FREE] stage1= {resets= 4, premmy= 330, free= 350}, stage2= {resets= 9, premmy= 340, free= 355}, -- EXPLICANDO e Configurando stages. (Se estiver Abilitado [Abilitar = {x}]) stage3= {resets= 14, premmy= 355, free= 360}, -- resets = Número de resets para o Stage; stage4= {resets= 19, premmy= 360, free= 365}, -- premmy = Level necessário para Premium Accounts; stage5= {resets= 24, premmy= 370, free= 380}, -- free = Level necessário para Free Accounts; stage6= {resets= 29, premmy= 380, free= 390}, -- Coloque em Ordem... stage7= {resets= 35, premmy= 400, free= 410}, -- [OBS: MARQUE UM "X" PARA ABILITAR OU DESABILITAR OS STAGES] stage8= {resets= 40, premmy= 410, free= 440}, -- EX: para desabilitar mude: Abilitar = {}, Desabilitar = {x} stage9= {resets= 45, premmy= 450, free= 450}, stage10={resets= 50, premmy= 465, free= 465}, } --[[>> FIM STAGES <<]]-- --=[Pega Valor de Resets]=-- function getPlayerReset(cid) local qr = db.getResult("SELECT `reset` FROM `players` WHERE `id`= "..coNdConf.pid..";") rss = qr:getDataInt("reset", coNdConf.pid) if rss < 0 then rss = 0 end return rss end local success = " ~~ Sucesso! ~~ \nVocê tem agora "..(getPlayerReset(cid)+1).." resets. \nVocê será deslogado em "..coNdConf.resetConf.time.." segundos." ;err = doPlayerSendTextMessage local qrt = db.getResult("SELECT `reset` FROM `players` WHERE `id`= "..coNdConf.pid..";");rss_db = qrt:getDataInt("reset", coNdConf.pid) local lvl_query = "UPDATE `players` SET `level` = "..(coNdConf.resetConf.backLvl)..", `experience` = 0 WHERE `id`= " .. coNdConf.pid .. ";" local reset_query = "UPDATE `players` SET `reset` = "..(getPlayerReset(cid)+(1)).." WHERE `id`= " .. coNdConf.pid .. ";" local nolook_query = "UPDATE `players` SET `description` = '' WHERE `players`.`id`= " .. coNdConf.pid .. ";" local look_query = "UPDATE `players` SET `description` = ' [Reset "..(getPlayerReset(cid)+(1)).."]' WHERE `players`.`id`= " .. coNdConf.pid .. ";" --=[Reseta]=-- function addValue(value) if coNdConf.look == false then doRemoveCreature(cid) db.executeQuery(lvl_query);db.executeQuery(reset_query);db.executeQuery(nolook_query) else doRemoveCreature(cid) db.executeQuery(lvl_query);db.executeQuery(reset_query);db.executeQuery(look_query) return LUA_NO_ERROR end end function nowReseting() if (getPlayerLevel(cid) < coNdConf.resetConf.Level) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -") return true end if getPlayerLevel(cid) >= coNdConf.resetConf.Level and (coNdConf.teleport == false) then doPlayerPopupFYI(cid, success) addEvent(addValue, coNdConf.resetConf.time*1000, value) else doPlayerPopupFYI(cid, success) addEvent(doTeleportThing, coNdConf.resetConf.time*900, cid, getTownTemplePosition(getPlayerTown(cid))) addEvent(addValue, coNdConf.resetConf.time*1000, value) return true end end --[sTAGES Nao mexer em nada.]-- function checkLevelStageReset(cid) local stages = { {resets= stage.stage1.resets, premmy= stage.stage1.premmy, free= stage.stage1.free}, {resets= stage.stage2.resets, premmy= stage.stage2.premmy, free= stage.stage2.free}, {resets= stage.stage3.resets, premmy= stage.stage3.premmy, free= stage.stage3.free}, {resets= stage.stage4.resets, premmy= stage.stage4.premmy, free= stage.stage4.free}, {resets= stage.stage5.resets, premmy= stage.stage5.premmy, free= stage.stage5.free}, {resets= stage.stage6.resets, premmy= stage.stage6.premmy, free= stage.stage6.free}, {resets= stage.stage7.resets, premmy= stage.stage7.premmy, free= stage.stage7.free}, {resets= stage.stage8.resets, premmy= stage.stage8.premmy, free= stage.stage8.free}, {resets= stage.stage9.resets, premmy= stage.stage9.premmy, free= stage.stage9.free}, {resets=stage.stage10.resets, premmy=stage.stage10.premmy, free=stage.stage10.free}, } local resets = getPlayerReset(cid) for i, tab in ipairs(stages) do if resets <= tab.resets then coNdConf.resetConf.Level = isPremium(cid) and tab.premmy or tab.free break end end if (getPlayerLevel(cid) < coNdConf.resetConf.Level) then err(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -") return TRUE end if getPlayerLevel(cid) >= coNdConf.resetConf.Level and (coNdConf.teleport == false) then doPlayerPopupFYI(cid, success) addEvent(addValue, coNdConf.resetConf.time*1000, value) else doPlayerPopupFYI(cid, success) addEvent(addValue, coNdConf.resetConf.time*1000, value) addEvent(doTeleportThing, coNdConf.resetConf.time*900, cid, getTownTemplePosition(getPlayerTown(cid))) return true end end function newReset(cid) if(coNdConf.needPz == true) and (getTilePzInfo(getCreaturePosition(cid)) == LUA_ERROR) then err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar em Protection Zone Para Resetar. -") return TRUE end if(coNdConf.needPa == true) and not isPremium(cid) then err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa ser Premium Account para Resetar. -") return TRUE end if(coNdConf.withe == false) and (getCreatureSkullType(cid) == 3) then err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Withe. -") return TRUE end if(coNdConf.red == false) and (getCreatureSkullType(cid) == 4) then err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Red. -") return TRUE end if(coNdConf.battle == true) and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar sem Battle para Resetar. -") return TRUE end local xy = {true,false} table.insert(stage.Abilitar, false) table.insert(stage.Desabilitar, false) if stage.Abilitar[1] == xy[1] and stage.Desabilitar[1] == xy[2] then checkLevelStageReset(cid) elseif stage.Abilitar[1] == xy[2] and stage.Desabilitar[1] == xy[1] then nowReseting() else doPlayerPopupFYI(cid, "LUA_ERROR; Configure corretamente o Sistema de STAGES!") end return true end function tableResetInstall() print(not rss_db and LUA_ERROR or "Tabela de Resets: Instalada ... [success] ") addEvent(newReset, 1000, cid) return false end if tableResetInstall() then end end --=[install System]=-- function installReset() if db.executeQuery("ALTER TABLE `players` ADD reset INT(11) NOT NULL DEFAULT 0;") then print("[MarcelloMkez] -= Advanced Reset System 2.0 por DataBase =- Instalado com sucesso!") return TRUE end print('[Advanced Reset System/MarcelloMkez] Não foi possível instalar o Sistema.') return FALSE end local tt = { "Preparando Instalação...", "Instalando: TableReset Db...", "Instalando: getPlayerReset()...", "Instalando: addValue()...", "Instalando: checkLevelStageReset()...", "Instalando: newReset() and nowReseting()...", "Finalizando Instalação...", "...", success = { "Iniciando...", "function: TableReset Db... [success]", "function: getPlayerReset()... [success]", "function: addValue(value)... [success]", "function: checkLevelStageReset()... [success]", "function: newReset() and nowReseting()... [success]", "Fim da Instalação. ", "by: ~~ MarcelloMkez ~~ \nContato: marcello_dirt@hotmail.com", inst = {"MarcelloMkez","Advanced Reset System 2.0 por DataBase" }, }, } if words == "/installreset" and getPlayerAccess(cid) >= 3 then function install() if installReset() then print(""..tt.success[7].."") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,""..tt.success[8].."") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "["..tt.success.inst[1].."] -="..tt.success.inst[2].."=- Instalado com sucesso!") else print("["..tt.success.inst[1].."] FALHA NA INSTALAÇÃO! [O sistema ja foi instalado].") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "["..tt.success.inst[1].."] FALHA NA INSTALAÇÃO! [O sistema ja foi instalado].") end return 1 end function concl(cid) local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[7].."") print(""..tt[8].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[7].."") doPlayerSendTextMessage(cid, typetx,""..tt[8].."") addEvent(install, 1000,cid) end function finall(cid) local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[6].."") print(""..tt[7].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[6].."") doPlayerSendTextMessage(cid, typetx,""..tt[7].."") addEvent(concl, 3000,cid) end function installDd(cid) local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[5].."") print(""..tt[6].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[5].."") doPlayerSendTextMessage(cid, typetx,""..tt[6].."") addEvent(finall, 1000,cid) end function installCc(cid) local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[4].."") print(""..tt[5].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[4].."") doPlayerSendTextMessage(cid, typetx,""..tt[5].."") addEvent(installDd, 1000,cid) end function installBb(cid) local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[3].."") print(""..tt[4].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[3].."") doPlayerSendTextMessage(cid, typetx,""..tt[4].."") addEvent(installCc, 1000,cid) end function installAa(cid) local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[2].."") print(""..tt[3].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[2].."") doPlayerSendTextMessage(cid, typetx,""..tt[3].."") addEvent(installBb, 1000,cid) end function toInstall() local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[1].."") print(""..tt[2].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[1].."") doPlayerSendTextMessage(cid, typetx,""..tt[2].."") addEvent(installAa, 1000,cid) end function preparation() local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt[1].."") doPlayerSendTextMessage(cid, typetx,""..tt[1].."") addEvent(toInstall, 3000,cid) end if preparation() then end end return 1 end --=[by: MarcelloMkez]=-- E em Talkactions.xml adicione isso: <talkaction words="!resetar;/installreset" event="script" value="advancedResetSystem.lua"/> Instalando o Sistema - Após adicionar o script em TalkActions e em Talkactions.xml Use o comando "/installreset" em jogo, OBS: o System so pode ser Instalado pelo GOD! A a instalação será mostrada no default, e no Distro! Apos isso, Sistema Instalado! 'Explicando stages: Stage 1: stage1= {resets= 4, premmy= 330, free= 350}, resets: ---- Quantidade de Resets para o stage. premmy: ---- Level que Premmium Accounts podera Resetar. (no caso ate 4 resets) free: ------ Level que Free Accounts podera Resetar. (no caso ate 4 resets) --- Bom como vcs pode ver, vai ate o 'Stage 10': stage10={resets= 50, premmy= 465, free= 465}, --- Intao irei explicar, caso queiram adicionar mais stages... Use 'Ctrl + G' com o script aberto, e digite 71, e aperte enter, logo ira direcionar para linha 71 que no caso é esta: stage10={resets= 50, premmy= 465, free= 465}, - Abaixo dela adicione uma exatamente igual, so modificando o numero do stage ficando assim: stage10={resets= 50, premmy= 465, free= 465}, stage11={resets= 55, premmy= 465, free= 465}, Agora na linha 134 vai ta esta: {resets=stage.stage10.resets, premmy=stage.stage10.premmy, free=stage.stage10.free}, Voce faz a mesma coisa adicionando embaixo da linha 134 porem mudando os numeros, ficando assim: {resets=stage.stage10.resets, premmy=stage.stage10.premmy, free=stage.stage10.free}, {resets=stage.stage11.resets, premmy=stage.stage11.premmy, free=stage.stage11.free}, Pronto, Ja esta adicionado o 'Stage 11' xD, Assim voce pode adicionar quantos stages quiser, basta configurar corretamente... Mais duvidas postem aqui. Aqui termino o post! espero que gostem, grato: ~~MarcelloMkez~~
    1 ponto
  3. thiagozika157

    Colocando Imagens Gesior Shop

    Óla estou aqui para postar um tuto feito por mim de como colocar imagens nos itens geisor shop caso não estejá ná sessão corretá mova ae Bóra Bom são 1º etápá vejam o video abaixo caso o video não estejá funcionando irei explicar por aqi mesmo bom 1º vá até o seu site e adicione 1º Iten 2º vá até a pastá C:\xampp\htdocs\item_images e aperte ctrl+f 3º vá até seu site novamente e vá até Edit this shop offer e veja qual numero está o iten qe voc qer colocar imagem após isto volte para a pastá do seu site 4º dps de apertar ctrl+f ná pastá do seu site voc devera procura o ID dele após procurar o ID voc mude o ID dá imagem do iten para o numero qe eu disse logo acima no edit this shop offer vêr em qual numero está o iten e colocalo ná imagem do item_images Vlw !! Créditos Tiago
    1 ponto
  4. olimpiamarkin

    Sistema De Alavancas [Reformulado]

    Eae galera tudo fmz ? esse é meu 2° tiopico intaum qual quer poblema mova, delete ou faça oque tenha que faser! Intaum vamos falar sobre oque irei faser ake: Vamos dizer que vou reformular o "Tutorial de Alavancas" // 1ª Pergunta: Mais ja existe esse tutorial ake no Xtibia né ? R: Sim ja existe, mais ele esta sem imagens e a explicação esta com coisas erradas e pessoas que não intendem muito de script não irão conseguir com o outro topico. 2ª Pergunta: Mais e o script foi você que fez ou copiou ? Copiei do outro tutorial que mencionei a cima, e irei botar os creditos ao criador do otro tutorial. Chega de inrrolação e vamos ao que intereça! 1° oque devo faser ? R: Primero você vai pegar criar um arquivo.lua com o nome leverwall.lua e colocar em seuot/data/actions/scripts dentro do arquvio leverwall.lua você vai por o seguinte script: Feis isso ? agora vou explicar o script, aque foi onde achei os erros no outro tutorial, intaum decidi fazer outro ensinado mais detalhamente, Explicando Script: Laranja: É a cordenada que esta localizada a parede que ira sumir ao você utilizar a alavanca. Verde: É o Uique ID que você ira colocar na alavanca pelo seu mapeditor, você vai clicar na sua alavanca com o botão direito do mouse e clicar em "properties" (propiedades)ai ira aparecer como na imagem a baixo!, Vermelho:É o Unique ID da sua parede você pode escolher o Unique ID que você bem entender, mais não pode ter um igual a esse no seu servidor, pelo seu mapeditor, você vai clicar na sua alavanca com o botão direito do mouse e clicar em "properties" (propiedades)ai ira aparecer como na imagem a baixo! Amarelo: É o ID da alavanca que vai abrir a parede e Rosa é o ID da alavanca que vai fechar a parede Por exemplo, no meu usei a alavanca com do ID: 1945 para abrir e 1946 Para fechar OBS: Você não ira por 2 alavancas só vai colocar 1, a imagem é só pra mostrar os IDS! Azul: É o ID da parede que sumio ao puchar a alavanca ou melhor disendo, é o ID da parede que vai ser criada ao puchar novamente a alavanca, é só você pegar seu god dar look na pedra que você vera o ID dela como na imagem abaixo! Agora va na pasta seuot/data/actions e abra o arquivo actions.xml e adcione a seguinte linha: Ai onde esta em Verde é akele unique ID da alavanca que você pois la em cima no script que esta em verde tambem! The End Creditos: Reibnitz (por ter postado o antigo tutorial) Eu Maarkiin(por ter refeito, corrigindo erros e adicionando imagens ao tutorial) Se eu ajudei você REP+ =] Se eu atrapalhei ou ofendi você REP- =[ Comentem oque acharam Porfavor! Att: Maarkiin:~
    1 ponto
  5. BaiakZik

    Baiakzik Com Vip5 Agr

    Ola Pessoal Do Xtibia Estou De volta agr mas com o mapa vip5 n foi copiado de ninguem totalmente propio o primeiro baiak com vip5 isso mesmo jaja postarei com vip6!! Entao agr estamos sem bugs 0 porcento sem bugs Então faza o download Templo Free Templo Vip1 Templo Vip2 Templo Vip3 Templo Vip4 Templo Vip5 Então Se Gosto + rep em breve posto scan pq to sem tempo ou alguem post pra mim se posta darei + rep então flws ip do meu ot baiak-zik.servegame.com para test do map [download]http://www.4shared.c...Baiakzik_V.html[/download] E tbm nao esqueça q tem cassino no mapa comando de !tp de /vip e De !backpack o melhot mapa do mundo heinnn!!! de um + rep plx !save http://www.xtibia.co...baiak-com-vip3/ http://www.xtibia.co...baiak-com-vip4/ http://www.xtibia.co...965-baiak-vip4/ http://www.xtibia.co...baiak-zik-vip4/
    1 ponto
  6. Crystal Server Olá Venho lhes trazer o Crystal Server. Aviso O Mapa é YurOTs 8.0 de gelo, editado por GOD Bom, e atualizado para 8.6 por Toty. Creditos ao mapa para Yurez (criador do mapa) e GOD Bon por edita-lo. Conta do GOD é 222222/password [ File changes: D = Deletado, M = Modificado, A = Adicionado. [ 0.1.9 A = data/npc/npcs.xml A = data/talkactions/scripts/blessings.lua A = data/actions/scripts/other/keys.lua M = OTServ.exe M = config.lua M = data/lib/000-constant.lua M = data/lib/001-class.lua M = data/lib/050-function.lua M = data/lib/100-compat.lua M = data/monster M = data/npc/lib/npcsystem/keywordhandler.lua M = data/npc/lib/npcsystem/main.lua M = data/npc/lib/npcsystem/modules.lua M = data/npc/lib/npcsystem/npchandler.lua M = data/spells/spells.xml M = data/spells/scripts/attack/whirlwind throw.lua M = data/spells/scripts/attack/strong ethereal spear.lua M = data/spells/scripts/attack/inflict wound.lua M = data/spells/scripts/attack/groundshaker.lua M = data/spells/scripts/attack/front sweep.lua M = data/spells/scripts/attack/fierce berserk.lua M = data/spells/scripts/attack/ethereal spear.lua M = data/spells/scripts/attack/curse.lua M = data/spells/scripts/attack/brutal strike.lua M = data/spells/scripts/attack/berserk.lua M = data/spells/scripts/attack/annihilation.lua M = data/actions/actions.xml M = data/actions/lib/actions.lua M = data/actions/scripts/foods/coconut_shrimp_bake.lua M = data/actions/scripts/foods/demonic_candy_ball.lua M = data/actions/scripts/foods/food.lua M = data/actions/scripts/foods/pot_of_blackjack.lua M = data/actions/scripts/foods/sweet_mangonaise_elixir.lua M = data/actions/scripts/liquids/antidote_potion.lua M = data/actions/scripts/liquids/berserk_potion.lua M = data/actions/scripts/liquids/bullseye_potion.lua M = data/actions/scripts/liquids/mastermind_potion.lua M = data/actions/scripts/liquids/potions.lua M = data/actions/scripts/other/blueberrybush.lua M = data/actions/scripts/other/ceremonialankh.lua M = data/actions/scripts/other/constructionkits.lua M = data/actions/scripts/other/decayto.lua M = data/actions/scripts/other/doors.lua M - data/actions/scripts/other/enchanting.lua M = data/actions/scripts/other/spellwand.lua M = data/actions/scripts/other/spideregg.lua M = data/actions/scripts/other/taming.lua M = data/actions/scripts/quests/system.lua M = data/actions/scripts/tools/fishing.lua M = data/actions/scripts/tools/skinning.lua M = data/actions/scripts/tools/squeeze.lua M = data/XML/channels.xml M = data/XML/mounts.xml M = data/creaturescripts/scripts/guild.lua M = data/creaturescripts/creaturescripts.xml M = data/creaturescripts/scripts/login.lua M = data/movements/movements.xml M = data/movements/scripts/closingdoor.lua M = data/movements/scripts/drown.lua M = data/movements/scripts/hotd.lua M = data/movements/scripts/junglemaw.lua M = data/movements/scripts/swimming.lua M = data/movements/scripts/tiles.lua M = data/movements/scripts/walkback.lua M = data/talkactions/talkactions.xml M = data/talkactions/scripts/reload.lua M = data/talkactions/scripts/gamemaster.lua M = data/talkactions/scripts/newtype.lua M = data/talkactions/scripts/save.lua M = data/talkactions/scripts/teleporttown.lua M = data/talkactions/scripts/broadcastclass.lua M = data/talkactions/scripts/newtype.lua M = data/talkactions/scripts/reports.lua M = data/talkactions/scripts/waypoints.lua M = data/items/items.xml M = data/items/randomization.xml D = data/actions/scripts/decrease.lua D = data/actions/scripts/increase.lua D = data/actions/scripts/other/trap.lua ] ] [ 0.1.9 [ Portugês Adicionada nova função lua doSaveHouse({list}) (Tryller, TFS) Adicionado duas novas creatureevents onSpawn e onThrow (Tryller, TFS) Adicionado reload para mounts (Toty) Adicionado mais doors no 000-constant.lua (Tryller, TFS) Adicionado mais tipos de menssagens em 000-constant.lua (Tryller, TFS) Adicionado SKULL_ORANGE at 000-constant.lua (Tryller) Adicionado mais compatibilidades em 100-compat.lua (Tryller, TFS) Adicionado novas configs para casa no config.lua (Tryller, TFS) Adicionado allowedMaxSizedPackets no config.lua (Toty, TFS) Adicionado npcs.xml na pasta de npc para fazer load dos npcs (Tryller, TFS) Adicionado groups para talkactions (Toty, TFS) Adicionado talkaction /bless playername, blessid (Tryller) Corrigido erro com hasCreatureCondition (Toty, TFS) Corrigido erro com reloads (Toty) Corrigido erro com npc system (Toty, TFS) Corrigido erros com chats (Tryller) Corrigido funções lua em 050-funcitons.lua (Tryller, TFS) Corrigido problemas com spawns (Toty, TFS) Corrigido problema com venda de casas para outros players (Toty, TFS) Corrigido problema com Soul Points (Tryller, TFS) Corrigido problemas com mounts (Tryller) Corrigido erro com guilds (Toty) Corrigido erro com conditions (Toty, TFS) Corrigido erro com pagamento de houses (Toty, TFS) Corrigido guild mtod (Big Vamp) Corrigido server save (Tryller, TFS) Corrigido talkactions /squelch, /town, /save, /newtype, (Tryller, TFS) Corrigido eeros com sistema de camas (bed's) (Tryller, TFS) Corrigido algumas talkactions (Tryller, TFS) Corrigido algumas spells (Tryller, TFS) Corrigido alguns erros em moements (Tryller, TFS) Corrigido problemas em algumas actions (Tryller, TFS) Atualizado items.xml (Toty, TFS) Atualizada ppasta monster (Toty, TFS) Removido reload para house prices (Toty) ] ] Download v0.1.9 http://www.megaupload.com/?d=96401ZJJ DLL http://www.speedysha.../a7ZuS/dlls.rar Source http://vapus.net/svn...Crystal+Server
    1 ponto
  7. jeancassio2010

    [Action] Ditto System

    Va em data/actions/scripts e copie um arquivo .lua e renomeie para ditto.lua Apague tudo que tiver dentro e coloque isto: Depois va em data/actions e abra o arquivo actions.xml e coloque essa tag Sendo 2178 o id do item que sera usado para transformar o ditto. isto é tudo, se axo bom, de Rep+.
    1 ponto
  8. Mapas para RPG e não para Exposição Mannen med Brillorna - Sebastian Mapas para RPG. e não para Exposição. Traduzido por SrK. Criado por Mannen Med Brillorna (MmB). "It's not all about details." (Não é tudo sobre detalhes.) Silent Reaper. Palavras. Se está interessado em fazer um mapa funcional e jogável, é isso. Vou levar o assunto mais para quem quer saber mais sobre a diferença entre fazer mapas para jogar e mapas para a exposição. Com a ajuda de minhas experiências anteriores, vou mostrar a vocês a base essencial onde um mapa jogável de RPG é feito. Mas antes disso, gostaria de deixar claro para as pessoas a diferença entre um mapa feito para a exposição e um feito para jogar. Muitas vezes eu vejo pessoas rejeitando trabalhos de mappers na exposição devido à sua "óbvia falta de detalhes". Sugiro que flamers tenham em mente que algumas exposições são para servidores onde muitos detalhes às vezes podem ter mais ou menos consequências devastadoras. Fiz isso parecer um tanto melodramático, mas basicamente é verdade. De qualquer forma, isto é irrelevante. Antes de nos jogarmos apressadamente em pilhas de fatos, estarei dando alguns exemplos de vários lugares onde o tanto de detalhes tem uma importância essencial para a proposta do jogo. Embora, para começar, um pequeno lembrete - com este tutorial não quero ser visto como uma pessoa que odeia erros e certamente não estou convicto de que essas são as regras a serem seguidas, quando na verdade é somente a forma como eu vejo as coisas quando eu mapeio. Espero que esse tutorial possa ajudá-lo tanto quanto me ajudou. Agora, vamos olhar um tunel aleatoriamente escolhido, que leva do ponto A ao ponto B. Minha primeira impressão é que está completamente obstruído por pedras. Alguns poderiam dizer que teria detalhes suficientes. Outros poderiam falar que está cheio de detalhes errados. Mas vamos ver a imagem de um ângulo diferente. O que eu tinha em mente quando o criei? Qual vai ser a reação das pessoas e qual problemas vão ocorrer em diferentes situações quando as mesmas se encontrarem neste local? Um jogador comum provavelmente ficará um pouco chateado pelos obstáculos numerosos. Esses obstáculos também podem fornecer a assistência perfeita a um assassino (Nota do Editor: Leia PK) para carpturar um jogador X. Essa é nossa intenção? Se sim, o túnel atende à sua finalidade. Mas se não, então temos que reorganizá-lo. Após a reorganização, o túnel ficou assim. Um olho afiado rapidamente irá perceber a adição de vários detalhes e a remoção da maioria das pedras. No entanto, os novos detalhes não contém nenhum objeto que bloqueie o caminho e não vai mais ajudar o assassino em capturar o jogador X. Contornamos esse problema. Mais há mais. Muito mais. Vou tentar discutir assim como eu possivelmente posso depois, mas aqui eu vou-lhe perguntar somente uma questão. Sabendo que esse túnel precisa de preferencialmente muito tempo para fazer, assumindo que é bem maior do que somente o que vemos, precisamos perguntar para nós mesmos: nós temos tempo suficiente? Os jogadores vão ao menos perceber esses detalhes? A resposta para a primeira questão é diferente para cada um, e para ser honesto, a segunda também. Mas se quizermos ter um mapa funcional e jogável, o resultado abaixo é mais que suficiente. Observando a imagem percebemos que muitos detalhes foram removidos. Nos olhos de muitos, agora falta detalhes e não é de real interesse. Mas essa é a forma que a maioria dos jogadores pensam? Não, não é. Agora tenha em mente que não estou dizendo que seus túneis e cavernas precisam seguir o mesmo estilo. É importante que você lembre que cada e toda caverna precisa de um toque único para ser interessante, mas você não tem que exagerar nisso. Irei voltar ao assunto do toque único mais tarde, onde darei alguns exemplos de variações que irão captar a atenção dos jogadores. Agora, os mais detalhistas irão queixar-se de alguns IDs colocados perto um do outro. A imagem abaixo mostra o que eu quero dizer. Dentro dos círculos vermelhos eu repetidamente coloquei a mesma variação de terra perto uma da outra. Por quê? Porquê não? Para ser honesto, quando você está correndo em uma caverna você não fica muito atento nos detalhes, principalmente na terra depois das paredes da caverna, e mesmo se estivesse iria demorar bastante para notar. E na minha opinião honesta, não fica desagradável. Em segundo lugar, dentro dos círculos azuis coloquei os mesmos tipos de chão perto um do outro. Agora, o chão é comumente algo que as pessoas ficam atentas, então por quê fazer como eu fiz, você pode perguntar-se.Bem, agora pense sobre isso: não ter aleatorização tornou-se uma espécie de doutrina tola? Os solos atualmente aleatorizam-se automaticamente. Pessoas sempre tentam ser melhor que outra adicionando mais e mais detalhes para o seu mapa e eventualmente criaram essa curiosa forma de doutrina. Vamos resumir o que lemos até agora. Nós vemos três imagens de um túnel onde os detalhes fundamentais alteram a jogabilidade. Se nós deixássemos a primeira imagem, jogadores seriam uma presa fácil para assasinato ou captura, e talvez essa era a nossa intenção. A segunda imagem é apropriada para uma caverna menor, onde jogadores visitam constantemente, enquanto a terceira é apropriada para túneis longos, onde jogadores não ficariam tão atentos aos detalhes enquanto correm. O que estou querendo dizer é que devemos lembrar-se de ter em mente como o nosso mapa irá influenciar a jogabilidade. Pois bem, eu os introduzi algumas das minhas opiniões, e se você achou-as interessantes, é bem-vindo a ler o próximo capítulo. Toque Único: Apesar de tudo isso, o toque único dos mapas não devem ser ignorados, como já referi anteriormente. Irei mais fundo no tema com a intenção de mostrar minha opinião pessoal de que detalhes únicos são importantes, mas não para serem exagerados. Irei também mostrar algumas imagens em que acrescentei o que vi como detalhe único. É importante salientar, creio eu, que esses toques únicos não devem ser exagerados. Se um jogador andar por um túnel em que tudo é exatamente a mesma coisa, ele não desfrutará todos os detalhes... e então o tempo gasto detalhando essa área terá sido em vão. Abaixo temos um exemplo concreto disso: Na minha opinião é uma caverna extremamente básica. Absolutamente nada especial e nada que você queira expor realmente, mas não é para isso que a caverna serve, é? Ela cumpre seu papel. Mas realmente, queremos um toque único de detalhe. Porém, adicionei esses detalhes na figura abaixo - nem muito, nem pouco. Como você pode ver, eu adicionei uma rachadura extremamente estreita na parede da caverna, alguns galhos pendurados para baixo na caverna e finalmente dois locais cobertos de grama, onde a parede da caverna muda de pedra para barro. Creio que isso dá à caverna um certo toque único embora a mantenha "limpa". Não temos detalhes exagreados e nem os ignoramos totalmente - uma mistura suficiente. Assim, obtendo o melhor resultado, a não ser que nossas intenções com a área seja diferente. Vamos supor, por exemplo, que nós queremos que este lugar seja uma caverna estreita, cheia de estalagmites e pedras, criando uma zona de risco, onde o risco de morte do jogador é grande. Então devemos pensar sobre isso antes de começar nosso mapa ou teremos que reorganizá-lo depois. Mais uma vez eu gostaria de enfatizar a importância de uma segunda reflexão antes de mapear - quais são as suas intenções com essa área específica? Quais detalhes são inúteis, quais não são, como vai ser a área mapeada e como seus detalhes afetarão a jogabilidade dos jogadores? Spawns Os número de criaturas e monstros colocados no mapa é desnecessário de dizer que é muito importante. Essa é outra doutrina que veio à vida aqui no OTFans - O número de criaturas em uma mesma sala ou caverna. De acordo com essa doutrina, nenhum mapa que seja feito para fins de jogos devem ter spawns em que "muitas" criaturas vivem... ou então o mapa é "melhor usado em um servidor 100x". Desnecessário de dizer, isso não é verdade. Observe as duas imagens e compare seus spawns: Não estou dizendo que todos reagem dessa forma, mas eu vi muitas vezes antes no OTFans; muitas pessoas preferem a imagem nº 1 do que a imagem nº 2 para um servidor RPG de baixa experiência. Por quê? "Nenhum nível baixo que caça trolls pode aguentar sete deles ao mesmo tempo. Dois é muito melhor para o RPG!" Errado. Vamos tentar ver toda a imagem. O que tem subindo as escadas? Provavelmente uma toda uma tribo troll em diferentes salas? Ou algo parecido? Sim, provavelmente - então vamos assumir que esta sala que vemos na imagem é somente uma de muitas. Porém, como mappers podemos colocar spawns mais fáceis nas outras salas, e nessa sala especificamente, ou mesmo em mais, podemos pôr um spawn difícil. Será um desafio para o jogador de nível baixo, e, assim, reforçar o sentimento RPG, ao invés de reduzir como a doutrina teria dito. Como jogador nessa situação eu teria caminhado para baixo, em direção ao balcão no canto inferior esquerdo e aprisionado-me por trás da mesa, e com isso teria de enfrentar somente dois trolls de cada vez. Portanto, mais uma vez, essa é uma coisa para se ter em mente quando colocamos spawns. Spawns maiores ou mais difíceis aqui e ali podem ser uma grande idéia, tanto porque trás um desafio diferente e poruqe força o jogador a usar diferentes ou novas táticas para poder matar todos os monstros. Mas só por que eu decidi mostrar neste tópico um exemplo de "overspawning". Não estou dizendo que você precisa pôr spawns difíceis e grandes por todo o seu mapa. Não, isso é algo para ser um pouco raro, a não ser que a área determinada seja diferente. Abaixo eu mostrarei outro exemplo em que ambos os cenários são perfeitamente adequados para um Servidor RPG. Como você pode ver, a segunda imagem pode parecer um pouco assustadora à primeira vista. Duas Serpent Spawns e duas Hydras podem rapidamente matar o melhor dos bloqueadores. E isso é perfeitamente verdadeiro, mas jogadores não estão malucos de correr apressadamente no meio de um lugar habitado por monstros perigosos. Há muitos mais lugares lotados, mas os jogadores de Tibia devem ter aprendido que você deve atrair as criaturas preferencialmente um-a-um, se você quiser sobreviver. Um grande exemplo é a Pits of Inferno. Aqui vai uma imagem que eu tomei a liberdade de tomar emprestada, espero que Mikeke tenha simpatia. É da Pits of Inferno. Ele mostrou-a no Salão de Exposições a algum tempo atrás, e as respostas foram as seguintes: "Acho que está superlotado." "É, está realmente superlotado, ninguém poderá sobreviver a isso." "Superlotado..." "Ahn... isso é para um servidor 1000000x exp? Se não, está superlotado." "Se você fizer esse mapa para servidores 1x para 4x ESTÁ SUPERLOTADO!" Bem, eu poderia seguir... mas você pegou a idéia. Agora, a figura: (Direitos autorais, Mikeke) Ok, as proporções da sala podem não estar 100% corretas, mas vamos contar os monstros: 5 Dark Torturers 7 Lost Souls 2 Demons 1 Banshee Eu contei pessoalmente o número de monstros na Pits of Inferno do Tibia Original. E lembre, Tibia é 1x. 9 Dark Torturers 9 Lost Souls 1 Demon 3 Banshees Você entendeu meu ponto de vista? Quadrados Outro grande tema aqui no OTFans são as construções e cavernas quadradas. Não irei mais usar a palavra doutrina, pois está ficando um tanto aborrecedor, mas muitos de nós sabemos a reação comum a uma construção quadrada na sala de exposições. No entanto, mais uma vez, eu acredito que é totalmente errado. Construções são comumente quadradas, embora possam parecer entediantes. Tenho três exemplos de casas abaixo. Duas delas eu considero quadradas, uma não. Duas delas eu considero boas, uma eu considero ruins. Honestamente, você deve ter percebido qual dessas três eu não gosto... francamente, a terceira casa é patética. E não só isso, não seria muito confortável estar dentro dela. Então, a partir de agora, lembre-se que você pode fazer suas casas quadradas, é a melhor alternativa. Além disso, o fator quadrado tanbém abrange cavernas de todos os tipos. Cavernas quadradas? Você cambaleou sobre o tema antes? Olhe para a parede de cima da primeira figura abaixo; isso é feio? Como um jogador, poderia você realmente pensar muito sobre isso? Eu não pensaria. E a segunda imagem; uma sala bem quadrada, mas não está ok? Compare-a com a terceira imagem. Pessoalmente, penso que ela parece completamente fora de lógica. Logicamente, eu quero dizer, por que as cavernas provavelmente foram cavadas. Acredite ou não, mas cavernas ou casas quadradas são, às vezes, muito melhores que as deformadas, como você pode ver em meus exemplos acima. Mas lembre-se, nem sempre. Certamente não. Natureza Você pode mapear natureza em muitas, muitas formas. Algumas são ruins, algumas são boas. Mas eu acredito que devo mostrar o tema brevemente, e mostrar o que eu creio ser a natureza mais adequada para um servidor RPG e como variá-la devidamente. Antes de mostrar algumas imagens de exemplo, devo contar-lhes as várias alternativas que pessoalmente faço enquanto estou mapeando natureza. Vario minha natureza de florestas densas para o seu contraste, com solo rochoso e campo aberto. Alguns podem dizer que um grande campo aberto como o da imagem abaixo está sem detalhes, mas em vez disso, se vê uma bela variação da comum natureza de floresta. Abaixo estão três exemplos do que eu digo de florestas densas, e seu contraste, e por último o solo rochoso. Agora consiga um pequeno tempo para planejar e adicionar uma mistura suficiente de floresta densa e floresta normal, com solo rochoso e campos abertos em locais adequados. Você irá perceber que sua natureza fica melhor e mais interessante, mantendo o ambiente perfeito para jogadores. Eficiência Esse capítulo pode ser debatível, eu sei disso. E você vai notar isso também. Mas depois de algumas horas mapeando, você provavelmente começará a concordar comigo. Atualmente, parece um pouco tolo e pode somente ser alguns minutos, ou mesmo segundos, mas como eu mencionei - depois de algumas horas mapeando isso torna-se cansativo, e é aí que a eficiência vem em boa hora. Primeiro de tudo, preciso somente dizer isso; quando mapear começa a cansar, é o momento certo de parar um pouco, porque sua imaginação começar a cansar e seu cérebro automaticamente pula certas partes somente para terminar mais rápido. Tenha isso em mente para seu mapa ficar melhor. No entanto, a eficiência não é realmente um assunto que é fácil de ensinar, por isso não vou sequer tentar. Em vez disso, explicarei como uso eficiência em meu benefício e dar alguns exemplos, e espero que, a partir disso, você possa aprender como usá-lo. Assim, basicamente, é sobre ser efetivo como podemos, assim podemos terminar uma área mais rápido, sem pular nenhuma parte ou sendo negligente. Tento sempre estar a um passo a frente de mim mesmo. Isso pode parecer esquisito, mas deixe-me tentar explicar o que significa. Por exemplo, vamos supor que estamos fazendo as paredes de uma caverna para um pequeno local. Em vez de colocar as paredes um-a-um como mostra abaixo... ... colocamos uma peça em todos os lugares possíveis antes de continuar com a próxima peça, como abaixo. Com isso nós aumentamos a velocidade da criação das paredes signficativamente. Agora, sei que a função de bordas automáticas faz isso automaticamente e muito mais rápido, mas essa técnica não abrange somente bordas de todos os tipos, mas também criação de casas e lugares similares onde você pode colocar mais que uma peça com o mesmo ID. Além disso, sabendo o que você irá mapear salva bastante o seu tempo. Planejar o seu próximo mapeamento, mesmo que em um arquivo do paint ou na sua mente, você irá saber o que inserir e onde. Mas tudo isso é pessoal, e estou com medo de que o assunto é muito grande para ser discutido eficazmente. Além disso, creio que eficiência é algo que você precisa desenvolver sozinho, mas quando você pega o jeito você vê que ela se transforma em uma ferramenta muito útil enquanto está mapeando. O RPG Não sei se este tutorial o ajudou ou não, mas espero que tenha uma pequena compreensão no que eu acredito que intensifica a jogabilidade para seu servidor e jogadores. Antes de terminar este tópico, gostaria de resumir as partes mais importantes vistas acima. Primeiramente, devemos lembrar que o número de detalhes que aplicamos a certa área affeta a jogabilide de várias formas. Antes de começarmos a mapear, devemos sempre lembrar de ter em mente para que serve determinada área. Devemos considerar também o quanto acreditamos que certa área irá ser visitada em uma base diária, e com isso aplicar o correto, ou necessário número de detalhes. Depois disso nós não podemos esquecer sobre o toque único que devemos ter em nossas cavernas, para deixá-las diferentes umas das outras. Além disso, os spawns são outra coisa que devemos considerar cuidadossamente. Não devemos pôr spawns pequenos em todo lugar para reter o sentimento RPG... Em vez disso, colocar alguns spawns difíceis instantâneamente aumenta-o. A doutrina sobre construções quadradas ou cavernas deve ser ignorada e você deve usar quadrados para seu benefício, ao invés do contrário. Último, você deve desenvolver seu próprio estilo de eficiência por que isso provavelmente irá ajudá-lo em um mapa futuro. Uma coisa que você sempre deve lembrar é a grande diferença entre exposição e RPG. Sincerely yours, MmB ___ Ja vou logo avisando, eu apenas copiei e colei o tópico... Achei interessante e é uma coisa que todo mapper deve ter em mente. Não tenho nenhum crédito sobre o tópico, seguem os créditos originais: Créditos à: Mannen Med Brillorna (MmB) - Criador do Tutorial SrK - Tradutor Link original do tópico: http://otfans.net/sh...ead.php?t=97744
    1 ponto
  9. k2lan

    Site Não Entra Pros Outros.

    Colocando seu site online pelo 8090 e Desbloqueando a porta 8090 : 1° - Acesse a pasta do XamPP/apache/conf e abra o arquivo httpd com o bloco de notas. Procure por : Listen 80 E por : ServerName localhost:80 Substitua todos os 80 por 8090. 2° - Dentro da pasta conf, abra a pasta extra, e em seguida abra httpd-ssl e procure por : Listen 443 E por: <VirtualHost _default_:443> Substitua esses 443 por 4499. Agora vá em seu firewall e Adicione a Porta 8090 e Porta 80 e marca a opção TCP. Se usar Roteador, desbloqueie as portas também. Site por porta 80 localhost Site por porta 8090 localhost:8090
    1 ponto
  10. Não é bloquear o acesso, basta excluir ela. Site do official do xampp tem varias soluções para o bug !
    1 ponto
  11. 141831

    Nova Magia De Trap

    Bom Dia, Ontem estava no meu OT e pensei , porque nao fazer uma magia de trap nova ? nova , sem floresta ou magic wall .. Entao surgiu a exevo vis wall . TESTADO EM VERSAO 8.60. Esse Eh Meu Primeiro Script, Entao, Estou Aberto A Criticas, Reclamacoes E Duvidas . Espero Que Todos Gostem ! E EH OBVIO QUE NAO DA PARA SE MOVER .. Sem mais enrolacoes vamos ao que interessa . Para comecar , voce ira precisar ter o Otitemeditor, voce pode baixa-lo nesse link, que eh do XTibia mesmo : http://www.xtibia.com/forum/topic/140336-9091-otitemeditor-by-comedinha/ AGORA VAMOS UM POUQUINHO MAIS COMPLICADA : Abra o Otitemeditor Clique em File > Load.otb.. Va na pasta do seu OT data/items/item.otb > de 2 cliques em item.otb Depois clique no botao [+] Deprecated . Eh preciso decorar porque esse vai ser o ID do item . Depois clique com o botao direito em cima do -Item number 128 ( por exemplo ) e clique em NONE . Quando voce clicar o -Item number 128 ( por exemplo ) vai desaparecer , mas na verdade ele vai estar em Other Mas vai estar no ultimo -Item Number E configure assim : Depois para salvar clique em File > Save as.. -- dai abre a pasta do seu OT data/items/item.otb . Agora pode fecha o Otitemeditor Va na pasta do seu OT data/items/items.xml Coloque em uma linha assim : Roxo -- Lembra que eu mandei decorar ou anotar aquele numero la no Otitemeditor , entao , coloque aquele numero onde esta o numero roxo, porque esse vai ser o ID do item Vermelho -- eh a duracao da magicfield em segundos ( ajuste conforme voce quiser ) , eu coloque 20 para nao ser muito apelao . Agora va na pasta do seu OT data/spells/spells.xml e coloque em uma linha assim : Verde -- o nome da sua spell Azul -- o level que precisara ter para poder usar Vermelho - mana que o player ira gastar ao usar a spell Roxo -- a exhaustion do player , para poder , digamos assim , renovar a spell Laranja -- a vocacao que podera usar o ataque Agora va em data/spells/scripts/attack , copie e cole um arquivo .lua , apague tudo que tem dentro renomeie para "exevo vis wall" e coloque isso dentro : Nao preciso explicar muito , porque eh melhor voce nao mexer . Mas nesse "paragrafo" , eu preciso explicar . Roxo -- Lembra quando estvamos no Otitemeditor e eu mandei decorar ou anotar aquele numero , entao , eh ai que voce coloca aquele seu numero, pois eh o ID do item que vai ser criado FIM ! Creditos : 100% StremeMakky .
    1 ponto
  12. gonorreiaswat

    Showoff - Resident Evil

    Valeu, seus elogios sempre serve de incentivo... Neste momento estou trabalhando em mais Sprites, para tentar finalizar pelo menos as armas principais. Breve posto mais algumas coisas' Lembrando: Consegui fazer com que cada arma tenha sua munição específica' E assim sucessivamente' Mais uma vez obrigado pelo incentivo'
    1 ponto
  13. alldakie

    [Encerrado] Ml Nao Passa De 156

    Não aparece mais a magic level continua subindo, o limite do cliente e 156 mais continua subindo só não aparece...
    1 ponto
  14. chauz

    Soul`s Showoff

    valeu pelos coments ae gurizada, só to passando rapidinho aqui pra postar essa foto que to de saida: mapa que acbei de fazer: comentem,apreciem,critiquem e nao copiem. att\\
    1 ponto
  15. S3rial7

    Showoff - Resident Evil

    NOSSA vc me surpreende kada vez mais!!!!! mto loco!!!!
    1 ponto
  16. Demonbholder

    [Pedido] Arrumar Script Que Fiz....

    Um aviso, se você colocar, por exemplo print({1} == {1}) vai retornar false, pois não se iguala tabelas. Vc teria que comparar todos os valores, no caso, pos.x, pos.y, pos.z, ou como fez o usuário acima, comparar o uid no local indicado pela posição. Até.
    1 ponto
  17. jedian1

    [Pedido] Arrumar Script Que Fiz....

    Essa função provavelmente retorna mais valores do que esses, então pra ficar do jeito que você quer, teríamos que por todos os valores na tabela da posição, como não sabemos(eu não sei '-') TODOS os valores da tabela, podemos fazer de outro jeito, que consiste em pegar o que está na posição(getThingfromPos) que seja uma criatura(.uid) e também fica necessário colocar o stackpos, que significa posição numa "pilha", por exemplo, o player está em cima do tile(chão), de um tufo de grama, de vários itens, como saber em qual posição ele está? a stackpos "255" retorna as criaturas que estiverem naquela pos, então usei ela: local pos = {x=1188,y=238,z=4} function onSay(cid, words, param) if getThingfromPos({x=1181,y=239,z=4,stackpos=255}).uid == cid then doTeleportThing(cid, pos) doPlayerSendTextMessage(cid, 24, "Msg") end end também havia um errinho na variável pos, que você declarou na primeira linha, a tabela está assim: {x=1181,y=238,x=4} quando deveria estar assim: {x=1181,y=238,z=4} é isso, é uma pena que tive de sair ontem, fico mais online durante a tarde. eu testei esse script e agora está funcionando
    1 ponto
  18. ADMFusion

    [Pedido]Avatar And Sings

    Olá,Xtibiano Queria um avatar and sings do Laterna Verde.! Sings: Uploaded with ImageShack.us
    1 ponto
  19. digo1040

    Função Getcreaturehealth

    É esse sim Baixe algum outro distro, provavelmente você terá vários bugs mas não são difíceis de resolver ---Edit Esse erro que aparece significa que não há a função no ot.
    1 ponto
  20. fredpadua

    Ajuda Com Rme 8.6

    Baixe o cliente 8.6 no site do RME http://remeresmapeditor.com/marklar.php?clients E tente denovo. Ajudei ? +REP
    1 ponto
  21. SkyDangerous

    Sindarion - Show Off

    Cidade Velha ;D COMO TA FICANDO:
    1 ponto
  22. BaiakZik

    Baiakzik Com Vip5 Agr

    esse da porta tenque ser promotion qm e noob q n sabe ^^ esses da hydra q vai pros globins foi meu primo q coloco e dps q eu posto ele falo ^^!! mas agr eu tirei
    1 ponto
  23. Bom,como não é nada do outro mundo e ninguém resolve compartilhar,eu vim postar os scripts do m1-m12 feitos pelo jeffe000,a unica diferença é que contém os moves dos pokemons shinys(só não tem o da shiny butterfree porque ainda não consegui desbugar ela no meu servidor.) mas nada trabalhoso. Servidor compativel: pokemon ex revisão 2.1 informações gerais dos scripts no topico: http://www.xtibia.com/forum/topic/159876-sistema-m1-m12-como-prometido/ Download: http://www.sendspace.com/file/s5qd97 scan: http://www.virustotal.com/file-scan/report.html?id=7012a7378d954ba21afa5bb7ebe69db9e403637915b9073155bbb0af8598944c-1311264376 OBS¹: pra quem tiver com problemas com os moves,faça o seguinte: abra os arquivos.xml dos seus pokemons shinys, se estiver (por exemplo) assim: <monster name="Shiny Arcanine" mude para <monster name="Arcanine" feito isso os moves irão funcionar perfeitamente,todos testados. só não tive tempo de arrumar os levels pra poder usar,mas isso é facil. OBS²: qualquer bug,favor postar aqui. não sou muito experiente em scripts,mas vou tentar solucionar o maximo possivel de bugs que forem encontrados. Creditos: jeffe000 90% pelos scripts perfeitos 10% eu por adicionar os moves nos shinys. cya!
    1 ponto
  24. Subwat

    >>Conected<<

    Do Que se trata o script? Bom o script funciona da seguinte forma,Ao entrar No Servidor,irá aparecer várias informações Suas na Tela,Os dias de premium,quanto dinheiro você carrega na bolsa,quanto dinheiro você tem no banco,o Número maximo de vida do seu personagem,o número maximo de mana,As quests completadas,As noticias do servidor,Seu level,seu magic level,e heala sua vida e mana completa ao relogar. Montanto o Script Vá em data/creaturescripts/conected.lua Delete tudo e cole isto: function onLogin(cid) local health = getCreatureMaxHealth(cid) local mana = getCreatureMaxMana(cid) local tmp = {accountId = getPlayerAccountId(pid), ip = getPlayerIp(pid)} local pos = getCreaturePosition(pid) local quests = {9393, 12568, 12618, 5808, 7424 ,2000 ,12617 ,8931 ,8932 ,8925 ,2495 ,2646 ,6132 ,2527 ,6391 ,6528} local feitas = {} playerpos = getPlayerPosition(cid) doSendMagicEffect(playerpos,12) doSendAnimatedText(playerpos, "Conected!", TEXTCOLOR_DARKRED) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, ""..getPlayerName(cid).." Obrigado Por entrar no Nosso Servidor!.") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "voce tem ".. getPlayerPremiumDays(cid) .." dias de premium account.") doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_ORANGE, "Voce tem "..health.." health points.") doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE, "Voce tem "..mana.." mana points.") doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_RED, "•Suas Informacoes:" .. "\n¤Name: " .. getCreatureName(cid) .. "\n¤Level: " .. getPlayerLevel(cid) .. "\n¤Magic Level: "..getPlayerMagLevel(cid).. "\n¤Vocation: " .. getVocationInfo(getPlayerVocation(cid)).name ..")") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have " .. getPlayerMoney(cid) .. " gold in your backpack.") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Your account balance is " .. getPlayerBalance(cid) .. ".") doCreatureAddHealth(cid,1000000) doPlayerAddMana(cid,1000000) doPlayerSendTextMessage(cid, 27, getPlayerName(cid) .. " completou " .. #feitas .. "/" .. #quests .. " quests.") doBroadcastMessage(getPlayerName(cid) .. " [" .. getPlayerLevel(cid) .. "]: ENTREI!", MESSAGE_INFO_DESCR) file = io.open('noticias.txt','r') notice = file:read(-1) doShowTextDialog(cid,7528,notice) file:close() return TRUE end Em Creaturescripts.xml <event type="login" name="conected" event="script" value="conected.lua"/> Em Login.lua registerCreatureEvent(cid, "conected") Adicionando As Quests que iram Mostrar Nesta Linha você deve adicionar as Unique IDS das quests do seu servidor (isso muda de server para server) Créditos Subwat Curtiu?se puder doe um REP+
    1 ponto
  25. Galera venho aqui trazer Mapa Baiak Editado por mim com algumas coisas novas como : -Super Vip -Magias Novas -Nova Quest Para Super Vip -Novos Monstros Vip -Area de GOD so falar /town 6 -etc. SUPER VIP SS : SUPER VIP TELEPORTS SS: AREA DO GOD SS : QUEST SUPER VIP ITEM DA QUEST SAO : SUPER ARMOR 1 SUPER ARMOR 2 1 PARA SORCERER E OUTROS PARA TODOS ARMOR 100 SS: <-----------COMANDOS DE PLAYERS-----------> !aol - PARA PLAYERS !resetar - PARA PLAYERS !rank reset - PARA PLAYERS <-----------COMANDOS DE GODS-----------> /rename God Douglas, God Dougllas - PARA GODs /addvip God Douglas, 30 - PARA GODs /town 6 - Area de GOD <-----------NOVAS MAGIAS-----------> EXORI TE ODEIO - PARA TODOS EXURA MANA - PARA TODOS EXEVO MORT VIS - PARA DRUIDS E SORCERERS EXEVO STARS HUR - PARA KNIGHTS E PALADINS acc do god : god/god Download Click Aqui. Via 4Shared Fotos dos Novos Monstros
    1 ponto
  26. Kydrai

    Vip System By Account V1.0

    @francklerp Você pode usar o exemplo da talkaction para instalar ou executar o comando no mysql: ALTER TABLE `accounts` ADD viptime INT(15) NOT NULL DEFAULT 0; Pra executar o comando é só entrar na sua db e clicar em SQL, cola o comando e executa.
    1 ponto
  27. peeople

    [Fechado]

    NGM TE PERGUNTO NADA, FDP
    -1 pontos
  28. alefsp

    [Sistema] Jogo Piso Mágico

    isso é um lixo cara vai aprende faz um script namoral? vc acha qui alguem ker esse piso serve pra nada mano
    -1 pontos
  29. alefsp

    [Sistema] Jogo Piso Mágico

    kkkkkkkk é por isso qui eu nao jogo tibia ot kkkkkkkkkkkkkkkkkk qui nao ver esse video vai morre kkkkkkkkkkkkkkkkkkkk to virando Bandida Uiiii genteeeeeee
    -1 pontos
  30. -1 pontos
  31. CoGames

    Pedido De 2 Scripts

    este é o pedido mais idiota q eu ja vi
    -1 pontos
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...