Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 12/02/16 em todas áreas
-
Remake de todo os portrait's 1° a 4° Gen
cleiton silveira e um outro reagiu a CaioSilva99 por um tópico no fórum
2 pontos -
Não sei se está na área correta... Mas vou postar um otCLIENT ( Que pode ser usado no seu servidor, com diversos MOD's interessantes para NTO) e nele já está incluso varias sprites em Perspectiva 45°... Se você é daqueles que usa OLD Client, nem tenta usar esse client... Só aproveita as sprites... ----------------------------------------------------------------------------------------------------- Printss de algumas das sprites!!! [DOWNLOAD DO CLIENT, COM AS SPRITES] https://mega.nz/#!6lsD3TDK!A58h3WvonSMJcMYw679LklBVSS-tz5sWbNrGxMK_1EY Credito: Eu por disponibilizar Não abra esse lindo spoiler... ( serio não abra)1 ponto
-
[Pokemon] Servidor Gabrieltxu e suas Versões
Silvaninho reagiu a Gabrieltxu por um tópico no fórum
Conteudo Retirado.1 ponto -
Caro membro, seu tópico foi movido de Otserv > Suporte Otserv para Suporte Otserv > Otserv > Pedidos e Dúvidas Resolvidos.1 ponto
-
(resolvido) logar e ganhar 2 dias de vips
marcelinhok reagiu a DuuhCarvalho por uma questão
@marcelinhok tenta agora: local config = { loginMessage = getConfigValue('loginMessage') } function onLogin(cid) local loss = getConfigValue('deathLostPercent') if(loss ~= nil) then doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 10) end local accountManager = getPlayerAccountManager(cid) if(accountManager == MANAGER_NONE) then local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage if(lastLogin > 0) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str) str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "." else str = str .. " Please choose your outfit." doPlayerSendOutfitWindow(cid) end doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str) elseif(accountManager == MANAGER_NAMELOCK) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?") elseif(accountManager == MANAGER_ACCOUNT) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.") end if(not isPlayerGhost(cid)) then doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) end registerCreatureEvent(cid, "Mail") registerCreatureEvent(cid, "GuildMotd") registerCreatureEvent(cid, "killer") registerCreatureEvent(cid, "attackguild") registerCreatureEvent(cid, "prevetloss") registerCreatureEvent(cid, "tkexp4") registerCreatureEvent(cid, "tkexp3") registerCreatureEvent(cid, "advance") registerCreatureEvent(cid, "AdvEffect") registerCreatureEvent(cid, "Idle") registerCreatureEvent(cid, "Antimagebomb") registerCreatureEvent(cid, "checkmcmanager") registerCreatureEvent(cid, "effect") registerCreatureEvent(cid, "onPrepareDeath") registerCreatureEvent(cid, "DeathSystem") registerCreatureEvent(cid, "LevelItem") registerCreatureEvent(cid, "anunciarmorte") registerCreatureEvent(cid, "CombatDodge") registerCreatureEvent(cid, "onPrepareDeath") registerCreatureEvent(cid, "showKD") registerCreatureEvent(cid, "pvpsystem") registerCreatureEvent(cid, "SkullCheck") registerCreatureEvent(cid, "ReportBug") registerCreatureEvent(cid, VipReceive) registerCreatureEvent(cid, "PlayerKill") if (InitArenaScript ~= 0) then InitArenaScript = 1 -- make arena rooms free for i = 42300, 42309 do setGlobalStorageValue(i, 0) setGlobalStorageValue(i+100, 0) end end -- if he did not make full arena 1 he must start from zero if getPlayerStorageValue(cid, 42309) < 1 then for i = 42300, 42309 do setPlayerStorageValue(cid, i, 0) end end -- if he did not make full arena 2 he must start from zero if getPlayerStorageValue(cid, 42319) < 1 then for i = 42310, 42319 do setPlayerStorageValue(cid, i, 0) end end -- if he did not make full arena 3 he must start from zero if getPlayerStorageValue(cid, 42329) < 1 then for i = 42320, 42329 do setPlayerStorageValue(cid, i, 0) end end if getPlayerStorageValue(cid, 42355) == -1 then setPlayerStorageValue(cid, 42355, 0) -- did not arena level end setPlayerStorageValue(cid, 42350, 0) -- time to kick 0 setPlayerStorageValue(cid, 42352, 0) -- is not in arena if getPlayerStorageValue(cid, 67792) == 1 then doPlayerPopupFYI(cid, "Seja Bem vindo ao Baiak Zuado\n\nJa Estamos em Clima de NATAL HOHOHOOU.\n\nAqui vou postar algumas dicas para você iniciante.\n1- Se for sua primeira vez em nosso server você acaba de adquirir 2 dias de Super Vip.\n2- Faça a quest Donate Coins e Seja TOP.\n\nLista de principais comandos do server. !aol !bless !stamina !notice !info !reset !superdias !go !bp !doar !evento\n\nAptoveite os Eventos de NATAL.\n\nBom Jogo a Todos!") doPlayerSetStorageValue(cid, 67792, 1) end local storage3 = (getPlayerAccountId(cid)+550) local diasv = 2 if getGlobalStorageValue(storage3) <= 0 then setGlobalStorageValue(storage3, 1) setPlayerStorageValue(cid, 13715, os.time() + diasv*24*60*60) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você recebeu "..diasv.." dias de SUPER VIP, bom jogo!") end return true end1 ponto -
(resolvido) Alguém edita essa script para min ?
DuuhCarvalho reagiu a zipter98 por uma questão
Como não jogo Tibia, me baseei somente na informação que o autor havia dado (limitar o uso à certas áreas). Como, após meu post, o autor explicitou que as áreas necessariamente seriam aquelas com o atributo de no-pvp, de fato, sua alternativa acaba sendo mais adequada, visto que há um fator abrangente que descarta o uso de looping e tabelas. Porém, recomendaria apenas que não adotasse FALSE (destaque no case-sensitive) como um booleano. TRUE e FALSE são variáveis cujo valor são os verdadeiros booleanos: true e false. Apesar da funcionalidade ser a mesma (em servidores de Tibia, já que tais variáveis não são padrões em todas as fontes), é uma boa adotar logo o uso direto do booleano, como em: if getTileInfo(getThingPos(cid)).nopvp == false then ou, ainda melhor: if not getTileInfo(getThingPos(cid)).nopvp then Mas, novamente, ressalto que não há erros na estrutura que você escreveu.1 ponto -
(resolvido) Alguém edita essa script para min ?
Wase Wiss reagiu a DuuhCarvalho por uma questão
faz o teste ae pf.. depois de function onSay coloca isso: if getTileInfo(getThingPos(cid)).nopvp == FALSE then return doPlayerSendCancel(cid, "Voce nao pode usar esse comando aqui.")end1 ponto -
Abaixo de: function onSay(cid, words, param, channel) coloque: local posis = { --Abaixo você configura, respectivamente, as coordenadas da posição superior esquerda (fromPos) e inferior direita (toPos) das áreas. {fromPos = {x = x, y = y, z = z}, toPos = {x = x, y = y, z = z}}, {fromPos = {x = x, y = y, z = z}, toPos = {x = x, y = y, z = z}}, {fromPos = {x = x, y = y, z = z}, toPos = {x = x, y = y, z = z}}, --etc}local check_posfor 1, #posis do if isInArea(getThingPos(cid), posis[i].fromPos, posis[i].toPos) then check_pos = true break endendif not check_pos then doPlayerSendCancel(cid, "You must be in some training room to use this command.") return trueend1 ponto
-
Bom ta ai o melhor jeito de se usar a transparência. Crie um arquivo things.otml na pasta OTClient\data\things ai se coloca nesse arquivo Agora em OTClient\modules\game_things abre o seu arquivo things.lua e add essa função acima de function load() logo acima na parte function init() add essa parte nela ficando assim Atençao: observe que vc tem que pegar o id do spr e não o id do jogo olhe o exemplo de item items: 12007: opacity:0.7 Pronto agora se tem a transparência que muitos desejavam. Créditos: baxnie.1 ponto
-
1 ponto
-
Item que deixa INVISÍVEL de players e monsters
caotic reagiu a DuuhCarvalho por um tópico no fórum
Eae pessoal, Fiz esse script apenas para ajudar um membro, porém nunca vi nada parecido aqui, resolvi postar. É bem simples, mas da para fazer muita coisa legal. Quem quiser qualquer alteração como condição para usar, mudar para talkactions, etc... é só pedir no tópico. Basicamente é só dá use no item, que você fica invisível para players e monsters, por determinado tempo. Vamos usar CONDITION, porém só funciona se o player que usar o item, tiver group id maior que os outros, para que fique invisível. Mas nosso amigo @caotic vai nos ensinar a mudar isso: Faça isso e independente do seu grupo você vai fica invisível para todos. agora vá em data/actions/scripts e crie uma arquivo.lua, e cole isso dentro: local tempo = 1 -- tempo que o player vai ficar invisivel em segundos. local ghost = createConditionObject(CONDITION_GAMEMASTER, 1000*tempo, false, GAMEMASTER_INVISIBLE) local outfit = createConditionObject(CONDITION_INVISIBLE, 1000*tempo, false) function onUse(cid, item) if not isPlayerGhost(cid) then doRemoveItem(item.uid, 1) doSendMagicEffect(getCreaturePosition(cid), 12) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Você está invisivel, agora ninguem pode te ver.") doAddCondition(cid, ghost) doAddCondition(cid, outfit) else doPlayerSendCancel(cid, "Você já está invisivel.") doSendMagicEffect(getCreaturePosition(cid), 2) end return true end depois vá em data/actions/actions.xml e adicione a tag: <action itemid="IDdoITEM" script="NomeDoArquivo.lua"/> pronto. Como falei é bem simples, qualquer coisa é só pedir...1 ponto -
Como extender o OLD cliente [ VIDEO FULL HD ]
Punchlines Nemmo reagiu a Deadpool por um tópico no fórum
Caro membro, seu tópico foi movido de Otserv > Suporte Otserv para Tutoriais Otserv > Otserv > Tutoriais de Clients.1 ponto -
Npc que dá informações/conta histórias
vh1normando0 reagiu a Danihcv por um tópico no fórum
Opa, xTibianos. hoje venho lhes trazer um npc simples que eu havia feito um tempo atrás pra um membro aqui do fórum. Só fiz dar uma completada nele hoje... E adicionar 2 tipos de restrições (opicionais): restringir para apenas X vocações poderem falar com o npc; ou apenas para jogadores com X level conseguirem falar com ele. Este npc funciona da seguinte maneira: o player fala uma palavra(s)-gatilho que fará(ão) com que o npc dê uma resposta à essa(s) palavra(s). No próprio título deste tópico eu citei 2 exemplos que servem para esse npc: dar informações sobre certo item, certa localidade, etc; ou mesmo contar histórias: numa frase do npc ele pode citar um macaco dourado (palavra-gatilho), aí quando o player falar "macaco dourado" o npc descreverá o que está por trás deste macaco dourado, podendo até mesmo citar uma localidade onde ele foi visto pela última vez, e quando o player falar essa localidade o npc pode descrever a rota para se chegar nela, etc. Bom, vai da imaginação de cada um. sahusahusasah Agora seguiremos para a instalação: Vá até a pasta data\npc e crie um arquivo chamado informante.xml e coloque isso dentro: <?xml version="1.0" encoding="UTF-8"?><npc name="Informante" script="data/npc/scripts/informante.lua" walkinterval="1500" speed="100" walkradius="2" floorchange="0"><health max="100" now="100"/><look type="130" head="19" body="47" legs="132" feet="114" addons="0" mount="0"/><parameters> <parameter key="message_farewell" value="Até a próxima, |PLAYERNAME|."/></parameters></npc> Agora vá até a pasta data\npc\scripts e crie um arquivo chamado informante.lua e coloque isso dentro: ----------------------------------------------------------NPC feito por: Danihcv ; para: xTibia.com----------------------------------------------------------local keywordHandler = KeywordHandler:new()local npcHandler = NpcHandler:new(keywordHandler)NpcSystem.parseParameters(npcHandler)function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) endfunction onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) endfunction onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) endfunction onThink() npcHandler:onThink() end------------------------------PARTE CONFIGURAVEL------------------------------local msgs = { --["AQUI VOCÊ PÕE AS PALAVRAS-GATILHO QUE FARÃO O NPC DAR UMA RESPOSTA"] = "AQUI VOCÊ PÕE A FRASE À PALAVRA-GATILHO"["informacoes"] = "Sobre o que você quer saber? Sobre a {mysterious island} ou sobre a {second promotion}?",["mysterious island"] = 'É uma ilha que antigos diziam ficar ao sudoeste de Carlin. Há um teleport que dizem aparecer nos pântanos de Venore, talvez, ele leve a essa ilha.',["second promotion"] = 'Há um NPC que vem de muito longe e fica a caminhas pelos campos de Thais, dizem que ele pode dar a segunda vocação para os aventureiros.',}local vocs = {} --vocações que podem falar com o npc. Caso vc queira deixar sem restrição de vocação, deixe vaziolocal levelMin = 0 --caso vc queira definir um nivel minimo para falar com o npc coloque o nivel, caso não, deixe em 0-------------------------------FIM DA PARTE CONFIGURAVEL-------------------------------function greetCallback(cid)--------------------------------PARTE 2 CONFIGURAVEL--------------------------------local msgGreet = 'Olá, '..getCreatureName(cid)..'. O que você procura? {Informacoes}?' --mensagem de boas-vindaslocal msgBye = 'Até a próxima, '..getCreatureName(cid)..'.' --mensagem de despedida---------------------------------FIM DA PARTE 2 CONFIGURAVEL--------------------------------- if #vocs > 0 then if not isInArray(vocs, getPlayerVocation(cid)) then npcHandler:say('Eu não falo com '..getVocationInfo(getPlayerVocation(cid)).name..'s.', cid) npcHandler:releaseFocus(cid) npcHandler:resetNpc(cid) return false end end if getPlayerLevel(cid) < levelMin then npcHandler:say('Eu não falo com jogadores com nivel menor que '..levelMin..'.', cid) npcHandler:releaseFocus(cid) npcHandler:resetNpc(cid) return false end npcHandler:say(msgGreet, cid) npcHandler:addFocus(cid) return falseendfunction creatureSayCallback(cid, type, msg) if #vocs > 0 then if not isInArray(vocs, getPlayerVocation(cid)) then npcHandler:say('Eu ja disse que não falo com '..getVocationInfo(getPlayerVocation(cid)).name..'s.', cid) npcHandler:releaseFocus(cid) npcHandler:resetNpc(cid) return false end end if getPlayerLevel(cid) < levelMin then npcHandler:say('Eu já disse que não falo com jogadores com nivel menor que '..levelMin..'.', cid) npcHandler:releaseFocus(cid) npcHandler:resetNpc(cid) return false end for k, v in pairs(msgs) do if msgcontains(msg, k) then npcHandler:say(msgs[k], cid) elseif msgcontains(msg, 'bye') or msgcontains(msg, 'goodbye') or msgcontains(msg, 'xau') or msgcontains(msg, 'tchau') then npcHandler:say(msgBye, cid) npcHandler:releaseFocus(cid) npcHandler:resetNpc(cid) return false end end return trueendnpcHandler:setCallback(CALLBACK_GREET, greetCallback)npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)npcHandler:addModule(FocusModule:new()) ***ATENÇÃO NESSE SCRIPT /\ Pois ele possui 2 partes para configurar. Uma logo abaixo da outra. Por hoje é tudo, pessoal! Espero que gostem e façam bom uso. Abraços, Danihcv!1 ponto -
O OTClient nos deu a possibilidade de por em prática algumas ideias que não eram possíveis com o cliente da Cip. Demorou muito para isso acontecer, mas agora é real. Temos um cliente com suporte para áudio, partículas, transparência, customizável... E o melhor de tudo: de graça e open-source. Aos poucos ele vai deixando o cliente antigo obsoleto. Mas quero focar na nova feature: Transparência nos sprites. Com ela é possível criar novos objetos mais realísticos, sem deixar o 2D de lado. Criar sprites menos serrilhados, cristais, água, magias, fumaça, etc. (Teste simples com transparência) E você o que acha da nova feature?1 ponto
-
Sim! Diversas coisas podem ser feitas utilizando opacidade, coisas muito belas! Apesar de conhecer a muito tempo, fico feliz que alguém tenha disponibilizado para a comunidade. Hoje em dia é difícil ver alguém contribuindo com algo, vemos apenas infelizes acomodados, que sugam as pessoas e querem construir algo sem ao menos aprender ou contribuir de volta para a comunidade, pessoas como você, é raro de ver hoje em dia. Ótimo trabalho.1 ponto