Postado Dezembro 15, 2021 3 anos 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 Dezembro 17, 2021 3 anos por HomeJobs (veja o histórico de edições) Contato : https://www.linkedin.com/in/rafhael-oliveira/ Servidores : https://www.pokemmorpg.com Projetos : https://github.com/thetibiaking
Postado Dezembro 16, 2021 3 anos 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 Dezembro 16, 2021 3 anos 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 Contato : https://www.linkedin.com/in/rafhael-oliveira/ Servidores : https://www.pokemmorpg.com Projetos : https://github.com/thetibiaking
Postado Dezembro 17, 2021 3 anos 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 Dezembro 17, 2021 3 anos 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 Contato : https://www.linkedin.com/in/rafhael-oliveira/ Servidores : https://www.pokemmorpg.com Projetos : https://github.com/thetibiaking
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.