Ir para conteúdo

dalvorsn

Conde
  • Total de itens

    750
  • Registro em

  • Última visita

  • Dias Ganhos

    8

Tudo que dalvorsn postou

  1. dalvorsn

    Hoje

    Acho que eu tava na lan jogando cs 1.6, era febre na época kk
  2. Adiciona essa função na sua lib: function getPlayersOnlineByAccount( accountId ) local ret = {} for _, uid in pairs(getPlayersOnline()) do if accountId == getPlayerAccountId(uid) then table.insert(ret, uid) end end return retend E no login.lua coloque o seguinte código: if getPlayersOnlineByAccount(getPlayerAccountId(cid)) > 1 then -- mensagem return falseend
  3. Sim, através de softwares de terceiros, os de qualidade provavelmente são pagos. No youtube você encontra diversos tutoriais ensinando, não exatamente para tibia mas o processo é o mesmo. Veja: google.it
  4. Modos de se fazer há vários, agora tem que ver qual tu consegue fazer né. O mais simples na minha opnião (sem uso de programas de terceiros), seria tu fazer um estilo webservice onde voce buscaria um arquivo por cURL, arquivo esse onde constariam os dados para comparação e verificação dos dados de update. Dentro disso ainda há várias implementações, o mais simples seria o uso de patchs, arquivos comprimidos que contenham um conjunto de atualizações onde você baixaria e descompactaria, fazendo o update. Outro ponto importante é que o launcher e o cliente devem ser capazes de se comunicar com o webservice, pois o launcher se conecta pra atualizar o cliente e o cliente se conecta para atualizar o launcher (há também como fazer um bat temporario, que faria a extração dos arquivos, mas acho que seja mais complicado que fazer o cliente atualizar o launcher, mas fica a seu critério) Há ainda abordagens mais eficientes como o uso do conceito binary delta (diffs, usados por gerenciadores de versão como o github e afins), esse método baixaria patchs de atualização, e os aplicaria, ou então até mesmo poderia se usar a próprio servidor do github através da biblioteca libgit2. De todo modo, não é algo trivial se você não é um programador.
  5. Tu pode estar usando no config.lua outra database que nao a que voce editou isso
  6. Então é porque ja adicionou ne jovem
  7. Não cheguei a testar no cliente do tibia, mas no otclient pelo menos ele usa o cp1252, sempre configura pro locale do pc que ta rodando.
  8. Normal ue, 'Tools' > 'Open SQL Editor'
  9. Bom, ai vai variar de como usa, mas por exemplo se quiser que os npcs se comuniquem com acentuação brasileira, com essa função fica facil, porque tu converte o texto pra um formato que o cliente consegue interpretar e acentuar corretamente, e para não ficar algo pesado eu deixei mais voltado pros acentos mesmo. Se voce tiver um pouco mais de conhecimento da pra alterar o look de sigs, items e etc. Enfim, o modo que vai usar é contigo, mas a função é codificar os acentos.
  10. unicode2latin1(str) A função recebe como parametro uma string 'str', e procura nela ocorrencias de unicode/utf8 dos principais acentos usados e converte para latin1/iso-8859-1. Não é feita a conversão de todos os caracteres possíveis, pois não é bem o intuito da função, mas caso queira adicionar basta incluir no map de caracteres. Os demais caracteres estão disponiveis nesta tabela. function unicode2latin1(str) local map = { -- ÁáÀàÂâÃã {utf = {0xc3, 0x81}, latin = 0xc1}, -- Á {utf = {0xc3, 0xa1}, latin = 0xe1}, -- á {utf = {0xc3, 0x80}, latin = 0xc0}, -- À {utf = {0xc3, 0xa0}, latin = 0xe0}, -- à {utf = {0xc3, 0x82}, latin = 0xc2}, --  {utf = {0xc3, 0xa2}, latin = 0xe2}, -- â {utf = {0xc3, 0x83}, latin = 0xc3}, -- à {utf = {0xc3, 0xa3}, latin = 0xe3}, -- ã -- ÉéÈèÊê {utf = {0xc3, 0x89}, latin = 0xc9}, -- É {utf = {0xc3, 0xa9}, latin = 0xe9}, -- é {utf = {0xc3, 0x88}, latin = 0xc8}, -- È {utf = {0xc3, 0xa8}, latin = 0xe8}, -- è {utf = {0xc3, 0x8a}, latin = 0xca}, -- Ê {utf = {0xc3, 0xaa}, latin = 0xea}, -- ê -- ÍíÌìÎî {utf = {0xc3, 0x8d}, latin = 0xcc}, -- Í {utf = {0xc3, 0xad}, latin = 0xec}, -- í {utf = {0xc3, 0x8c}, latin = 0xcd}, -- Ì {utf = {0xc3, 0xac}, latin = 0xed}, -- ì {utf = {0xc3, 0x8e}, latin = 0xce}, -- Î {utf = {0xc3, 0xae}, latin = 0xee}, -- î -- ÓóÒòÔôÕõ {utf = {0xc3, 0x93}, latin = 0xd3}, -- Ó {utf = {0xc3, 0xb3}, latin = 0xf3}, -- ó {utf = {0xc3, 0x92}, latin = 0xd2}, -- Ò {utf = {0xc3, 0xb2}, latin = 0xf2}, -- ò {utf = {0xc3, 0x94}, latin = 0xd4}, -- Ô {utf = {0xc3, 0xb4}, latin = 0xf4}, -- ô {utf = {0xc3, 0x95}, latin = 0xd5}, -- Õ {utf = {0xc3, 0xb5}, latin = 0xf5}, -- õ -- ÚúÙùÛû {utf = {0xc3, 0x9a}, latin = 0xda}, -- Ú {utf = {0xc3, 0xba}, latin = 0xfa}, -- ú {utf = {0xc3, 0x99}, latin = 0xd9}, -- Ù {utf = {0xc3, 0xb9}, latin = 0xf9}, -- ù {utf = {0xc3, 0x9b}, latin = 0xdb}, -- Û {utf = {0xc3, 0xbb}, latin = 0xfb}, -- û -- Çç {utf = {0xc3, 0x87}, latin = 0xc7}, -- Ç {utf = {0xc3, 0xa7}, latin = 0xe7} -- ç } if type(str) == "string" then for i = 1, #map do str = str:gsub(string.char(unpack(map[i].utf)), string.char(map[i].latin)) end end return strend
  11. http://sqlitestudio.pl/?act=download No site do desenvolvedor tem disponivel pra download, não entendi como não conseguiu achar ...
  12. Como assim outro tipo de sqlite?
  13. No config.lua -- Account manager accountManager = true namelockManager = true newPlayerChooseVoc = true newPlayerSpawnPosX = 159 newPlayerSpawnPosY = 387 newPlayerSpawnPosZ = 6 newPlayerTownId = 2 newPlayerLevel = 8 newPlayerMagicLevel = 0 generateAccountNumber = false generateAccountSalt = true Procura por algo similar a isso, ai ficam as configurações referentes ao account manager
  14. Não tenho aqui um sqlite studio pra te mostrar passo a passo, mas procura no google que tu descobre como faz, é algo bem comum
  15. Tem o schema em sql dela? se tiver é so deletar e recriar a partir do schema que reseta tudo, sem erro algum Caso não tenha tu vai ter que exportar o schema primeiro, para depois deletar
  16. Posta o seu game.cpp E diga quais alterações tu vai fazer e quais as regras para essa alteração(vocation e etc)
  17. Como ta a query que tu executou?
  18. http://wiki.sqlitestudio.pl/index.php/User_Manual#Executing_SQL_queries
  19. Não existe a coluna rep, provavelmente é um campo int ALTER TABLE players ADD COLUMN rep INTEGER NOT NULL DEFAULT 0; Confere ai se ta certo, nao sei se a sintax do sqlite aceita essas constraints
  20. Deletando os players: delete from players; Deletando as contas: delete from accounts; Obs.: Dependendo do numero de registros pode ser um pouco demorado, pois o delete chamada triggers cascade para todos os campos onde tem referencias aos campos dessas tabelas. Um outro modo seria dar um drop geral no banco e recriar, talvez seja até mais rapido.
  21. Provavelmente porque voce não fez o processo completo como eu disse
  22. O modo que é feito no sqlite e mysql é diferente, geralmente quando se usa mysql se usa também site, e la é usual o uso de characters sampler, onde voce configura o personagem como uma amostra que serve pra ser copiado porteriormente. Já no sqlite ele cria através do account manager, ele se baseia no que é configurado via texto e nos atributos de construção da classe player, para tu customizar deve modificar na source onde ele configura a vocação, la voce seta os demais atributos que deseja modificar, como looktype e afins.
  23. Não precisa entender muito, é basicamente ver uma creaturescript onKill que ja exista, registrar um evento pra ela no login, dai tu verifica o nome da criatura que foi morta e da o tp function onKill(cid, target) if getCreatureName(target) == "Demon" then doTeleportThing(cid, {x=1050, y=1030, z=7}) end return trueend
  24. onkill + addevent
  25. Editei, mudei o nome e esqueci de trocar no if
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...