Tudo que Elwyn postou
-
Chaotic Server
Brigado, seus fofos
-
Chaotic Server
Índice Apresentação do projeto Como funcionará o servidor? Por que jogar nosso server? (Sistemas exclusivos) Mapa Rates do ChaoticServer Objetivos Agradecimentos O projeto Chaotic Open Tibia foi desenvolvido por uma equipe composta de três administradores, sendo cada um destes responsáveis por duas funções, uma exclusiva e a administração geral. Os cargos executados em nosso server são: Programador, Mapper e Webmaster. Nossa equipe foi formada no ano de 2011, tivemos um servidor online por um pequeno período e decidimos desistir. Neste ano de 2015, resolvemos voltar com um trabalho mais elaborado e com uma qualidade excepcional, com o escopo de oferecer um game tradicional, porém inovador, além de satisfazer todas as necessidades do nosso futuro público, ao qual dedicaremos este post. O Chaotic Server será um servidor de tibia capacitado para atender todas as necessidades de nossos players, e terá o objetivo de resgatar a essência do jogo, mantendo-o tradicional, mas também, com inúmeras novidades, como os sistemas exclusivos que trataremos no próximo tópico. Além disso, depois de alguns levantamentos, decidimos utilizar a versão 10.41 e extrair dela as infinitas possibilidades de diversão, o que cumprirá com os objetivos do tibia: manter a boa jogabilidade e experiência in-game. Portanto, para que todos nossos deveres sejam realizados, teremos suporte ao player tanto dentro do jogo quanto por e-mail (mais informações no futuro site). O servidor com o website será hosteado por uma empresa de alta qualidade e responsabilidade, a fim de suprir o que for necessário para atingirmos a excelência e o reconhecimento do nosso público, garantindo um game sem lag e 24 horas. Como abordado anteriormente, nossa versão será 10.41, sendo considerada nova e estável. Diante disso, e após muitas reuniões, chegamos a ideia de que nosso projeto seria diferenciado, tanto pela qualidade quanto pelas inovações. Portanto, a estrutura será formada por um mapa global com sistemas exclusivos, como: Cidade VIP (Caves e trainers exclusivos) Áreas VIP (2 Ilhas + Caves) Rare Drops (Há itens que darão pontos no webshop se forem dropados, para que players free tenham a chance de se beneficiarem das vantagens de donate. Haverá também um item especial que poderá ser dropado: Exp Potion, o qual tem um poder maior do que o comprado na loja) Crítical Chance (VIP's possuem 15% de chance de crítico em monstros e 5% em players. Free's possuem 10% de crítico em monstros) Sistema de teleport (Item adquirido por doação através do webshop. Funcionalidade: teleportar jogadores free account ou vip account para o templo necessário e de qualquer lugar do mapa, precisando estar apenas fora de fight) Bônus de Exp (Players VIP's terão 10% a mais de experiência nos finais de semana) Com todas essas novidades, acreditamos que podemos atender as expectativas dos players em encontrar um servidor de Tibia diferente do padrão, e oferecer à todos uma experiência única e positiva. Além disso, estaremos abertos para sugestões de sistemas, os quais serão analisados e, se forem aprovados, recompensaremos os idealizadores! Neste tópico, citaremos as informações que constituem o mapa, dentre elas: Mapa global Cidade VIP (Com trainers) Ilhas e áreas VIP Teleport para os trainers (free account) Segue abaixo algumas imagens do mapa: O projeto Chaotic Server foi criado com um propósito de ser um servidor médio no quesito rates, portanto estas são definidas da seguinte forma: Exp: Stages (Início: 20x - Término: 7x) Skill: 10x Magic: 6x Loot: 3x Retomando e reafirmando alguns tópicos desse post, a equipe do projeto Chaotic Open Tibia Server deseja que nossos futuros players encontrem diversão em nosso servidor, e que consigamos responder todas as expectativas do nosso querido público. Ademais, cabe ressaltar que o nosso principal objetivo nesse trabalho é o reconhecimento dos jogadores enquanto um server sério e dedicado. No mais, queremos agradecer a paciência de vocês que leram e analisaram essa longa postagem, e, também, convidá-los à conhecer nosso servidor de tibia. Contamos com seu apoio e presença na inauguração! (Postaremos a data em breve) Créditos: Equipe que mantém o ORTS Slec por partes do mapa custom Equipe Chaotic Server Ajude o Chaotic Server a lançar o mais rápido possível, responda no tópico para mostrar apoio ou doe qualquer quantia. Fiquem de olho também no nosso Twitter! @ChaoticServer
-
Esse fórum tá com os dias contados
Falaram que a OTBr tava com dias contados ano passado. Hoje ainda tem eu lá firme e forte.
- Sistema de reward
-
[PEDIDO] Double exp potio OU Double exp ring para TFS 1.0
function onEquip(cid, item, slot) local player = Player(cid) player:sendTextMessage(19, '[Exp-Ring] Voce Agora Esta com o Dobro de Exp. Aproveite!') player:setStorageValue(20000, 1) return true end function onDeEquip(cid, item, slot) local player = Player(cid) player:sendTextMessage(19, '[Exp-Ring] Experiencia extra cancelada.') player:setStorageValue(20000, -1) return true end E em player.lua, em function Player:onGainExperience(source, exp, rawExp), antes de return exp adicione: if self:getStorageValue(20000) == 1 then exp = exp*2 end A tag em movements.xml do script é: <movevent event="Equip" itemid="5785" script="exp_ring.lua"/> <movevent event="DeEquip" itemid="5785" script="exp_ring.lua"/>
-
Musica
A maioria no MrSuicideSheep ele tem autorização para publicar. Ele tem outro canal chamado SuicideSheeep em que todas músicas lá são de graça, não sei se são no-copyright.
-
Musica
Gostei, ouviria esse album pra relaxar ou dormir.
-
Musica
Essas musicas são muito loucas, dá pra imaginar uma vida inteira enquanto ouve uma dessas. Ouçam as músicas no canal MrSuicideSheep, elas são... Sei lá, muito fodas.
-
[Pedido] Procuro um SCRIPTER Razoavelmente bom, para me ajudar.
Tópico é de 2012. Hahahahaha
-
(Resolvido)[Problema] creaturescript/login.lua
Nao se preocupe, hahahaha Nem tinha notado isso, editei ja qualquer coisa.
-
(Resolvido)[Problema] creaturescript/login.lua
- Fórum abandonado ? problemas não são resolvidos.
Esse cara não faz sentido. Ele veio reportar um problema, mas pra isso ele resolveu atacar e desmerecer a equipe (?) e falar mal do fórum (?). Esse cara tem complexo de superioridade e não sabe usar outro tom além desse. Se eu fosse vocês ignorava totalmente todos os comentários desnecessários desse cara e só pegava o que precisa, que em um tópico de duas páginas se resume a "Existe um bug que acontece raramente e nem ele sabe como reproduzir.". Sinceramente, deveriam fechar esse tópico e só dar continuidade a isso quando o cara souber como reproduzir o bug, porque nem isso ele sabe.- Sistema de reward
Script feito para TFS 1.x Esse script foi feito para ajudar os mappers a fazerem quests sem precisar saber scriptwriting. Basta criar um bau, por actionid 15000 e um uniqueid que não coincida com outras storages usadas. Dentro do baú é só por quantos itens quiser. Em data/actions/scripts crie um script chamado reward_system.lua e cole o seguinte código: E em actions.xml cole a seguinte tag: <!-- Reward System --> <action actionid="15000" script="reward_system.lua"/> E pronto. Edit: Atualizado, agora o baú pode conter bags/backpacks/containers que contém itens.- [C] Exercicio: Escrever um vetor de inteiros e reescreve-lo em ordem crescente.
O heapsort é relativamente simples se você entender o conceito. A parte difícil mesmo é entender o conceito pra falar a verdade, quando você entende ele o, código faz mais sentido. É bem legal saber vários tipos de algoritimos de sorting, ajuda bastante na hora de diminuir o consumo do código. Se você quiser posso te enviar uns materiais legais sobre isso.- Tibia está zerado + preview [GPS SYSTEM]
Assim eu fico encabulado- [C] Exercicio: Escrever um vetor de inteiros e reescreve-lo em ordem crescente.
- getCreaturePathTo
Para TFS 0.4/0.3.6 e OTX2 Em luascript.h depois de: static int32_t luaGetCreatureName(lua_State* L); Adicionar: static int32_t luaGetCreaturePathTo(lua_State* L); Em luascript.cpp depois de: //getCreatureName(cid) lua_register(m_luaState, "getCreatureName", LuaInterface::luaGetCreatureName); Adicionar: //getCreaturePathTo(cid, pos, maxSearchDist) lua_register(m_luaState, "getCreaturePathTo", LuaInterface::luaGetCreaturePathTo); Depois de: int32_t LuaInterface::luaGetCreatureName(lua_State* L) { //getCreatureName(cid) ScriptEnviroment* env = getEnv(); if(Creature* creature = env->getCreatureByUID(popNumber(L))) lua_pushstring(L, creature->getName().c_str()); else { errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND)); lua_pushboolean(L, false); } return 1; } Adicionar: int32_t LuaInterface::luaGetCreaturePathTo(lua_State* L) { //getCreaturePathTo(cid, pos, maxSearchDist) ScriptEnviroment* env = getEnv(); int32_t maxSearchDist = popNumber(L); PositionEx position; popPosition(L, position); Creature* creature = env->getCreatureByUID(popNumber(L)); if (!creature) { lua_pushnil(L); return 1; } std::list<Direction> dirList; lua_newtable(L); if (g_game.getPathTo(creature, position, dirList, maxSearchDist)) { std::list<Direction>::const_iterator it = dirList.begin(); for (int32_t index = 1; it != dirList.end(); ++it, ++index) { lua_pushnumber(L, index); lua_pushnumber(L, (*it)); pushTable(L); } } else { lua_pushboolean(L, false); } return 1; } E sejam felizes! getCreaturePathTo(cid, position, maxSearchDist) retornará uma tabela com as direções que o jogador deve seguir para chegar no ponto position. Não contem as posições que ele deve passar por. maxSearchDist é o valor máximo de passos que ele vai dar em direção à essa position e na via das dúvidas coloque o maior valor de distancia entre as duas posições.- Oque um OTSERVER precisa?
- [Basico]Problemas ao compilar novo TFS LINUX
Você deu $ cmake .. na pasta build?- Char não poder ter nick de monstro
Se não quiser ter que editar no .php é só usar os dois scripts que postei.- [HELP] Storages
function onStepIn(cid, item, pos, fromPosition) if item.uid == 33809 then doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) doTeleportThing(cid, {x = 32600, y = 31396, z = 14}, FALSE) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) end return true end- Char não poder ter nick de monstro
Edit: wtf, minha identação saiu bugada aqui. Eu não idento feio assim. ): A propósito, dá pra fazer tudo em Lua, por quê esse tópico veio parar na seção de programação? function onSay(player, words, param) local storage_value = player:getStorageValue(15000) if storage_value ~= 1 then return false end param = db.escapeString(param) local resultId = db.storeQuery("SELECT `id` FROM `players` WHERE `name` = " .. param) if not resultId then player:setStorageValue(15000, 0) Creature(player):remove() db.query("UPDATE `players` SET `name` = " .. param .. " WHERE `name` = " .. db.escapeString(player:getName())) else player:sendTextMessage(MESSAGE_INFO_DESCR, "Name already exist.") end result.free(resultId) return false end function onLogin(player) if MonsterType(player:getName()) then player:sendTextMessage(MESSAGE_INFO_DESCR, "You can't have a monster name, please choose another name.\nYou have 5 seconds to use /newname New Name.") player:setStorageValue(15000, 1) addEvent(doRemoveCreature, 5000, player:getId()) end return true end- Monster Damage Multiplier
É possível fazer algo mais específico com a variável isMelee, multiplicando apenas spell ou apenas melee. Se preferirem dessa forma posso editar novamente para atender esse caso.- Monster Damage Multiplier
A pedido do usuário Vyctor17 (da OTBR) fiz uma função para multiplicar o dano dos monstros: Primeiro, em luascripts.cpp deverá ser adicionado, logo após: registerMethod("Monster", "isMonster", LuaScriptInterface::luaMonsterIsMonster); Isso: registerMethod("Monster", "multiplyDamage", LuaScriptInterface::luaMonsterMultiplyDamage); Logo abaixo de: int32_t LuaScriptInterface::luaMonsterIsMonster(lua_State* L) { // monster:isMonster() const Monster* monster = getUserdata<const Monster>(L, 1); pushBoolean(L, monster != nullptr); return 1; } Isso: int32_t LuaScriptInterface::luaMonsterMultiplyDamage(lua_State* L) { // monster:multiplyDamage(multiplier) Monster* monster = getUserdata<Monster>(L, 1); if (monster) { monster->multiplier = getNumber<uint32_t>(L, 2); pushBoolean(L, true); } else { lua_pushnil(L); } return 1; } Em luascripts.h: Logo após: static int32_t luaMonsterIsMonster(lua_State* L); Isso: static int32_t luaMonsterMultiplyDamage(lua_State* L); Em monster.h: Logo após: static uint32_t monsterAutoID; Isso: int32_t multiplier; Em monster.cpp: Logo após: Monster::Monster(MonsterType* _mtype) : Creature() { Isso: multiplier = 1; No método Monster::doAttacking, procure por: ATENÇÃO, TEM QUE SER NO MÉTODO Monster::doAttacking! minCombatValue = spellBlock.minCombatValue; maxCombatValue = spellBlock.maxCombatValue; Substitua por: minCombatValue = spellBlock.minCombatValue * multiplier; maxCombatValue = spellBlock.maxCombatValue * multiplier; E está feito. Se quiser fazer o monstro não dar dano, só por um multiplier abaixo de zero.- DOUBLE XP AUTOMATICO
Voce usa TFS 1.x? - Fórum abandonado ? problemas não são resolvidos.
Informação Importante
Confirmação de Termo