Ir para conteúdo

Mateusoo

Campones
  • Total de itens

    78
  • Registro em

  • Última visita

  • Dias Ganhos

    1

Mateusoo venceu a última vez em Abril 20 2014

Mateusoo had the most liked content!

4 Seguidores

Sobre Mateusoo

Informações

  • Forma que conheci o xTibia
    Sites de Busca
  • Sou
    Scripter

Últimos Visitantes

434 visualizações
  1. Bom dia, Gostaria de contratar os serviços de alguém para desenvolver uma interface gráfica no OTClient para mim. O sistema já funciona no jogo, não há necessidade de desenvolve-lo. Quando o player abrir a interface, o servidor receberá uma Table, com toda as informações do sistema, então a interface terá de ler esses dados e preencher-se com os mesmos. Mais informações sobre o sistema e detalhes de pagamentos, discutirei no privado. Mandem mensagens aqui ou no discord: Mateuso#6394 Obrigado.
  2. Oi, Seu primeiro método é mais eficiente, na realidade é complicado definir qual é mais eficiente, mas acredito ser o primeiro modo... Ainda aguardando novas respostas... Abraço.
  3. Olá, Obrigado pela resposta. Sim, essa forma é excelente, continua com a boa performance que o setStorageValue tem, e resolveria o problema, podendo ser passado qualquer tipo de dado. Muito obrigado, não vou marcar como melhor resposta ainda, espero que comentem um pouco mais sobre o assunto, se não acontecer eu dou como melhor resposta. Reputado. Abraços.
  4. Olá amigos! Estou mexendo em um servidor TFS 1.2 e me deparei com o seguinte: A função que estava mexendo era: player:setStorageValue(key, value) Ao tentar setar um storage(key) para o player de tipo de dado diferente de INT o valor(value) não é salvo. O motivo é: O banco de dados tem o tipo do campo que vai receber o parâmetro value definido como INT, então só ira aceitar inteiros. Porem eu preciso passar outro tipo de dado(string no caso), pesquisei e achei em outro fórum uma forma de salvar todos os tipos de dados, porem é criando uma função, que cria uma tabela em um arquivo .lua na pasta do servidor, e SALVA e CARREGA essa tabela sempre que o servidor desligar/ligar respectivamente. Não me interessou essa função, pois se o server crashar os dados serão perdidos, e quanto tempo levaria para salvar TODOS os storages de TODOS os players do servidor? Eu pensei em: alterar o campo do banco de dados, mas para que tipo? Com certeza seria necessário alterar a função SetStorageValue e getStorageValue para que leia o novo tipo do banco de dados e trate o dado de forma adequada, que acredito não ser complicado também. Poderia também fazer novas colunas no banco de dados para todos os tipos de dados, porem teria que criar as funções para as mesmas(isso eu não acho que seria fácil pra mim) Mas a questão é: O que vocês acham? Qual teria a melhor performance? Por que? Tem alguma outra ideia de como fazer isso? Deixa ai. Obrigado desde já, abraços a todos!
  5. Olá, Estou ciente, queria saber se não tem um Sqlite... To sem Sql Server agora... Obrigado pela rapida resposta. Abraço.
  6. Olá, Onde consigo a Database para abrir o servidor? Obrigado.
  7. Mateusoo

    dúvida Duvida Sources

    Olá, A algum tempo pensei em um projeto bem legal de servidor, porem nunca entendi como funcionavam as SOURCES, falei com algumas pessoas, perguntei a outras e descobri algumas coisas, o que quero saber agora é: 1° - Eu tenho um servidor 9.6 com source TFS 0.3.7 SVN Crying Damson, porem percebi que não há muitas funções para a versão 0.3.7, como eu consigo source 0.4 para um servidor 9.6? 2° - Qual a vantagem de usar as versões 1.0, 1.1 e 1.2 do TFS? Qual eu deveria escolher? 3° - Estou pensando em mudar meu servidor para as versões mais recentes, eu gostaria de um servidor LIMPO com SOURCES para implementar meus sistemas, qual é mais indicado? E se possivel, por que? Obrigado pela atenção. Abraços.
  8. Olá @Demonbholder, Não tenho mais o link, mas tenho as sources dele aqui. É TFS 0.3.7 SVN Crying Damson, vou mandar a função em C++ para você da uma olhada... Obrigado pela atenção. Abraço Segue o codigo: int32_t LuaInterface::luaDoTileQueryAdd(lua_State* L) { //doTileQueryAdd(uid, pos[, flags]) uint32_t flags = 0, params = lua_gettop(L); if(params > 2) flags = popNumber(L); PositionEx pos; popPosition(L, pos); uint32_t uid = popNumber(L); ScriptEnviroment* env = getEnv(); Tile* tile = g_game.getTile(pos); if(!tile) { errorEx(getError(LUA_ERROR_TILE_NOT_FOUND)); lua_pushnumber(L, (uint32_t)RET_NOTPOSSIBLE); return 1; } Thing* thing = env->getThingByUID(uid); if(!thing) { errorEx(getError(LUA_ERROR_THING_NOT_FOUND)); lua_pushnumber(L, (uint32_t)RET_NOTPOSSIBLE); return 1; } lua_pushnumber(L, (uint32_t)tile->__queryAdd(0, thing, 1, flags)); return 1; }
  9. Olá @Demonbholder, Entendi. Essa questão da ladder me intrigou MUITO ai comecei a fazer uns teste e percebi: O erro está no script teleport.lua. No script é feito o calculo do local para onde o player vai apos usar uma escada, buraco e etc. E tem uma checagem para descobrir se o local para onde o player vai ser teletransportado é um tile que permita movimentação(chão, piso) e não (parede, cerca, poste, pedra, coisas que não são permitidos o movimento), porem essa checagem faz com que só possa subir escada se for pra um lugar que não pode andar. Então, o script bloqueia subir para lugares que deveria ser possível subir e permite subir para lugares que não deveria ser possível. Fiz vários testes para descobrir isso... Acredito que o problema seja na função: doTileQueryAdd(cid, POSIÇÃO para verificar, INT(não sei o que significa), false[Essa opção só esta disponível para a verão 0.4 do TFS, que é um parâmetro BOOL]), inclusive achei que atualizando essa função e recompilando as sources 0.3.7 que possuo o problema estaria sanado, porem não houve mudança. Vou postar o teleport.lua para você dar uma olhada, se quiser posso postar a função doTileQueryAdd que está nas minhas sources também. Quanto a questão original do topico, você saberia onde conseguir uma source 9.6 0.4 do TFS? Obrigado pela atenção, abraços. Segue o codigo do teleport.lua: local UP_FLOORS = {1386, 3678, 5543, 8599, 10035} local FIELDS = {1497, 1499, 11095, 11096} local DRAW_WELL = 1369 function onUse(cid, item, fromPosition, itemEx, toPosition) if(item.itemid == DRAW_WELL and item.actionid ~= 100) then return false end local check = false fromPosition.stackpos = STACKPOS_GROUND if(isInArray(UP_FLOORS, item.itemid)) then fromPosition.z = fromPosition.z - 1 fromPosition.y = fromPosition.y + 1 if(doTileQueryAdd(cid, fromPosition, 38, false) ~= RETURNVALUE_NOERROR) then local field = getTileItemByType(fromPosition, ITEM_TYPE_MAGICFIELD) if(field.uid == 0 or not isInArray(FIELDS, field.itemid)) then fromPosition.y = fromPosition.y - 2 else check = true end end else fromPosition.z = fromPosition.z + 1 end if(not check and doTileQueryAdd(cid, fromPosition, 38, false) ~= RETURNVALUE_NOERROR) then local field = getTileItemByType(fromPosition, ITEM_TYPE_MAGICFIELD) if(field.uid == 0 or not isInArray(FIELDS, field.itemid)) then return false end end local pos, dir = getCreaturePosition(cid), SOUTH if(pos.x < fromPosition.x) then dir = EAST elseif(pos.x == fromPosition.x) then if(pos.y == fromPosition.y) then dir = getCreatureLookDirection(cid) elseif(pos.y > fromPosition.y) then dir = NORTH end elseif(pos.x > fromPosition.x) then dir = WEST end doTeleportThing(cid, fromPosition, false) doCreatureSetLookDirection(cid, dir) return true end
  10. Olá @Demonbholder, Consigo fazer o upload das sources sim. Porem eu não quero usar souces 0.3.7(algumas funções que achei não consegui incluir nelas), eu gostaria de saber: Se eu pegar sources TFS 0.4 ou 0.3.6 eu consigo usar elas em qualquer versão do tibia? Ou é algo tipo TFS 0.4 para tibia 8.6 é diferente de TFS 0.4 para tibia 9.6. Não entendo direito como funciona sources, nunca mexi com essa parte... Quanto ao código que você mandou, eu não testei por que não tenho sources 1.0(e não queria utiliza-las). Algo interessante é: Ao compilar minhas sources 0.3.7 eu percebi que LADDER e BUEIROS não funcionam. Não tem como eu subir. Se eu criar uma ladder com o /i ESSA LADDER FUNCIONA. E algumas ladders funcionam e outras não. Ambas tem o mesmo ID. Alguma ideia? (Não é tão importante, pois como falei não pretendo usar sources 0.3.7, so curiosidade mesmo.) Obrigado pela atenção. Abraço.
  11. Olá @Demonbholder, Muito obrigado pela atenção. Atualmente, eu utilizo uma source 0.3.7. Que foi a que veio junto com o servidor base. Eu procurei por sources 9.6 0.3.6 ou 0.4, porem não encontrei nenhuma que funcionasse com o meu servidor. Então não pude fazer seu teste. Você saberia me informar onde eu consigo sources do TFS 0.3.6 ou 0.4 para 9.6? Desculpe, não sei muito como SOURCES funcionam. Obrigado.
  12. Olá, Muito obrigado pela atenção. Você vê a possibilidade dessa alteração nas sources? Eu não sei muito, mas acredito que usando a mesma forma que as talkactions utilizam para obter o parâmetro WORDS funcione... Obrigado, abraços.
  13. Olá amigos, boa tarde! Estou com uma pequena duvida, gostaria de saber se tem como eu obter o nome da magia que acabou de ser utilizada na função onCastSpell, no caso no script da propria spell. Vou tentar explicar melhor: --Esse é o script da magia intense healing. --O que eu preciso é basicamente que ela retorne o nome da magia que acabou de ser usado, ou seja o nome intense healing. local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) setHealingFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 5, 6) --local nome function onCastSpell(cid, var) --nome = função que retorna o nome dessa habilidade. return doCombat(cid, combat, var) --doCreatureSay(cid, "Voce usou "..nome.."!") --O output seria: Você usou Intense Healing! end Consegui ser claro? Existe algum modo de fazer isso sem editar as sources? Não teria problemas ele me retornar a palavra de conjuração da spell no caso(exura gran). Pra mim tanto faz. Muito obrigado! Abraços. up
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...