BGames
Olá visitante! Seja bem vindo á BGames!

Para ter total acesso ao nosso fórum é preciso que você se registre.

Registre-se Aqui!


PARA VER LINKS E IMAGENS É PRECISO SE REGISTRAR!


BGames
Olá visitante! Seja bem vindo á BGames!

Para ter total acesso ao nosso fórum é preciso que você se registre.

Registre-se Aqui!


PARA VER LINKS E IMAGENS É PRECISO SE REGISTRAR!

BGames
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

BGamesEntrar

Fórum de Desenvolvimento de Jogos e Programação


description[Resolvido][LUA]Npc de reset de level Empty[Resolvido][LUA]Npc de reset de level

more_horiz
Ola galera eu vi o post do amigo aonde das pessoas do forum tentaram ajuda-lo e pensei em posta o meu caso.

Nao sei se estou postando no lugar certo se nao estiver me desculpem e por favor migrem o post para o loal certo fazendo um favor.

Mas preciso de npc para ser utilizado em trinity , segue abaixo o script ele esta escrito em lua.

agradeço desde ja a todos.


Código:

-- Buy Experience NPC v2 --
-- Scripted by Furball  --
-- Idea by QQrofl        --
-- www.ac-web.org        --

--NPC CONFIG--
local EntryID = 50000          -- The entry ID of the npc. Used for spawning the experience npc. [DEFAULT: 50000]

--SPAWN CONFIG--
local SpawnCommand = "#buy xp" -- When typed in-game, the Buy Experience NPC will spawn. [DEFAULT: "#buy xp"] [DO NOT REMOVE THE QUOTES]
local TimeNPC = 30            -- Time, in seconds, that the NPC will be spawned for. It will despawn after the timer runs out. [DEFAULT: 30]

--SERVER CONFIG--
local LevelCap = 80            -- The maximum level you can obtain on your realm. [DEFAULT: 80]
local SrvrName = "ExampleWoW"  -- The name of your server.

--PRICE CONFIG--
local Gold1k = 1              -- Amount of gold you need to buy 1,000 experience [DEFAULT: 1]
local Gold10k = 10            -- Amount of gold you need to buy 10,000 experience [DEFAULT: 10]
local Gold100k = 100          -- Amount of gold you need to buy 100,000 experience [DEFAULT: 100]
local Gold500k = 500          -- Amount of gold you need to buy 500,000 experience [DEFAULT: 500]
local Gold1m = 1000            -- Amount of gold you need to buy 1,000,000 experience [DEFAULT: 1000]
local Gold5m = 5000            -- Amount of gold you need to buy 5,000,000 experience [DEFAULT: 5000]

--[[GOLD AND TIME CONVERSIONS - DO NOT EDIT]]--
local DontModify = TimeNPC * 600
local DontModify2 = Gold1k * 10000
local DontModify3 = Gold10k * 10000
local DontModify4 = Gold100k * 10000
local DontModify5 = Gold500k * 10000
local DontModify6 = Gold1m * 10000
local DontModify7 = Gold5m * 10000
-----------------------------------------------
function Spawn_OnChat(event, player, message, type, language)
   local Mess = message:lower()
      if (Mess:find(SpawnCommand) == 1) then
         if (player:GetPlayerLevel() == LevelCap) then
            player:SendBroadcastMessage("You are already level "..LevelCap.."!")
            return 0
         else
            player:SpawnCreature(EntryID, player:GetX(), player:GetY(), player:GetZ(), player:GetO(), 35, DontModify, player:GetPhase())
            player:SendBroadcastMessage("Success! The experience vendor will despawn in "..TimeNPC.." seconds.")
            return 0
         end
      end
end

function XPGossip(Unit, event, player)
   if (player:GetPlayerLevel() == LevelCap) then
      Unit:SendChatMessageToPlayer(15, 0, "You are already level "..LevelCap.."!", player) -- Whispering the player.
      player:GossipComplete()
   else
   Unit:GossipCreateMenu(100, player, 0)
   Unit:GossipMenuAddItem(9, "1,000 XP ["..Gold1k.."g]", 1, 0)
   Unit:GossipMenuAddItem(9, "10,000 XP ["..Gold10k.."g]", 2, 0)
   Unit:GossipMenuAddItem(9, "100,000 XP ["..Gold100k.."g]", 3, 0)
   Unit:GossipMenuAddItem(9, "500,000 XP ["..Gold500k.."g]", 4, 0)
   Unit:GossipMenuAddItem(9, "1,000,000 XP ["..Gold1m.."g]", 5, 0)
   Unit:GossipMenuAddItem(9, "5,000,000 XP ["..Gold5m.."g]", 6, 0)
   Unit:GossipMenuAddItem(9, "[Nevermind]", 999, 0)
   Unit:GossipSendMenu(player)
   end
end

function XPGossip_OnSelect(Unit, event, player, code, intid, id)
   if(intid == 998) then -- [Back]
      Unit:GossipCreateMenu(100, player, 0)
      Unit:GossipMenuAddItem(9, "1,000 XP ["..Gold1k.."g]", 1, 0)
      Unit:GossipMenuAddItem(9, "10,000 XP ["..Gold10k.."g]", 2, 0)
      Unit:GossipMenuAddItem(9, "100,000 XP ["..Gold100k.."g]", 3, 0)
      Unit:GossipMenuAddItem(9, "500,000 XP ["..Gold500k.."g]", 4, 0)
      Unit:GossipMenuAddItem(9, "1,000,000 XP ["..Gold1m.."g]", 5, 0)
      Unit:GossipMenuAddItem(9, "5,000,000 XP ["..Gold5m.."g]", 6, 0)
      Unit:GossipMenuAddItem(9, "[Nevermind]", 999, 0)
      Unit:GossipSendMenu(player)
   end
   
   if(intid == 999) then -- [Nevermind]
      Unit:SendChatMessage(14, 0, "Goodbye! Don't forget to vote for "..SrvrName.."!") -- Whispering to player
      player:GossipComplete()
   end
   
   if(intid == 1) then -- 1,000 Experience
      if(player:GetCoinage() <= DontModify2) then
         Unit:SendChatMessage(14, 0, "You don't have "..Gold1k.." gold.")
         Unit:GossipCreateMenu(100, player, 0)
         Unit:GossipMenuAddItem(9, "[Back]", 998, 0)
         Unit:GossipSendMenu(player)
      else
      player:DealGoldCost(DontModify2)
      player:GiveXp(1000) -- Giving 1,000 XP
      Unit:SendChatMessage(14, 0, "Success! You've bought 1,000 experience for "..Gold1k.." gold.")
         Unit:GossipCreateMenu(100, player, 0)
         Unit:GossipMenuAddItem(9, "[Back]", 998, 0)
         Unit:GossipSendMenu(player)
   end
      end
   
   if(intid == 2) then -- 10,000 Experience
      if(player:GetCoinage() <= DontModify3) then
         Unit:SendChatMessage(14, 0, "You don't have "..Gold10k.." gold.")
         Unit:GossipCreateMenu(100, player, 0)
         Unit:GossipMenuAddItem(9, "[Back]", 998, 0)
         Unit:GossipSendMenu(player)
      else
      player:DealGoldCost(DontModify3)
      player:GiveXp(10000)
      Unit:SendChatMessage(14, 0, "Success! You've bought 10,000 experience for "..Gold10k.." gold.")
         Unit:GossipCreateMenu(100, player, 0)
         Unit:GossipMenuAddItem(9, "[Back]", 998, 0)
         Unit:GossipSendMenu(player)
   end
      end
   
   if(intid == 3) then -- 100,000 Experience
      if(player:GetCoinage() <= DontModify4) then
         Unit:SendChatMessage(14, 0, "You don't have "..Gold100k.." gold.")
         Unit:GossipCreateMenu(100, player, 0)
         Unit:GossipMenuAddItem(9, "[Back]", 998, 0)
         Unit:GossipSendMenu(player)
      else
      player:DealGoldCost(DontModify4)
      player:GiveXp(100000)
      Unit:SendChatMessage(14, 0, "Success! You've bought 100,000 experience for "..Gold100k.." gold.")
         Unit:GossipCreateMenu(100, player, 0)
         Unit:GossipMenuAddItem(9, "[Back]", 998, 0)
         Unit:GossipSendMenu(player)
      end
   end
   
   if(intid == 4) then -- 500,000 Experience
      if(player:GetCoinage() <= DontModify5) then
         Unit:SendChatMessage(14, 0, "You don't have "..Gold500k.." gold.")
         Unit:GossipCreateMenu(100, player, 0)
         Unit:GossipMenuAddItem(9, "[Back]", 998, 0)
         Unit:GossipSendMenu(player)
      else
      player:DealGoldCost(DontModify5)
      player:GiveXp(500000)
      Unit:SendChatMessage(14, 0, "Success! You've bought 500,000 experience for "..Gold500k.." gold.")
         Unit:GossipCreateMenu(100, player, 0)
         Unit:GossipMenuAddItem(9, "[Back]", 998, 0)
         Unit:GossipSendMenu(player)
      end
   end
   
   if(intid == 5) then -- 1,000,000 Experience
      if(player:GetCoinage() <= DontModify6) then
         Unit:SendChatMessage(14, 0, "You don't have "..Gold1m.." gold.")
         Unit:GossipCreateMenu(100, player, 0)
         Unit:GossipMenuAddItem(9, "[Back]", 998, 0)
         Unit:GossipSendMenu(player)
      else
      player:DealGoldCost(DontModify6)
      player:GiveXp(1000000)
      Unit:SendChatMessage(14, 0, "Success! You've bought 1,000,000 experience for "..Gold1m.." gold.")
         Unit:GossipCreateMenu(100, player, 0)
         Unit:GossipMenuAddItem(9, "[Back]", 998, 0)
         Unit:GossipSendMenu(player)
      end
   end
   
   if(intid == 6) then -- 5,000,000 Experience
      if(player:GetCoinage() <= DontModify7) then
         Unit:SendChatMessage(14, 0, "You don't have "..Gold5m.." gold.")
         Unit:GossipCreateMenu(100, player, 0)
         Unit:GossipMenuAddItem(9, "[Back]", 998, 0)
         Unit:GossipSendMenu(player)
      else
      player:DealGoldCost(DontModify7)
      player:GiveXp(5000000)
      Unit:SendChatMessage(14, 0, "Success! You've bought 5,000,000 experience for "..Gold5m.." gold.")
         Unit:GossipCreateMenu(100, player, 0)
         Unit:GossipMenuAddItem(9, "[Back]", 998, 0)
         Unit:GossipSendMenu(player)
      end
   end
end
RegisterServerHook(16, "Spawn_OnChat")
RegisterUnitGossipEvent(EntryID, 1, "XPGossip")
RegisterUnitGossipEvent(EntryID, 2, "XPGossip_OnSelect")

--[[ PREMADE NPC SQL[Tested on ArcEmu r4005] [RUN THIS SCRIPT INTO THE WORLD DATABASE FOR YOUR SERVER]
insert into `creature_names` (`entry`, `name`, `subname`, `info_str`, `Flags1`, `type`, `family`, `rank`, `killcredit1`, `killcredit2`, `male_displayid`, `female_displayid`, `male_displayid2`, `female_displayid2`, `unknown_float1`, `unknown_float2`, `leader`)
values ('50000', "The XP Master", "Buy Experience Here!", '', '0', '7', '0', '1', '0', '0', '28213', '0', '0', '0', '1', '1', '0');

insert into `creature_proto` (`entry`, `minlevel`, `maxlevel`, `faction`, `minhealth`, `maxhealth`, `mana`, `scale`, `npcflags`, `attacktime`, `attacktype`, `mindamage`, `maxdamage`, `can_ranged`, `rangedattacktime`, `rangedmindamage`, `rangedmaxdamage`, `respawntime`, `armor`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `combat_reach`, `bounding_radius`, `auras`, `boss`, `money`, `invisibility_type`, `walk_speed`, `run_speed`, `fly_speed`, `extra_a9_flags`, `spell1`, `spell2`, `spell3`, `spell4`, `spell_flags`, `modImmunities`, `summonguard`)
values ('50000', '80', '80', '35', '10000', '80000', '87906', '2', '1', '2000', '0', '5000', '15000', '0', '0', '0', '0', '30000', '5000', '0', '0', '0', '0', '0', '0', '0', '0', "0", '0', '0', '0', '2.50', '8.00', '14.00', '0', '0', '0', '0', '0', '0', '0', '0');
]]--



6144C90A345D4C1BB500E34D18E115AF


Última edição por KaraLegal em Qui 26 Jul 2012 - 14:03, editado 1 vez(es)

description[Resolvido][LUA]Npc de reset de level EmptyRe: [Resolvido][LUA]Npc de reset de level

more_horiz
gostei muito do codigo, muito obrigado por compartilhar isso vai ajuda muito server fun

description[Resolvido][LUA]Npc de reset de level EmptyRe: [Resolvido][LUA]Npc de reset de level

more_horiz
Nome editado & tópico movido.

Obrigado por compartilhar. [+rep]

description[Resolvido][LUA]Npc de reset de level EmptyRe: [Resolvido][LUA]Npc de reset de level

more_horiz
Primeira vez que vejo uma linguagem lua. antes eu trabalha com linguagem Pwano tanto que ja sou scripter profissional dessa linguagem.
Pwn e usada para criar servers de SA-MP (GTA San Andreas).
Vou estudar mais lua para poder postar alguns scripts

description[Resolvido][LUA]Npc de reset de level EmptyRe: [Resolvido][LUA]Npc de reset de level

more_horiz
Pessoal obrigado pelos agradecimentos mas o codigo nao e meu eu peguei na net.
E preciso que alguem o converta para ser usado junto ao trinitycore estou disposto ate a paga dependendo do valor e logico.

Obrigado a todos

description[Resolvido][LUA]Npc de reset de level EmptyResolvido

more_horiz
Ai galera consegui monta o npc eu mesmo ai aproveitei o embalo e fiz logo 2 um que resta vip dando 100k de gold e um para free dando 50k de gold e com isso o player que estava level 80 volta level 1.

otimo para server Fun


by Karalegal

description[Resolvido][LUA]Npc de reset de level EmptyRe: [Resolvido][LUA]Npc de reset de level

more_horiz
Meus Parabéns KaraLegal !
Tópico Bloqueado e Movido para 'Arquivo: Pedidos Finalizados'

description[Resolvido][LUA]Npc de reset de level EmptyRe: [Resolvido][LUA]Npc de reset de level

more_horiz
privacy_tip Permissões neste sub-fórum
Não podes responder a tópicos