Ir para conteúdo

Featured Replies

Postado
  • Administrador
Em 15/12/2021 em 07:54, Morg disse:

@HomeJobs Obrigado pelo script, no caso seria para o ammo (slot da flecha) esse item me parece com o blessing amuleto que protege contra red e black skull, me corrija se eu estiver errado. 

Ele verifica se o jogador esta black ou red e caso estiver seta o drop loot para false, para dropar o item mude para true

doCreatureSetDropLoot(cid, FALSE)

Vou deixar aqui uma lista organizada das lua functions até a versão 0.3.6 da TFS pode te ajudar a implementar o sistema.
Espero que te ajude.

 

 

 

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

  • Respostas 21
  • Visualizações 1.8k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • @ApacheBom dia! tenta este por favor, caso não funcione abre um tópico com seu pedido que te ajudo por la! local item_id,amount = 7721,1 function onPrepareDeath(cid, lastHitKiller, mostDamageKill

  • O Item que ele quer creio que seja um item que quando o player morrer mesmo que ele tenha bless ele irá perder 50% a menos doq os demais players que n tem o item, exemplo Toddy tem o item ele vai perd

Postado
Em 14/12/2021 em 22:34, HomeJobs disse:

procure pelo player.lua do seu servidor procure por :


function Player:onLoseExperience(exp) return exp end

E troque essa função por essa.
 


function Player:onLoseExperience(exp) 
  local Amulets = { 
    [ITEMID] = {ExpLossProtection = 0.3, LoseAfter = true} 
    [ITEMID] = {ExpLossProtection = 0, LoseAfter = false}, 
    [ITEMID] = {ExpLossProtection = 1, LoseAfter = true } } 
  local amulet = self:getSlotItem(CONST_SLOT_NECKLACE) 
  	if Amulets[amulet.itemid] then 
    	exp = exp * Amulets[amulet.itemid].ExpLossProtection 
    if Amulets[amulet.itemid].LoseAfter 
      then 
      	charges-1 
    end 
  end 
  return exp 
end

Não sei se o código a cima funciona na tfs 0.4
no entanto é possivel fazer na tfs 0.4
CreatureScript

XML:


<event type="preparedeath" name="blessAmulet" script="script.lua"/>

 


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

function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)
    if (isPlayer(cid) == TRUE) then
        if (getPlayerSlotItem(cid, CONST_SLOT_NECKLACE).itemid == amulet) then
            if (getCreatureSkullType(cid) == SKULL_RED or SKULL_BLACK) then
                doCreatureSetDropLoot(cid, FALSE)       
                doSendMagicEffect(getCreaturePosition(cid), CONST_ME_HOLYAREA) 
            end
            if not(getPlayerBlessing(cid, bless[i])) then
                for i = 1, table.maxn(bless) do
                    doPlayerAddBlessing(cid, bless[i])
                end 
            end
        end
    end
    return TRUE
end



 

tem como fazer um que não seja usado em slot, e sim dentro da backpack?

Postado
  • Administrador

@ApacheBom dia! tenta este por favor, caso não funcione abre um tópico com seu pedido que te ajudo por la!

local item_id,amount = 7721,1

function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)
    if (isPlayer(cid) == TRUE) then
        if (getPlayerItemCount(cid,item_id,amount) then
            if (getCreatureSkullType(cid) == SKULL_RED or SKULL_BLACK) then
                doCreatureSetDropLoot(cid, FALSE)       
                doSendMagicEffect(getCreaturePosition(cid), CONST_ME_HOLYAREA) 
            end
            if not(getPlayerBlessing(cid, bless[i])) then
                for i = 1, table.maxn(bless) do
                    doPlayerAddBlessing(cid, bless[i])
                end 
            end
        end
    end
    return TRUE
end

 

 

Postado
19 horas atrás, HomeJobs disse:

@ApacheBom dia! tenta este por favor, caso não funcione abre um tópico com seu pedido que te ajudo por la!


local item_id,amount = 7721,1

function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)
    if (isPlayer(cid) == TRUE) then
        if (getPlayerItemCount(cid,item_id,amount) then
            if (getCreatureSkullType(cid) == SKULL_RED or SKULL_BLACK) then
                doCreatureSetDropLoot(cid, FALSE)       
                doSendMagicEffect(getCreaturePosition(cid), CONST_ME_HOLYAREA) 
            end
            if not(getPlayerBlessing(cid, bless[i])) then
                for i = 1, table.maxn(bless) do
                    doPlayerAddBlessing(cid, bless[i])
                end 
            end
        end
    end
    return TRUE
end

 

 

peço desculpas por não explicar direito, mas quero um item que ao estar dentro da backpack do jogador, ele perca 50% a menos de level ao morrer.

Postado
  • Administrador
7 horas atrás, Apache disse:

peço desculpas por não explicar direito, mas quero um item que ao estar dentro da backpack do jogador, ele perca 50% a menos de level ao morrer.

Aqui pequeno gafanhoto. No caso o script a baixo não remove o item quando o player morrer... era isso?
Te aconselho a usar o sistema de bless para isso que é oque os cript esta fazendo aqui em baixo, se estiver um item id,quantidade e o player não estiver com a bless as blesses serão adicionadas.

 

local item_id,amount = 7721,1

function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)
    if (isPlayer(cid) == TRUE) then
        if (getPlayerItemCount(cid,item_id,amount) then
            if not(getPlayerBlessing(cid, bless[i])) then
                for i = 1, table.maxn(bless) do
                    doPlayerAddBlessing(cid, bless[i])
                end 
            end
        end
    end
    return TRUE
end

 

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.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo