Tudo que Sphynx1 postou
-
Glorots — Yurots 12x
O projeto ainda está em andamento, porém agora estou trabalhando com um programador muito bom e a versão passou a ser 10.98. Eu já arrumei um bom parceiro, estou trabalhando no mapa aos poucos e aprendendo sobre programação, não tenho mais intuito de atualizar esse tópico pois já encontrei a minha equipe. Até dezembro calculo que já esteja online e disponível para o público, acho que a partir de mês que vem eu já posso adicionar um tópico em 'divulgue seu projeto', obrigado a todos pelo interesse, espero ver vocês no servidor.
-
Glorots — Yurots 12x
Bom dia, o triste fato é que eu já havia terminado a cidade quando acabei perdendo o meu HD, felizmente eu demorei apenas uma semana fazendo o mapa. Irei retomar o projeto, voltarei a postar atualizações. Eu havia deixado o projeto de lado para treinar um pouco na parte da programação, estava no translado da versão do TFS 0.4 para 1.3, atualmente estou me adaptando (com algumas dificuldades). @LuizBaiak, Eu vou entrar em contato em breve, hoje ou amanhã... EDIT: Gambiarra do Remeres no Ubuntu feita com sucesso, lá vamos nós.
-
Glorots — Yurots 12x
-
Glorots — Yurots 12x
Eu estou fazendo a cidade aos poucos, era para ter mais coisas prontas mas tive imprevistos essa semana. Segue abaixo algumas imagens do projeto. ( Há muitos pequenos ajustes ainda que gostaria de fazer em todos os mapas exibidos nessa página, imagens meramente ilustrativas. )
-
Ajuda com xampp/Config.lua
Na primeira imagem o seu servidor diz que não consegue se conectar com a database, verifique o seu config.lua. Você precisa ativar o Apache e o MySql previamente e depois se conectar com o PhpMyAdmin, cria uma database lá e após criar a database em PhpMyAdmin, importe o arquivo com final .sql localizado na pasta raiz do seu servidor. Feito tudo isso acesse o config.lua e configure corretamente o nome da sua database, coloque também a senha para se conectar, se seguiu o tutorial você deve ter configurado uma senha previamente, isso é o suficiente para reparar o primeiro erro. Sobre o segundo erro: recomendo também que você trabalhe com o ZnoteAAC, eu acho o mais fácil para iniciantes e roda em qualquer versão. (Y)
-
Glorots — Yurots 12x
Valeu Luan, obrigado meu consagrado, você pode acompanhar sim que em até uns três meses acredito que já seja possível abrir para mandar um teste, por enquanto vou atualizar ao menos três vezes por semana. Irei mostrando pouco a pouco partes do mapa para vocês.
-
Glorots — Yurots 12x
Dei início ao desenvolvimento da cidade principal, vou fazer ela com o mesmo tema de Rathleton City, acabei encontrando até um antigo trabalho meu que nunca foi ao ar. Em breve postarei imagens da cidade.
-
Glorots — Yurots 12x
Olá, meu nome é Rodrigo e eu tenho vinte anos. Eu estou estudando programação e para tirar o atraso fiz uma pesquisa de mercado, não há nenhum Yurots de nenhum gênero em nenhuma servlist, ao menos não nas novas versões. A ideia do projeto é a criação de um novo gênero Yurots, e apesar do nome estar ligado a Vancini, Slayer, o tão famigerado Baiak e muitos outros nesses anos todos de Tíbia eu pretendo fazer um mapa inédito nesse gênero com leves salpicadas de Tibia Global. Listarei alguns sistemas que vão estar inclusos: Prey System Imbuing System Cast System Reward Chest Hotkey Equip New Bank System Novos monstros, montarias e outfits Exposição de blessings Eventos PvP automáticos War Anti-entrosa Entre outros No momento eu estou à procura de mappers de nível intermediário a experiente, comente nesse tópico se estiver interessado em participar. Eu também aceito sugestões e críticas, com o passar do tempo eu postarei imagens do desenvolvimento do projeto, principalmente no quesito mapping.
-
È possivel criar Atributos STR DEX INT no ot?
Sim é possível, creio que seria necessário C++ para isso, adições nas sources do servidor, apenas um programador com experiência conseguiria fazer isso. O sistema em si não é novidade, já joguei alguns servidores RPG que tinham isso, porém todos faliram, RPG não é um conteúdo que o Brasileiro gosta em minha opinião, ao menos no Tibia. Espero que tenha ajudado, até outra hora.
-
[TalkActions] Addon Present [TFS 0.4]
Olá comunidade. Eu criei um script a madrugada passada para tentar ajudar um amigo que usa 'OTX' porém dá um erro bizarro no 'lib/compat.lua' e a função 'doAddPlayerOutfit' retorna valor 'NIL'. Eu não sei como resolver, mas está funcionando perfeitamente no 'TFS 0.4'. Espero que alguém em algum lugar do tempoespaço possa se beneficiar desse script já que os que encontrei estão todos muito feios e confusos. 1. Acesse a pasta 'data/talkactions/scripts' e crie um novo 'arquivo.lua' chamado 'addonpresent.lua', dentro adicione o conteúdo abaixo. function onSay(cid, words, param, channel) local maleOutfits = {["citizen"] = {128}, ["mage"] = {130}, ["knight"] = {131}, ["nobleman"] = {132}, ["summoner"] = {133}, ["warrior"] = {134} } local femaleOutfits = {["citizen"] = {136}, ["mage"] = {138}, ["knight"] = {139}, ["nobleman"] = {140}, ["summoner"] = {141}, ["warrior"] = {142} } local mensagens = {"Você recebeu o seu addon e consumiu o item bônus para isto.", "Verifique o que você digitou e tente novamente, parametros inválidos.", "Você não possui o item necessário para receber um addon.", "Certifique-se que você digitou o nome do addon corretamente e tente mais uma vez."} local efeitinga = {[1] = {name = CONST_ME_POFF}, [2] = {name = CONST_ME_CAKE}, [3] = {name = CONST_ME_HEARTS}, [4] = {name = CONST_ME_GIFT_WRAPS} -- efeitos que seram exibidos } local param = string.lower(param) if not isPremium(cid) then doCreatureSay(cid, "Você não possui Premium Account, portanto não poderá utilizar o item de addon.", TALKTYPE_ORANGE_1) -- MSG que será exibida p/ o nao premium return true end if getPlayerItemCount(cid, 6497) > 0 then -- 6497 é o ID do item que será usado por você, se for maior que 0 a quanidade na sua bag então if param ~= "" and maleOutfits[param] and femaleOutfits[param] then doPlayerRemoveItem(cid, 6497, 1) -- o item 6497 será consumido doCreatureSay(cid, mensagens[1], TALKTYPE_ORANGE_1) for k, v in pairs(efeitinga) do doSendMagicEffect(getCreaturePosition(cid), v.name) end if getPlayerSex(cid) == 0 then doPlayerAddOutfit(cid, femaleOutfits[param][1], 3) elseif getPlayerSex(cid) == 1 then doPlayerAddOutfit(cid, maleOutfits[param][1], 3) end else doCreatureSay(cid, mensagens[2], TALKTYPE_ORANGE_1) end else doCreatureSay(cid, mensagens[3], TALKTYPE_ORANGE_1) end return true end 2. Regresse até 'data/talkactions' e abra o arquivo 'talkactions.xml', dentro adicione o conteúdo abaixo. <talkaction words="!addon" event="script" value="addonpresent.lua"/>
-
[Ajuda] Item
<item id="2415" article="a" name="Tunic Inicial"> -- name é o nome do item. <attribute key="description" value="Health recovery 8000/s and Chakra 8000/s." /> -- Description é a descrição que vai aparecer quando você der look <attribute key="weight" value="3500" /> -- esse é o peso do item <attribute key="armor" value="20" /> -- quantidade de armadura que vai dar <attribute key="skillAxe" value="20" /> -- quantidade de axe <attribute key="skillClub" value="20" /> -- quantidade de club que vai dar <attribute key="skillSword" value="20" /> -- quantidade de sword que ira adicionar <attribute key="skillDist" value="20" /> -- quantidade de distancia que vai dar <attribute key="magiclevelpoints" value="20" /> -- quantidade de ml que vai dar <attribute key="manaGain" value="8000" /> -- quantidade de mana que o player vai ganhar por turno <attribute key="manaTicks" value="1000" /> -- tempo <attribute key="healthGain" value="8000" /> -- quantidade de vida que o player vai ganhar por turno <attribute key="healthTicks" value="1000" /> -- tempo <attribute key="showattributes" value="1" /> -- exibir atributos? 1 é sim, 0 é não <attribute key="slotType" value="body" /> -- slotType é o lugar, o slot que esse item tem que ficar, como é body significa que é uma armadura, porém poderia ser feet e ai seria uma bota, etc. </item> Espero que tenha te ajudado, até a próxima.
-
[MoveMent] Emboscada dos Trolls
O código foi reformulado e agora utiliza StorageGlobal. Quando um player aleatório passar pela ponte vai ser adicionado uma StorageGlobal ao servidor, há também uma adição no GlobalEvents, a cada uma hora verifica se a StorageGlobal está ativa, se estiver, então desativa deixando os Trolls prontos para mais um ataque, segue abaixo as alterações no código e mais uma vez, agradeço os comentários. ? A sim, e também a chance do ataque agora é de dez porcento. Alterações abaixo: Siga até 'data/movements/scripts' e faça alterações no arquivo: function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) local configuration = { monstrosTime = 1*5*1000, storage = 98756, chance = math.random(1, 100), monsters = { [1] = {name = "Troll Champion", pos = {x = 1001, y = 1110, z = 9}}, [2] = {name = "Troll", pos = {x = 1000, y = 1107, z = 9}}, [3] = {name = "Troll", pos = {x = 1007, y = 1109, z = 9}} } } if isPlayer(cid) == true and configuration.chance <= 10 then if getGlobalStorageValue(configuration.storage) < 1 then doCreatureSay(cid, "A ponte não parece segura e quando você dá o primeiro passo ouve um grunhido e nota a presença de um ser estranho.", TALKTYPE_ORANGE_1) addEvent(function() for k, v in pairs(configuration.monsters) do doCreateMonster(v.name, v.pos) end end, configuration.monstrosTime) setGlobalStorageValue(configuration.storage, 1) end end return true end Siga para globalevents.xml e adicione: <globalevent name="removerStorage" interval="3600000" event="script" value="removerStorage.lua"/> Logo após siga para pasta 'scripts' em 'globalevents', crie um arquivo.lua nomeado 'removerStorage.lua' e adicione isto dentro: function onThink(interval) local configuration = { storage = 98756, segundos = 1*5*1000 } if getGlobalStorageValue(configuration.storage) == 1 then addEvent(function() setGlobalStorageValue(configuration.storage, 0) end, configuration.segundos) end return true end
- [MoveMent] Emboscada dos Trolls
- [MoveMent] Emboscada dos Trolls
-
[MoveMent] Emboscada dos Trolls
Olá galera, vocês conhecem as lendas dos Trolls de baixo da ponte? Eles estão sempre na espreita, aguardando alguém para roubar, assassinar, estuprar e comer suas almas (as últimas partes são brincadeira). Me baseando nessa lenda eu fiz esse simples script, é um dos primeiros códigos que consigo desenvolver sozinho(tive ajuda), eu espero que ajude alguém em algum lugar do tempoespaço, é um script ótimo se você assim como eu gosta de pontes e também sempre teve a vontade de incrementar alguns de seus mapas com scripts. 1º. Acesse a pasta raiz do seu servidor, logo após siga o seguinte caminho: data/movements e abra o arquivo movements.xml. O código que você devera adicionar dentro deste arquivo está listado abaixo. <movevent type="StepIn" actionid="DigiteONumeroDeUmaActionAqui" event="script" value="ponte.lua"/> 2º. Dentro de data/movements abra a pasta 'scripts' e crie um arquivo .lua nomeado de 'ponte', dentro deste adicione o seguinte código. function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) local configuration = { monstrosTime = 1*5*1000, -- tempo até a criatura aparecer tempoDeStorage = 1*20*1000, -- em quanto tempo será removido a storage e se tornará possivel as criaturas resurgirem storage = 987459, -- numero da storage monsters = { [1] = {name = "Troll Champion", pos = {x = 1001, y = 1110, z = 9}}, -- Nome, quantidade e posição dos monstros, altere a vontade [2] = {name = "Troll", pos = {x = 1000, y = 1107, z = 9}}, [3] = {name = "Troll", pos = {x = 1007, y = 1109, z = 9}} } } if isPlayer(cid) == true then if getPlayerStorageValue(cid, configuration.storage) < 1 then doCreatureSay(cid, "A ponte não parece segura e quando você dá o primeiro passo ouve um grunhido e nota a presença de um ser estranho.", TALKTYPE_ORANGE_1) -- MSG que você quer exibir addEvent(function() for k, v in pairs(configuration.monsters) do doCreateMonster(v.name, v.pos) end end, configuration.monstrosTime) setPlayerStorageValue(cid, configuration.storage, 1) addEvent(function() setPlayerStorageValue(cid, configuration.storage, 0) end, configuration.tempoDeStorage) end end return true end 3º. Inicie o seu servidor e adicione o número da 'ActionID' que você inseriu em 'movements.xml' a algum piso de sua preferência, no caso eu adicionei no meio da ponte. Seja criativo.
-
Lembram do NTO antigo sem sprites top down?
@Yinz Você está redondamente certo sobre as últimas imagens estarem puxadas para o Tibia, mas não se preocupe, essa é apenas uma ilha para testes, estou utilizando o mapa principalmente para aprender mais sobre .lua e tentar recuperar um pouco da habilidade de mapas que perdi com o tempo, na versão final, ou mesmo para um futuro Alfa/Beta, será muito mais puxado para o derivado do que para o Tibia em si, a nossa meta é com o tempo não utilizar mais nenhuma sprite do Tibia Global. Muito obrigado pelo seu comentário, e por dizer que gostou do começo, é sempre bom receber feedback de algo que você colocou tempo. @lordzetros Muito obrigado pelo comentário e pela força, agradeço imensamente.
-
Lembram do NTO antigo sem sprites top down?
Muito tempo sem atualizar o tópico, eu lamento porém não tinha e ainda não tem muito a ser mostrado. A boa notícia é que não estou mais sozinho, encontrei um ótimo programador e logo após um novo spriter se juntou ao time, agora então somos em três membros e isso é bom pois acelera o processo de desenvolvimento imensamente. O programador do qual eu tenho imensa gratidão, está constantemente me auxiliando na minha "jornada" pela maestria na programação, graças a ele acabei evoluindo muito mais do que seria possível desde o tempo que decidi tentar me especializar na parte de programação, no início do projeto eu não sabia nada sobre programação e hoje sou capaz de compreender e produzir códigos. Nessa mesma data do mês que vem talvez teremos algo mais empolgante a ser mostrado, no mais eu gostaria de exibir algumas imagens e dizer que a equipe se encontra aberta a propostas, novos membros e o feedback em geral sobre tudo que for produzido e postado.
-
Surgir monstros e remover parede ao puxar alavanca
Olá, esse é um dos primeiros scripts que eu consigo fazer, resolvi trazer ao fórum pois talvez em algum momento da história isso sirva para alguém fazer alguma coisa. Eu também gostaria de ceder todos os créditos desse trabalho para o @WooX, pois sem ele eu não teria o conhecimento necessário para fazer o script funcionar, obrigado. local configuration = { positionParedinso1 = {x=1067, y=1071, z=7, stackpos=1}, -- Posição do objeto que ira sumir time = 1*15*1000, -- tempo para o objeto voltar para o seu lugar devido monstrosTime = 1*10*1000, -- tempo até os monstros despertarem guardioes = { [1] = {name = "Hellfire Fighter", pos = {x = 1065, y = 1071, z = 7}}, -- Todas posições onde os monstros seram criados [2] = {name = "Massive Fire Elemental", pos = {x = 1061, y = 1069, z = 7}}, -- Bem como seus nomes e quantidade [3] = {name = "Fury", pos = {x = 1069, y = 1074, z = 7}}, [4] = {name = "Demon", pos = {x = 1069, y = 1071, z = 7}}, [5] = {name = "Diabolic Imp", pos = {x = 1066, y = 1074, z = 7}}, [6] = {name = "Fire Devil", pos = {x = 1064, y = 1075, z = 7}}, [7] = {name = "Fire Elemental", pos = {x = 1062, y = 1069, z = 7}}, [8] = {name = "Massive Fire Elemental", pos = {x = 1067, y = 1068, z = 7}} } } function onUse(cid, item, fromPosition, itemEx, toPosition) if item.itemid == 1945 then -- alavanca doTransformItem(item.uid, 1946) positionParedinso = getThingFromPos(configuration.positionParedinso1) if positionParedinso.itemid ~= 0 then doRemoveItem(positionParedinso.uid, 1) doCreatureSay(cid, "Um som terrível de engrenagens antigas se movendo pode ser ouvido imediatamente após você puxar a alavanca. \z Estrondos, chamas e vozes demoniacas estão vindo na sua direção, são ouvidos cada vez mais altos, corra por sua vida, \z você acaba fezer um mal antigo despertar.", TALKTYPE_ORANGE_1) -- Mensagem que será exibida após você puxar a alavanca addEvent(function() for k, v in pairs(configuration.guardioes) do doCreateMonster(v.name, v.pos) end end, configuration.monstrosTime) addEvent(doCreateItem, configuration.time, 12794, configuration.positionParedinso1) -- "12794" é o ID da parede que você quer criar após puxar a alavanca end else doTransformItem(item.uid, 1945) end end
-
Erro no mute
Em login.lua adicione: registerCreatureEvent(cid, "MutePlayer") Reinicie o OTServer e ai você tenta. Confesso que eu não li o script, estou meio sem tempo, mas amanhã na parte da tarde provavelmente terei tempo.
-
Erro no mute
Me manda o seu creaturescript.xml e também o seu login.lua. Eu vou tentar te ajudar.
-
Lembram do NTO antigo sem sprites top down?
Nós não fizemos muitas coisas, o mapa para testes está quase finalizado e houve um brainstorm e deste acabaram por surgir algumas boas ideias, são inovadoras e nunca antes concretizadas nesse gênero. Não tenho muito para mostrar ainda, deixarei aqui algumas imagens para tentar garantir algum hype, eu realmente não gostaria de deixar o tópico as traças, é sempre bom atrair visibilidade e mostrar que o projeto ainda continua vivo, penso que atrai mais interesse desse modo. Eu não tenho as habilidades que costumava ter em questão de MAP, porém eu estou tentando. Agradeço a todos por acessarem esse post, se houver alguma dúvida, critica, sugestão ou interesse de auxiliar no desenvolvimento peço que encaminhem uma MP para meu perfil.
-
Lembram do NTO antigo sem sprites top down?
@guinaatz Obrigado pelas palavras, é bom receber comentários de incentivo. Eu estou sim precisando de uma mão, depende muito, deixa o seu Discord por MP que eu entro em contato e a gente vai se falando. ? @Tópico Atualmente estou preparando os meus assets para começar a mapear, não tenho muito o que mostrar, só não gosto de deixar o tópico sem atualização, dá a entender que paramos e vamos longe ainda. Eu estou enferrujado por ficar anos sem abrir o mapa editor, porém aos poucos eu vou me acostumando novamente, assim espero. Isso é uma cabana(óbvio), não há nada ai, isso será uma ilha pequena e sem nenhum enredo, testaremos a funcionalidade dos scripts nessa área, será como a famosa GM Island do Tibia Global.
-
[Rápido e Simples] Preencher item.otb sem esforço
Se não tem ideia de como isso me ajudou, muito obrigado.
-
Lembram do NTO antigo sem sprites top down?
Pela graça divina eu acabei encontrando um programador e um spriter realmente muito competente, ele está me ajudando em muitas coisas porém ainda estamos à procura de um spriter pois ele pretende focar bastante em programação, eu com isso poderei ficar na minha praia que é e sempre foi mapas. O servidor está tomando forma em nossa mente com o passar do tempo e aos poucos vamos colocando no papel, com o decorrer do tempo eu vou atualizando esse tópico sem falta. Hoje foi dia de mudanças no TFS e adição de sprites voltadas para área de mapa. Se alguém tiver o desejo de contribuir com o projeto ou se juntar a nós me envie MP no fórum, ficarei feliz em responder.
-
Lembram do NTO antigo sem sprites top down?
Essa semana eu progredi no quesito programação, dei uma estudada e através de soluções de problemas parecidos consegui desenvolver a solução para o problema da outfit branca ao castar a spell, fiquei contente porque vou poder utilizar a mesma solução em futuras spells. Eu não fiz muita coisa, o progresso anda lento pois eu sou bem novato em tudo que se diz respeito a programação, consegui um client beeeem antigo e isso foi bom pois extrai as sprites nostálgicas dos NTO de versões 7.81, ao menos aquelas que possuem o mínimo de qualidade para ser usada no projeto. Deixo vocês com algumas imagens que ilustram um pouco do progresso obtido durante esses últimos tempos. E se alguém desejar ajudar no projeto me contate. @bstafdp Em breve eu entrarei em contato com você e ai nós poderemos conversar.