Ir para conteúdo

Absolute

Héroi
  • Registro em

  • Última visita

Tudo que Absolute postou

  1. Você tem que executar apenas: SELECT `player_id`,`pid`,`sid`,CONVERT( `attributes` USING latin1 ) FROM `player_depotitems` WHERE CONVERT( `attributes` USING latin1 ) LIKE '%description%'
  2. Absolute postou uma resposta no tópico em Suporte Tibia OTServer
    Aí brother: http://www.tibiaking.com/forum/topic/34736-pagseguro-autom%C3%A1tico-100-e-com-double-points-opcional/
  3. Primeiramente parabéns por trazer o conteúdo, reputado. Agora me diz no que a CIPSOFT tem os créditos? O OTServer é desenvolvido sob lua e o theforgottenserver, a cipsoft é totalmente contra os otservers, eles não possuem créditos no desenvolvimento de qualquer servidor, única coisa que teria os créditos seria o client do tibia, o resto é feito por pessoas fora da cipsoft, afinal eles jamais aprovariam isto, só alertando hehe. Mas parabéns pelo conteúdo meu amigo, continue assim. Abraços.
  4. Fala galera do TK! Trago hoje a vocês um sistema que desenvolvi sob uma base de shop com meu parceiro Thales Valentim do pokemonbr.com.br a alguns meses, pós vários testes e visando que funcionou perfeitamente trago para vocês! Como funciona? Toda vez que um ItemVIP ou qualquer Item comprado no SHOP do seu site, quando ele for entregar ao player, irá ficar; COMPRADOR POR:, ou seja; irá adicionar uma "KEY" algo que realmente saiu direto do seu SHOP, pois quando o item é disparado para o player ele vai entregar normal com a função "doCreateItemEx" e então adicionar a descrição no mesmo com a função "doItemSetAttribute". E como evitará os clones Absolute? Você terá uma QUERY para executar no seu banco de dados, fazendo uma checagem dos items VIPS que não possuem esse SERIAL KEY (o script também já faz a checagem), ou seja; os que não tiverem a KEY foram clonados (não saíram do SHOP), e então vocês poderão deleta-los manualmente caso necessário. É muito simples, apenas um script e a QUERY de checagem. Vamos a instalação? Em data/globalevents/scripts substitua o seu arquivo shop.lua por este: -- ### CONFIG ### -- message send to player by script "type" (types you can check in "global.lua") SHOP_MSG_TYPE = 19 -- time (in seconds) between connections to SQL database by shop script SQL_interval = 30 -- ### END OF CONFIG ### function onThink(interval, lastExecution) local result_plr = db.getResult("SELECT * FROM z_ots_comunication WHERE `type` = 'login';") if(result_plr:getID() ~= -1) then while(true) do id = tonumber(result_plr:getDataInt("id")) action = tostring(result_plr:getDataString("action")) delete = tonumber(result_plr:getDataInt("delete_it")) cid = getCreatureByName(tostring(result_plr:getDataString("name"))) if isPlayer(cid) == TRUE then local itemtogive_id = tonumber(result_plr:getDataInt("param1")) local itemtogive_count = tonumber(result_plr:getDataInt("param2")) local container_id = tonumber(result_plr:getDataInt("param3")) local container_count = tonumber(result_plr:getDataInt("param4")) local add_item_type = tostring(result_plr:getDataString("param5")) local add_item_name = tostring(result_plr:getDataString("param6")) local received_item = 0 local full_weight = 0 if add_item_type == 'container' then container_weight = getItemWeightById(container_id, 1) if isItemRune(itemtogive_id) == TRUE then items_weight = container_count * getItemWeightById(itemtogive_id, 1) else items_weight = container_count * getItemWeightById(itemtogive_id, itemtogive_count) end full_weight = items_weight + container_weight else full_weight = getItemWeightById(itemtogive_id, itemtogive_count) if isItemRune(itemtogive_id) == TRUE then full_weight = getItemWeightById(itemtogive_id, 1) else full_weight = getItemWeightById(itemtogive_id, itemtogive_count) end end local free_cap = getPlayerFreeCap(cid) if full_weight <= free_cap then if add_item_type == 'container' then local new_container = doCreateItemEx(container_id, 1) doItemSetAttribute(new_container, "description", 'Bought by ' .. getCreatureName(cid) .. ' [ID:' .. id .. '].') local iter = 0 while iter ~= container_count do local new_item = doCreateItemEx(itemtogive_id, itemtogive_count) doItemSetAttribute(new_item, "description", 'Bought by ' .. getCreatureName(cid) .. ' [ID:' .. id .. '].') doAddContainerItemEx(new_container, new_item) iter = iter + 1 end received_item = doPlayerAddItemEx(cid, new_container) else local new_item = doCreateItemEx(itemtogive_id, itemtogive_count) doItemSetAttribute(new_item, "description", 'Bought by ' .. getCreatureName(cid) .. ' [ID:' .. id .. '].') received_item = doPlayerAddItemEx(cid, new_item) end if received_item == RETURNVALUE_NOERROR then doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received >> '.. add_item_name ..' << from OTS shop.') doPlayerSave(cid) db.executeQuery("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";") db.executeQuery("UPDATE `z_shop_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";") else doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS shop is waiting for you. Please make place for this item in your backpack/hands and wait about '.. SQL_interval ..' seconds to get it.') end else doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS shop is waiting for you. It weight is '.. full_weight ..' oz., you have only '.. free_cap ..' oz. free capacity. Put some items in depot and wait about '.. SQL_interval ..' seconds to get it.') end end if not(result_plr:next()) then break end end result_plr:free() end return TRUE end Confira se no seu globalevents.xml já possui a tag: <globalevent name="shop" interval="30000" script="shop.lua"/> PRONTO, VOCÊ ESTÁ LIVRE DE CLONES! TÃO SIMPLES NÃO? Para fazer a checagem se há items clonados, abra o seu phpmyadmin e execute a seguinte query: ------------------- COMANDO SQL BY ABSOLUTE PARA VERIFICAR A TABELA PLAYER_DEPOTITEMS---------------------- SELECT `player_id`,`pid`,`sid`,CONVERT( `attributes` USING latin1 ) FROM `player_depotitems` WHERE CONVERT( `attributes` USING latin1 ) LIKE '%description%' ------------------- COMANDO SQL BY ABSOLUTE PARA VERIFICAR A TABELA PLAYER_ITEMS---------------------- SELECT `player_id`,`pid`,`sid`,CONVERT( `attributes` USING latin1 ) FROM `player_items` WHERE CONVERT( `attributes` USING latin1 ) LIKE '%description%' OBSERVAÇÃO IMPORTANTE: Caso seu servidor já esteja online e já possua vendas no seu SHOP, você terá que adicionar a "KEY" em todos os items ou reseta-los. OUTRA OBSERVAÇÃO: Nunca crie items VIP com o ADMIN e de aos jogadores, pois eles ficaram sem a "KEY" e poderão ser deletados. ESTE SCRIPT FUNCIONA PERFEITAMENTE NAS REVS 0.3.6 e 0_4, caso necessário passo para a 1.x. S IMPLES, PRATICO E PERFEITO NÃO? Quero vê-los usando, espero ter ajudado. :D Até a próxima! Absolute.
  5. Não, este erro call stack pode ser em algum sistema que retorna o loop infinito ou algo do tipo.
  6. Sim, no client há possibilidades de adicionar o item específico no caso, mas só acessariam pelo client, caso viessem pelo cliente normal, iria ocasionar o debug.
  7. Otávio como já te falei, é uma incompatibilidade da sua REV com o S.O que você usa, no caso o ubuntu 10.04, recomendo o ubuntu 14 pra sua rev, ficará estável sem esses erros que pedem atualizações de pacotes/libbosts.
  8. Amigo, este sistema de market offer, se for pelo baú, item etc, terá que ser na source, é muito complexo. Caso se contente com algo mais simples do tipo um !trade shop que mostre as ofertar que poderão colocar já existe aqui, é um "private shop" agora pra fazer algo idêntico a isso, terá que ser totalmente nas source, tirando que o item do market offer não tem no seu client, então não teria como fazer igualzinho em questão dos itemids etc.
  9. Execute no seu phpmyadmin: DELETE FROM `DBNAME`.`accounts` WHERE `accounts`.`id` > 1; EM DBNAME nome da sua db.
  10. Absolute postou uma resposta no tópico em Suporte & Pedidos
    AHUEAHUEUHEUAHEUAEAA, pra baiak eu tento fazer tudo certinho, mas não dá, tem que ter o dom da zueia pra lotar.
  11. Independente das configs, eu não gosto de hospedar em ubuntu desktop, mas kkkk ou ubuntu server 14/14 ou debian 8
  12. Putz vai hospedar servidor em ubuntu desktop? Valia mais a penas usar um virtualizador criando com a ISO do ubuntu server
  13. Absolute postou uma resposta no tópico em Suporte Tibia OTServer
    Se estiver está nesta seção: http://www.tibiaking.com/forum/forum/186-servidores-derivados/ Se não tiver do jeito que você quer é só adicionar a parte, mas confere ai
  14. Erro no arquivo outputmessage.cpp, poste o arquivo aqui.
  15. Absolute postou uma resposta no tópico em Suporte Tibia OTServer
    Direto dos datacenters, apenas a OVH é barata para o seu "começo" que seria o VPS SSD deles, mas infelizmente como já disse, torno a repetir; sem chance alguma para hospedar games. Tem que tomar cuidado, ás vezes o barato sai caro.
  16. Absolute postou uma resposta no tópico em Suporte Tibia OTServer
    Acho que o otservlist não aceita o provedor .tk
  17. Absolute postou uma resposta no tópico em Suporte & Pedidos
    Cara, eu sou designer também, e já desisti de identidade visual ou "caprichos" para open tibia, porque? Vejo uns servidores escritos no photoscape, sublinhado, traçado +10, com imagem sem render, fundo branco e mesmo assim tem 200+ on, então quanto mais zuado for, mais pra frente irá dsudshusd triste. @Topic, logo está padrão porém gosto de usar assim, abraços.
  18. https://www.microsoft.com/pt-br/download/details.aspx?id=48145 baixe, todos os requerimentos da ms e tente.
  19. Tem que pegar todos os codes e adaptar na sua source, ás vezes dependendo da rev os codes, funções não são compatíveis. Caso você não tenha um conhecimento básico/mediano em programação, não aconselho.
  20. Absolute postou uma resposta no tópico em Suporte Tibia OTServer
    Porque na versão da sua sc o executeQuery foi substituído apenas pelo query
  21. Absolute postou uma resposta no tópico em Playground (Off-topic)
    9dade
  22. Há de remover o SALT das sources, poste o seu iologindata.cpp que vejo aqui.
  23. Qual TFS você usa? Poste o erro que aparece no executável/distro.
  24. Não entendi, você quer limitar o máximo do ML?
  25. Absolute postou uma resposta no tópico em Suporte Tibia OTServer
    Para remover apenas o menu é no layout.php, poste o seu layout.php que irei remove-lo para mostra-lo. Depois basta remover a page do INDEX e deleta-la ou renomeá-la para impossibilitar o acesso a mesma por links diretos.

Informação Importante

Confirmação de Termo