Ir para conteúdo
  • Cadastre-se

Pedido System reset


Ir para solução Resolvido por Anderson Sacani,

Posts Recomendados

.Qual servidor ou website você utiliza como base? 

 

Qual o motivo deste tópico? 

 

Está surgindo algum erro? Se sim coloque-o aqui. 

Citar

Presiso urgente de um script de reset que funcione na versao 10x + por favor, tenho um mapa radbr se possivel ajudar 

 

Você tem o código disponível? Se tiver publique-o aqui: 

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

 

Link para o post
Compartilhar em outros sites

Eu presiso de um script reset.lua que funcione no meu servidor pois testei varios e nao da certo, se tiver como me ajudar, minha tfs 1.3.10

Versão 10x12x

Editado por Carpes Jhon (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
Em 16/12/2022 em 11:29, Anderson Sacani disse:

Infelizmente não poderei ajudar, porque não respondeu a minha pergunta.

Eu ainda não sei o que esse reset faz.

function onSay(cid, words, param, channel)

 

config = {

RemainingLvl=8,

exper=4200,

pid=getPlayerGUID(cid),

batle="yes"

}

 

function getPlayerResets(cid)

resets = getPlayerStorageValue(cid,1020)

if resets < 0 then

resets = 0

end

return resets

end

 

if (config.batle == "no") and (getCreatureCondition(cid, CONDITION_INFIGHT) == FAlSE) then

doPlayerSendTextMessage(cid,22,"Você Precisa estar sem Battle para Resetar.")      

return TRUE

end

 

if (getPlayerStorageValue(cid, 1020) >= os.time()) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED,"Por medidas de segurança você só pode utilizar este comando em " .. (getPlayerStorageValue(cid, 1020)-os.time()+(2)) .. " segundos.")

return TRUE

end

 

if isPremium(cid) == TRUE then

if getPlayerStorageValue(cid,1020) < 5 then

if getPlayerLevel(cid) >= 330 then 

setPlayerStorageValue(cid,1020,getPlayerResets(cid)+1)

doPlayerPopupFYI(cid,"You now was reset, you have "..getResets(cid)+(1).." reset\'s.")

doRemoveCreature(cid) 

db.query("UPDATE `players` SET `level` = "..config.RemainingLvl..", `experience` = "..config.exper.." WHERE `id` = "..config.pid) 

db.query("UPDATE `players` SET `resets` = `resets` + 1 WHERE `id` = "..config.pid)

else 

doPlayerSendCancel(cid,"Você precisa ter level 330 ou mais para poder resetar.") 

end 

end

end

return true

end

------

Presisa arrumar ele por que tipo, quando eu largo o comando antes do lvl 330 ele pede o level 330 certin pra resetar, ai quando eu passo do 330 nao funciona mais.....

Oque eu presisaria de quando chegar lvl 330 resetar ele deslogar e contar na descrição e na database entendeu?

Link para o post
Compartilhar em outros sites
Em 15/12/2022 em 02:11, Carpes Jhon disse:

.Qual servidor ou website você utiliza como base? 

 

Qual o motivo deste tópico? 

 

Está surgindo algum erro? Se sim coloque-o aqui. 

 

Você tem o código disponível? Se tiver publique-o aqui: 

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

 

amigo, comente a versão do seu TFS, pois se for 0.x o script é de uma forma, se for 1.x é de outra

Link para o post
Compartilhar em outros sites
1 hora atrás, Carpes Jhon disse:

Tfs 1.3.10 

 

Só confirmar.. Seu sistema de resets é por storage ou por uma coluna na tabela "players" em sua database?
Em seu script ele pega valor de Storage e ao mesmo tempo faz atualização na tabela players da sua database, pode ser isso que esteja causando erros..
No caso, valores de storage IDs não é a mesma coisa que uma coluna na tabela "players", pois storages possuem sua própria tabela "player_storages" por isso está causando o erro, ou um deles..

 

Editado por DiigooMix (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
1 hora atrás, DiigooMix disse:

 

Só confirmar.. Seu sistema de resets é por storage ou por uma coluna na tabela "players" em sua database?
Em seu script ele pega valor de Storage e ao mesmo tempo faz atualização na tabela players da sua database, pode ser isso que esteja causando erros..
No caso, valores de storage IDs não é a mesma coisa que uma coluna na tabela "players", pois storages possuem sua própria tabela "player_storages" por isso está causando o erro, ou um deles..

 

Storage, a database le a descrição quando o personagem e deslogado ao resetar, e quando loga novamente aparece voce tem agora 2 resets 

Link para o post
Compartilhar em outros sites
51 minutos atrás, Carpes Jhon disse:

Storage, a database le a descrição quando o personagem e deslogado ao resetar, e quando loga novamente aparece voce tem agora 2 resets 

 

Entedi, testa esse script, eu criei baseado nas informações do seu:

Citar

function onSay(cid, words, param, channel)
	
local player = Player(cid)
local resets = player:getStorageValue(1020)

local config = {
	ResetNewLevel = 8,
	ResetNewXP = 4200,
	Pid = player:getGuid()
}

	
	if ((player:getCondition(CONDITION_INFIGHT, CONDITIONID_DEFAULT)) or (player:isPzLocked())) then
        player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You can't use it in battle.")
        return false
    end
	
	if player:getPremiumDays() >= 1 then
		if player:getLevel() >= 330 then
			if player:getStorageValue(resets) < 0 then
				player:setStorageValue(resets, 0)
			end
			
			if player:getStorageValue(resets) >= 0 then
				player:setPlayerStorageValue(resets, (resets) + 1)
				player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Congratulations! Your character has been reseted. Now you have " .. resets .. " resets.")
				db.query("UPDATE `players` SET `level` = "..config.ResetNewLevel..", `experience` = "..config.ResetNewXP..", `resets` = ".. ((resets) + 1) .. " WHERE `id` = "..config.Pid)
				player:remove()
			end
		else
			player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "The reset system needs 330+ level.")
		end
	else
		player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You need a premium account to use this system.")
	end
return true
end

 

 

Editado por DiigooMix (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
local config = {
    onlyPremium = true,
    requiredLevel = 330,
    newLevel = 8,
    newExp = 4200,
}

function onSay(cid, words, param, channel)
    local player = Player(cid)
    local resets = player:getStorageValue(1020)

    if ((player:getCondition(CONDITION_INFIGHT, CONDITIONID_DEFAULT)) or (player:isPzLocked())) then
        player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You cannot be in battle, please go to some protected zone.")
        return false
    end

    if ((config.onlyPremium) and (player:getPremiumDays() >= 1)) then
        if player:getLevel() >= config.requiredLevel then
            if player:getStorageValue(resets) < 0 then
                player:setStorageValue(resets, 0)
            end
            if player:getStorageValue(resets) >= 0 then
                player:setPlayerStorageValue(resets, (resets) + 1)
                player:sendTextMessage(MESSAGE_EVENT_ADVANCE,
                    "Congratulations! Your character has been reseted. Now you have " .. resets .. " resets.")
                db.query("UPDATE `players` SET `level` = " ..
                    config.newLevel ..
                    ", `experience` = " ..
                    config.newExp .. ", `resets` = " .. ((resets) + 1) .. " WHERE `id` = " .. player:getGuid())
                player:remove()
            end
        else
            player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You need to be level " .. config.requiredLevel ..
                " or higher.")
        end
    else
        player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You need to be premium account.")
    end

    return true
end

 

Editado por Anderson Sacani (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

aparece nada na tela do personagem e na distro isso 

Capturar1223.PNG

18 minutos atrás, Anderson Sacani disse:

local config = {
    onlyPremium = true,
    requiredLevel = 330,
    newLevel = 8,
    newExp = 4200,
}

function onSay(cid, words, param, channel)
    local player = Player(cid)
    local resets = player:getStorageValue(1020)

    if ((player:getCondition(CONDITION_INFIGHT, CONDITIONID_DEFAULT)) or (player:isPzLocked())) then
        player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You cannot be in battle, please go to some protected zone.")
        return false
    end

    if ((config.onlyPremium) and (player:getPremiumDays() >= 1)) then
        if player:getLevel() >= config.requiredLevel then
            if player:getStorageValue(resets) < 0 then
                player:setStorageValue(resets, 0)
            end
            if player:getStorageValue(resets) >= 0 then
                player:setPlayerStorageValue(resets, (resets) + 1)
                player:sendTextMessage(MESSAGE_EVENT_ADVANCE,
                    "Congratulations! Your character has been reseted. Now you have " .. resets .. " resets.")
                db.query("UPDATE `players` SET `level` = " ..
                    config.newLevel ..
                    ", `experience` = " ..
                    config.newExp .. ", `resets` = " .. ((resets) + 1) .. " WHERE `id` = " .. player:getGuid())
                player:remove()
            end
        else
            player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You need to be level " .. config.requiredLevel ..
                " or higher.")
        end
    else
        player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You need to be premium account.")
    end

    return true
end

 

aparece isso na distro 

Capturar321.PNG

Link para o post
Compartilhar em outros sites
19 minutos atrás, Carpes Jhon disse:

aparece nada na tela do personagem e na distro isso 

Capturar1223.PNG

aparece isso na distro 

Capturar321.PNG

 

Desculpe, foi erro meu de digitação

 

Na linha 23, altere:

player:setPlayerStorageValue(resets, (resets) + 1)

para:

player:setStorageValue(resets, (resets) + 1)

Editado por DiigooMix (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Solução
local config = {
    onlyPremium = true,
    requiredLevel = 330,
    newLevel = 8,
    newExp = 4200,
}

function onSay(player, words, param)
    local resets = player:getStorageValue(1020)

    if ((player:getCondition(CONDITION_INFIGHT, CONDITIONID_DEFAULT)) or (player:isPzLocked())) then
        player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You cannot be in battle, please go to some protected zone.")
        return false
    end

    if ((config.onlyPremium) and (player:getPremiumDays() >= 1)) then
        if player:getLevel() >= config.requiredLevel then
            if player:getStorageValue(resets) < 0 then
                player:setStorageValue(resets, 0)
            end
            if player:getStorageValue(resets) >= 0 then
                player:setStorageValue(resets, (resets) + 1)
                player:sendTextMessage(MESSAGE_EVENT_ADVANCE,
                    "Congratulations! Your character has been reseted. Now you have " .. resets .. " resets.")
                db.query("UPDATE `players` SET `level` = " ..
                    config.newLevel ..
                    ", `experience` = " ..
                    config.newExp .. ", `resets` = " .. ((resets) + 1) .. " WHERE `id` = " .. player:getGuid())
                player:remove()
            end
        else
            player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You need to be level " .. config.requiredLevel ..
                " or higher.")
        end
    else
        player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You need to be premium account.")
    end

    return true
end

 

Link para o post
Compartilhar em outros sites
Em 18/12/2022 em 11:47, DiigooMix disse:

 

Desculpe, foi erro meu de digitação

 

Na linha 23, altere:

player:setPlayerStorageValue(resets, (resets) + 1)

para:

player:setStorageValue(resets, (resets) + 1)

ele so esta deslogando e logando nao esta resetando

alguem poderia me ajudar no discord ou por outra forma a montar esse script estou a dias a procura obrigado. (JHON#3101) DC

Link para o post
Compartilhar em outros sites
  • 4 weeks later...

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 LasseXeterno
      Então, estou tentando adicionar uma nova "race" no meu Ot de base Cyan, tentei seguir 3 tutoriais aqui do tibiaking, um sobre race, porém nos códigos do meu servidor não tem o constant.h e nem o monster.cpp. E o outro tutorial, eu fiz tudo que ele pediu e quando entrei no game para testar, funcionava os golpes e as imunidades, porém não aparecia o número do dano e nem a cor.  Usei esse tutorial como base: 
      Pois ele é derivado. E o outro tutorial que usei foi: 
      Porém nesse, não consegui achar a const.h, e quando fui nos arquivos do creaturescript e adicionei uma cor nova a "COLOR_FAIRY", quando abro o jogo, os pokemons que seriam teoricamente "fada", o que eu usei de teste foi a Clefable. A Clefable tomava IK e dava IK no seu atk do tipo fada. 
      Além de que, o meu erro principal é esse: Warning - Monsters::loadMonster] Unknown race type fairy. (data/monster/pokes/geracao 1/Clefable.xml)
       Pois como eu já disse, não consigo achar onde adicionar uma nova race.

    • Por yuriowns
      Salve rapazes, tranquilo? Preciso de ajuda pra colocar para os npc's que vendem pots verificarem quantos itens possuem no tile em que o player está e se tiver com +80 itens no sqm, o npc avisa e não vende nada até o player ir em um sqm com menos de 80 itens no chão.
       
    • Por A.Mokk
      .Qual servidor ou website você utiliza como base? 
      TFS 0.4
      Qual o motivo deste tópico? 
      Bom pessoal, a algumas semanas atras eu joguei um servidor que havia sistema de imbuimento sendo 8.60, no servidor se utilizava a spellwand para encantar as armas, os comandos eram dado no canal Imbuiment... Gostaria de saber se alguém teria como disponibilizar algum sistema de imbuimento, já procurei pra caramba aqui no fórum mas tudo que encontro é pra versões acima da que eu uso.
       
    • Por Mateus Robeerto
      Não sei se aqui é a área ou algum local para solicitar a alteração do email antigo... Não lembro mais a senha dele, nem a resposta secreta para acessar. Peço a algum administrador ou moderador para, por favor, alterar o email para o novo.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo