Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Olá galera, denovo eu aqui perguntando algo kkkk

Tou com duvida de quando eu for resetar o server como eu fasso para resetar apenas os leveis, skills dos personagems?

Continuando a conta e o set pois em meu server tem SET Donate e muiitaa gente compra se der um reset total vai dar uma confusão danada para devolver as VIP e os SET VIP....

Meu server usa sql!!

Link para o post
Compartilhar em outros sites

Não sei te dizer Luuck , mais se não me engano tinha um programa que da RESET nos Level e Skills , e ficava o set e tudo.

PS : Não lembro o name.

Link para o post
Compartilhar em outros sites

UPDATE `player_skills` SET `value`=10;

UPDATE `players` SET `level` = 10;

UPDATE `players` SET `experience`=9300;

pronto :P

 http://baiakuza.com/
IP: baiakuza.com
TIBIA: 10.96
Baiak Custom [ High Exp Rate ]

 

 

 

 

Link para o post
Compartilhar em outros sites

Eu testei e funcionou perfeitamente.

Todos os personagens ficaram level 10 e todos os skills foram restado.

Tópico Resolvido.

A postagem abaixo será considerado floods, apenas se o dono do tópico ou membro que tiver uma dúvida semelhante poderá postar.

 http://baiakuza.com/
IP: baiakuza.com
TIBIA: 10.96
Baiak Custom [ High Exp Rate ]

 

 

 

 

Link para o post
Compartilhar em outros sites

@sky não sei se é uma duvida semelhante , mais gostaria de saber se também tem para reiniciar LEVEL , SKILL E EQUIPAMENTS , voltar ao normal

Link para o post
Compartilhar em outros sites

E tem algum comando para excluir todos abaixo de level 100 ?? a database já ta ficando muito cheia e está sobrecarregando o server :S

Link para o post
Compartilhar em outros sites
  • 11 months later...

reseto os LVL do e os Skill pq a HP e Mana Fiko Igau Ai Bugo o Serve Tem um mando de Resetar a HP e Mana

Editado por tiuguedor (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 1 year later...

UPDATE `player_skills` SET `value`=10;

UPDATE `players` SET `level` = 10;

UPDATE `players` SET `experience`=9300;

pronto tongue.png

 

Ficou MUITO vago essa resposta. Isso é um comando? Onde eu digito isso? um Script? Onde eu adiciono isso? Também quero resetar somente o level dos personagens mas não sei o que fazer com esta resposta...

Link para o post
Compartilhar em outros sites
  • 1 month later...

Ficou MUITO vago essa resposta. Isso é um comando? Onde eu digito isso? um Script? Onde eu adiciono isso? Também quero resetar somente o level dos personagens mas não sei o que fazer com esta resposta...

 

cara abre teu server no sqlite editor < alguma coisa coloca essa função que ele posto e aperta f9 ou f5 < pra executar ela na database

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros sites
  • Sub-Admin

adc isso no globalevents

function countRowsWhereInTable(table, field, condition)


local result = db.getResult("SELECT COUNT(" .. field .. ") as count FROM " .. table .. " WHERE " .. field .. " = '" .. condition .. "';")
local tmp = result:getDataInt("count")
result:free()
return tmp
end

function getDBPlayersCount()
local result = db.getResult("SELECT COUNT(id) as count FROM `players`;")
local tmp = result:getDataInt("count")
result:free()
return tmp
end

function getDBAccountsCount()
local result = db.getResult("SELECT COUNT(id) as count FROM `accounts`;")
local tmp = result:getDataInt("count")
result:free()
return tmp
end

function onStartup()
local DB_BEFORE = {players = getDBPlayersCount(), accounts = getDBAccountsCount()}
local result,result1, ii, numPlayersToDelete, numAccountsDeleted, tmp = 0, 0, 0, 0, 0
local pid, aid = {}, {}
local dropCount = {players={},accounts={}}

local config = {
deleteAccountWithNoPlayers = true,
cleanChildTables = true,
printResult = true,
saveResultToFile = true,
logFileName = 'db_cleanup.txt'
}

--In each table, players with below specified level, and days of inactivity will be deleted from db on server startup
local cleanup = {
[1] = {level = 800, time = 0 * 24 * 60 * 60},
}

local childAttributeTables = {
players = {
[1] = {table = "`player_viplist`", idField = "`player_id`"},
[2] = {table = "`player_storage`", idField = "`player_id`"},
[3] = {table = "`player_spells`", idField = "`player_id`"},
[4] = {table = "`player_skills`", idField = "`player_id`"},
[5] = {table = "`player_namelocks`", idField = "`player_id`"},
[6] = {table = "`player_items`", idField = "`player_id`"},
[7] = {table = "`player_depotitems`", idField = "`player_id`"},
[8] = {table = "`houses`", idField = "`owner`"},
[9] = {table = "`house_auctions`", idField = "`player_id`"},
[10] = {table = "`players`", idField = "`id`"} -- Keep this as the last item in the array
--Note: `houses` and `bans` are in the DB triggers for TFS so don't worry about them.
--Also I did not want to put killers, or deaths on here because that is historic data,
--do so at your own risk.
},
accounts = {
[1] = {table = "`accounts`", idField = "`id`"},
[2] = {table = "`account_viplist`", idField = "`account_id`"}
}
}

--Clean up all the players and player data
for i = 1, #cleanup do
result = db.getResult("SELECT `id`,`name`,`account_id` FROM `players` WHERE `level` < ".. cleanup.level .." AND `name` NOT IN('Account Manager', 'Druid Sample') AND `group_id` < 2 AND `lastlogin` < UNIX_TIMESTAMP() - ".. cleanup.time ..";")
if(result:getID() ~= -1) then
ii = 1
repeat
pid[ii] = result:getDataInt("id") -- list the players id into an array
aid[ii] = result:getDataInt("account_id") -- list the account id of each player being removed into an array
ii = ii + 1
until not(result:next())
result:free()
end
numPlayersToDelete = ii - 1

--Drop players and their child table attribute data such as skills, items, etc.
for j = 1, numPlayersToDelete do

if(config.cleanChildTables) then
for k = 1, #childAttributeTables.players do
if childAttributeTables.players[k].table == "houses" then
house = getHouseByPlayerGUID(pid[j])
if house ~= 0 or house ~= nil then
doCleanHouse(house)
doUpdateHouseAuctions()
end
else
dropCount.players[k] = ((dropCount.players[k] or 0) + countRowsWhereInTable(childAttributeTables.players[k].table, childAttributeTables.players[k].idField, pid[j]))
db.executeQuery("DELETE FROM " .. childAttributeTables.players[k].table .. " WHERE " .. childAttributeTables.players[k].idField .. " = '" .. pid[j] .. "';")
end
end
else
db.executeQuery("DELETE FROM `players` WHERE `id` = '" .. pid[j] .. "';")
end
end
end

--Drop all the accounts that have 0 players linked to them (at the moment its only checking from the list of players removed)
if config.deleteAccountWithNoPlayers then
--This part was scripted by Darkhaos, modified/fixed by Teh Maverick --[[
for acc = 1, #aid do
result1 = db.getResult("SELECT `id` FROM `accounts` WHERE `id` = '" .. aid[acc] .. "';")
if result1:getID() ~= -1 then -- check to make sure the account exists
result1:free()
for i = 1, #childAttributeTables.accounts do
--Make sure there are no other players on the account
result1 = db.getResult("SELECT COUNT(id) as count FROM `players` WHERE `account_id` = '" .. aid[acc] .. "';")
tmp = result1:getDataInt("count")
if(tmp <= 0) then
--Remove accounts
dropCount.accounts = ((dropCount.accounts or 0) + countRowsWhereInTable(childAttributeTables.accounts.table, childAttributeTables.accounts.idField, aid[acc]))
db.executeQuery("DELETE FROM " .. childAttributeTables.accounts.table .. " WHERE " .. childAttributeTables.accounts.idField .. " = '" .. aid[acc] .. "';")
end
end
end
end
end
--]]

--Print and Save results (configurable)
local DB_NOW = {players = DB_BEFORE.players - getDBPlayersCount(), accounts = DB_BEFORE.accounts - getDBAccountsCount()}
if DB_NOW.players > 0 or DB_NOW.accounts > 0 then
local text = ">> [DBCLEANUP] " .. DB_NOW.players .. " inactive players" .. (config.deleteAccountWithNoPlayers and " and " .. DB_NOW.accounts .. " empty accounts" or "") .. " have been deleted from the database."

--Write to console
if config.printResult then
print("")
print(text)
if config.cleanChildTables then
--Write player info
for i = 1,#dropCount.players do
print("[!] --> Dropped: " .. dropCount.players .. " from " .. childAttributeTables.players.table .. " table")
end
--Write account info
if config.deleteAccountWithNoPlayers then
for i = 1,#dropCount.accounts do
print("[!] --> Dropped: " .. dropCount.accounts .. " from " .. childAttributeTables.accounts.table .. " table")
end
end
print("")
end
end

--Write to file
if config.saveResultToFile then

local file = io.open("data/logs/"..config.logFileName, "a")
file:write("[" .. os.date("%d %B %Y %X ", os.time()) .. "] " .. text .. "\n")

if config.cleanChildTables then
--Write player info
for i = 1, #dropCount.players do
file:write("[!] --> Dropped: " .. dropCount.players .. " from " .. childAttributeTables.players.table .. " table\n")
end
--Write account info
if config.deleteAccountWithNoPlayers then
for i = 1, #dropCount.accounts do
file:write("[!] --> Dropped: " .. dropCount.accounts .. " from " .. childAttributeTables.accounts.table .. " table\n")
end
end
file:write("\n")
end
file:close()
end
end
return true
end

<globalevent name="dbcleaner" type="startup" event="script" value="EXEMPLO.lua"/>

 

ali em vermelho são os samples pra que ele n delete, esse scripts deleta as conta e os chars e suas skills funcionando perfeitamente, lembrando vc tem que adc mais os sample ou outro tipo de char que vc n qer que seja deletados ali aonde está em vermelho! após isso de um /shutdown no seu servidor ou religue

Editado por alexxxxxxx (veja o histórico de edições)

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites

cara não precisa disso olha nesse topico que fiz um topico bem elaborado e mais eficiente que não vai gastar muito do seu tempo 

 

é apenas executar a função no seu sqlite

 

http://www.tibiaking.com/forum/topic/38403-resetando-seu-server-sem-deletar-players-ou-items/

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros sites
  • 1 year later...

Aonde Fica para editat CLub e sword Do personagem ?

NTO PANZER SERVIDOR 24H 

1554689_1.png

http://narutopanzer.blogspot.com.br/

RATE  EXP 999

 

DBO SERVIDOR 24H 

1549171_1.png

http://dbowtf.ddns.net/

RATE EXP 400

 

 

Link para o post
Compartilhar em outros sites
  • 3 months later...

como faz pra deleetar todas contas e players no sql

Firmão igual um prego na areia,
Prego, jogou o ego, dentro de um buraco,
Um Bon vivant, jamais mostra o ponto fraco,
Pergunte a Sansão quem foi Dalila...

Link para o post
Compartilhar em outros sites
  • 4 weeks later...
2 minutos atrás, Nuna123 disse:

aonde bota isso ?

O que você fala ?

Se o mundo é mesmo parecido com o que vejo,

Prefiro acreditar no mundo do meu jeito.

( - Renato Russo)

Link para o post
Compartilhar em outros sites

isso 

UPDATE `player_skills` SET `value`=10;

UPDATE `players` SET `level` = 10;

UPDATE `players` SET `experience`=9300;

 

Link para o post
Compartilhar em outros sites

1 -  Vá no seu phpmyadmin (aonde fica sua database , ex : localhost/phpmyadmin ou localhost/phpmyadmin:8090 ..)

  24xgfep.jpg

 

2 -  Depois vá na sua database (ex: otserver , forgottenserver ou qualquer outro nome , no meu caso é otserver )

  334ronk.jpg

 

3 -  Clique em sql e faça igual na imagem ..

  2960v1k.jpg

 

 

Se não conseguir me fala ..

 

 

Editado por Hayashii (veja o histórico de edições)

Se o mundo é mesmo parecido com o que vejo,

Prefiro acreditar no mundo do meu jeito.

( - Renato Russo)

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Cat
      Quer saber como eu fiz esses banners e quadros em menos de 1 hora?
       
      (tópico original: https://tibiaking.com/forums/topic/104074-banners-e-pinturas/)
       
       
      - ○ -
       
      Bom, a verdade é que não precisa saber pixel art para produzir peças como estas. Mas se você souber, agrega muito a qualidade das peças, uma vez que você queira melhorar a moldura ou até mesmo aplicar retoques na imagem reduzida.
       
      Este tutorial é bem simples, iremos trabalhar com resize (redução de imagens), distorção, nitidez e ruídos.
      Foram utilizados: Paint e Photoshop 2019 (se você não tiver condições financeiras para comprar Photoshop, recomendo a versão 2019 cracked, você encontra facilmente na internet, apenas cuide com vírus, escaneie tudo certinho, etc)
       
      1 - Escolha uma imagem de sua preferência, leve em consideração que quanto mais detalhes estiverem próximos uns dos outros, mais elementos aparecerão no resultado final, eu escolhi estas abaixo:

       

       
      2 - O segundo passo é determinar a área da imagem que será utilizada, e redimensioná-la para 128x128, 128x64, 64x64, 64x32, ou 32x32. (leve em consideração que um tamanho 128x128 precisara de 3x3 paredes para encaixá-la no mapa, e 32x32 apenas 1 parede)

       
         
       

       
      3 - Agora, utilizando o Photoshop irei melhorar a qualidade dessas imagens reduzidas, usando as ferramentas redução de ruído e aplicação inteligente de nitidez. Também mudarei para uma cor de minha preferência. Veja: 
       
       
       

       
      4 - Agora utilizaremos as seguintes ferramentas do Paint, nesta ordem:
       
       
       
      O resultado será este:
       

       
      Agora basta aplicar a moldura e pronto, está feito!
       
       
       
       
       
       
       
       
       
    • Por Linus
      Você  pode configurar se quer que o preço aumente a cada reset, se quer que o level pra resetar aumente e se vc quer que a vida resete junto (e quanto % da vida atual será a vida após resetar).
       
       
      Testado em tfs 1.1, Versão 10.77
       
       
       
       
      Vá em data/npc/lib/ crie npc_resets.lua :
       



       
      Você pode editar mexendo aqui. no script acima :
      config = { minlevel = 150, --- Level inical para resetar price = 10000, --- Preço inicial para resetar newlevel = 20, --- Level após reset priceByReset = 0, --- Preço acrescentado por reset percent = 30, ---- Porcentagem da vida/mana que você terá ao resetar (em relação à sua antiga vida total) maxresets = 50, ---- Maximo de resets levelbyreset = 0 --- Quanto de level vai precisar a mais no próximo reset } agora em data/npc/ crie reseter.XML :
       



       
       
       
      Agora em data/npc/scripts crie reseter.lua :
       



       
       
       
      Img : 
       

    • Por gpedro
      Testado: MySQL & SQLite
      Distro: TFS 0.4_SVN & TFS 0.3.6

      MySQL

      ALTER TABLE `players` ADD `resets` INT(11) NOT NULL DEFAULT "0"; SQLite ALTER TABLE players ADD resets INTEGER not null default 0 Adicionando nas sources player.h procure por: uint32_t level; logo abaixo, adicione: uint32_t resets; iologindata.cpp procure por query << "SELECT `id`, `account_id`, `group_id`, `world_id`, `sex`, `vocation`, `experience`, `level`," substitua por: query << "SELECT `id`, `account_id`, `group_id`, `world_id`, `sex`, `vocation`, `experience`, `level`, `resets`, " procure por player->level = std::max((uint32_t)1, (uint32_t)result->getDataInt("level")); logo abaixo adicione: player->resets = (uint32_t)result->getDataInt("resets"); procure por query << "`maglevel` = " << player->magLevel << ", "; logo abaixo adicione: query << "`resets` = " << player->resets << ", "; players.cpp procure por: s << " (Level " << level << ")"; substitua por: s << " (Level " << level << ") [Reset " << resets << "]"; players.h procure por: void setPromotionLevel(uint32_t pLevel); logo abaixo adicione: uint32_t getResets() { return resets;} void setResets(int32_t amount) { resets += amount; if (resets < 0) {resets = 0;} } luascript.cpp para 0.3.6 static int32_t luaDoPlayerSetIdleTime(lua_State* L); logo abaixo adicione: static int32_t luaGetResets(lua_State* L); static int32_t luaSetResets(lua_State* L); talkactions.xml <talkaction words="!rank;/rank" event="script" value="ranks.lua"/> <talkaction words="!reset;/reset" script="reset.lua"/> ranks.lua
      Créditos: Dark Skyllen, Marcryzius, Mock, Kydrai, Cykotitan, gpedro*.
      * adaptação para 0.4
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo