Ir para conteúdo

Featured Replies

Postado

Me faça uma tabela exemplo, com 3 linhas, xp atual, numero do reset e level do player, entende? Para eu entender melhor como você quer o stage.

Programador PHP, Lua, Java, database administrator.

 

"Nada é verdade, tudo é permitido."

Requiescat in pace.

  • Respostas 11
  • Visualizações 777
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Perdão, mas não irei te ajudar considerando isso:     Estamos em um fórum, uma comunidade, e tudo postado aqui deve ser aberto ao público, mesmo que você não queira que divulguem por

Posted Images

Postado
  • Autor
3 minutos atrás, Nazo disse:

Me faça uma tabela exemplo, com 3 linhas, xp atual, numero do reset e level do player, entende? Para eu entender melhor como você quer o stage.

Não tem como eu te falar o EXP atual que o player vai resetar, pois ele pode querer resetar level 4k, 5k,6k e assim vai, porque quanto mais alto o level melhor... pois o script só reseta o level do player... Mas se tiver pra por só assim no script 1 reset , já diminuia 20% de exp do player NÃO IMPORTA O LEVEL QUE ELE está, ou sei lá uma forma de checar o level... 2 RESET, 20% DO primeiro RESET E MAIS 20% DO SEGUNDO, DANO O TOTAL DE 40% A MENOS DE EXP... mais tudo isso séria editado...Não sei como explicar bem vey :s, mas se você já tiver sacado mais ou menos pode fazer como você bem entender, que super vou apoiar... o importante é que diminua a EXP a cada reset.... para ir ficando mais dificil 

 

--[[( Marcryzius D'evil )]]--
function onSay(cid, words, param)
local C ={
    level = 8, -- LVL need to first reset.
    RemainingLvl = 8, --LVL that will remain after reset.
    pid = getPlayerGUID(cid), -- not fuse.
    stages = 3, -- resets needed to add more tier levels.
    nivel = 2, -- more to add per reset stage.
    skull = "yes", --players with white skull can reset? ("yes" or "no").
    redskull = "yes", -- players with red skull can reset? ("yes" or "no").
    prot = "no", --needs to be in a protected area? ("yes" or "no").
    bat = "no" --not battler to reset? ("yes" or "no").
}
function getResets(cid) return getPlayerStorageValue(cid,1020) < 0 and 0 or getPlayerStorageValue(cid,1020)end
 
    if(C.skull == "no") and (getCreatureSkullType(cid) == 3) then
        doPlayerSendTextMessage(cid,22,"Only players without white skull can reset.")
    elseif(C.redskull == "no") and (getCreatureSkullType(cid) == 4) then
        doPlayerSendTextMessage(cid,22,"Only players without red skull can reset.")
    elseif(C.prot == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then
        doPlayerSendTextMessage(cid,22,"you need to be in a protected zone so I can reset.")
    elseif(C.bat == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then
        doPlayerSendTextMessage(cid,22,"you must be without battler so I can reset.")
    else
    local get = math.floor(getResets(cid)/C.stages)
        if(getPlayerLevel(cid) >= (get*C.nivel)+C.level)then
            setPlayerStorageValue(cid,1020,getResets(cid)+1)
            doPlayerPopupFYI(cid,"you now was reset, you have "..getResets(cid).." reset\'s.")
            doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
            doRemoveCreature(cid)
            db.executeQuery("UPDATE `players` SET `level` = "..C.RemainingLvl..", `experience` = "..getExperienceForLevel(C.RemainingLvl).." WHERE `id` = "..C.pid)
        else
            doPlayerSendCancel(cid, "You need to have level "..(get*C.nivel)+C.level.." or more you may be reset.")
            doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
        end
    end
    return TRUE
end

Encontrei esse script, que tem uma forma de checar a stage do player.... ou o nivel sei lá kkk ver se tu entende, não manjo nada de script :s

Postado

Eu não consegui entender o que você está pedindo, pq segundo o script que você mostrou, o player sempre fica com 2254834200 de xp (xp do level 8), como está na linha a seguir, então não faria sentido ele perder mais xp

	level_multiply = 2254834200, -- Exp para o Level 8 (Consulte na Tabela a Quantidade para Level Desejado)

 

Programador PHP, Lua, Java, database administrator.

 

"Nada é verdade, tudo é permitido."

Requiescat in pace.

Postado
  • Autor
2 minutos atrás, Nazo disse:

Eu não consegui entender o que você está pedindo, pq segundo o script que você mostrou, o player sempre fica com 2254834200 de xp (xp do level 8), como está na linha a seguir, então não faria sentido ele perder mais xp


	level_multiply = 2254834200, -- Exp para o Level 8 (Consulte na Tabela a Quantidade para Level Desejado)

 

Meu amigo, esse é o level que ele volta ao resetar, ele sempre vai voltar pra esse level... Mas estou querendo que a cada reset fique mais dificil de upar entendeu ?, oque eu quero é deixar mais dificil de upar a cada reset :s apenas isso

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

Postado

Ahhh, agora ficou mais prático de entender xd

 

Vê se funciona, se seu tfs for 1.x é provável que sim.

 

TAG XML em creaturescripts:
 

<event type="kill" name="resetStages" event="script" value="resetstages.lua"/>

 

No creaturescripts/scripts/login.lua:

player:registerEvent("resetStages")

 

Em creaturescripts/scripts/ crie o resetstages.lua e coloque o seguinte conteúdo:

-- by Nazo (tibiaking.com)

config = {
	storage = 12129 -- storage dos resets
}

function onKill(cid, target, lastHit)
	
	if(getPlayerStorageValue(cid,config.storage) >= 1)then
		local monster = Monster(target)
		if not monster then
			return true
		end

		for id, damage in pairs(monster:getDamageMap()) do
			local player = Player(id)
			if(player)then
				local experience = damage.total / monster:getType():getHealth() * monster:getType():getExperience()
				local expFormula = -((experience * Game.getExperienceStage(player:getLevel())) / 100)
				if(getPlayerStorageValue(cid, config.storage) < 10) then
					expFormula = expFormula * getPlayerStorageValue(cid, config.storage)*10
				else
					expFormula = expFormula * 90
				end
				player:addExperience(math.floor(expFormula), true)
			end
		end
	end

	return true
end

 

 

O que acontece aqui, é que o script pega o número de resets do players, multiplica por 10 e tira de porcentagem no monstro morto, exemplo:

Tenho 5 resets, matei um monstro que dá 100 de xp, o script multiplica meus resets por 10 (que dá 50) e tira de porcentagem da xp, assim eu ganharia 50 de xp, invés de 100.

Caso eu tenha 10 ou mais resets, eu ganho 10% da xp real do monstro apenas.

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

Programador PHP, Lua, Java, database administrator.

 

"Nada é verdade, tudo é permitido."

Requiescat in pace.

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo