Ir para conteúdo

Fury4i20

Campones
  • Total de itens

    9
  • Registro em

  • Última visita

Histórico de Reputação

  1. Upvote
    Fury4i20 deu reputação a vital900 em Ajuda Rme Please   
    Abra seu RME; Vá em File>Import>Import Monster/Npc...
     




    Depois, basta você procurar na pasta data de seu servidor a pasta de monstro e ir selecionando monstro por monstro.


     
    duvida sanada?
  2. Upvote
    Fury4i20 deu reputação a Furabio em Atreyu OT 8.6 - TFS 0.4 (rev. 5934) (Mapa Custom)   
    Fechei o Atreyu em 2013, por não conseguir conciliar o tempo do trabalho com o gerenciamento do servidor, assim resolvi fecha-lo. Estou disponibilizando todo o servidor. Gostava bastante deste mapa (31 MB).
    Servidor bastante estável com mais de 500 horas de uptime, todas as vocações estão bastante equilibradas para PVP e PVM.

    Existem 218 casas dividas em 7 cidades.


    Download Link (Site/Servidor/Db/Documentos de controle):

    Mega:
    https://mega.co.nz/#...TmVtcboibn5ibmg

    Banco de dados atualizado:
    atreyu-db-31-12-2014.rar 32,02K 69 Downloads
    (Atualizei alguns campos que não estavam com valor default e assim não deixavam criar conta/personagem no site)

    Contas de exemplo:
    malk/123456 (GOD)
    teste/123123 (Paladin)
    MxSample (Não lembro a senha, a conta tem um personagem de cada vocação, quando um personagem é criado no site ele é copiado a partir do personagem desta conta)


    Cidades:
    Formiria Daoten Finidia Gasmaril Labaredum Mornea Ucon (VIP) Funcionalidades:
    Addons funcionando 100%. Guilds Wars com Skull 100%. Montanha Russa. Sistema VIP completo. Sistema de Banco via comando. Sistema de Bless via comando. Sistema de Refinamento de Itens. Sistema de Itens únicos. Tasks. Quests:
    Annihilator - LVL 100+ Assassin Outfit - Qualquer Behemoth - LVL 80+ Beholder - Qualquer Demon Oak - LVL 120+ Demon Helmet - LVL 150+ Demon Hunter Outfit - Qualquer Dragon Lord - LVL 90+ Draken Quest - LVL 180+ Elf Tree - Qualquer Giant Spider - LVL 35+ Hero - LVL 50+ Hydra - LVL 60+ Infernalist Tower - LVL 75+ Norseman Outfit - Qualquer Pits Of Inferno (POI) - LVL 80+ (Todas as alavancas na mesma ordem do global ) Sand Dragon Lord - Qualquer Warlock - Qualquer Guild Wars (Com Escudos):

    Sistema igual ao do global onde uma guild pode invitar outra para entrar em guerra assim pode ser definido valores para a guild vencedora receber e todos as morte da guerra são justificadas ou seja não ganhaskull ou ban matando na war.
     
    Sistemas:
    Banco: Sistema para controle de banco através de comando, sem precisar assim de ir na cidade para sacar ou depositar dinheiro em sua conta. Itens Únicos: Cada vez que um monstro dropa algum loot existe a chance desse item ter algum atributo melhor do que o item padrão, por exemplo, pode cair uma giant sword com + 2 de ataque ou um demon shield com +3 de defesa. Refinamento: Você pode utilizar pedras especiais para melhorar a qualidade de seus itens. Renascimento: Existe um item no jogo que pode renascer um jogador morto recentemente trazendo ele para o local do seu corpo. Treinamento com Soul: As áreas de treinamento utilizam a soul do personagem, a cada 3 minutos um ponto de soul é gasto. Eventos:
    Zombie Event - Todos os dias as 18h e 23h. Coliseum (PVP entre times) - Terça, Quinta e Sábado as 16 horas. Dota (Próprio) Castle War WOE Controle Frags:
     
    Quantidade para pegar Skull:

    - RED SKULL

    Diario = 5
    Semanal = 10
    Mensal = 30
    - BLACK SKULL
    Diario = 5
    Semanal = 10
    Mensal = 30
    Tempo para sair a Skull

    Red Skull = 7 Dias
    Black SKull = 10 Dias
     
    Outras Informações:
    Level para comprar casa: 100 Level para criar guild: 50 Protection Level: 50
  3. Upvote
    Fury4i20 deu reputação a Furabio em BaraoIce Show!   
    Saalveee Salveee!!!

    Eaai galera hoje venho trazer para vocês um servidor baiak barão que eu mesmo editei, e adicionei vários sistemas legais!

    Então vamos lá, oque ele tem ?

    NOVO VISUAL DO TEMPLO
    Aura System (comando !aura on)
    Task System
    Critical System
    Dodge System
    Reset System (ÁREA EXCLUSIVA COM CASTELO E HUNTS) para resetar fale !reset
    Guild Frags System (ÁREA EXCLUSIVA COM CASTELO E HUNTS)
    War System (100% RODANDO EM SQLITE)
    Cast System ( Para Ativar vai em Config.lua e ache | enableCast = false | mude para true )
    PvP Balanceado
    Varios Eventos Automaticos
    Battle Field Event
    Capture The Flag Event
    Adicionado CASTLE 24HORAS (COM CASTELO) e AVISOS DE INVASORES
    Itens DONATES
    Área DONATE ~~ (Só Entra Quem Usar o Itens)
    Fast Atk Arrumado
    Refinamento ( Aprimora seu Item )
    Level Points System Adicionado (Melhora Seu Skill)
    Frags no Look
    Npc Major Ancient (Vende Itens Exclusivos para quem tiver honor points) Obs:Consegue no GFS)
    Fly System Adicionado fale !fly
    Transforma 1kk e 1 gold coin
    Itens DONATES foram arrumados! agora estão dando os atributos.
    Adicionei Cidade Carlin, com várias hunts!
    Adicionei novos bichos area FREE & VIP!
    Retirei vários bugs!
    Cidade com mais traps!
    Ao Upar ganha certa recompensa em dinheiro!
    e muito mais novidades kk

    Imagens



    Hunts Vips Novas




    Carlin






    DOWNLOAD

    http://www.4shared.com/rar/KpEaxlXNba/Baiak_BaraoIce.html?

    SCAN
    https://www.virustot...sis/1418225739/

    Créditos
    Deathrocks
    7955577
  4. Upvote
    Fury4i20 deu reputação a Furabio em Radbr V2   
    BUGS ARRUMADOS:

    *Bug Dos Pisos
    *Bug Das Paredes
    *Bug Dos Spells
    *Bug Dos Comandos

    Novidades:

    *Sistemas Novos
    *Comandos Novos
    *Monsters Novos
    *Spells Novas
    *E etc


    Vamos Aos Novos Comandos:

    PARA PLAYERS:

    *!Deathlist (Como Todos Conheçen Para Ver Mortes Sua E Dos Outros)
    *!broadcast (Só Vip Pode usar Fala Mensagens Para Todos)
    *!Spells (isso serve para iniciantes que desejam ver suas magias)

    PARA GODS:

    */mute (Como o nome ja dis para deixar player muted)
    */jail (Manda o player para a cadeia especial por 10 ou 15 min eu acho)
    */renomear (Mudar seu nome)
    */additem (Numa hora especial de evento se voçe quiser dar itens para todos só usar isso)

    MONTERS NOVOS:

    *Dengue (Eu lembrei este monstro do antigo ot chamado antartica que fez susseco com este monstro)
    *Hallowen (é que nem dourado só que ele sumona demons para protegelo)
    *Poseidon (deus do mar como todos sabem)
    *Nephthys (todos conheçem do RadBR)
    *Farao (Rei Do Egito kkk)


    SPELLS NOVAS:

    *inverno-ja (para drunous solta espinhos de gelo pelo chão)
    *cura das trevas! (para infernalists)
    *dragon (para sorcs and druids)
    *fusion (para druids)
    *fogo do dragao!(infernalists)

    UMA RUNA NOVA:

    *Healing Strong Rune (aposto que alguns vao pensar que paia essa runa so serve pra atrapalhar mais nao ela ajuda é muito quando voçe estiver morrendo ela vai te ajudar muito e muito)

    Sistemas Novos:

    *Sistema De Invasao
    *Um Sistema de tirar o pz (OBS:o piso esta escondido,isso msm piso)

    Aqui Vai Algumas SS:

    O castelo de wisland


    Sala de TPS




    Cidade de Iceford




    Room Quests



    Donwload
    http://www.mediafire...qo2w213s8m710s7

    Scan


    Creditos:

    Slayer
    Bruno
    Bolz
    Irmao do bolz
    SkyDark
  5. Upvote
    Fury4i20 deu reputação a Furabio em {Baiak} 8.60 V1.1.9 Editado   
    Olá Pessoal, Vim Disponibilizar a Vocês um ótimo Baiak que peguei de um Fórum, Achei Interessante e resolvi Traze-lo para o EKS..

    Features Baiak v1.1.9
    Baiak Yurots V2.2 Oque Mudou ? Mudou a City ta 90% 8.5 Foi Arrumada As Houses. Adicioano Npc Papai Noel no Templo Vende Items 8.54! Novos Items Novos Outifits Novas Hunts E Muito Mais... Baiak Yurots V2.7 Oque Mudou ? Foi Adicionada um Nova Cidade Chamada Baiak City Foi Adidionada Um Teleport no Templo Que Vai para Alumas City's Foi Adicionado Npc de Bless,Pagando Todas as Bless você nao prescisa usar aol... Foi Adicionado Uma Ilha de GM's ... Bug do Account Mananger Arrumado. Novo Executer adicionado,se o ot cai ele salva sozinhoo. E Muito Mas Estara por vim ... Baiak Yurots v1.0.9 Oque Mudou ? Foi Adicionado Sistema Vip.. Foi Adicionado 5 Novos Portais Vip Foi Adicionado Novos Bixos Vip,Warlock Vip,Medusa Vip,Bossing of Baiak.. Foi Adicionado New Quest Baiak Super Foda !! Foi Modificado o Templo Foi Adicionado Mais Treiners ! Entre Alguns Bugs Retirados Baiak Yurots v1.1.0 Oque Mudou ? Mudou o Protocolo de 8.57 para 8.60 Novos Item Novo Outfit Baiak Yurots V1.1.4 Oque Mudou ? Tirei o Pz tool do Templo Fiz um Novo System Vip por Comando Fiz o Novo Addon do Outfit do Wayfarer Baiak Yurots Edited By Bryaan Oque mudou ? Modifiquei o templo, totalmente ICE Fiz novos comandos, !aol, !bless, !jail playername <para gods>, !removeskull (retira sua black ou red skull por 1kk), entre outros Criei novos itens vips II! (obtidos na vip quest) Fiz quest para axe vip, star vip,club vip,sword vip,wand e rod vip Fiz uma vip II Fiz Um Castelo, onde ocorre batalhas do time Verde X Vermelho. Fiz uma Area Pvp, onde quem morrer nao perde level Fiz uma quest vip, onde se ganha a vip II E mais um amuleto vip(permite que red skull e black skull nao percam itens, funciona como aol tambem, possui 30 cargas) e tambem um item vip de sua escolha( axe,sword,club,star,rod ou wand vip.) Novos Teleports Adcionados na Vip II Monstros novos como Medusa vip II, Hydra Vip II, entre outros. Fiz uma Super Poi para vips II Vocaçoes Balanciadas Teleports Especiais [ARENA, CASTELO DO REI E HOUSE ISLAND] para level 300+ Bug Da baiak cape que nao dava ml+6, arrumado, entre outros varios bugs System Vip Como Funciona ? A Vip I é free, portanto o comando !buyvip, foi removido, pois implicava com a vip II. A Vip II é somente para quem conseguiu completar a Vip Quest, onde la voce ganha a vip stone, e vira vip usando ela. Baiak By Baiak Yurots by Kaue V1.1.9 oque mudou?
    Foi modificado o templo e o piso da cidade principal Foi adicionada uma nova cidade para a " VIP 1 ", sendo assim retirei a antiga pois era muito "quadrada" Foi adicionado uma nova cidade para VIP 2 sendo assim, agora players vip 2 possuem duas cidades de acesso. Foi adicionado 5 portais a nova cidade vip 2 com respawns ótimos, fazendo assim com que players vip 2 avançem rapidamente de level. Vip 2 é adquirida no templo com o npc Freed no valor de 20kk Itens vip 2 são adquiridos com o npc Vip Seller no 2º andar do DP da cidade principal ou na loja do npc perto do templo. Retirei o bug da vip 2 da "Orc Fortess" ACC DO GOD É: god/god

    PRINTS


    Templo Cidade Principal



    Templo Vip 1




    Templo Vip 2



    Teleportes da vip 2 (Novos)


    Area Dungeos Frost Dragon




    Download

    Download Baiak v1.1.9 By Kaaue http://www.4shared.c..._Kaue_V119.html


    Scan




    CRÉDITOS:
    YouRez (criador do mapa original)
    Bryaan ( Por ter editado quase que totalmete o mesmo)
    Kauee ( Pela edição)

  6. Upvote
    Fury4i20 deu reputação a Furabio em [UPDATE] NOVO BAIAK LERO! Bye Rogerio   
    - Baiak Lero tem a base do baiak ice, todos os bugs retirados.
    - Contem 4 novas quests (Lero Quest) cada item da 3% def de todos os danos.
    - Cidade free, Vip1, vip2, Reformulada.
    - Adicionado VIP 3.
    - Adicionado VIP Donate.Poder ser comprada pelo Lero Seller por [ 50kk ]
    - Adicionado Itens (LERO) no templo npc (Lero Seller) 2º melhores armas do jogo.
    - Acidionados Novos Scripts, calculo de kills, ant-magebomb etc.
    - Adicionado npc Ring Seller.
    - Adicionado Recarregar Soft/Firewalker apenas Clicando nelas.
    - Buero inicial Reformulado.
    - Não contem exit trainer.
    -2 Systema novos Task System e Guild frags onde a guild que tiver 100 kills ganha 5 honor points para comprar acesso a uma area so da guild
    - Novos Monsters Donates na cidade vip donate.
    -Algumas hunts sem teleports espalhadas no mapa tmb de Warlock Demon Medusa
    -Implementado 2 boss portas lvl 400 e 500 no templo
    -Nova Quest Boots Donate
    -Nova Quest Helmet of the Ancients

    -Boss Ghazbaram, Morgaroth, Ferumbras dao loot igual do global e tem alguns escondidos no mapa obs: nao dropa itens da quest lero nem donate

    -14 teleports free adicionados

    -8 teleports na city vip Free adicionados

    -City Donate

    -Tps Donate

    -Templo Free

    4 Novas Quest

    -entre outras coisas

    Scan: https://www.virustot...sis/1399930023/

    Dowload: http://www.4shared.c...Lero_2014.html?
    http://depositfiles....files/ghw7jmuyc

  7. Upvote
    Fury4i20 deu reputação a Furabio em Baiak ROX ! Editado By DeathRocks   
    Eae Galera do EKS
    É o seguinte Hoje trago a vocês o Baiak Rox Editado por Min
    Espero que Gostem

    Oque eu Fiz ?

    | Novo Visual do Templo Totalmente ICE
    | Critical System
    | Task System
    | Dodge System
    | Run Event (CORRIDA MALUCA)
    | Reset System (ÁREA EXCLUSIVA COM CASTELO E HUNTS) para resetar fale !reset
    | Guild Frags System ( ACESSO AO PROMOTE E ITENS EXCLUSIVOS )
    | War System (100% RODANDO EM SQLITE)
    | Cast System (100% Roda em Mysql ) ( Para Ativar vai em Config.lua e ache | enableCast = false | mude para true )
    | PvP Balanceado Agora com mais RPG
    | Armas Arrumadas Para Melhor PvP
    | Varios Eventos Automaticos
    | Battle Field Event
    | Capture The Flag Event
    | City War
    | Adicionado CASTLE 24HORAS (COM CASTELO) e AVISOS DE INVASORES
    | Itens DONATES
    | Área DONATE ~~ (Só Entra Quem Usar o Itens de Premium Days)
    | Vários Novos Script
    | Fast Atk Arrumado
    | Distro 0.4 Rodando 100% ( Se For 64x Bits)
    | Refinamento ( Aprimora seus Equipamentos )
    | Frags no Look
    | Npc Hero Seller (Vende Itens Exclusivos para quem tiver honor points) Obs:Consegue no GFS)
    | Entre Outras Coisas

    | SENHA DO GOD: rox/styller

    | Aqui Vai Umas Prints

    | Castelo Reset System



    | Nova Imagem do Templo


    | Área Donate


    | Mostra de Itens Donate + Eventos




    | Download

    http://www.4shared.c..._DeathRock.html
    | Scan

    https://www.virustot...sis/1403139305/

    | Créditos

    DeathRocks
    LuanLuciano
    Vinny
  8. Upvote
    Fury4i20 deu reputação a Furabio em Baiak ROX. editado By Dieguiin XP   
    Fala galera, hoje venho trazer um Baiak ROX Editado por mim, vamos lá O que tem de Novo nesse Baiak ROX? -Templo com novo visual -Castle 24HRS (Unico) com aviso de invasores -Dodge System -Critical System -Cast System 100 %. Para ativar vá em config.lua e procure por enableCast = false true/false -Itens VIP a mostra no templo -Todos itens VIP arrumados, agóra tão dando Skills normalmente -foi adicionado mais cave donates -Push Fast. Para arrumar do seu módo vá em config.lua e procure por: pushCreatureDelay = 1 * 205 -Tempo do PZ arrumado. -caves donates tudo trocada, agóra caves grandes com detalhes, não aquélas quadradas -nóvos itens free, pode ser obtidos em quest -Vários Teleports -Paladin arrumado, agóra heala com potion e ataca ao mesmo tempo -Utito tempo san arrumado, agóra não da exausted em outras magias -Novas Hunts -Look Frags -Task 100% -War System 100% -Muitas quests -Arena PVP (Nóva) -Quest de set free para Pally/Kinas -Quest de set free para Mages -quest para armas editadas -Treiners com novos visual -VIP 1 Free -VIP 2: !vip2 -30% a mais de experiencia para players donates -10% a mais de experiencia para guild que domina o Castle 24HRS -Potions Editadas (nóvos efeitos) E muito mais! Eventos: Capture The Flag City War Event BattleField Event Comandos principais: !dodoge !critical /cast !stamina !aol !bless !vip2 !notice. Vamos as imagens: templo http://imgur.com/2MnFUqv Templo parte de cima http://imgur.com/CZFmtsO Castle http://imgur.com/Qb4qs9S area donate http://imgur.com/sBqejOW Download:
    http://www.4shared.c...ba/DiegoOT.html Scan:
    https://www.virustot...sis/1413568779/ Créditos
    Dieguiin XP
    DeathRocks
    LuanLuciano
    Vinny  
  9. Upvote
    Fury4i20 deu reputação a Furabio em Desert War 0.6   
    Desert War 0.6

    Informações:

    Mapa de darashia
    Mapa feito para OPEN WAR
    Todos os players começam level 130 [Equipe IllusionWar]
    Equips de acordo com sua vocação [Equipe IllusionWar]
    Quest 250k - Soft boots [Equipe IllusionWar]
    Npc: Refinamento, Ring Seller, Recarregar Soft, Lector e Destruction Itens
    Duas caves para diferenciar
    (para chegar na cave, tem que ir andando)
    Sistema de slot [Mock]
    Frag Look [Theax]
    Addons por level [Pinpao]
    (a cada 5 em 5 leveis pega um addon novo)
    Anti-Mc [shawak] [Cykotitan]
    Buff System [Potreco]
    (quando player nasce no templo ja ganha um determidado buffs)
    Lottery System [Walef Xavier]
    (a cada 61 min player sorteado ganha 100k)


    Templo - Sistema de Buff




    Quest 250k e Soft Boots


    Treiners


    Cave de Walorck




    Sistema de Refinamento


    Itens um pouco editados
    Obs: wand está com ataque muito alto, para edita é Desert War 0.6\data\weapons\scripts vai em wand.lua e edita os numeros em min/max.





    Download:
    4shared: http://www.4shared.c...ert_War_06.html
    Scan:
    http://www.virustota...7c50-1310653476
    Creditos á fora:
    Equipe Real Global Map
    Equipe Illusion War
    Obs: Se faltar creditos, fale para eu colocar. Se for postar o otserv em outro site/forum coloque os devidos creditos de todos.
  10. Upvote
    Fury4i20 deu reputação a Furabio em Sistema de Aura   
    local voc = {6,7,8,9,10,11,12} -- Vocations
    local dalay = 2 -- Segundos
    local effect = 70 -- Efeito
     
    function ariseAura(cid)
     
    if isInArray(voc, getPlayerVocation(cid)) and isPlayer(cid) then
    doSendMagicEffect(getThingPos(cid), effect)
    addEvent(ariseAura, delay * 1000, cid)
    end
     
    return true
    end
     
    function onLogin(cid)
     
    ariseAura(cid)
     
    return true
    end

     
  11. Upvote
    Fury4i20 deu reputação a Furabio em Comando /save e Clean automático   
    Save e clean automático, peguei do server do Printer,
     
     
     
    servesave.lua (data/globalevents/scripts/) :
    local shutdownAtServerSave = false local cleanMapAtServerSave = true local function serverSave() if shutdownAtServerSave then Game.setGameState(GAME_STATE_SHUTDOWN) else Game.setGameState(GAME_STATE_NORMAL) end if cleanMapAtServerSave then cleanMap() end saveServer() end local function secondServerSaveWarning() Game.broadcastMessage('Server is saving game in one minute. Please go to a safe place.', MESSAGE_STATUS_WARNING) addEvent(serverSave, 60000) end local function firstServerSaveWarning() Game.broadcastMessage('Server is saving game in 3 minutes. Please go to a safe place.', MESSAGE_STATUS_WARNING) addEvent(secondServerSaveWarning, 120000) end function onTime(interval) Game.broadcastMessage('Server is saving game in 5 minutes. Please go to a safe place.', MESSAGE_STATUS_WARNING) Game.setGameState(GAME_STATE_STARTUP) addEvent(firstServerSaveWarning, 120000) return not shutdownAtServerSave end globalevents.XML (data/globalevents/) :
    <globalevent name="ServerSave" time="09:55:00" script="serversave.lua" />
  12. Upvote
    Fury4i20 deu reputação a Furabio em [TFS 1.x] /looktype monster ou playername   
    Um comando para GOD, que permiti trocar o seu looktype, para o de um monstro ou de um player em questão.
     
     

    /looktype id /looktype monstername /looktype id, playername /looktype monstername, playername Exemplo: /looktype 262 /looktype Silver Rabbit /looktype 262, Limos /looktype Silver Rabbit, Limos looktype.lua
    function onSay(cid, words, param) local player = Player(cid) if not player:getGroup():getAccess() then return true end local t = param:split(",") local lookType = tonumber(t[1]) if not lookType then lookType = MonsterType(t[1]) and MonsterType(t[1]):getOutfit().lookType if not lookType then player:sendCancelMessage("A monster with that name does not exist.") return false end end if t[2] then playerx, player = player, Player(t[2]:gsub("^%s*(.-)%s*$", "%1")) if not player then playerx:sendCancelMessage("A player with that name does not exist or is not online.") return false end end if lookType >= 0 and lookType ~= 1 and lookType ~= 135 and lookType ~= 411 and lookType ~= 415 and lookType ~= 424 and (lookType <= 160 or lookType >= 192) and lookType ~= 439 and lookType ~= 440 and lookType ~= 468 and lookType ~= 469 and (lookType < 474 or lookType > 485) and lookType ~= 501 and lookType ~= 518 and lookType ~= 519 and lookType ~= 520 and lookType ~= 524 and lookType ~= 525 and lookType ~= 536 and lookType ~= 543 and lookType ~= 549 and lookType ~= 576 and lookType ~= 581 and lookType ~= 582 and lookType <= 595 then local playerOutfit = player:getOutfit() playerOutfit.lookType = lookType player:setOutfit(playerOutfit) else player = playerx or player player:sendCancelMessage("A look type with that id does not exist.") end return false end Créditos : Limos
  13. Upvote
    Fury4i20 deu reputação a Furabio em [TFS 1.1] !exp, !mana updated to 1.1   
    !exp:
    !mana:
    talkactions.xml
    <talkaction words="!exp" script="expmana.lua"/> <talkaction words="!mana" script="expmana.lua"/> expmana.lua
    function onSay(player, words, param) local p = player local s = function(p, lv) local k = Game.getExperienceStage(lv) local st = p:getStamina() if st > 2400 then return k*1.5 .. " (stamina bonus)" elseif st < 1 then return 0 .. " (out of stamina)" elseif st < 841 then return k*0.5 .. " (stamina penalty)" else return k end end if words == "!exp" then local lv = p:getLevel() p:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You need " .. ((50 * lv^3) - (150 * lv^2) + (400 * lv)) / 3 - p:getExperience() .. " experience more, for " .. lv+1 .. " level.") p:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Current rate: x" .. s(p, lv)) return false end p:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You have to spend " .. math.ceil((p:getVocation():getRequiredManaSpent(p:getBaseMagicLevel() + 1) - p:getManaSpent()) / configManager.getNumber(configKeys.RATE_MAGIC)) .. " mana more, for next magic level.") return false end Créditos : zbisu.
  14. Upvote
    Fury4i20 deu reputação a Furabio em [TFS 1.1] !rank   
    rank in-game de level, ml , skill, etc ...
     
     
    13:13 Top players on server, frags, paladin:
    [1] [Test ze Spacjami] [5]
    [2] [Zbizo3] [1]
     
     
    talkactions.xml
    <talkaction words="!rank" separator=" " script="rank.lua"/> rank.lua
    local top = 10 local rankcolor = MESSAGE_STATUS_CONSOLE_ORANGE local errorcolor = MESSAGE_STATUS_CONSOLE_BLUE local popup = true -- set to false if you want it in local chat local exhaustvalue = 78692 -- storage to avoid command spam local exhausttime = 5 -- seconds before you may request rank again local maxgroup = 1 -- set to 2 to include gms, 3 to include gods local ranks = { ['level'] = 1, ['lvl'] = 1, ['exp'] = 1, ['xp'] = 1, ['magic'] = 2, ['ml'] = 2, ['bank'] = 3, ['balance'] = 3, ['cash'] = 3, ['money'] = 3, ['gp'] = 3, ['fist'] = 4, ['club'] = 5, ['sword'] = 6, ['axe'] = 7, ['distance'] = 8, ['dist'] = 8, ['shielding'] = 9, ['shield'] = 9, ['fishing'] = 10, ['fish'] = 10, ['frags'] = 11 } local voc = { ['none'] = 0, ['sorcerer'] = {1, 5}, ['ms'] = {1, 5}, ['druid'] = {2, 6}, ['ed'] = {2, 6}, ['paladin'] = {3, 7}, ['rp'] = {3, 7}, ['knight'] = {4, 8}, ['ek'] = {4, 8} } local stats = { -- {"order by this", "show this first"} [1] = {"experience", "level"}, [2] = {"manaspent", "maglevel"}, [3] = {"balance"}, [4] = {"skill_fist"}, [5] = {"skill_club"}, [6] = {"skill_sword"}, [7] = {"skill_axe"}, [8] = {"skill_dist"}, [9] = {"skill_shielding"}, [10] = {"skill_fishing"} } local stats_names = { [1] = {"exp", "level"}, [2] = {"mana spent", "magic level"}, [3] = {"account balance"}, [4] = {"fist fighting"}, [5] = {"club fighting"}, [6] = {"sword fighting"}, [7] = {"axe fighting"}, [8] = {"distance fighting"}, [9] = {"shielding"}, [10] = {"fishing"}, [11] = {"frags"} } local stats_short = { [1] = {"xp: ", ""}, [2] = {"mana: ", ""}, [3] = {""}, [4] = {""}, [5] = {""}, [6] = {""}, [7] = {""}, [8] = {""}, [9] = {""}, [10] = {""}, [11] = {""} } function table.find(table, value) for i, v in pairs(table) do if v == value then return i end end return nil end function getHighest(check, values) local highest = 0 local highestVal = nil local highestI = nil for i = 1, #values do if check[values[i]] > highest then highest = check[values[i]] highestVal = values[i] highestI = i end end return {highest, highestVal, highestI} end function getTopFraggers(vocs) local fraggers = {} local resultId = db.storeQuery("SELECT `player_id`, `killed_by` FROM `player_deaths` WHERE `is_player` = 1") if resultId then repeat table.insert(fraggers, result.getDataString(resultId, "killed_by")) until not result.next(resultId) result.free(resultId) end local fraggers_names = {} for i = 1, #fraggers do if not table.find(fraggers_names, fraggers[i]) then table.insert(fraggers_names, fraggers[i]) end end local fraggers_total = {} for i = 1, #fraggers do for j = 1, #fraggers_names do if fraggers_names[j] == fraggers[i] then if not fraggers_total[fraggers_names[j]] then fraggers_total[fraggers_names[j]] = 0 end fraggers_total[fraggers_names[j]] = fraggers_total[fraggers_names[j]] + 1 end end end local place = 0 local fraggers_top = {} repeat local v = getHighest(fraggers_total, fraggers_names) if not v[2] then break end if vocs then local resultId = db.storeQuery("SELECT `vocation` FROM `players` WHERE `name` = '" .. v[2] .. "' LIMIT 1") if isInArray(vocs, result.getDataInt(resultId, "vocation")) then place = place + 1 table.insert(fraggers_top, {v[1], v[2]}) end else place = place + 1 table.insert(fraggers_top, {v[1], v[2]}) end table.remove(fraggers_names, v[3]) until (place == top) or (not v[3]) local msg = "" for i = 1, #fraggers_top do if fraggers_top[i][2] then msg = msg .. "\n[" .. i .. "] [" .. fraggers_top[i][2] .. "] [" .. fraggers_top[i][1] .. "]" else break end end return msg end function onSay(player, words, param) if player:getStorageValue(exhaustvalue) >= os.time() then player:sendTextMessage(errorcolor, "Please do not spam.") return false end player:setStorageValue(exhaustvalue, os.time() + exhausttime) local split = param:split(",") if #split == 0 then local ranks2 = {} for i = 1, #stats_names do table.insert(ranks2, stats_names[i][#stats_names[i]]) end player:popupFYI("Example: " .. words .. " balance, knight(optional)\n\nAvailable ranks:\n" .. table.concat(ranks2, "\n")) return false end for i = 1, #split do split[i] = split[i]:gsub("^%s*(.-)%s*$", "%1") end if ranks[split[1]] then local msg = "Top players on server, " .. stats_names[ranks[split[1]]][#stats_names[ranks[split[1]]]] .. (voc[split[2]] and (", " .. split[2]) or "") .. ":" if ranks[split[1]] == 11 then if popup then player:popupFYI(msg .. getTopFraggers(voc[split[2]])) else player:sendTextMessage(rankcolor, msg .. getTopFraggers(voc[split[2]])) end return false else local resultId = db.storeQuery("SELECT `name`, `" .. table.concat(stats[ranks[split[1]]], "`, `") .. "` FROM `players` WHERE `group_id` <= " .. maxgroup .. (voc[split[2]] and (" AND `vocation` IN (" .. table.concat(voc[split[2]], ",") .. ")") or "") .. " ORDER BY `" .. stats[ranks[split[1]]][#stats[ranks[split[1]]]] .. "` DESC LIMIT " .. top) local place = 0 repeat place = place + 1 msg = msg .. "\n[" .. place .. "] [" .. result.getDataString(resultId, "name") .. "] " for i = 1, #stats[ranks[split[1]]] do local s = #stats[ranks[split[1]]] + 1 - i msg = msg .. "[" .. stats_short[ranks[split[1]]][s] .. result.getDataInt(resultId, stats[ranks[split[1]]][s]) .. "]" .. (s > 1 and " " or "") end until not result.next(resultId) result.free(resultId) if popup then player:popupFYI(msg) else player:sendTextMessage(rankcolor, msg) end end return false end player:sendTextMessage(errorcolor, "Incorrect list name. Execute command without parameters to see available lists.") return false end Créditos: zbisu
  15. Upvote
    Fury4i20 deu reputação a Furabio em [TFS 1.0] !buyaddon "addon   
    Os items para receber o addon é configurável.
     

     
     
     
    talkactions.XML
    <talkaction words="!rank" separator=" " script="buyaddon.lua"/> buyaddon.lua
    local text = '--Addon List--\n!buyaddon "citizen\n!buyaddon "hunter\n!buyaddon "mage\n!buyaddon "knight\n!buyaddon "summoner\n!buyaddon "warrior\n!buyaddon "barbarian\n!buyaddon "druid\n!buyaddon "wizard\n!buyaddon "oriental\n!buyaddon "pirate\n!buyaddon "assassin\n!buyaddon "beggar\n!buyaddon "beggar\n!buyaddon "shaman\n!buyaddon "norseman\n!buyaddon "nightmare\n!buyaddon "jester\n!buyaddon "brotherhood\n!buyaddon "warmaster\n--Addon List End--' function onSay(cid, words, param) local player = Player(cid) local cfg = { ["citizen"] = { outfit = { male = 128, female = 136, addon = 3, storage = 10031 }, items = { {5878,100} } }, ["hunter"] = { outfit = { male = 129, female = 137, addon = 3, storage = 10032 }, items = { {5876, 100},{5948, 100} } }, ["mage"] = { outfit = { male = 130, female = 138, addon = 3, storage = 10033 }, items = { {2160,10} } }, ["knight"] = { outfit = { male = 131, female = 139, addon = 3, storage = 10034 }, items = { {5880,100},{5893, 100} } }, ["summoner"] = { outfit = { male = 133, female = 141, addon = 3, storage = 10035 }, items = { {2160,10} } }, ["warrior"] = { outfit = { male = 134, female = 142, addon = 3, storage = 10036 }, items = { {5925, 100},{5899, 100},{5919, 1},{5880, 100} } }, ["barbarian"] = { outfit = { male = 147, female = 143, addon = 3, storage = 10037 }, items = { {5911, 50},{5910, 50},{5879, 100} } }, ["druid"] = { outfit = { male = 148, female = 144, addon = 3, storage = 10038 }, items = { {5896, 50},{5897, 50} } }, ["wizard"] = { outfit = { male = 149, female = 145, addon = 3, storage = 10039 }, items = { {2536, 1},{2492, 1},{2488, 1},{2123, 1},{5922, 50} } }, ["oriental"] = { outfit = { male = 150, female = 146, addon = 3, storage = 10040 }, items = { {5883, 100},{5895, 100},{5912, 100} } }, ["pirate"] = { outfit = { male = 151, female = 155, addon = 3, storage = 10041 }, items = { {6098, 100},{6126, 100},{6097, 100} } }, ["assassin"] = { outfit = { male = 152, female = 156, addon = 3, storage = 10042 }, items = { {5898, 30},{5882, 10},{5881, 30},{5895, 20},{5905, 10} } }, ["beggar"] = { outfit = { male = 153, female = 157, addon = 3, storage = 10043 }, items = { {5878, 50},{2743, 30},{5913, 20},{5894, 10} } }, ["shaman"] = { outfit = { male = 154, female = 158, addon = 3, storage = 10044 }, items = { {3955,5},{5810, 5},{3966, 5},{3967, 5} } }, ["norseman"] = { outfit = { male = 251, female = 252, addon = 3, storage = 10045 }, items = { {7290,15} } }, ["nightmare"] = { outfit = { male = 268, female = 269, addon = 3, storage = 10046 }, items = { {6500,200} } }, ["jester"] = { outfit = { male = 273, female = 270, addon = 3, storage = 10047 }, items = { {2160, 25} } }, ["brotherhood"] = { outfit = { male = 278, female = 279, addon = 3, storage = 10048 }, items = { {6500,200} } } } local v, removeItems = cfg[param], 0, 0 if(param == "") then player:sendTextMessage(MESSAGE_INFO_DESCR, 'Please type !addon "outfit') player:showTextDialog( 5914, text) return false end if (v == nil) then player:sendTextMessage(MESSAGE_INFO_DESCR, "There is no such as outfit named "..param..", here is the list of available outfit.") player:showTextDialog(5914, text) return false end if(player:getStorageValue(v.outfit.storage) < 1) then for i = 1, #v.items do if(player:getItemCount(v.items[i][1]) >= v.items[i][2]) then removeItems = removeItems+1 end end if(removeItems == #v.items) then if(player:getSex(cid) == 1) then player:addOutfitAddon(v.outfit.male, v.outfit.addon) elseif(player:getSex(cid) == 0) then player:addOutfitAddon( v.outfit.female, v.outfit.addon) end for i = 1, #v.items do player:removeItem( v.items[i][1], v.items[i][2]) end player:sendTextMessage(MESSAGE_INFO_DESCR, "Enjoy your new addons to your "..param.." outfit!") player:getPosition():sendMagicEffect(CONST_ME_FIREWORK_YELLOW) player:setStorageValue( v.outfit.storage, 1) else for i = 1, #v.items do player:sendTextMessage(MESSAGE_INFO_DESCR, "Tu necesitas " .. v.items[i][2] .. "x " .. ItemType(v.items[i][1]):getName() .. " para obtener el "..param.." addon.") end end else player:sendTextMessage(MESSAGE_INFO_DESCR, "Usted ya obtuvo el "..param..".") end return false end Créditos : david.
  16. Upvote
    Fury4i20 deu reputação a Furabio em [TFS 1.1] Monster Tasks   
    Esse npc permite escolher qual task o player irá fazer :
     


    Adonai.xml
    <?xml version="1.0" encoding="UTF-8"?> <npc name="Adonai" script="tasks.lua" walkinterval="2000" speed ="0" floorchange="0"> <health now="100" max="100"/> <look type="433" head="58" body="113" legs="50" feet="78" addons="1" mount="688"/> </npc> tasks.lua
    local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local xmsg = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end local storage = 62003 local monsters = { ["Dragons"] = {storage = 5010, mstorage = 19000, amount = 10, exp = 5000, items = {{id = 2157, count = 1}, {id = 2160, count = 3}}}, ["Dragon Lords"] = {storage = 5011, mstorage = 19001, amount = 10, exp = 10000, items = {{id = 2492, count = 1}, {id = 2160, count = 5}}}, ["Hydras"] = {storage = 5012, mstorage = 19002, amount = 10, exp = 18000, items = {{id = 2195, count = 1}, {id = 2157, count = 8}}}, ["Demons"] = {storage = 5013, mstorage = 19003, amount = 10, exp = 20000, items = {{id = 2520, count = 1}, {id = 2160, count = 10}}} } local function getItemsFromTable(itemtable) local text = "" for v = 1, #itemtable do count, info = itemtable[v].count, ItemType(itemtable[v].id) local ret = ", " if v == 1 then ret = "" elseif v == #itemtable then ret = " and " end text = text .. ret text = text .. (count > 1 and count or info:getArticle()).." "..(count > 1 and info:getPluralName() or info:getName()) end return text end local function Cptl(f, r) return f:upper()..r:lower() end function creatureSayCallback(cid, type, msg) local player, cmsg = Player(cid), msg:gsub("(%a)([%w_']*)", Cptl) if not npcHandler:isFocused(cid) then if msg == "hi" or msg == "hello" then npcHandler:addFocus(cid) if player:getStorageValue(storage) == -1 then local text, n = "", 0 for k, x in pairs(monsters) do if player:getStorageValue(x.mstorage) < x.amount then n = n + 1 text = text .. ", " text = text .. ""..x.amount.." {"..k.."}" end end if n > 1 then npcHandler:say("I have several tasks for you to kill monsters"..text..", which one do you choose? I can also show you a {list} with rewards and you can {stop} a task if you want.", cid) npcHandler.topic[cid] = 1 xmsg[cid] = msg elseif n == 1 then npcHandler:say("I have one last task for you"..text..".", cid) npcHandler.topic[cid] = 1 else npcHandler:say("You already did all tasks, I have nothing for you to do anymore, good job though.", cid) end elseif player:getStorageValue(storage) == 1 then for k, x in pairs(monsters) do if player:getStorageValue(x.storage) == 1 then npcHandler:say("Did you kill "..x.amount.." "..k.."?", cid) npcHandler.topic[cid] = 2 xmsg[cid] = k end end end else return false end elseif monsters[cmsg] and npcHandler.topic[cid] == 1 then if player:getStorageValue(monsters[cmsg].storage) == -1 then npcHandler:say("Good luck, come back when you killed "..monsters[cmsg].amount.." "..cmsg..".", cid) player:setStorageValue(storage, 1) player:setStorageValue(monsters[cmsg].storage, 1) else npcHandler:say("You already did the "..cmsg.." mission.", cid) end npcHandler.topic[cid] = 0 elseif msgcontains(msg, "yes") and npcHandler.topic[cid] == 2 then local x = monsters[xmsg[cid]] if player:getStorageValue(x.mstorage) >= x.amount then npcHandler:say("Good job, here is your reward, "..getItemsFromTable(x.items)..".", cid) for g = 1, #x.items do player:addItem(x.items[g].id, x.items[g].count) end player:addExperience(x.exp) player:setStorageValue(x.storage, 2) player:setStorageValue(storage, -1) npcHandler.topic[cid] = 3 else npcHandler:say("You didn't kill them all, you still need to kill "..x.amount -(player:getStorageValue(x.mstorage) + 1).." "..xmsg[cid]..".", cid) end elseif msgcontains(msg, "task") and npcHandler.topic[cid] == 3 then local text, n = "", 0 for k, x in pairs(monsters) do if player:getStorageValue(x.mstorage) < x.amount then n = n + 1 text = text .. (n == 1 and "" or ", ") text = text .. "{"..k.."}" end end if text ~= "" then npcHandler:say("Want to do another task? You can choose "..text..".", cid) npcHandler.topic[cid] = 1 else npcHandler:say("You already did all tasks.", cid) end elseif msgcontains(msg, "no") and npcHandler.topic[cid] == 1 then npcHandler:say("Ok then.", cid) npcHandler.topic[cid] = 0 elseif msgcontains(msg, "stop") then local text, n = "", 0 for k, x in pairs(monsters) do if player:getStorageValue(x.mstorage) < x.amount then n = n + 1 text = text .. (n == 1 and "" or ", ") text = text .. "{"..k.."}" if player:getStorageValue(x.storage) == 1 then player:setStorageValue(x.storage, -1) end end end if player:getStorageValue(storage) == 1 then npcHandler:say("Alright, let me know if you want to continue an other task, you can still choose "..text..".", cid) else npcHandler:say("You didn't start any new task yet, if you want to start one, you can choose "..text..".", cid) end player:setStorageValue(storage, -1) npcHandler.topic[cid] = 1 elseif msgcontains(msg, "list") then local text = "Tasks\n\n" for k, x in pairs(monsters) do if player:getStorageValue(x.mstorage) < x.amount then text = text ..k .." ["..(player:getStorageValue(x.mstorage) + 1).."/"..x.amount.."]:\n Rewards:\n "..getItemsFromTable(x.items).."\n "..x.exp.." experience \n\n" else text = text .. k .." [DONE]\n" end end player:showTextDialog(1949, "" .. text) npcHandler:say("Here you are.", cid) elseif msgcontains(msg, "bye") then npcHandler:say("Bye.", cid) npcHandler:releaseFocus(cid) else npcHandler:say("What?", cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) creaturescripts.xml
    <event type="kill" name="Tasks" script="killtasks.lua"/> login.lua
    player:registerEvent("Tasks") killtasks.lua
    local config = { ['dragon'] = {amount = 10, storage = 19000, startstorage = 5010, startvalue = 1}, ['dragon lord'] = {amount = 10, storage = 19001, startstorage = 5011, startvalue = 1}, ['hydra'] = {amount = 10, storage = 19002, startstorage = 5012, startvalue = 1}, ['demon'] = {amount = 10, storage = 19003, startstorage = 5013, startvalue = 1} } function onKill(player, target) local monster = config[target:getName():lower()] if target:isPlayer() or not monster or target:getMaster() then return true end local stor = player:getStorageValue(monster.storage)+1 if stor < monster.amount and player:getStorageValue(monster.startstorage) >= monster.startvalue then player:setStorageValue(monster.storage, stor) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, 'Task message: '..(stor +1)..' of '..monster.amount..' '..target:getName()..'s killed.') end if (stor +1) == monster.amount then player:sendTextMessage(MESSAGE_INFO_DESCR, 'Congratulations, you have killed '..(stor +1)..' '..target:getName()..'s and completed the '..target:getName()..'s mission.') player:setStorageValue(monster.storage, stor +1) end return true end







    ___________________________________________________________________________________________






    Como funciona ?

    O NPC oferece-lhe várias task, você pode escolher qual você deseja fazer. Se você não matar todos os monstros, o NPC irá dizer-lhe quantos você ainda tem que matar.




    Você pode para ver a lista de recompensa e as tasks que você já fez.




    Você pode parar com as tasks e ir fazer outra e depois continuar a antiga.



    Ao terminar as task elas não serão mais mencionados pelo NPC mas será mostrado como terminado na lista.





    Quando terminar as task o npc, dirá que todas foram completadas.




    Créditos : Limos
  17. Upvote
    Fury4i20 deu reputação a Furabio em [TFS 1.1] Addon NPC (Varkhal)   
    local keywordHandler = KeywordHandler:new()
    local npcHandler = NpcHandler:new(keywordHandler)
    local talkState = {}
    local rtnt = {}
    function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
    function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
    function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
    function onThink() npcHandler:onThink() end
     
    npcHandler:setMessage(MESSAGE_GREET, "Greetings |PLAYERNAME|. I need your help and I'll reward you with nice addons if you help me! Just say {addons} or {help} if you don't know what to do.")
     
    addoninfo = {
    ['first citizen addon'] = {cost = 0, items = {{5878,20}}, outfit_female = 136, outfit_male = 128, addon = 1, storageID = 10042},
    ['second citizen addon'] = {cost = 0, items = {{5890,50}, {5902,25}, {2480,1}}, outfit_female = 136, outfit_male = 128, addon = 2, storageID = 10043},
    ['first hunter addon'] = {cost = 0, items = {{5876,50}, {5948,50}, {5891,5}, {5887,1}, {5889,1}, {5888,1}}, outfit_female = 137, outfit_male = 129, addon = 1, storageID = 10044},
    ['second hunter addon'] = {cost = 0, items = {{5875,1}}, outfit_female = 137, outfit_male = 129, addon = 2, storageID = 10045},
    ['first knight addon'] = {cost = 0, items = {{5880,50}, {5892,1}}, outfit_female = 139, outfit_male = 131, addon = 1, storageID = 10046},
    ['second knight addon'] = {cost = 0, items = {{5893,50}, {11422,1}, {5885,1}, {5887,1}}, outfit_female = 139, outfit_male = 131, addon = 2, storageID = 10047},
    ['first mage addon'] = {cost = 0, items = {{2182,1}, {2186,1}, {2185,1}, {8911,1}, {2181,1}, {2183,1}, {2190,1}, {2191,1}, {2188,1}, {8921,1}, {2189,1}, {2187,1}, {2392,30}, {5809,1}, {2193,20}}, outfit_female = 138, outfit_male = 130, addon = 1, storageID = 10048},
    ['second mage addon'] = {cost = 0, items = {{5903,1}}, outfit_female = 138, outfit_male = 130, addon = 2, storageID = 10049},
    ['first summoner addon'] = {cost = 0, items = {{5878,20}}, outfit_female = 141, outfit_male = 133, addon = 1, storageID = 10050},
    ['second summoner addon'] = {cost = 0, items = {{5894,35}, {5911,20}, {5883,40}, {5922,35}, {5879,10}, {5881,30}, {5882,40}, {2392,3}, {5905,30}}, outfit_female = 141, outfit_male = 133, addon = 2, storageID = 10051},
    ['first barbarian addon'] = {cost = 0, items = {{5884,1}, {5885,1}, {5910,25}, {5911,25}, {5886,10}}, outfit_female = 147, outfit_male = 143, addon = 1, storageID = 10011},
    ['second barbarian addon'] = {cost = 0, items = {{5880,25}, {5892,1}, {5893,25}, {5876,25}}, outfit_female = 147, outfit_male = 143, addon = 2, storageID = 10012},
    ['first druid addon'] = {cost = 0, items = {{5896,20}, {5897,20}}, outfit_female = 148, outfit_male = 144, addon = 1, storageID = 10013},
    ['second druid addon'] = {cost = 0, items = {{5906,100}}, outfit_female = 148, outfit_male = 144, addon = 2, storageID = 10014},
    ['first nobleman addon'] = {cost = 300000, items = {}, outfit_female = 140, outfit_male = 132, addon = 1, storageID = 10015},
    ['second nobleman addon'] = {cost = 300000, items = {}, outfit_female = 140, outfit_male = 132, addon = 2, storageID = 10016},
    ['first oriental addon'] = {cost = 0, items = {{5945,1}}, outfit_female = 150, outfit_male = 146, addon = 1, storageID = 10017},
    ['second oriental addon'] = {cost = 0, items = {{5883,30}, {5895,30}, {5891,2}, {5912,30}}, outfit_female = 150, outfit_male = 146, addon = 2, storageID = 10018},
    ['first warrior addon'] = {cost = 0, items = {{5925,40}, {5899,40}, {5884,1}, {5919,1}}, outfit_female = 142, outfit_male = 134, addon = 1, storageID = 10019},
    ['second warrior addon'] = {cost = 0, items = {{5880,40}, {5887,1}}, outfit_female = 142, outfit_male = 134, addon = 2, storageID = 10020},
    ['first wizard addon'] = {cost = 0, items = {{2536,1}, {2492,1}, {2488,1}, {2123,1}}, outfit_female = 149, outfit_male = 145, addon = 1, storageID = 10021},
    ['second wizard addon'] = {cost = 0, items = {{5922,40}}, outfit_female = 149, outfit_male = 145, addon = 2, storageID = 10022},
    ['first assassin addon'] = {cost = 0, items = {{5912,20}, {5910,20}, {5911,20}, {5913,20}, {5914,20}, {5909,20}, {5886,10}}, outfit_female = 156, outfit_male = 152, addon = 1, storageID = 10023},
    ['second assassin addon'] = {cost = 0, items = {{5804,1}, {5930,10}}, outfit_female = 156, outfit_male = 152, addon = 2, storageID = 10024},
    ['first beggar addon'] = {cost = 0, items = {{5878,30}, {5921,20}, {5913,10}, {5894,10}}, outfit_female = 157, outfit_male = 153, addon = 1, storageID = 10025},
    ['second beggar addon'] = {cost = 0, items = {{5883,30}, {2160,2}}, outfit_female = 157, outfit_male = 153, addon = 2, storageID = 10026},
    ['first pirate addon'] = {cost = 0, items = {{6098,30}, {6126,30}, {6097,30}}, outfit_female = 155, outfit_male = 151, addon = 1, storageID = 10027},
    ['second pirate addon'] = {cost = 0, items = {{6101,1}, {6102,1}, {6100,1}, {6099,1}}, outfit_female = 155, outfit_male = 151, addon = 2, storageID = 10028},
    ['first shaman addon'] = {cost = 0, items = {{5810,5}, {3955,5}, {5015,1}}, outfit_female = 158, outfit_male = 154, addon = 1, storageID = 10029},
    ['second shaman addon'] = {cost = 0, items = {{3966,5}, {3967,5}}, outfit_female = 158, outfit_male = 154, addon = 2, storageID = 10030},
    ['first norseman addon'] = {cost = 0, items = {{7290,5}}, outfit_female = 252, outfit_male = 251, addon = 1, storageID = 10031},
    ['second norseman addon'] = {cost = 0, items = {{7290,10}}, outfit_female = 252, outfit_male = 251, addon = 2, storageID = 10032},
    ['first jester addon'] = {cost = 0, items = {{5912,20}, {5913,20}, {5914,20}, {5909,20}}, outfit_female = 270, outfit_male = 273, addon = 1, storageID = 10033},
    ['second jester addon'] = {cost = 0, items = {{5912,20}, {5910,20}, {5911,20}, {5912,20}}, outfit_female = 270, outfit_male = 273, addon = 2, storageID = 10034},
    ['first demonhunter addon'] = {cost = 0, items = {{5905,30}, {5906,40}, {5954,20}, {6500,50}}, outfit_female = 288, outfit_male = 289, addon = 1, storageID = 10035},
    ['second demonhunter addon'] = {cost = 0, items = {{5906,50}, {6500,200}}, outfit_female = 288, outfit_male = 289, addon = 2, storageID = 10036},
    ['first nightmare addon'] = {cost = 0, items = {{6500,750}}, outfit_female = 269, outfit_male = 268, addon = 1, storageID = 10037},
    ['second nightmare addon'] = {cost = 0, items = {{6500,750}}, outfit_female = 269, outfit_male = 268, addon = 2, storageID = 10038},
    ['first brotherhood addon'] = {cost = 0, items = {{6500,750}}, outfit_female = 279, outfit_male = 278, addon = 1, storageID = 10039},
    ['second brotherhood addon'] = {cost = 0, items = {{6500,750}}, outfit_female = 279, outfit_male = 278, addon = 2, storageID = 10040},
    ['first yalaharian addon'] = {cost = 0, items = {{9955,1}}, outfit_female = 324, outfit_male = 325, addon = 1, storageID = 10041},
    ['second yalaharian addon'] = {cost = 0, items = {{9955,1}}, outfit_female = 324, outfit_male = 325, addon = 2, storageID = 10041}
    -- next storage 10052 -- next storage 10052 -- next storage 10052 -- next storage 10052 -- next storage 10052 -- next storage 10052 -- next storage 10052 --
    }
    local o = {'citizen', 'hunter', 'knight', 'mage', 'nobleman', 'summoner', 'warrior', 'barbarian', 'druid', 'wizard', 'oriental', 'pirate', 'assassin', 'beggar', 'shaman', 'norseman', 'nighmare', 'jester', 'yalaharian', 'brotherhood'}
    function creatureSayCallback(cid, type, msg)
    local talkUser = cid
     
    if(not npcHandler:isFocused(cid)) then
    return false
    end
     
    if addoninfo[msg] ~= nil then
    if (getPlayerStorageValue(cid, addoninfo[msg].storageID) ~= -1) then
    npcHandler:say('You already have this addon!', cid)
    npcHandler:resetNpc()
    else
    local itemsTable = addoninfo[msg].items
    local items_list = ''
    if table.maxn(itemsTable) > 0 then
    for i = 1, table.maxn(itemsTable) do
    local item = itemsTable
    items_list = items_list .. item[2] .. ' ' .. ItemType(item[1]):getName()
    if i ~= table.maxn(itemsTable) then
    items_list = items_list .. ', '
    end
    end
    end
    local text = ''
    if (addoninfo[msg].cost > 0) then
    text = addoninfo[msg].cost .. ' gp'
    elseif table.maxn(addoninfo[msg].items) then
    text = items_list
    elseif (addoninfo[msg].cost > 0) and table.maxn(addoninfo[msg].items) then
    text = items_list .. ' and ' .. addoninfo[msg].cost .. ' gp'
    end
    npcHandler:say('For ' .. msg .. ' you will need ' .. text .. '. Do you have it all with you?', cid)
    rtnt[talkUser] = msg
    talkState[talkUser] = addoninfo[msg].storageID
    return true
    end
    elseif msgcontains(msg, "yes") then
    if (talkState[talkUser] > 10010 and talkState[talkUser] < 10100) then
    local items_number = 0
    if table.maxn(addoninfo[rtnt[talkUser]].items) > 0 then
    for i = 1, table.maxn(addoninfo[rtnt[talkUser]].items) do
    local item = addoninfo[rtnt[talkUser]].items
    if (getPlayerItemCount(cid,item[1]) >= item[2]) then
    items_number = items_number + 1
    end
    end
    end
    if(getPlayerMoney(cid) >= addoninfo[rtnt[talkUser]].cost) and (items_number == table.maxn(addoninfo[rtnt[talkUser]].items)) then
    doPlayerRemoveMoney(cid, addoninfo[rtnt[talkUser]].cost)
    if table.maxn(addoninfo[rtnt[talkUser]].items) > 0 then
    for i = 1, table.maxn(addoninfo[rtnt[talkUser]].items) do
    local item = addoninfo[rtnt[talkUser]].items
    doPlayerRemoveItem(cid,item[1],item[2])
    end
    end
    doPlayerAddOutfit(cid, addoninfo[rtnt[talkUser]].outfit_male, addoninfo[rtnt[talkUser]].addon)
    doPlayerAddOutfit(cid, addoninfo[rtnt[talkUser]].outfit_female, addoninfo[rtnt[talkUser]].addon)
    setPlayerStorageValue(cid,addoninfo[rtnt[talkUser]].storageID,1)
    npcHandler:say('Here you are.', cid)
    else
    npcHandler:say('You do not have needed items!', cid)
    end
    rtnt[talkUser] = nil
    talkState[talkUser] = 0
    npcHandler:resetNpc()
    return true
    end
    elseif msgcontains(msg, "addon") then
    npcHandler:say('I can give you addons for {' .. table.concat(o, "}, {") .. '} outfits.', cid)
    rtnt[talkUser] = nil
    talkState[talkUser] = 0
    npcHandler:resetNpc()
    return true
    elseif msgcontains(msg, "help") then
    npcHandler:say('To buy the first addon say \'first NAME addon\', for the second addon say \'second NAME addon\'.', cid)
    rtnt[talkUser] = nil
    talkState[talkUser] = 0
    npcHandler:resetNpc()
    return true
    else
    if talkState[talkUser] ~= nil then
    if talkState[talkUser] > 0 then
    npcHandler:say('Come back when you get these items.', cid)
    rtnt[talkUser] = nil
    talkState[talkUser] = 0
    npcHandler:resetNpc()
    return true
    end
    end
    end
    return true
    end
     
    npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
    npcHandler:addModule(FocusModule:new())

  18. Upvote
    Fury4i20 deu reputação a Furabio em [TFS 1.x] Sistema de reset   
    Essa versão foi feita pra tfs 1.x +, então não funcionaria no 0.4 por causa dos metamétodos.
  19. Upvote
    Fury4i20 deu reputação a Furabio em [TFS 1.x] Sistema de reset   
    Você pode configurar se quer que o preço aumente a cada reset, se quer que o level pra resetar aumente e se vc quer que a vida resete junto (e quanto % da vida atual será a vida após resetar).


    Testado em tfs 1.1, Versão 10.77




    Vá em data/npc/lib/ crie npc_resets.lua :




    Você pode editar mexendo aqui. no script acima :
    config = { minlevel = 150, --- Level inical para resetar price = 10000, --- Preço inicial para resetar newlevel = 20, --- Level após reset priceByReset = 0, --- Preço acrescentado por reset percent = 30, ---- Porcentagem da vida/mana que você terá ao resetar (em relação à sua antiga vida total) maxresets = 50, ---- Maximo de resets levelbyreset = 0 --- Quanto de level vai precisar a mais no próximo reset } agora em data/npc/ crie reseter.XML :
     
     
     
     
    Agora em data/npc/scripts crie reseter.lua :
     
     
     
     
     
    Img :


     
  20. Upvote
    Fury4i20 deu reputação a Furabio em [TFS 1.x] Weather System   
    Basicamente é um sistema onde permite chuva e solte raios em determinado local do mapa, use sua criatividade ao usar o sistema.
     
     
     
     
     

     
     
     
    Features :
     
    Chuva só nos jogadores, para economizar memória do servidor, em vez de enviar todo o mapa. Se não tiver um telhado, vai enviar o efeito dentro do local mesmo. Assim, se você estiver sob um teto, vai enviar para fora do local. Quando água bate no chão, envia o efeito de splash. Efeito do trovão causa dano.
    Em global.lua adicione :
    weatherConfig = { groundEffect = CONST_ME_LOSEENERGY, fallEffect = CONST_ANI_ICE, thunderEffect = true, minDMG = 5, maxDMG = 10 } function Player.sendWeatherEffect(self, groundEffect, fallEffect, thunderEffect) local position, random = self:getPosition(), math.random position.x = position.x + random(-4, 4) position.y = position.y + random(-4, 4) local fromPosition = Position(position.x + 1, position.y, position.z) fromPosition.x = position.x - 7 fromPosition.y = position.y - 5 local tile, getGround for Z = 1, 7 do fromPosition.z = Z position.z = Z tile = Tile(position) if tile then -- If there is a tile, stop checking floors fromPosition:sendDistanceEffect(position, fallEffect) position:sendMagicEffect(groundEffect, self) getGround = tile:getGround() if getGround and ItemType(getGround:getId()):getFluidSource() == 1 then position:sendMagicEffect(CONST_ME_WATERSPLASH, self) end break end end if thunderEffect and tile then if random(2) == 1 then local topCreature = tile:getTopCreature() if topCreature and topCreature:isPlayer() then position:sendMagicEffect(CONST_ME_BIGCLOUDS, self) doTargetCombatHealth(0, self, COMBAT_ENERGYDAMAGE, -weatherConfig.minDMG, -weatherConfig.maxDMG, CONST_ME_NONE) self:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You were hit by lightning and lost some health.") end end end end modo de uso :
    player:sendWeatherEffect(weatherConfig.groundEffect, weatherConfig.fallEffect, weatherConfig.thunderEffect) Em breve vou fazer uns scripts bacana em cima desse sistema, aceito sugestões.
     
     
    Créditos : Printer.
  21. Upvote
    Fury4i20 deu reputação a Furabio em Automatic Znote AAC Shop [TFS 1.0]   
    Em data/globalevents/globalevents.XML adicione :
    <globalevent name="Znote Shop" interval="30000" script="znoteShop.lua"/> Em data/globalevents/scripts/ crie znoteShop.lua :
    function onThink(interval, lastExecution) local players = Game.getPlayers() if #players == 0 then -- 0 players online, no need to execute the script return true end local player for i = 1, #players do player = players[i] local orderQuery = db.storeQuery('SELECT `id`, `type`, `itemid`, `count` FROM `znote_shop_orders` WHERE `account_id` = '.. player:getAccountId() ..' LIMIT 1;') if orderQuery then --Lets check if the players online have orderd something from the shop local orderId = result.getDataInt(orderQuery, 'id') local orderType = result.getDataInt(orderQuery, 'type') local orderItemId = result.getDataInt(orderQuery, 'itemid') local orderCount = result.getDataInt(orderQuery, 'count') result.free(orderQuery) if orderType == 1 then if player:addItemEx(Game.createItem(orderItemId, orderCount or 1)) ~= RETURNVALUE_NOERROR or player:getFreeCapacity() < ItemType(orderItemId):getWeight(orderCount or 1) then --Lets check if player have slot or cape left. Else send to player inbox local parcel = player:getInbox():addItem(2596, 1, false, 1) if not parcel then --If not being able to create parcel we stop the script and retry again. print('[ERROR Znote Shop Globalevents] = Error on creating a parcel.') return true end local letter = parcel:addItem(2598, 1, false, 1) letter:setAttribute(ITEM_ATTRIBUTE_TEXT, 'You have received your shop item. Thanks for donating.') parcel:addItem(orderItemId, orderCount or 1, false, 1) end db.query('DELETE FROM `znote_shop_orders` WHERE `id` = '.. orderId ..';') player:sendTextMessage(MESSAGE_INFO_DESCR, 'Congratulations! You have received '.. orderCount ..'x '.. ItemType(orderItemId):getName() ..'!') end end end return true end Créditos Printer.
  22. Upvote
    Fury4i20 deu reputação a Furabio em [TFS 1.0/1.1] TP room text/effects   
    globalevents.xml:
    <globalevent name="text" interval="3500" script="text.lua"/> text.lua:
    [TFS 1.1]
    local effects = { {position = Position(995, 100, 7), text = 'Teleports', effect = CONST_ME_GROUNDSHAKER}, {position = Position(281, 254, 8), text = 'TP Room'}, -- text only {position = Position(307, 254, 1), text = 'Event', effect = CONST_ME_GROUNDSHAKER}, } function onThink(interval) for i = 1, #effects do local settings = effects[i] local spectators = Game.getSpectators(settings.position, false, true, 7, 7, 5, 5) if #spectators > 0 then if settings.text then for i = 1, #spectators do spectators[i]:say(settings.text, TALKTYPE_MONSTER_SAY, false, spectators[i], settings.position) end end if settings.effect then settings.position:sendMagicEffect(settings.effect) end end end return true end Para versões que não utilizam metatable :
    local fields = { {x = 995, y = 1000, z = 7, text = "Teleports", eff = CONST_ME_GROUNDSHAKER}, {x = 281, y = 254, z = 8, text = "TP Room"}, -- text only {x = 307, y = 254, z = 15, text = "Event", eff = CONST_ME_GROUNDSHAKER}, } function onThink(interval) for i = 1, #fields do local pos = fields[i] local people = getSpectators(pos, 7, 5, false, true) if people then if pos.text then doCreatureSay(people[1], pos.text, TALKTYPE_ORANGE_1, false, 0, pos) end if pos.eff then doSendMagicEffect(pos, pos.eff) end end end return true end Créditos : zbisu
  23. Upvote
    Fury4i20 deu reputação a Furabio em [TFS 1.1] Monster Arena   
    Descrição : Você precisa de 2 pessoas para este mini-game. Você se posiciona sobre os azulejos e puxa a alavanca. Dentro da arena cada jogador irá receber um montro invocado, que irá, em seguida, atacar o inimigo e o monstro. O jogador mata o outro monstro ganha e será recompensada.
     
    Map:
    Mediafire: http://www.mediafire.com/download/qnnqj1rmilmrd5a/monsterarena.otbm

     
     
    actions.xml
    <action actionid="1500" script="monsterarena.lua"/> actions/scripts/monsterarena.lua
    MonsterArena = { fromPosition = { Position(1022, 1030, 7), Position(1024, 1030, 7) }, toPosition = { Position(1020, 1021, 7), Position(1022, 1021, 7) }, spawnPosition = { Position(1020, 1022, 7), Position(1022, 1020, 7) }, area = { from = Position(1015, 1016, 7), to = Position(1027, 1026, 7) }, exitPosition = Position(1022, 1028, 7), reward = {itemId = 2160, count = 10}, blockItemId = 3402, -- Only convincable / summonable monsters -- You can create custom monsters which are stronger and convincable monsters = {'Troll', 'Rat', 'Tortoise', 'Orc Berserker', 'Minotaur'}, event = 'MonsterArenaDeath', players = {} } function MonsterArena.hasPlayer(player) local position = player:getPosition() return position.x >= MonsterArena.area.from.x and position.y >= MonsterArena.area.from.y and position.x <= MonsterArena.area.to.x and position.y <= MonsterArena.area.to.y and position.z == MonsterArena.area.from.z end function MonsterArena.isOccupied() for _, pid in ipairs(MonsterArena.players) do local player = Player(pid) if player and MonsterArena.hasPlayer(player) then return true end end return false end function MonsterArena.clean() for i = 1, #MonsterArena.players do MonsterArena.players[i] = nil end end function onUse(player, item, fromPosition, target, toPosition, isHotkey) if item.itemid ~= 1945 then item:transform(1946) return true end if MonsterArena.isOccupied() then player:sendCancelMessage('The monster arena is currently occupied.') return true end local players = {} for _, fromPosition in ipairs(MonsterArena.fromPosition) do local creature = Tile(fromPosition):getTopCreature() if not creature or not creature:isPlayer() then player:sendCancelMessage('You need another player for the monster arena.') return true end table.insert(players, creature) end MonsterArena.clean() local summons = {} for i, player in ipairs(players) do player:teleportTo(MonsterArena.toPosition[i]) MonsterArena.fromPosition[i]:sendMagicEffect(CONST_ME_POFF) MonsterArena.toPosition[i]:sendMagicEffect(CONST_ME_TELEPORT) local monsterName = MonsterArena.monsters[math.random(#MonsterArena.monsters)] local monster = Game.createMonster(monsterName, MonsterArena.spawnPosition[i], true) monster:setMaster(player) monster:registerEvent(MonsterArena.event) table.insert(summons, monster) Game.createItem(MonsterArena.blockItemId, 1, MonsterArena.spawnPosition[i]) player:sendTextMessage(MESSAGE_INFO_DESCR, string.format('A %s is fighting for you this round!', monsterName)) table.insert(MonsterArena.players, player.uid) end players[1]:setTarget(summons[2]) players[2]:setTarget(summons[1]) item:transform(1945) return true end creaturescripts.xml
    <event type="death" name="MonsterArenaDeath" script="monsterarenadeath.lua"/> creaturescripts/scripts/monsterarenadeath.lua
    function onDeath(monster, corpse, killer, mostDamageKiller, unjustified, mostDamageUnjustified) local winnerPlayer = killer:getMaster() local loserPlayer = monster:getMaster() local reward = MonsterArena.reward if reward then winnerPlayer:sendTextMessage(MESSAGE_INFO_DESCR, 'Your monster won the fight and earned a reward for you!') winnerPlayer:addItem(reward.itemId, reward.count) else winnerPlayer:sendTextMessage(MESSAGE_INFO_DESCR, 'Your monster won the fight!') end loserPlayer:sendTextMessage(MESSAGE_INFO_DESCR, 'Your monster lost the fight!') winnerPlayer:teleportTo(MonsterArena.exitPosition) loserPlayer:teleportTo(MonsterArena.exitPosition) MonsterArena.exitPosition:sendMagicEffect(CONST_ME_MAGIC_BLUE) for _, position in ipairs(MonsterArena.spawnPosition) do local item = Tile(position):getItemById(MonsterArena.blockItemId) if item then item:remove() end end killer:remove() return true end Créditos : Summ
  24. Upvote
    Fury4i20 deu reputação a Furabio em [10.76][TFS 1.1] Old MW sprite + timer   
    Esse script vai mudar a sua mw para a sprite velha e vai funcionar da mesma forma:
     

     
    movements.xml
    <movevent event="StepIn" itemid="8753" script="mwstep.lua"/> mwstep.lua
    function onStepIn(creature, item, position, fromPosition) removeMw(creature:getPosition(), 8753, 1027) return true end \data\spells\scripts\support\magic wall rune.lua
    substituir o que tem dentro por :
    local id = 8753 local combat = Combat() combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) combat:setParameter(COMBAT_PARAM_CREATEITEM, id) function tile_timer(id, pos, delay, color) if getTileItemById(pos, id).uid == 0 then return true end if delay ~= 1 then addEvent(tile_timer, 1000, id, pos, delay - 1, color) end local people = Game.getSpectators(pos, 7, 7, 5, 5, false, true) if not people then return true end for i = 1, #people do people[i]:sendTextMessage(MESSAGE_EXPERIENCE, "Magic wall will disappear in " .. delay .. " second" .. (delay > 1 and "s" or "") .. ".", pos, delay, color) end end function removeMw(pos, mw, wall) local tile = Tile(pos) mw = tile:getItemById(mw) wall = tile:getItemById(wall) if mw then mw:remove() end if wall then wall:remove() end end function onCastSpell(creature, var, isHotkey) local c = combat:execute(creature, var) if c then local pos = variantToPosition(var) local wall = Game.createItem(1027, 1, pos) addEvent(removeMw, 20000, pos, id, wall:getId()) tile_timer(id, pos, 20, TEXTCOLOR_LIGHTBLUE) end return c end opcional :
     

     
    \data\spells\scripts\support\wild growth rune.lua
    substituir por :
    local id = ITEM_WILDGROWTH local combat = Combat() combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_EARTH) combat:setParameter(COMBAT_PARAM_CREATEITEM, id) function onCastSpell(creature, var, isHotkey) local c = combat:execute(creature, var) if c then local pos = variantToPosition(var) addEvent(removeMw, 40000, pos, id) tile_timer(id, pos, 40, TEXTCOLOR_LIGHTGREEN) end return c end Créditos: zbizu.
  25. Upvote
    Fury4i20 deu reputação a Furabio em [TFS 1.1] Recompensa ao avançar de level   
    creaturescripts.xml
    <event type="advance" name="onadvance_reward" script="onadvance_reward.lua"/> <event type="login" name="onadv_register" script="onadvance_reward.lua"/> onadvance_reward.lua
    local rewards = { [SKILL_SWORD] = { {lvl = 150, items = {{2160, 2}, {2148, 1}}, storage = 54776}, {lvl = 160, items = {{2365, 2}}, storage = 54777} }, [SKILL_MAGLEVEL] = { {lvl = 100, items = {{2365, 2}}, storage = 54778}, }, [SKILL_LEVEL] = { {lvl = 480, items = {{2152, 2}}, storage = 54779}, }, } function onAdvance(player, skill, oldlevel, newlevel) local rewardstr = "Items received: " local reward_t = {} if rewards[skill] then for j = 1, #rewards[skill] do local r = rewards[skill][j] if not r then return true end if newlevel >= r.lvl then if player:getStorageValue(r.storage) < 1 then player:setStorageValue(r.storage, 1) for i = 1, #r.items do local itt = ItemType(r.items[i][1]) if itt then player:addItem(r.items[i][1], r.items[i][2]) table.insert(reward_t, itt:getName() .. (r.items[i][2] > 1 and " x" .. r.items[i][2] or "")) end end end end end if #reward_t > 0 then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, rewardstr .. table.concat(reward_t, ", ")) end end return true end function onLogin(player) player:registerEvent("onadvance_reward") return true end
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...