Jump to content
Close

Recommended Posts

Eu usava um sistema parecido com esse no 7.6...

Ta muito foda! Parabéns!



# Regras Gerais - TibiaKing.com #
Contato: augusto@tibiaking.com
Não respondo dúvidas via MP.


1C2tu.png4Tlqo.png1C2tu.png


 

Share this post


Link to post
Share on other sites

Fiz essa talk pro sistema a um tempo, não sabia como funcionava o getPlayerGUID, arrumei o script:


function onSay(cid, words, param)

	local pid = getPlayerGUID(cid)

	config = {

		RemainingLvl = 8,

		exp = 4200,

		level = 350,

		redskull = true,

		battle = true,

		pz = true

	}

	if(t.redskull == true) and (getCreatureSkullType(cid) == 4) then

		return doPlayerSendTextMessage(cid, 22, "Apenas player sem red skull podem resetar.")

	end


	if(t.pz == true) and (getTilePzInfo(getCreaturePosition(cid)) == false) then

		return doPlayerSendTextMessage(cid, 22, "Você precisa estar em protection zone pra poder resetar.")

	end


	if(t.battle == true) and (getCreatureCondition(cid, CONDITION_INFIGHT) == true) then

		return doPlayerSendTextMessage(cid, 22, "Você precisa estar sem battle pra poder resetar.")

	end


	if getPlayerLevel(cid) >= t.level then

		setResets(cid, 1)

		doRemoveCreature(cid, true)

		db.executeQuery("UPDATE `players` SET `level` = "..t.RemainingLvl..", `experience` = "..t.exp.." WHERE `id` = "..pid)

	else

		doPlayerSendCancel(cid, "Você precisa do level "..t.level.." ou mais para resetar.")

		doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

	end

	return true

end

Fiz um por stages também
^^


config = {

	RemainingLvl = 8,

	exp = 4200,

	redskull = true,

	battle = true,

	pz = true

}


stages = {

	{resets = 4, level = 350},

	{resets = 9, level = 400}

}

function onSay(cid, words, param)

	local pid = getPlayerGUID(cid)

	if(config.redskull) and (getCreatureSkullType(cid) == 4) then

		return doPlayerSendTextMessage(cid, 22, "Apenas player sem red skull podem resetar.")

	end


	if(config.pz) and (not getTilePzInfo(getCreaturePosition(cid))) then

		return doPlayerSendTextMessage(cid, 22, "Você precisa estar em protection zone pra poder resetar.")

	end


	if(config.battle) and (getCreatureCondition(cid, CONDITION_INFIGHT)) then

		return doPlayerSendTextMessage(cid, 22, "Você precisa estar sem battle pra poder resetar.")

	end


	for _, stage in ipairs(stages) do

		if getResets(cid) <= stage.resets then

			if getPlayerLevel(cid) >= stage.level then

				setResets(cid, 1)

				doRemoveCreature(cid, true)

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

				else

				doPlayerSendCancel(cid, "Você precisa do level "..stage.level.." ou mais para resetar.")

				doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

			end

		end

	end

	return true

end


Edited by fireelement (see edit history)

"É muito melhor arriscar coisas grandiosas, alcançar triunfos e glórias, mesmo expondo-se a derrota, do que formar fila com os pobres de espírito que nem gozam muito nem sofrem muito, porque vivem nessa penumbra cinzenta que não conhece vitória nem derrota." Theodore Roosevelt

Share this post


Link to post
Share on other sites

REP+

Sempre bom ve alguma coisa mais "inteligente" muito bem feita :D rsrs.

Amo Source.



Donate

 

Share this post


Link to post
Share on other sites

Tem algum problema si eu pular a parte do Luascript.cpp e colocar as functions direto na lib do servidor porque aqui deu erro na hora de compila.

Eu coloquei essas aqui ó.


function getResets(cid)

    local pid = getPlayerGUID(cid)

    local qr = db.getResult("SELECT `resets` FROM `players` WHERE `id`= "..pid..";")

        rss = qr:getDataInt("resets", pid)

    if rss < 0 then

        rss = 0

    end

        return rss

end

function setResets(cid, amount)


local acc = getPlayerAccountId(cid)

local resets = getResets(cid)


if isCreature(cid) then

doRemoveCreature(cid)

end


db.executeQuery("UPDATE `players` SET `resets` = ".. resets + amount .." WHERE `id` = " .. acc .. ";")

end

2174 D:\Users\Desktop\Entw\Ot Entwickeln\Sources\luascript.cpp 'luaGetResets' is not a member of 'LuaInterface'

2177 D:\Users\Desktop\Entw\Ot Entwickeln\Sources\luascript.cpp 'luaSetResets' is not a member of 'LuaInterface'

2177 D:\Users\Desktop\Entw\Ot Entwickeln\Sources\luascript.cpp At global scope:

9035 D:\Users\Desktop\Entw\Ot Entwickeln\Sources\luascript.cpp no 'int32_t LuaInterface::luaGetResets(lua_State*)' member function declared in class 'LuaInterface'

9049 D:\Users\Desktop\Entw\Ot Entwickeln\Sources\luascript.cpp no 'int32_t LuaInterface::luaSetResets(lua_State*)' member function declared in class 'LuaInterface'

9049 D:\Users\Desktop\Entw\Ot Entwickeln\Sources\luascript.cpp *** [obj//luascript.o] Error 1


Edited by Beyond Sky
Functios (see edit history)


Medalhas:
1, 2

Qo5DnNn.png

stonedshowoff2_zpsf5409854.png

Share this post


Link to post
Share on other sites

Funciona??



MSN: Daniel_devotti@live.com

Skype: Daniel-041

logo.png

Share this post


Link to post
Share on other sites

Desculpa reviver o tópico, mas como funciona? ele reseta os chares, mas deixa os itens e a conta?



horizontallogowhite1.png

Share this post


Link to post
Share on other sites

Desculpa reviver o tópico, mas como funciona? ele reseta os chares, mas deixa os itens e a conta?

Volta o player pro level 8, o resto mantém.


Edited by fireelement (see edit history)

"É muito melhor arriscar coisas grandiosas, alcançar triunfos e glórias, mesmo expondo-se a derrota, do que formar fila com os pobres de espírito que nem gozam muito nem sofrem muito, porque vivem nessa penumbra cinzenta que não conhece vitória nem derrota." Theodore Roosevelt

Share this post


Link to post
Share on other sites

Volta o player pro level 8, o resto mantém.

 

Obrigado e interessante.. E a skills, magic.. reseta não?



horizontallogowhite1.png

Share this post


Link to post
Share on other sites

boa noite pessoal, não sei se ainda tem suporte esse sistema só que comigo deu o seguinte erro, na hora de compilar o servidor tudo 100%

tabela criada no mysql tudo certo, só que quando alguem entra no servidor aparece isso 

error during getDataint<resets>

o player reseto volto no lvl 8 mas nao adicionou um novo reset no look

 

olhem na imagem 

 

 

post-88794-0-80091600-1424308663_thumb.p


Share this post


Link to post
Share on other sites

boa noite pessoal, não sei se ainda tem suporte esse sistema só que comigo deu o seguinte erro, na hora de compilar o servidor tudo 100%

tabela criada no mysql tudo certo, só que quando alguem entra no servidor aparece isso 

error during getDataint<resets>

o player reseto volto no lvl 8 mas nao adicionou um novo reset no look

 

olhem na imagem 

MySQL

ALTER TABLE `players` ADD `resets` INT(11) NOT NULL DEFAULT "0";

SQLite

ALTER TABLE players ADD resets INTEGER not null default 0


"É muito melhor arriscar coisas grandiosas, alcançar triunfos e glórias, mesmo expondo-se a derrota, do que formar fila com os pobres de espírito que nem gozam muito nem sofrem muito, porque vivem nessa penumbra cinzenta que não conhece vitória nem derrota." Theodore Roosevelt

Share this post


Link to post
Share on other sites

ja tinha feito e fiz novamento a alteração na db, mas continua o mesmo erro, quando alguem loga

error during getDataint<resets>

minha tfs 

trunk.r3884 SVN 0.4

 


Share this post


Link to post
Share on other sites

ja tinha feito e fiz novamento a alteração na db, mas continua o mesmo erro, quando alguem loga

error during getDataint<resets>

minha tfs 

Amigo, você provavelmente errou em algo na hora da alteração das sources,

Siga os procedimentos do tfs 0.3.6, pois a versão 0.4 está acima da sua...

Teste recompilar e seguir passa por passo, garanto que irá dar certo.

 

Abraço!



Atenciosamente,

Bruno Minervino

 

Tibia Clients - Downloads Windows & Linux

Share this post


Link to post
Share on other sites

demoro vou testar aqui, onde arrumo uma tfs 0.3.6 ?

http://www.tibiaking.com/forum/topic/8055-860-the-lost-server/



"É muito melhor arriscar coisas grandiosas, alcançar triunfos e glórias, mesmo expondo-se a derrota, do que formar fila com os pobres de espírito que nem gozam muito nem sofrem muito, porque vivem nessa penumbra cinzenta que não conhece vitória nem derrota." Theodore Roosevelt

Share this post


Link to post
Share on other sites

bom pessoal, se alguém ainda estiver usando o sistema ou forem querer usar, vou deixar aqui que quando voce da look em voce mesmo nao aparece os reset nem o level, so quando da look em outra pessoa aparece, bom estudando o arquivo abaixa vai ter como aparecer o reset voce dando look em si proprio

 

Adicione nas source

 

player.cpp
procure por: 

s << "yourself.";

substitua por:

s << "yourself (Level " << level << ") [Reset " << resets << "]";

Compile e funcionando 


15:36 You see yourself (Level 350) [Reset 1] You are a druid.

Edited by markmv (see edit history)

Share this post


Link to post
Share on other sites

Pra quem quiser o sistema com stages:

local config = {
    backToLevel = 8,
    redskull = false,
    battle = true,
    pz = false,
    stages = {
        {resets = 4, level = 350},
        {resets = 9, level = 355},
        {resets = 14, level = 360},
        {resets = 19, level = 365},
        {resets = 24, level = 380},
        {resets = 29, level = 390},
        {resets = 34, level = 410},
        {resets = 39, level = 430},
        {resets = 44, level = 450}
    }
}

function onSay(cid, words, param)
    if config.redskull and getCreatureSkullType(cid) == 4 then
        return doPlayerSendCancel(cid, "Voce precisa estar sem red skull para resetar.")
    elseif config.pz and not getTilePzInfo(getCreaturePosition(cid)) then
        return doPlayerSendCancel(cid, "Voce precisa estar em protection zone para resetar.")
    elseif config.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then
        return doPlayerSendCancel(cid, "Voce precisa estar sem battle para resetar.")
    end

    local resetLevel = 0
    for x, y in ipairs(config.stages) do
        if getResets(cid) <= y.resets then
            resetLevel = y.level
            break
        end
    end

    if getPlayerLevel(cid) < resetLevel then
        return doPlayerSendCancel(cid, "Voce precisa do level " .. resetLevel .. " ou mais para resetar.")
    end

    setResets(cid, 1)
    local guid = getPlayerGUID(cid)
    doRemoveCreature(cid, true)
    db.executeQuery("UPDATE `players` SET `level` = " .. config.backToLevel .. ", `experience` = " .. getExperienceForLevel(config.backToLevel) .. " WHERE `id` = " .. guid)
    return true
end

Edited by fireelement (see edit history)

"É muito melhor arriscar coisas grandiosas, alcançar triunfos e glórias, mesmo expondo-se a derrota, do que formar fila com os pobres de espírito que nem gozam muito nem sofrem muito, porque vivem nessa penumbra cinzenta que não conhece vitória nem derrota." Theodore Roosevelt

Share this post


Link to post
Share on other sites

Fala Fire, testei aqui e ta funcionando esse talk seu, só os stages não ta indo em. Compilei o sistema de reset em um 0.3.7 protocolo 10.10 funcionando 100%

so o stages nao ta pegando e quando o char reset da esse ero na distro, mas acho que nao altera em nada

 

http://prntscr.com/6hvv3b


Share this post


Link to post
Share on other sites

Fala Fire, testei aqui e ta funcionando esse talk seu, só os stages não ta indo em. Compilei o sistema de reset em um 0.3.7 protocolo 10.10 funcionando 100%

so o stages nao ta pegando e quando o char reset da esse ero na distro, mas acho que nao altera em nada

 

http://prntscr.com/6hvv3b

cara já tentei 3 tipos de loop e até hj n entendi pq dá esse erro aehueahu



"É muito melhor arriscar coisas grandiosas, alcançar triunfos e glórias, mesmo expondo-se a derrota, do que formar fila com os pobres de espírito que nem gozam muito nem sofrem muito, porque vivem nessa penumbra cinzenta que não conhece vitória nem derrota." Theodore Roosevelt

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia partindo do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer publicidade para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução! A publicação do seu anuncio é instantânea!

×
×
  • Create New...