Ir para conteúdo
  • Cadastre-se

(Resolvido)sistema vip ou premium por item


Ir para solução Resolvido por DukeeH,

Posts Recomendados

ola amigos tibianos aqui no tibiaking venho atraves do post pedir mais uma vez a ajuda de voces , eu estou com um otserver global realserver 8.60 , e com o site gessior accmaker 2012 .. bom agr vamos ao que importa eu estou precisando de um script pra por vip ou premium por item , uma scroll sei la um doll para que o player de "use" e receba a premium ... no caso meu servidor nao é free premium account começa free etc , ai a pessoa teria que comprar o item e usar , ai ela tbm poderia revender para outras pessoas no servidor , alguem me indica um tutorial ou um script nao manjo nada nada nada de script e to quebrando muito a cabeça atraz disso se alguem puder me ajudar ficaria grato.. desde já agradesco a todos ;)

Link para o post
Compartilhar em outros sites
2 horas atrás, yamulle disse:

tambem to querendo um sistema premium  oque tem no meu servidor não ta  funcionando direito, onde so deveria passar player premium passa os nego tudo free alguem pode me ajudar?

manda o script do lugar que é pra passar, e confirma se é premium ou vip system que você usa.

asdukeeh.jpg

Link para o post
Compartilhar em outros sites

è premmi mesmo,  o arquivo chama premmi tile:
function onStepIn(cid, item, position, fromPosition)
if isPremium(cid) == FALSE then
doTeleportThing(cid, fromPosition, TRUE)
doSendMagicEffect(position, CONST_ME_MAGIC_BLUE)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Somente players premium podem passar.")
end
return TRUE
end

Link para o post
Compartilhar em outros sites
11 minutos atrás, yamulle disse:

è premmi mesmo,  o arquivo chama premmi tile:
function onStepIn(cid, item, position, fromPosition)
if isPremium(cid) == FALSE then
doTeleportThing(cid, fromPosition, TRUE)
doSendMagicEffect(position, CONST_ME_MAGIC_BLUE)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Somente players premium podem passar.")
end
return TRUE
end

Testa esse:

function onStepIn(cid, item, position, fromPosition)
	if not isPremium(cid) then
		doTeleportThing(cid, fromPosition)
		doPlayerSendTextMessage(cid, 25, "Apenas jogadores premium podem acessar essa area.")
	else
		doPlayerSendTextMessage(cid, 25, "Bem vindo a area premium.")
	end
end

 

asdukeeh.jpg

Link para o post
Compartilhar em outros sites
37 minutos atrás, yamulle disse:

Cara , o player continua passando so que agora aparece a mensagem seja bem vindo

Se a mensagem que aparece é "Bem vindo a area premium." então é porque o jogador é premium.

 

33 minutos atrás, ismaeljunior1991 disse:

entao eu to usando Vip , mas se tiver como fazer um do zero eu preferia usar premium mesmo

Como preferir, quer um item que da premium então?

asdukeeh.jpg

Link para o post
Compartilhar em outros sites
52 minutos atrás, ismaeljunior1991 disse:

 

 

4 horas atrás, DukeeH disse:

É premium ou vip? Se for vip me fala o vip system que você usa.

É bem tranquilo de fazer.

isso.. tem como ajudar ?

19 minutos atrás, DukeeH disse:

Se a mensagem que aparece é "Bem vindo a area premium." então é porque o jogador é premium.

 

Como preferir, quer um item que da premium então?

sim

Link para o post
Compartilhar em outros sites
24 minutos atrás, ismaeljunior1991 disse:

 

isso.. tem como ajudar ?

sim

 

actions.xml

<action itemid="ID" event="script" value="premiumitem.lua"/>

(Editar id do item para o item que ao usar vai dar os dias de vip.)

 

actions/scripts/premiumitem.lua

function onUse(cid, item, frompos, item2, topos)
doPlayerAddPremiumDays(cid, 7)
doPlayerSendTextMessage(cid, 22, "You have been credited with 7 premium account days.")
return TRUE
end

(Pode editar o numero de dias ali na função DoPlayerAddPremiumDays, e a mensagem embaixo.)

asdukeeh.jpg

Link para o post
Compartilhar em outros sites
1 hora atrás, DukeeH disse:

 

actions.xml


<action itemid="ID" event="script" value="premiumitem.lua"/>

(Editar id do item para o item que ao usar vai dar os dias de vip.)

 

actions/scripts/premiumitem.lua


function onUse(cid, item, frompos, item2, topos)
doPlayerAddPremiumDays(cid, 7)
doPlayerSendTextMessage(cid, 22, "You have been credited with 7 premium account days.")
return TRUE
end

(Pode editar o numero de dias ali na função DoPlayerAddPremiumDays, e a mensagem embaixo.)

vou testar mto obrigado jaja eu dou a resposta

1 hora atrás, DukeeH disse:

 

actions.xml


<action itemid="ID" event="script" value="premiumitem.lua"/>

(Editar id do item para o item que ao usar vai dar os dias de vip.)

 

actions/scripts/premiumitem.lua


function onUse(cid, item, frompos, item2, topos)
doPlayerAddPremiumDays(cid, 7)
doPlayerSendTextMessage(cid, 22, "You have been credited with 7 premium account days.")
return TRUE
end

(Pode editar o numero de dias ali na função DoPlayerAddPremiumDays, e a mensagem embaixo.)

esta com os seguintes erros amigo.. tem como arrumar ??

 

[22/03/2016 18:14:52] [Error - LuaScriptInterface::loadFile] cannot open data/actions/scripts/premiumitem.lua: No such file or directory
[22/03/2016 18:14:52] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/premiumitem.lua)
[22/03/2016 18:14:52] cannot open data/actions/scripts/premiumitem.lua: No such file or directory

Link para o post
Compartilhar em outros sites
16 horas atrás, ismaeljunior1991 disse:

vou testar mto obrigado jaja eu dou a resposta

esta com os seguintes erros amigo.. tem como arrumar ??

 

[22/03/2016 18:14:52] [Error - LuaScriptInterface::loadFile] cannot open data/actions/scripts/premiumitem.lua: No such file or directory
[22/03/2016 18:14:52] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/premiumitem.lua)
[22/03/2016 18:14:52] cannot open data/actions/scripts/premiumitem.lua: No such file or directory

Você não criou o arquivo com o nome que esta na tag, dentro da pasta actions/scripts.

o nome do arquivo .lua que colocou o código tem que ser o mesmo escrito na parte do actions.xml

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

asdukeeh.jpg

Link para o post
Compartilhar em outros sites
1 hora atrás, DukeeH disse:

Você não criou o arquivo com o nome que esta na tag, dentro da pasta actions/scripts.

o nome do arquivo .lua que colocou o código tem que ser o mesmo escrito na parte do actions.xml

 

 

 

sim..testei agora e deu certo...mas o item não some...e agora ? kk

1 hora atrás, DukeeH disse:

Você não criou o arquivo com o nome que esta na tag, dentro da pasta actions/scripts.

o nome do arquivo .lua que colocou o código tem que ser o mesmo escrito na parte do actions.xml

 

 

 

tipo eu coloquei no item "scroll" ai eu uso ele e sim ele dá os 30 dias de premium mas ele nao some tem como por pra usar ele uma vez e já sumir ? sinao vai ser premium infita kk ' mas mto obrigado já me ajudou muitoo

Link para o post
Compartilhar em outros sites
  • Solução
8 minutos atrás, ismaeljunior1991 disse:

sim..testei agora e deu certo...mas o item não some...e agora ? kk

tipo eu coloquei no item "scroll" ai eu uso ele e sim ele dá os 30 dias de premium mas ele nao some tem como por pra usar ele uma vez e já sumir ? sinao vai ser premium infita kk ' mas mto obrigado já me ajudou muitoo

Vacilo meu, acabei de adicionar pro item ser removido no uso.

function onUse(cid, item, frompos, item2, topos)
doPlayerAddPremiumDays(cid, 7)
doPlayerSendTextMessage(cid, 22, "You have been credited with 7 premium account days.")
doRemoveItem(item.uid, 1) 
return TRUE
end

asdukeeh.jpg

Link para o post
Compartilhar em outros sites
38 minutos atrás, DukeeH disse:

Vacilo meu, acabei de adicionar pro item ser removido no uso.


function onUse(cid, item, frompos, item2, topos)
doPlayerAddPremiumDays(cid, 7)
doPlayerSendTextMessage(cid, 22, "You have been credited with 7 premium account days.")
doRemoveItem(item.uid, 1) 
return TRUE
end

perfeito , otimo script vlww

Link para o post
Compartilhar em outros sites
  • 5 months later...
Em 23/03/2016 ás 11:12, DukeeH disse:

Vacilo meu, acabei de adicionar pro item ser removido no uso.


function onUse(cid, item, frompos, item2, topos)
doPlayerAddPremiumDays(cid, 7)
doPlayerSendTextMessage(cid, 22, "You have been credited with 7 premium account days.")
doRemoveItem(item.uid, 1) 
return TRUE
end

 

 

vlw aii pra mim funcionou .. show 8.6 tfs 0,4

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.


  • Conteúdo Similar

    • Por amoxicilina
      Olá Kings, venho aqui trazer uma TalkAction pra você comprar premium account, sei que pode ser algo meio inútil por existir a store.
      Então vamos script:
       
       
    • Por Cat
      Testado em: TFS 1.0 (10.31)
      Funciona em: TFS 1.0 e TFS 0.4
      Descrição: Você leva uma determinada espada até o npc, fala com ele, ele vai pegar essa espada e ficar com ela por um certo tempo (3min), claro, você irá pagar uma quantia. Ao retornar, sua espada estará melhorada (no caso dos ids utilizados o npc irá trocar o item). Se houver algum bug, reporte que arrumaremos.
      Créditos: Jamison, Daniel.
       
      ---------- • ----------
       
      Diálogo:
       
      22:21 Daniel [250]: hi 
      22:21 Blacksmith Elf: Hello Daniel! I'm a Blacksmith Elf, I can transform your item! 
      22:21 Daniel [250]: transform 
      22:21 Blacksmith Elf: From time to time fate smiles upon those who take great risks and have strong dreams! If you have money, we can try to transform your umbral swords, axes, clubs, bows, crossbows or spellbooks. 
      22:21 Daniel [250]: club 
      22:21 Blacksmith Elf: One handed or two handed? 
      22:21 Daniel [250]: one handed 
      22:21 Blacksmith Elf: Do you want to spend your money to transform your crude umbral mace, yes or no? 
      22:21 Daniel [250]: yes 
      22:21 Blacksmith Elf: Great! Alright, I need a while to finish this club for you. Come ask me later. 22:22 Daniel [250]: hi 
      22:22 Blacksmith Elf: Hello Daniel! I'm a Blacksmith Elf, I can transform your item! 
      22:22 Daniel [250]: transform 
      22:22 Blacksmith Elf: Have you left anything here to transform ? 
      22:22 Daniel [250]: yes 
      22:22 Blacksmith Elf: You must wait until : 22:24:49. 22:25 Daniel [250]: hi 
      22:25 Blacksmith Elf: Hello Daniel! I'm a Blacksmith Elf, I can transform your item! 
      22:25 Daniel [250]: transform 
      22:25 Blacksmith Elf: Have you left anything here to transform ? 
      22:25 Daniel [250]: yes 
      22:25 Blacksmith Elf: Here you have it.  
      ---------- • ----------
       
      Fotos
       

       

       

       
      ---------- • ----------
       
      Script:
       
      data/npc/Blacksmith Elf.lua
       



       
      data/npc/scripts/blacksmith_elf.lua
       



    • Por lordzetros
      Bom, como o título já informa, o script faz com que você remova um item do inventário de algum player online.
       
      Versão: 8.6 - TFS 0.4
      Em data\talkactions\scripts crie um arquivo chamado removerItem (lembrando que deve ser .lua, caso não saiba criar um, copie algum já existente e cole, após isso, mude o nome do arquivo e cole o código dentro)
       
      --[[ Script feito por Lordzetros para o fórum Tibia King ]] function onSay(cid, words, param) pos = getPlayerPosition(cid) if (param == '') then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "O comando necessita de parametros (nomePlayer,idItem,quantidade). Ex.: /remover Bugador,2160,100") if (not isPlayerGhost(cid)) then doSendMagicEffect(pos, CONST_ME_POFF) end return true end local aux = string.explode(param, ",") local pid = getPlayerByNameWildcard(aux[1]) if (not pid) then return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Player " .. aux[1] .. " nao encontrado.") elseif (getPlayerAccess(pid) > getPlayerAccess(cid)) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce nao pode remover itens de um superior seu.") doPlayerSendTextMessage(pid, MESSAGE_INFO_DESCR, "O membro da staff " ..getCreatureName(cid).. " tentou remover um item de voce!") return true end aux[1] = aux[1]:lower() local qntd = 1 if(aux[3]) then if (tonumber(aux[3]) <= 0) then return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Nao eh permitido valores nulos/negativos! Caso queira remover apenas 1x, use /remover Player,idItem") else qntd = aux[3] end end if (doPlayerRemoveItem(pid, tonumber(aux[2]), qntd) == TRUE) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Removido " ..qntd.. "x " ..getItemNameById(aux[2]).. " do player "..aux[1]) posPlayer = getCreaturePosition(pid) doSendMagicEffect(posPlayer, CONST_ME_PLANTATTACK) doCreatureSay(pid,"O membro da staff " ..getCreatureName(cid).. " removeu " ..qntd.. "x " ..getItemNameById(aux[2]).." de seu inventario!", TALKTYPE_ORANGE_1) return true else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "O Player " ..aux[1].. " nao tem o item ou a quantidade do item informada em seu inventario.") end return true end Salve o arquivo no qual colocou o código, após isso navegue até data\talkactions\ e abra o arquivo talkactions.lua, e coloque este trecho de código onde quiser:
       
      <talkaction log="yes" access="3" words="/remover" event="script" value="removerItem.lua"/> Feito isso, salve o mesmo e já pode testar no seu servidor.

      Obs1.: Repare que o acesso está definido como 3, ou seja, GM para cima. (mude se quiser)

       
      Comando na prática: /remover nomePlayer,idItem,qntd

      Imagens:
      1

       
      2

       
      3


       
      4

       
      Enfim, é isso pessoal, script simples, porém, pode servir para algum tibiano interessado. 
    • Por xWhiteWolf
      Fala galera do TK, hoje vim trazer pra vocês à pedidos do grande @azzouks uma versão do meu Dodge System por equips.

      Explicação: É um sistema onde vc pode colocar uma % de esquiva nos itens e ao usá-los você ganha a chance de desviar dos ataques e levar somente metade do dano.

      Qualquer semelhança com esse > http://www.tibiaking.com/forum/topic/8223-mod-reflect-system-01/ < mod do @Aluccard não é mera coincidência, eu usei o mod dele como base pra fazer o meu *-*

      Sem mais delongas vamos ao script:
      Vá na pasta do seu server e abra uma pasta chamada "mods".. lá dentro crie um arquivo com o nome que vc quiser (sério) de extensão.xml e adicione o seguinte nele:
       




      Configurando:
      Se você não manja de script então eu sugiro que vcs só alterem essa parte aqui:
       
      em vermelho é o máximo que uma pessoa pode ter de dodge: se ela tiver usando um full set que deixe ela com um total de 99% de dodge ela só vai poder aproveitar 50%. Isso foi feito pra evitar um bug.. vocês podem se sentir livres pra alterar esse numero mas não coloquem nada muito grande pra evitar que seus servers explodam.
      em verde é a porcentagem do dano que vocês vao tomar ao desviar.. nesse caso os ataques que eu der dodge darão 50% do dano (0.5)
      em azul é a porcentagem inicial que todos os players vão ter. Por padrão está 0 mas se vc quiser que todos os players do seu server tenham 20% e que cada item dê 5% também é possível editando esse 0 pra 20.

      Feito isso vá em data\lib\function.lua e adicione essas linhas 
      function getItemDodgePercent(itemuid) return getItemAttribute(itemuid, "dodgePercent") end function doPlayerAddDodgeItem(cid, itemid, percent) local item = doPlayerAddItem(cid, itemid) doItemSetAttribute(item, "description", "[Dodge: "..percent.."%]") doItemSetAttribute(item, "dodgePercent", percent) end Agora é só aproveitar no seu server.. toda vez que vc for usar num script vc poderá utilizar as funções getItemDodgePercent(item)
      e a doPlayerAddDodgeItem(cid, itemid, percent).

      Pra finalizar aqui tem um exemplo de uma quest que dá uma plate armor com 0.8% de dodge:




      Espero que gostem!


      EDITADO: 
       
      Fiz um script de action pra ser uma pedra que vai dar dodge nos items. Ele tem muito que melhorar mas por ora ele tá 99% pronto pra ser colocado em algum server que utilize esse dodge system.
      function isHandItem(uid) -- NW based on Mock          uid = uid or 0         if isInArray({1,2,3,4,5,6}, getItemWeaponType(uid)) then              return true          end          return false end function getItemDodgePercent(itemuid) return getItemAttribute(itemuid, "dodgePercent") or 0 end function setItemDodgePercent(uid, percent) doItemSetAttribute(uid, "description", "[Dodge: "..percent.."%]") doItemSetAttribute(uid, "dodgePercent", percent) end function onUse(cid, item, fromPosition, itemEx, toPosition)  level = 0 local upgrade = { [1] = {min = 1, max = 5, chance = 100}, [2] = {min = 5, max = 10, chance = 80}, [3] = {min = 10, max = 20, chance = 60}, [4] = {min = 20, max = 40, chance = 40}, [5] = {min = 40, max = 50, chance = 20} } function isWearing(uid) -- NW based on Mock          uid = uid or 0         if isInArray({uid}, getPlayerSlotItem(cid, 1).uid) or isInArray({uid}, getPlayerSlotItem(cid, 4).uid) or isInArray({uid}, getPlayerSlotItem(cid, 7).uid) or isInArray({uid}, getPlayerSlotItem(cid, 8).uid) then              return true          end          return false end if isHandItem(itemEx.uid) or isWearing(itemEx.uid) then local name = getItemName(itemEx.uid) local atual = math.floor(getItemDodgePercent(itemEx.uid)*10)/10 for i = 1, #upgrade do if string.find(tostring(name),"+".. i .."") then level = i end end if level >= #upgrade then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"Your item is already on max level, you can't upgrade it any further.") return true end if math.random(0,100) <= upgrade[level + 1].chance then  doRemoveItem(item.uid, 1) doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"You leveled your "..getItemNameById(itemEx.itemid).." to ".. level+1 ..".") setItemDodgePercent(itemEx.uid, atual + (math.random(upgrade[level+1].min,upgrade[level+1].max))/10) doItemSetAttribute(itemEx.uid,'name', getItemNameById(itemEx.itemid)..' +'..(level+1)) doSendMagicEffect(toPosition, math.random(28,30)) else doRemoveItem(itemEx.uid, 1) doRemoveItem(item.uid, 1) doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"Your "..getItemNameById(item.itemid).." has failed and destroyed your "..getItemNameById(itemEx.itemid).." in the process") doSendMagicEffect(toPosition, 4) end else doPlayerSendTextMessage(cid, 24,"You cant refine this item.") end return true end
      Note que pra colocar dodge num item ele tem que: Estar equipado se for qualquer tipo de armadura (legs, boots, helmet, armor) ou livremente (se for weapon/shield).. Necklaces, rings e pendants não são possíveis de colocar dodge.. se vc quiser que seja edita essa função dentro do script pros slots de ring e necklace mas eu não aconselharia a fazer isso.
       e no xml coloque: 
      <action itemid="8306" script=upgraderock.lua"/>
    • Por Bolludo
      Olá, gostaria que as house do meu servidor salvasse os itens e apenas nos donos pudesse mover, alguém poderia me ajudar ?
      Up
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo