Histórico de Curtidas
-
Mono Singed recebeu reputação de Rogex Joyz em (Resolvido)[AJUSTE] Color looktypeSó mudar o if do teu script pra esse:
player_outfit = getCreatureOutfit(cid) if getPlayerSex(cid) == 1 then doSetCreatureOutfit(cid, {lookType = 2293, lookHead = player_outfit.lookHead, lookAddons = 0, lookLegs = player_outfit.lookLegs, lookBody = player_outfit.lookBody, lookFeet = player_outfit.lookFeet}, -1) ---Female else doSetCreatureOutfit(cid, {lookType = 2292, lookHead = player_outfit.lookHead, lookAddons = 0, lookLegs = player_outfit.lookLegs, lookBody = player_outfit.lookBody, lookFeet = player_outfit.lookFeet}, -1) --- Male end -
Mono Singed recebeu reputação de DATA Vinny em [PokeTibia] Recomendação para servidor sérioVou dar uma breve explicação (se quiser mais detalhes pode vir pm):
Antigamente, existiram dois grandes servidores de poketibia: SVKE e PAdventures.
Não vou entrar muito em detalhes sobre eles porque tem controvérsias, mas resumindo: a comunidade participou e participa ativamente nas "ideias inovadoras" desses servidores de poketibias considerados grandes (as conversas com npc pelo botão direito, que foi popularizada pela pxg, por exemplo, pode ser encontrada disponível na otland).
O que se tem na comunidade hoje em dia é:
PDA: sem source, só tem a distro compilada (ou seja, bugs não poderão ser resolvidos), é a mais avançada em relação a sistemas, mas grande parte deles tem bugs ou foram implementados com gambiarras em lua que quase ninguém entende (nem tente entender elas, tu só vai ter dor de cabeça) Pokémon Dash: tem a source (pode resolver os bugs), muiiitas gambiarras em lua e sistemas defasados ou falta deles (tu consegue consertar tudo) Pokémon Flash: porra, isso é antigo demais SAHUSAHUSUHA, só ignora. Pra ti ter noção, algumas distros do pokémon flash nem moves (m1, m2 etc) tem. Tendo informação disso tudo, tu chega na seguinte conclusão: pra ti partir de qualquer base disponível na comunidade tu vai precisar estudar as gambiarras e sistemas dela na unha, já que grande parte da documentação foi perdida (por estar no xtibia ou pelos links terem ficado off).
Outro comentário cabível é que: essas bases foram baseadas na versão 0.3.6 do theforgottenserver. Essa versão foi lançada em 2010. O código fonte em geral não usa açúcar sintático, é bagunçado, usa convenções antigas etc, além de ter vários bugs conhecidos (por ser antiga).
Na minha singela opinião, se tu tiver conhecimento e quiser algo sério e que tu compreenda totalmente o funcionamento, faça o seguinte: vá no github do theforgottenserver, baixe a última versão (1.3), estude ela (tem a otland e a wiki no próprio github pra isso) e altere as sources para adaptar a um poketibia.
-
Mono Singed recebeu reputação de tataboy67 em (Resolvido)[AJUDA] Offline Training ScriptNa verdade, no global é assim. A ideia é que o shield demore menos pra subir pra recompensar quem não tem mente sã e ainda treina online huaauhu.
Se mesmo assim tu quer deixar na msm velocidade, tenta assim:
Na verdade, a única parte que eu alterei foi:
player:addOfflineTrainingTries(SKILL_SHIELD, trainingTime / 4) A ideia é mudar o segundo parâmetro (estava trainingTime/4, eu pus (trainingTime / modifier) / 2). Quanto maior for o valor dele, mais upará a skill de shield.
-
Mono Singed recebeu reputação de amora murder em (Resolvido)[AJUDA] Offline Training ScriptNa verdade, no global é assim. A ideia é que o shield demore menos pra subir pra recompensar quem não tem mente sã e ainda treina online huaauhu.
Se mesmo assim tu quer deixar na msm velocidade, tenta assim:
Na verdade, a única parte que eu alterei foi:
player:addOfflineTrainingTries(SKILL_SHIELD, trainingTime / 4) A ideia é mudar o segundo parâmetro (estava trainingTime/4, eu pus (trainingTime / modifier) / 2). Quanto maior for o valor dele, mais upará a skill de shield.
-
Mono Singed recebeu reputação de KotZletY em Atacar e usar runa ao mesmo tempoSó queria salientar que isso não apenas tira o cooldown de usar runa enquanto anda, mas o cooldown de fazer qualquer action enquanto anda.
Não consigo pensar no momento, mas se essa "proteção" existe nas sources, pode estar evitando algum tipo de bug.
-
Mono Singed recebeu reputação de draclaws em Spell scrollNão vai funcionar, o servidor dele é 1.2 e o tutorial é para versão 0.4
Teste:
local spellName = "" function onUse(player, item, fromPosition, target, toPosition, isHotkey) if not player:hasLearnedSpell(spellname) then player:learnSpell(spellname) player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) player:sendTextMessage(MESSAGE_INFO_DESCR, "com esta runa anciã você aprendeu a magia " .. spellName) return true else player:sendTextMessage(MESSAGE_INFO_DESCR, "você já tem conhecimento dessa magia") return false end end Dá pra configurar as magias por atributos, também, pra ti não ficar criando um item para cada magia.
-
Mono Singed recebeu reputação de vitorguerreiro em [PokeTibia] Recomendação para servidor sérioVou dar uma breve explicação (se quiser mais detalhes pode vir pm):
Antigamente, existiram dois grandes servidores de poketibia: SVKE e PAdventures.
Não vou entrar muito em detalhes sobre eles porque tem controvérsias, mas resumindo: a comunidade participou e participa ativamente nas "ideias inovadoras" desses servidores de poketibias considerados grandes (as conversas com npc pelo botão direito, que foi popularizada pela pxg, por exemplo, pode ser encontrada disponível na otland).
O que se tem na comunidade hoje em dia é:
PDA: sem source, só tem a distro compilada (ou seja, bugs não poderão ser resolvidos), é a mais avançada em relação a sistemas, mas grande parte deles tem bugs ou foram implementados com gambiarras em lua que quase ninguém entende (nem tente entender elas, tu só vai ter dor de cabeça) Pokémon Dash: tem a source (pode resolver os bugs), muiiitas gambiarras em lua e sistemas defasados ou falta deles (tu consegue consertar tudo) Pokémon Flash: porra, isso é antigo demais SAHUSAHUSUHA, só ignora. Pra ti ter noção, algumas distros do pokémon flash nem moves (m1, m2 etc) tem. Tendo informação disso tudo, tu chega na seguinte conclusão: pra ti partir de qualquer base disponível na comunidade tu vai precisar estudar as gambiarras e sistemas dela na unha, já que grande parte da documentação foi perdida (por estar no xtibia ou pelos links terem ficado off).
Outro comentário cabível é que: essas bases foram baseadas na versão 0.3.6 do theforgottenserver. Essa versão foi lançada em 2010. O código fonte em geral não usa açúcar sintático, é bagunçado, usa convenções antigas etc, além de ter vários bugs conhecidos (por ser antiga).
Na minha singela opinião, se tu tiver conhecimento e quiser algo sério e que tu compreenda totalmente o funcionamento, faça o seguinte: vá no github do theforgottenserver, baixe a última versão (1.3), estude ela (tem a otland e a wiki no próprio github pra isso) e altere as sources para adaptar a um poketibia.
-
Mono Singed deu reputação a tataboy67 em Modal Compra por alavanca 1.2Opa galera beleza? Eu estava aqui olhando outros fóruns e percebi que postaram esse sistema, porém os links estavam todos off
Resolvi desenvolver o sistema pra vocês
TFS usado: 1.2 (Não testado em versões anteriores)
* Bom o sistema funciona basicamente assim:
Ao clicar na alavanca, abrirá um Modal com todas as opções de compra na tela do jogador ! O jogador poderá selecionar entre a compra de 1x / 50x / 100x itens ! Adicionado venda só para player que possuírem ''Cap'' na bag.
* Foto:
Simples não? Então vamos ao que interessa !
Em data/actions/scripts Crie um arquivo com o nome de compra_modal.lua e coloque isso dentro :
Em data/actions adicione a linha:
Em data/creaturescripts/scripts Crie um arquivo com o nome de potions.lua e coloque isso dentro :
Em data/creaturescripts/creaturescripts.xml adicione a linha:
Créditos:
EU (100% pelo script)
Strutz (Pela ideia do sistema)
Rep+ para me motivar
Obs: Testem o Script antes da aprovação pois estou sem PC agora e a verificação de cap foi feita sem teste !
-
Mono Singed recebeu reputação de Crypter em Como pegar todos os atributos de um itemsubstitua: itemattributes.cpp
-
Mono Singed recebeu reputação de Crypter em Como pegar todos os atributos de um itemApaguei um ":" sem querer, só deixar assim:
std::map<std::string, ItemAttribute>* ItemAttributes::getAttributeMap()
-
Mono Singed recebeu reputação de Crypter em Como pegar todos os atributos de um itemtente:
luascript.cpp
Relaxa, tá quase lá, ahuahuauh
O problema aqui tá sendo como fazer essa função retornar uma tabela de chave e valor (aka {chave = "valor", chave2 = "valor2"), eu não sabia fazer isso, to aprendendo na mao SHUASUHASUHA. Do jeito que tu fez vai retornar só os valores, fica meio ruim pra ti manipular depois.
-
Mono Singed recebeu reputação de Crypter em Como pegar todos os atributos de um itemOkay, okay, alguns erros foram, mas a maioria foi porque eu não fiz isso usando uma ide, aí errei em alguns nomes e tal.
Substitua teus arquivos por estes:
itemattributes.cpp
itemattributes.h
luascript.cpp
luascript.h
(novamente, te explico como utilizar se compilar certinho)
-
Mono Singed recebeu reputação de Crypter em Como pegar todos os atributos de um itemAmigo, eu fiz, mas utilizei padrões do c++11, tenha certeza de que o teu compilador esteja nessa versão. Também não testei (não creio que haja erros de lógica, mas pode haver alguns de escrita, como letras comidas ou falta de ;, fiz correndo), já que não dá pra compilar só com esses arquivos, mas vê aí:
Antes de tudo, vamos para os includes:
no arquivo luascript.cpp, adicione um: #include "itemattributes.h" onde tu encontrar os includes semelhantes
já no arquivo luascript.h, declare a classe ItemAttribute: class ItemAttribute; onde tu encontrar as declarações de classes semelhantes
Após "bool unserializeMap(PropStream& stream);", no arquivo itemattributes.h, adicione: AttributeMap* getMap(); Após a linha 315, no arquivo itemattributes.cpp, adicione: //RETORNA UM PONTEIRO PARA O ATTR MAP POR MOTIVOS DE PERFORMANCE, NÃO PODE SER UTILIZADO EM OBJETOS CONSTANTES!!! AttributeMap* ItemAttributes::getMap() { if(!attributes){ createAttributes(); } return attributes; } Após a seguinte linha no arquivo luascript.h: static int32_t luaGetItemAttribute(lua_State* L); Adicione: static int32_t luaGetItemAttributeMap(lua_State* L);
Após a seguinte linha no arquivo luascript.cpp: //getItemAttribute(uid, key) lua_register(m_luaState, "getItemAttribute", LuaScriptInterface::luaGetItemAttribute); Adicione: //getItemAttributeMap(uid, key) lua_register(m_luaState, "getItemAttributeMap", LuaScriptInterface::luaGetItemAttributeMap); Após a linha 9282, no arquivo luascript.cpp, adicione: int32_t LuaScriptInterface::luaGetItemAttributeMap(lua_State* L) { //getItemAttributeMap(uid) ScriptEnviroment* env = getEnv(); Item* item = env->getItemByUID(popNumber(L)); if(!item) { errorEx(getError(LUA_ERROR_ITEM_NOT_FOUND)); lua_pushnil(L); return 1; } typedef std::map<std::string, ItemAttribute> AttributeMap; AttributeMap* attrMap = item->getAttributeMap(); lua_newtable(L); for(auto attr : attrMap){ setField(L, attr->first, attr->second.get()); pushTable(L); } return 1; }
-
Mono Singed deu reputação a Cat em Sobre o ComércioNão vou votar, não espero que alguém concorde mas estes são os motivos:
O fórum tem cada vez mais áreas separadas. Cada vez mais confuso e menos prático. O pessoal da equipe do TK, na minha observação, estão visivelmente e frequentemente afastados do fórum, aparecendo e mostrando atividade apenas quando ocorre algum acontecimento que cria a oportunidade desses membros da equipe mostrarem que tem um cargo. E geralmente, o único interesse da equipe em melhorar o fórum aparece quando envolve R$. Não é a toa que atualmente o único foco e interesse de vocês é nas seções Comercio e Classificados. O que vem depois? A seção Videos de OTSERV, pague e ganhe um video destacado para atrair membros pro seu Ot? Sobe os classificados: Por que não melhorar a seção de formação de equipes? Não estamos mais em 2011, lembro-me desta época onde postávamos um tópico lá e muitas respostas apareciam, as pessoas queriam desenvolver, trocar ideias, etc... Ficaria muito mais prático moldar a seção atual, sem precisar dividir a seção. Ora, se eu publico em um tópico de formação que estou a procura de um projeto e apenas essa informação, posso divulgar meus valores através do contato exterior que eu fizer com o membro que procura. Fica inútil a existência dessas duas áreas, quando poderia ser apenas uma. Acho legal os novos apps da invision, e gosto da capacidade do pessoal da equipe aqui de saber lidar com eles. Mas eu acho que estão exagerando. Mercado, Clube, Classificados, seja o que for. A equipe tem que se decidir se vão querer se tornar um site de classificados e venda ou continuar como uma comunidade de Open Tibia. Por que eu to vendo que estão tentando fazer os dois, mas só estão dando atenção pra parte de classificados e venda.
Até agora só vi gente concordando com as ideias da equipe, eu também gostei de muita coisa, mas penso que não é benéfica pra comunidade.
-
Mono Singed recebeu reputação de tavarb em (Resolvido)[AJUSTE] Color looktypeSó mudar o if do teu script pra esse:
player_outfit = getCreatureOutfit(cid) if getPlayerSex(cid) == 1 then doSetCreatureOutfit(cid, {lookType = 2293, lookHead = player_outfit.lookHead, lookAddons = 0, lookLegs = player_outfit.lookLegs, lookBody = player_outfit.lookBody, lookFeet = player_outfit.lookFeet}, -1) ---Female else doSetCreatureOutfit(cid, {lookType = 2292, lookHead = player_outfit.lookHead, lookAddons = 0, lookLegs = player_outfit.lookLegs, lookBody = player_outfit.lookBody, lookFeet = player_outfit.lookFeet}, -1) --- Male end -
Mono Singed deu reputação a
Nazoem Áreas sobre databases SQLBuenas TK!
Então, notei que não há áreas sobre banco de dados no fórum, coisa que é muito importante na estrutura dos servidores em geral, e que é vista como tabu ou monstro de 7 cabeças por pessoas com desconhecimento sobre (pelo menos quando eu era desinformado sobre, via como o capeta algo monstruoso).
Então quero sugerir novas áreas relacionadas, tanto como tutoriais, suporte, etc.