Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Dodanie bonów do petów


Rekomendowane odpowiedzi

Opublikowano
quest pet_system begin
	state start begin
		function get_pet_info(itemVnum)
			pet_info_map = {
				[53001] = {34001, "Ognisty Feniks", 0},
				[53002] = {34002, "Mały Reniferek", 0},
				[53003] = {34003, "Lodowy Feniks", 0},
				[53005] = {34004, "Azraeluś ", 1},
				[53006] = {34009, "Złoty Azraeluś ", 1},
				[53007] = {34010, "Bambi", 0},
				[53008] = {34011, "Knuud", 0},
				[53009] = {34012, "Bao Bao", 0},
				[53010] = {34008, "Leonidas", 0},
				[53011] = {34007, "Ethan", 0},
				[53012] = {34005, "Boczuś ", 0},
				[53013] = {34006, "Rufus", 0},
				[45160] = {34019, "Kostek", 0},
				[45161] = {34018, "Zielony Feniks", 0},
			}
			itemVnum = tonumber(itemVnum)
			return pet_info_map[itemVnum]
		end
		function get_spawn_effect_file(idx)
			effect_table = {
				[0] = nil,
				[1] = "d:\\\\ymir work\\\\effect\\\\etc\\\\appear_die\\\\npc2_appear.mse",
			}
			return effect_table [idx]
		end
		when 53001.use or 53002.use or 53003.use or 53005.use or 53006.use or 53007.use or 53008.use or 53009.use or 53010.use or 53011.use or 53012.use or 53013.use or 45160.use or 45161.use begin
			local pet_info = pet_system.get_pet_info(item.vnum)
			if null != pet_info then
				local mobVnum = pet_info[1]
				local petName = pet_info[2]
				local spawn_effect_file_name = pet_system.get_spawn_effect_file(pet_info[3])
				if true == pet.is_summon(mobVnum) then
					if spawn_effect_file_name != nil then
						pet.spawn_effect (mobVnum, spawn_effect_file_name)
					end
					pet.unsummon(mobVnum)
					affect.add_collect(id_bonu, wartosc_bonu_na"-", 60*60*24*365*60)
				else
					if pet.count_summoned() < 1 or pc.is_gm() then
						pet.summon(mobVnum, " ".. petName, false)
						affect.add_collect(id_bonu, wartosc_bonu, 60*60*24*365*60)
					else
						syschat("Nie możesz przywołać kilku zwierzaków.")
					end
					if spawn_effect_file_name != nil then
						pet.spawn_effect(mobVnum, spawn_effect_file_name)
					end
				end
			end
		end
	end
end

Jeżeli chcesz, aby każdy pet miał inny bonus, to musisz zrobić każdy odzielny quest, na takiej podstawie, jak Ci podałem.

pre_1387877119__logo.png

  • 3 lata później...
Opublikowano
Dnia 24.11.2013 o 09:54, tm-react napisał:

quest pet_system begin
	state start begin
		function get_pet_info(itemVnum)
			pet_info_map = {
				[53001] = {34001, "Ognisty Feniks", 0},
				[53002] = {34002, "Mały Reniferek", 0},
				[53003] = {34003, "Lodowy Feniks", 0},
				[53005] = {34004, "Azraeluś ", 1},
				[53006] = {34009, "Złoty Azraeluś ", 1},
				[53007] = {34010, "Bambi", 0},
				[53008] = {34011, "Knuud", 0},
				[53009] = {34012, "Bao Bao", 0},
				[53010] = {34008, "Leonidas", 0},
				[53011] = {34007, "Ethan", 0},
				[53012] = {34005, "Boczuś ", 0},
				[53013] = {34006, "Rufus", 0},
				[45160] = {34019, "Kostek", 0},
				[45161] = {34018, "Zielony Feniks", 0},
			}
			itemVnum = tonumber(itemVnum)
			return pet_info_map[itemVnum]
		end
		function get_spawn_effect_file(idx)
			effect_table = {
				[0] = nil,
				[1] = "d:\\\\ymir work\\\\effect\\\\etc\\\\appear_die\\\\npc2_appear.mse",
			}
			return effect_table [idx]
		end
		when 53001.use or 53002.use or 53003.use or 53005.use or 53006.use or 53007.use or 53008.use or 53009.use or 53010.use or 53011.use or 53012.use or 53013.use or 45160.use or 45161.use begin
			local pet_info = pet_system.get_pet_info(item.vnum)
			if null != pet_info then
				local mobVnum = pet_info[1]
				local petName = pet_info[2]
				local spawn_effect_file_name = pet_system.get_spawn_effect_file(pet_info[3])
				if true == pet.is_summon(mobVnum) then
					if spawn_effect_file_name != nil then
						pet.spawn_effect (mobVnum, spawn_effect_file_name)
					end
					pet.unsummon(mobVnum)
					affect.add_collect(id_bonu, wartosc_bonu_na"-", 60*60*24*365*60)
				else
					if pet.count_summoned() < 1 or pc.is_gm() then
						pet.summon(mobVnum, " ".. petName, false)
						affect.add_collect(id_bonu, wartosc_bonu, 60*60*24*365*60)
					else
						syschat("Nie możesz przywołać kilku zwierzaków.")
					end
					if spawn_effect_file_name != nil then
						pet.spawn_effect(mobVnum, spawn_effect_file_name)
					end
				end
			end
		end
	end
end

Jeżeli chcesz, aby każdy pet miał inny bonus, to musisz zrobić każdy odzielny quest, na takiej podstawie, jak Ci podałem.

Dzięki za pomoc ^^ Like leci

 

  • Aive zmienił(a) tytuł na Dodanie bonów do petów

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...