Ir para conteúdo
  • 0

[Pedido] Gold Card Account


willianfast

Pergunta

Nome do Script: Gold Card Account

Tipo do Script: CreatureScripts (item)

Versão Utilizada: 8.6

Servidor Utilizado: TFS 0.4

Nível de Experiência: Expert

Informações Extras: Gostaria de um item para colocar no Shop do OTServ, que desse a ACCOUNT INTEIRA do player:

Ex: 25% mais experiencia, 20% mais drop para toda sua account e 20% mais regeneração de Stamina por um tempo em DIAS da vida

 

real (tipo premmium time) E que não precise ser premium para usar!

 

Tem esse item no otserv: underwar.org como Gold Card Acc.

Caso tenha algum item que faça exatamente isso por favor me passem o tópico, pois procurei em todos os fóruns de otserv e não achei!

 

Fico no aguardo!

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

Se puder ser varios itens eu ti mando o script.

 

Ex:

 

-Um item para drop

-Um item para experiência

-Um item para stamina

 

​Obs: É só para o player.

Editado por Newtonnotwen
Link para o comentário
Compartilhar em outros sites

  • 0

Bem, caso não ache ta ae o separado:

 

Exp:

function onUse(cid, item)

 

local double = 1.25 -- exp multiplier

local time = 600 --Quanto tempo vai ficar de doublexp (Tempo em segundos)

local storage = 9393 --nao mexa aki

 

if (getPlayerStorageValue(cid, storage) <= os.time()) then

doPlayerSetExperienceRate(cid, double)

doPlayerSendTextMessage(cid, 28 , "Voce esta com 25% a mais de exp.")

else

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sua exp voltou ao normal.")

end

return TRUE

end

Laranja: Variáveis

Stamina:

function onUse(cid, item)

local premium = "yes" -- Apenas players premium accounts "yes" or "no"!?

if premium == "yes" and not isPremium(cid) then

return doPlayerPopupFYI(cid,"Apenas Premium Account Podem Healar Sua estamina.")

end

if doPlayerRemoveItem(cid,5468,1) then --- item e quantidade

doPlayerAddStamina(cid,100000000) ----- stamina

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_HOLYAREA) ---- efeito

doPlayerSendTextMessage(cid,25,"Você será kickado em 10 segundos Para regenerar a stamina.") --------mensagem

addEvent(doRemoveCreature, 10*1000, cid, true) ------ tempo off player

else

doPlayerSendCancel(cid, 'Voce nao tem a Ultimate Stamina Potion.') ------mensagem

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FIREEAREA) ------efeito

end

 

end

Laranja: Variáveis

 

Não consegui fazer o do loot.

 

Editado.

Editado por Newtonnotwen
Link para o comentário
Compartilhar em outros sites

  • 0

Fusão dos dois scripts:

 

 

function onUse(cid, item)

local double = 1.25 -- exp multiplier

local time = 600 -- Quanto tempo vai ficar de doublexp (Tempo em segundos)

local storage = 9393

local premium = "yes" -- Apenas players premium account? "yes" or "no"

 

if premium == "yes" and not isPremium(cid) then

return doPlayerPopupFYI(cid,"Apenas players com Premium Account podem usar esse item.")

end

 

if (getPlayerStorageValue(cid, storage) >= os.time()) then

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sua EXP voltou ao normal.")

doPlayerSetExperienceRate(cid, 1)

end

 

doPlayerSetExperienceRate(cid, double)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você regenerou sua stamina e obteve um boost de 25% no ganho de EXP.")

doPlayerAddStamina(cid, 100000000)

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_HOLYAREA)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você será kickado em 5 segundos para regenerar a stamina e obter 25% a mais de EXP.")

addEvent(doRemoveCreature, 5*1000, cid, true)

return TRUE

end

 

Editado por LuckOake
Link para o comentário
Compartilhar em outros sites

  • 0

Vou tentar achar

 

Ai achei um que da loot mas para premium e um mod

 

<?xml version="1.0" encoding="UTF-8"?>
<mod name="Premium Loot Rate" version="1.0" author="Cykotitan" contact="otland.net" enabled="yes">
<event type="kill" name="plr" event="script"> <![CDATA[
local premRate = 7 -- loot rate for premium players

local rate = getConfigInfo('rateLoot') -- the normal rate, don't change

function getContentDescription(uid, comma)
local ret, i, containers = '', 0, {}
while i < getContainerSize(uid) do
 local v, s = getContainerItem(uid, i), ''
 local k = getItemInfo(v.itemid)
 if k.name ~= '' then
  if v.type > 1 and k.stackable and k.showCount then
   s = v.type .. ' ' .. getItemInfo(v.itemid).plural
  else
   local article = k.article
   s = (article == '' and '' or article .. ' ') .. k.name
  end
  ret = ret .. (i == 0 and not comma and '' or ', ') .. s
  if isContainer(v.uid) and getContainerSize(v.uid) > 0 then
   table.insert(containers, v.uid)
  end
 else
  ret = ret .. (i == 0 and not comma and '' or ', ') .. 'an item of type ' .. v.itemid .. ', please report it to gamemaster'
 end
 i = i + 1
end
for i = 1, #containers do
 ret = ret .. getContentDescription(containers[i], true)
end
return ret
end

local function send(cid, pos, corpseid, monster, party)
local corpse = getTileItemById(pos, corpseid).uid
local ret = isContainer(corpse) and getContentDescription(corpse)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'Loot of ' .. monster .. ': ' .. (ret ~= '' and ret or 'nothing'))
if party then
 for _, pid in ipairs(getPartyMembers(party)) do
  doPlayerSendChannelMessage(pid, '', 'Loot of ' .. monster .. ': ' .. (ret ~= '' and ret or 'nothing'), TALKTYPE_CHANNEL_W, CHANNEL_PARTY)
 end
end
end

local function createLoot(i, ext)
local item = type(i.id) == 'table' and i.id[math.random(#i.id)] or i.id
local random = math.ceil(math.random(100000) / (ext and premRate or rate))
local tmpItem

if random < i.chance then
 tmpItem = doCreateItemEx(item, getItemInfo(item).stackable and random % i.count + 1 or 1)
end

if not tmpItem then
 return
end

if i.subType ~= -1 then
 doItemSetAttribute(tmpItem, 'subType', i.subType)
end

if i.actionId ~= -1 then
 doItemSetAttribute(tmpItem, 'aid', i.actionId)
end

if i.uniqueId ~= -1 then
 doItemSetAttribute(tmpItem, 'uid', i.uniqueId)
end

if i.text ~= '' then
 doItemSetAttribute(tmpItem, 'text', i.text)
end

return tmpItem
end

local function createChildLoot(parent, i, ext)
if #i == 0 then
 return true
end

local size, cap = 0, getContainerCap(parent)
for k = 1, #i do
 if size == cap then
  break
 end
 local tmp = createLoot(i[k], ext)
 if tmp then
  if isContainer(tmp) then
   if createChildLoot(tmp, i[k].child, ext) then
 doAddContainerItemEx(parent, tmp)
 size = size + 1
   else
 doRemoveItem(tmp)
   end
  else
   doAddContainerItemEx(parent, tmp)
   size = size + 1
  end
 end
end

return size > 0
end

local function dropLoot(pos, v, ext)
local corpse = getTileItemById(pos, v.lookCorpse).uid
if isContainer(corpse) then
 for i = 1, getContainerSize(corpse) do
  doRemoveItem(getContainerItem(corpse, 0).uid)
 end
 local size, cap = 0, getContainerCap(corpse)
 for i = 1, #v.loot do
  if size == cap then
   break
  end
  local tmp = createLoot(v.loot[i], ext)
  if tmp then
   if isContainer(tmp) then
 if createChildLoot(tmp, v.loot[i].child, ext) then
  doAddContainerItemEx(corpse, tmp)
  size = size + 1
 else
  doRemoveItem(tmp)
 end
   else
 doAddContainerItemEx(corpse, tmp)
 size = size + 1
   end
  end
 end
end
end

function onKill(cid, target, damage, flags)
if isInArray({1,3}, flags) and isMonster(target) then
 local v = getMonsterInfo(getCreatureName(target))
 if v.lookCorpse > 0 then
  local master = getCreatureMaster(target)
  if not master or master == target then
   addEvent(dropLoot, 0, getThingPos(target), v, isPremium(cid))
  end
  addEvent(send, 100, cid, getThingPos(target), v.lookCorpse, v.description, getPlayerParty(cid))
 end
end
return true
end
]]></event>
<event type="login" name="Premium Loot Rate" event="buffer"><![CDATA[
registerCreatureEvent(cid, 'plr')
]]></event>
</mod>

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...