Ir para conteúdo
  • Cadastre-se

[PEDIDO] Script XP extra TFS 1.0


Posts Recomendados

Ola, é possível fazer um script pra quem é premium scroll xp extra umas x porcentagem?

tipo xp extra pra premium scroll tfs que to usando é 1.0

 

ah e tambem um comando de bless.. receber todas as bless até de pvp.

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

Eh sim, soh requer um tempinho, rsrs. Se ngm te ajudar até hj de noite, me manda pm pra voltar aqui q eu vejo o q faço.

Te ajudei?? REP + e ficamos quites... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

Link para o post
Compartilhar em outros sites

Amigo vc quer xp extra para donates, e se a vip de um player acabar ele voltar pro templo isso?

Scripter: |||||||||| 10%

 

 

Te ajudei?? REP + e ficamos quites...  ;D

 

Atenciosamente,

                   Lucas.

Abraços!

Link para o post
Compartilhar em outros sites

sim é isso. para tfs 1.0

Será que tem !bless para pvp?

 

tenho esse comando aqui

 

function onSay(cid, words, param)
local p = Player(cid)
local cost = getBlessingsCost(getPlayerLevel(cid))
if(not(isPlayerPzLocked(cid))) then
if(p:hasBlessing(1) and p:hasBlessing(2) and p:hasBlessing(3) and p:hasBlessing(4) and p:hasBlessing(5)) then
p:sendCancelMessage("You have already been blessed by the gods.")
return false
end
if(p:removeMoney(cost)) then
for b = 1,5 do
p:addBlessing(b)
end
p:getPosition():sendMagicEffect(CONST_ME_HOLYAREA)
p:sendTextMessage(MESSAGE_INFO_DESCR, "You have been blessed by the 5 gods!")
else
p:sendCancelMessage("You need "..cost.." gold coins to buy all 5 bless.")
end
else
p:sendCancelMessage("You can't buy bless, when you are in a battle.")
end
return false
end
 
ou
 
-- !blessing by artofwork
local bless = {1, 2, 3, 4, 5}
local cost = 35000
local maxlevel = 50000
 
function onSay(cid, words, param)
local lvl = getPlayerLevel(cid)
local new_cost = 35000
local target = getPlayerGUID(cid)
 
 
        for i = 1, table.maxn(bless) do
                if(getPlayerBlessing(cid, bless)) then
                        doPlayerSendCancel(cid, "You have all the blessings.")
                        return TRUE
                end
        end
        
        if (getPlayerLevel(cid) >= maxlevel)  then
                if(doPlayerRemoveMoney(cid, new_cost) == TRUE) then
                        for i = 1, table.maxn(bless) do
                        doPlayerAddBlessing(cid, bless)
end
                        doPlayerSendTextMessage(cid,18,"You have bought all bless.")
                else
                doPlayerPopupFYI(cid, "You need "..cost.." gps to buy all blessings")
                end
        
        elseif(getPlayerLevel(cid) < maxlevel) then
                if(doPlayerRemoveMoney(cid, cost) == TRUE) then
                        for i = 1, table.maxn(bless) do
                        doPlayerAddBlessing(cid, bless)
                        end
                        doPlayerSendTextMessage(cid,18,"You have bought all bless")
                else
                doPlayerPopupFYI(cid, "You need "..cost.." gps to buy all blessings")
                end
        end
        return FALSE
end
Link para o post
Compartilhar em outros sites

Passa o teu script de vip... Amigo sei fazer assim...  Ao logar confere se o player tem tal storage... se sim de a ele Exp rate bonus... se não tiver defina exp rate em 1 .... A parte de telar pro templo eu não sei fazer... :) então o player só vai ganhar/perder a exp rate AO LOGAR.

Scripter: |||||||||| 10%

 

 

Te ajudei?? REP + e ficamos quites...  ;D

 

Atenciosamente,

                   Lucas.

Abraços!

Link para o post
Compartilhar em outros sites

@llucas75 eu tenho um script para quando a vip acabar teleportar o player para o templo,ve se você consegue adaptar para vip dele :

function onLogin(cid)
	local temple = { x =32369, y = 32246, z = 7}
	if vip.hasVip(cid) == true then
		if getPlayerStorageValue(cid,55555) ~= 1 then
			setPlayerStorageValue(cid,55555,1)
		end
	else
		if getPlayerStorageValue(cid,55555) == 1 then
			doTeleportThing(cid, temple)
			doPlayerSendTextMessage(cid, 22, "Your VIP Time over!")
			db.executeQuery("UPDATE `accounts` SET `vip_time` = 0 WHERE `id` = ".. getAccountIdByName(getPlayerName(cid)) ..";")
			setPlayerPromotionLevel(cid, 1)
			setPlayerStorageValue(cid, 55555, 0)
		end
	end
	return true
end
Link para o post
Compartilhar em outros sites

Mas então é função onlogin também creio que ele quer que o cara ta tipo la na hunt... ae do nada ele seja teleportado pro templo com a mensagem sua vip terminou...

Scripter: |||||||||| 10%

 

 

Te ajudei?? REP + e ficamos quites...  ;D

 

Atenciosamente,

                   Lucas.

Abraços!

Link para o post
Compartilhar em outros sites

Então tenta usar esse aqui :

"data/creaturescripts/scripts/fimpremium.lua" :

function onLogin(cid)
registerCreatureEvent(cid,"FimPremium")
local pos = {x = 123, y = 123, z = 7}
if isPremium(cid) then
setPlayerStorageValue(cid, 9899, 1)
elseif getPlayerStorageValue(cid, 9899) == 1 and not isPremium(cid) then
doTeleportThing(cid, pos)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You premium is Over!")
setPlayerStorageValue(cid, 9899, -1)
end
return TRUE
end

"data/creaturescripts/creaturescripts.xml" :

<event type="login" name="FimPremium" event="script" value="fimpremium.lua"/>

"data/creaturescripts/scripts/login.lua" depois do ultimo register adicione isso :

 registerCreatureEvent(cid, "FimPremium")

 

local pos = {x = 123, y = 123, z = 7}

Coordenadas do templo.

Link para o post
Compartilhar em outros sites

Efim aina é posição onlogin 

 

premiumrate.lua

 

function onLogin(cid)


local exprateb = 2 --exp rate em vezes.... por exemplo 2 é 2x a normal... e assim vai... 0.7 = 70% 0.3 = 30%
local expratei = 1 --exp rate normal não mecha
local texto = "Voce ganhou 100% de bonus exp por ser premium" --texto que sera mostrado se for premiun
local temple = { x =32369, y = 32246, z = 7} --Posição do seu templo

if isPremium(cid) == true then
setPlayerStorageValue(cid, 9899, 1)
doPlayerSetExperienceRate(cid, exprateb)
doPlayerSendTextMessage(cid,22,texto)
elseif getPlayerStorageValue(cid, 9899) == 1 and isPremium(cid) == false then
doPlayerSetExperienceRate(cid, expratei)
doTeleportThing(cid, templo)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You premium is Over!")
setPlayerStorageValue(cid, 9899, -1)
else
doPlayerSetExperienceRate(cid, expratei)

end
return true
end

 

creaturescript.xml

 

<event type="login" name="premiumrate" event="script" value="premiunrate.lua"/>

 

login.lua

 

registerCreatureEvent(cid, "premiumrate")

 

Funciona assim... Player quando loga se for premiun da rate e da uma mensagem...

 

Se ele logar e era premiun e não é mais... tira rate e da uma mensagem... e teleporta pro templo.

 

se ele logar e nunca foi premiun deixa rate em 1 

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

Scripter: |||||||||| 10%

 

 

Te ajudei?? REP + e ficamos quites...  ;D

 

Atenciosamente,

                   Lucas.

Abraços!

Link para o post
Compartilhar em outros sites

Nossa vou testar... mais se o vip acabar e ele fica on, ele é teleportado? 

Acho que o meu da versao 980 nao vai funfar no tfs 1.0

 

Mesmo com a vip no fim ele ficava na vip mais quando o servidor reinicia-se ele iria deslogar entao voltaria pro templo.

 

Mais ai voce tem como fazer também um book de bless pro msmo tfs?

tipo da use no book e ganha todas as bless e que seja infinito.

 

-

tem certeza que esse script funciona para tfs 1.0?

porque eu vi no login.lua

 

atualmente ele usa "player:registerEvent("spawnKill")"

e voce me enviou "registerCreatureEvent(cid, "premiumrate")"

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

O melhor que consegui fazer foi isso .. porem a função setExperienceRate não existe no TFS 1.0 e tbem não achei nada parecido, se alguém puder ajudar ... 

function onLogin(cid)

	local rate = 1.3 -- 30% -- porcentagem de aumento

	local config =
	{
		premium_true = "você tem "..((rate - 1)*100).."% de exp a mais agora!", -- Editar msg de exp extra premium
		premium_false = "Compre seus dias de VIP ACC e dispare no ranking.", -- Editar msg de não ser premium
	}

	local player = Player(cid)

	if isPremium(cid) then
		player:setExperienceRate(rate) -- ????
		-- doPlayerSetExperienceRate(cid, rate)
		player:sendTextMessage(MESSAGE_INFO_DESCR, config.premium_true)
		-- doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.premium_true)
	else
		player:sendTextMessage(MESSAGE_INFO_DESCR, config.premium_false)
		-- doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.premium_false)
	end

	return true
end

Aguardo resposta!

Link para o post
Compartilhar em outros sites

Putz, amigo do livro posso tentar fazer, mas não dou garantia.. já que não sei mecher direito com 1.0 ainda.... E do sistema de exprate não sei se tem na função 1.0 como o luan havia dito...

 

Ta ae, porem não faço a mínima idéia se esta funcional... Se não estiver, espero que alguém mais experiente corrija oque estiver errado para mim aprender também :).

 

bookbless.lua

 

local bless = {1, 2, 3, 4, 5}


local cost = 0
function onUse(cid, item, fromPosition, itemEx, toPosition)
for i = 1, table.maxn(bless) do
if(player:blessing(cid, bless)) then
player:sendCancel(cid, "Voce ja tem todas as bless.")
return TRUE
end
end


for i = 1, table.maxn(bless) do
player:addBlessing(cid, bless)
end
doCreatureSay(cid, "You are now blessed!" ,19)
doSendMagicEffect(player:position(cid), 49)
else
player:sendCancel(cid, "Voce precisa de 80k para a bless.")
return true
end

 

tag

 

actions.xml

 

<action itemid="id do book" script="bookbless.lua"/>

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

Scripter: |||||||||| 10%

 

 

Te ajudei?? REP + e ficamos quites...  ;D

 

Atenciosamente,

                   Lucas.

Abraços!

Link para o post
Compartilhar em outros sites
[Warning - Event::checkScript] Can not load script: scripts/bookbless.lua
data/actions/scripts/bookbless.lua:16: 'end' expected (to close 'function' at line 3) near 'else'
 
Quando dei reload...
 
#Luan
Vou tentar o seu pra ver se pega sei la..
Editado por GlobalCores (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
function onUse(cid, item, fromPosition, itemEx, toPosition)
	
	local player, bless, cost = Player(cid), {1, 2, 3, 4, 5}, 50000
	
	for i = 1, table.maxn(bless) do
		if player:blessing(bless[i]) then
			player:sendTextMessage(MESSAGE_INFO_DESCR, "Voce ja tem todas as bless.")
			return true
		end
	end

	if player:removeMoney(cost) then
		
		for i = 1, table.maxn(bless) do
			player:addBlessing(bless[i])
			return true
		end

		player:sendTextMessage(MESSAGE_INFO_DESCR, "You are now blessed!")
		doSendMagicEffect(player:position(cid), 49)
		player:removeItem(item.uid)
	
	else
		player:sendTextMessage(MESSAGE_INFO_DESCR, "Voce precisa de 80k para a bless.")
	end

	return true
end
Link para o post
Compartilhar em outros sites

Tenta ae

 

local bless = {1, 2, 3, 4, 5}


local cost = 0
function onUse(cid, item, fromPosition, itemEx, toPosition)
for i = 1, table.maxn(bless) do
if(player:blessing(cid, bless)) then
player:sendCancel(cid, "Voce ja tem todas as bless.")
return TRUE
end
end


for i = 1, table.maxn(bless) do
player:addBlessing(cid, bless)
end
doCreatureSay(cid, "You are now blessed!" ,19)
doSendMagicEffect(player:position(cid), 49)
return true
end

Scripter: |||||||||| 10%

 

 

Te ajudei?? REP + e ficamos quites...  ;D

 

Atenciosamente,

                   Lucas.

Abraços!

Link para o post
Compartilhar em outros sites

llucas

data/actions/scripts/bookbless.lua:onUse
data/actions/scripts/bookbless.lua:5: attempt to index global 'player' (a nil value)
stack traceback:
[C]: in function '__index'
data/actions/scripts/bookbless.lua:5: in function <data/actions/scripts/bookbless.lua:3>
 
Luan
Lua Script Error: [Action Interface] 
data/actions/scripts/bookbless.lua:onUse
data/actions/scripts/bookbless.lua:6: attempt to call method 'blessing' (a nil value)
stack traceback:
[C]: in function 'blessing'
data/actions/scripts/bookbless.lua:6: in function <data/actions/scripts/bookbless.lua:1>
 
Lua Script Error: [Action Interface] 
data/actions/scripts/bookbless.lua:onUse
data/actions/scripts/bookbless.lua:6: attempt to call method 'blessing' (a nil value)
stack traceback:
[C]: in function 'blessing'
data/actions/scripts/bookbless.lua:6: in function <data/actions/scripts/bookbless.lua:1>
Link para o post
Compartilhar em outros sites

Tenta agora .. 

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
        
        local player, bless, blesses, cost = Player(cid), {1, 2, 3, 4, 5}, 0, 50000
        
        for _, bless in ipairs(bless) do
                if player:hasBlessing(bless) then
                        blesses = blesses + 1
                end
        end
 
        if blesses ~= #bless then
                player:sendTextMessage(MESSAGE_INFO_DESCR, "Voce ja tem todas as bless.")
                return false
        end
 
        if player:removeMoney(cost) then
                for _, bless in ipairs(bless) do
                        player:addBlessing(bless)
                end
 
                player:sendTextMessage(MESSAGE_INFO_DESCR, "You are now blessed!")
                doSendMagicEffect(player:position(cid), 49)
                player:removeItem(item.uid)
        else
                player:sendTextMessage(MESSAGE_INFO_DESCR, "Voce precisa de "..cost.."gps para a bless.")
        end
 
        return true
end
Link para o post
Compartilhar em outros sites

ué ta dizendo que eu já tenho todas as bless..

eu criei um novo char e dei use e falou que já tinha todas as bless.

 

Sem erros no distro

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo