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

[Problem] Sys. Energi


Rekomendowane odpowiedzi

Opublikowano

Witam , mam taki problem dodałem system energi wszystko ładnie działa ale gdy użyje bonusu każda postać oraz konto go ma .

 

Wie ktoś jak to naprawić?

Opublikowano

quest energy_sys begin
state start begin
 when 20001.chat."System Energi" with (game.get_event_flag("energy") == 1 or pc.is_gm() == false) begin
	 say_title("Alchemik")
	 say("Witaj towarzyszu !")
	 say("Mogę cię nauczyć nowej techniki ")
	 say("Systemu Energi.")
	 say("Jak widzisz jestem stary i znudzony ..")
	 say("Wylosowanie dobrego bonu")
	 say("zależy tylko od mojego samopoczucia..")
	 wait()
	 say_title("Alchemik")
	 say("Aby użyć mojej oryginalnej techniki")
	 say("Musisz posiadać Odłamek Energi")
say_item("",51001, "")
	 say("Musisz posiadać aż 30 sztuk by opanować umiejętność")
	 say("Pamiętaj by używać mocy z rozsądkiem !")
	 wait()
	 say_title("Alchemik")
	 say("Ta technika pozwoli ci wykorzystać bonusy")
	 say("z przedmiotów takich jak :")
	 say_reward("- Zbroje")
	 say("- Bronie")
	 say("- Biżuterie")
	 say("Opatentuj nową technikę !")
	 set_state("make")
 end
end
state make begin
 when 20001.chat."Sprawdz" with (game.get_event_flag("energy") == 1 or pc.is_gm() == false) begin
	 say_title("Alchemik")
	 say("Jak to działa ? Jak działa moc kryształu ..")
	 say("Poczekaj towarzyszu ...")
	 say("Aby wyprodukować kryształ energi")
	 say("Potrzebujesz conajmniej 30 odłamków energi")
	 say("oraz posiadać 35 poziom postaci !")
	 wait()
	 say_title("Alchemik")
	 say("Zaraz sprawdzę twój status")
	 say("czekaj ..")
	 say("czekaj ...")
	 say("Hm, coś ciężko to widzę ..")
	 wait()
	 if pc.get_level() < 35 then
		 say_title("Alchemik")
		 say("Nie jesteś wystarczająco silny ..")
		 say("wróć gdy osiągniesz 35 poziom.")
	 else -- TEGO NIE
		 say_title("Alchemik")
		 say_limonka("Jesteś gotowy by rozpocząć proces !")
		 say_limonka("Powodzenia")	
	 end

 end

 when 20001.chat."Wykonaj Krysztal" with (game.get_event_flag("energy") == 1 or pc.is_gm() == false) begin
	 say_title("Alchemik")
	 say("Czy na pewno chcesz wytworzyć kryształ energi ?")
	 say("pamiętaj ta operacja nie jest darmowa !")
	 say("Musisz posiadać minimum 35 poziom postaci")
	 say("Oraz posiadać drogo cenne ")
	 say_reward("Odłamki Energi , sztuk : 30")
say_item("",51001, "")
	 wait()
	 if pc.get_level() < 35 then
		 say_title("Alchemik")
		 say("Nie posiadasz wystarczającego poziomu !")
		 say("Wróć towarzyszu jeżeli wbijesz 35 poziom postaci !")
	 else
		 if pc.count_item(51001) >= 30 then
			 say_title("Alchemik")
			 say_limonka("Świetnie ! Posiadasz 30 wymaganych ")
			 say("odłamków energi. Jeżeli chcesz ..")
			 say("mogę z tego wykonać Krysztął Energi")
			 say("Proszę poczekaj ..")
			 say("mogę spróbować , ale nie gwarantuje że mi się uda ..")
			 wait()
			 say_title("Alchemik")
			 say("Ok , wszystko jest już gotowe ..")
			 say("Kryształ energi już blisko ..")
			 say("Ale ja z czegoś muszę żyć ..")
			 say("W tych czasach nie ma nic za darmo ..")
			 say("Musisz mi troszkę zapłacić.")
			 say("Cena wytworzenia wynosi 5.000.000 Yang")
			 say("Jesteś pewien ?")
			 if select("Oczywiście","Nie , nie chce") == 2 then
				 return
			 end

			 pc.change_money(-1000)
			 pc.remove_item(51001,30)

			 if number(0,1) == 1 then
				 say_title("Alchemik")
				 say("Wiedziałem to że moja technika jest genialna !")
				 say("O to twój kryształ energi !")
				 say("Achh , czujesz już tą siłę ?")
				 pc.give_item2(51002,1)
			 else -- TEGO NIE
				 say_title("Alchemik")
				 say("Niestety.. wytworzenie ")
				 say("kryształu energi nie powiodło się ...")
				 return
			 end

		 else -- TEGO NIE
			 say_title("Alchemik")
			 say("Nie posiadasz wszytskich potrzebnych odłamków !")
			 say("Nie mogę wyczarować ci mocy ..")
			 say("Przepraszam ..")
			 return
		 end

	 end
 end

 when 20001.take with game.get_event_flag("energy") == 1 or pc.is_gm() == 1 begin
	 if pc.get_level() < 35 then
		 say_title("Alchemik")
		 say("Nie jesteś jeszcze wystarczająco silny")
		 say("by wytworzyć energię mistrza")
		 say("wróc gdy osiągniesz 35 poziom")
		 return
	 end

	 if item.get_type() == 1 or item.get_type() == 2 then

--			 2070 - 2239
--			 80 - 369
--			 1040 - 1189
--			 3070 - 3249
--			 5040 - 5359
--			 4030 - 4069
--			 7070 - 7219
--			 11250 - 11299
--			 11450 - 11499
--			 11650 - 11699
--			 11850 - 11899
--			 12240 - 12699

		 local maxlvl = mysql_query("SELECT limitvalue0 FROM player.item_proto WHERE vnum='"..item.get_vnum().."' LIMIT 1;")
		 test_chat(maxlvl[1][1])
		 if tonumber(maxlvl[1][1]) < 35 then
			 -- TEGO NIE
			 say_title("Alchemik")
			 say("Ten przedmiot nie jest odpowiedni !")
			 return
		 end

		 say_title("Alchemik")
		 say(string.trim(item.get_name()))
		 say("Mam zakończyć tą rozmowę ?!")
		 if select("Tak!","Nie , proszę!") == 2 then
			 return
		 else
			 local anzahl = number(0,15)
			 if anzahl > 0 then
				 say_title("Alchemik")
				 say("Twoje zachowanie jest wspaniałe")
				 say_limonka("Oddam ci część odłamków ! ")
				 pc.give_item2(51001, 5)
			 else
				 say_title("Alchemik")
				 say("Niestety nie udało mi się ..")
				 say("Utworzyć Kryształu")
				 say("kamienie przepadły ...")
				 return
			 end
			 item.remove()
		 end

	 else -- Tego nie
		 say_title("Alchemik")
		 say("Twój przedmiot nie jest odpowiedni !")
	 end
 end

 when login begin
	 if getenergytime() < 50000 then
		 test_chat("[Energy]Odnowienie: "..getenergytime())
		 setenergytime(getenergytime() + get_time())
		 cmdchat("energysystem "..getenergytyp().."|"..getenergyvalue().."#"..getenergytime())
	 end
 end
 when logout begin
	 if getenergytime() > get_time() then
		 local energy = getenergytime() - get_time()
		 if energy > 0 then
			 setenergytime(energy)
		 end
	 end
 end

 when 51002.use begin
	 if getenergytime() > get_time() then
		 chat("Energia kryształu nadal trwa !")
chat("Spróbuj ponownie potem ..")
chat("Aby sprawdzić czas najedź na pasek energi ")
		 return
	 end

	 local anz = number(1,10)
	 lista_bonow = {}
	 lista_bonow [1] = {apply.ATTBONUS_HUMAN, 15}
	 lista_bonow [2] = {apply.ATTBONUS_MONSTER, 10}
	 lista_bonow [3] = {apply.CRITICAL_PCT, 10}
	 lista_bonow [4] = {apply.PENETRATE_PCT, 10}
	 lista_bonow [5] = {apply.MAX_HP, 1000}
	 lista_bonow [6] = {apply.MAX_SP, 2000}
	 lista_bonow [7] = {apply.HP_REGEN, 30}
	 lista_bonow [8] = {apply.STEAL_HP, 10}
	 lista_bonow [9] = {apply.ATT_GRADE_BONUS, 75}
	 lista_bonow [10] = {apply.ATT_GRADE_BONUS, 50}

	 test_chat(anz)
	 test_chat(lista_bonow[anz][1])
	 test_chat(lista_bonow[anz][2])

	 affect.add_collect(lista_bonow[anz][1],lista_bonow[anz][2],7200)
	 setenergy(anz,lista_bonow[anz][2],get_time() + 7200)

	 cmdchat("energysystem "..anz.."|"..lista_bonow[anz][2].."#"..(get_time() + 7200))

	 setenergytime(get_time() + 7200)

	 item.remove()
	 chat("Czujesz tą energię kryształu ? Otrzymałeś bonus")
chat("Aby sprawdzić najedź na pasek energi")

 end
end
end

Opublikowano

masz tu quest dzialajacy z plikow terenzo jest on na 100% poprawny ,testowałem

 

 

 

------------------------------------------------

-- Autor: Terenzo. (http://terenzo.tk)

-- Zakaz publikowania i sprzedawania!

------------------------------------------------

quest energy begin

state start begin

function time() return 720 end -- Czas trwania energii.

function refresh() return 5 end -- Czas odświeżania w sekundach.

when 20001.chat."Nowa technika!" begin

say_title("Alchemik")

say("Nareszcie!")

say("Udało mi się opracować zupełnie nową technikę.")

say("Za jej pomocą mogę demontować przedmioty,")

say("ekstrahując z nich diametralnie czystą energię.")

say("Jestem geniuszem!")

wait()

say_title("Alchemik")

say("Demontując przedmiot za pomocą mojej techniki,")

say("otrzymasz odłamek energii. Złóż 30 takich")

say("odłamków, a powstanie z nich potężny kryształ ")

say("energii - diametralnie czysta energia skupiona w")

say("jednym klejnocie. Moc ta przeniesie się na twoje")

say("całe uzbrojenie.")

say("Brzmi nieźle, co?")

wait()

say_title("Alchemik")

say("Przenoś mi broń, biżuterię, zbroję i inne części")

say("uzbrojenia, a ja zamienię je w odłamki energii.")

say("Ta technika to przyszłość naszego imperium!")

say("Będziemy niezwyciężeni!")

pc.setqf("energytime", 0)

pc.setqf("energy", 0)

set_state("make")

end

end

state make begin

when 20001.chat."Ekstrahuj odłamki energii" begin

say_title("Alchemik")

say("I jak? Zadziałało? Masz już odłamek energii?")

say("Przynieś mi więcej przedmiotów, a ja zdemontuje")

say("je za pomocą mojej alchemii.")

say("Wiedz jednak, że ta technika nie jest jeszcze")

say("udoskonalona. Dlatego też nie mogę ci powiedzieć,")

say("ile odłamków otrzymasz za dany przedmiot.")

wait()

say_title("Alchemik")

say("Jest jeden warunek: zarówno twój poziom jak i")

say("poziom przedmiotu musi być co najmniej 35.")

say("Hmm, zobaczymy...")

wait()

if pc.get_level() < 35 then

say_title("Alchemik")

say("Musisz jeszcze nieco potrenować! Wróć, gdy")

say("osiągniesz co najmniej poziom 35.")

else

say_title("Alchemik")

say("Ach, świetnie! Widzę, że posiadasz już ")

say("wystarczającą ilość doświadczenia. Daj mi")

say("przedmiot, który mam zdemontować.")

end

end

when 20001.chat."Złóż kryształ energii" begin

say_title("Alchemik")

say("Powoli opadasz już z sił, co? Nie pracuj tak")

say("ostro, bo przypłacisz to kiedyś życiem. Aby")

say("stworzyć kryształ energii, potrzebujesz 30 x")

say("odłamek energii.")

wait()

if pc.get_level() >= 35 then

if pc.count_item(51001) >= 30 then

say_title("Alchemik")

say("Świetnie, widzę że masz już 30 x odłamek")

say("energii. W takim razie mogę z nich stworzyć ")

say("kryształ energii. Zaczekaj chwilkę. Spróbuję, ale")

say("nie gwarantuję, że się uda.")

wait()

say_title("Alchemik")

say("Wszystko już gotowe. Możemy przetopić odłamki na")

say("kryształ energii.")

say("No ale ja sam muszę przecież z czegoś żyć,")

say("prawda? Ten wyjątkowy zabieg wyniesie cię 1000")

say("Yang. Zapłacisz tyle?")

if select("Jasne!","Nie, nie teraz.") == 1 then

pc.change_money(-1000)

pc.remove_item(51001,30)

if pc.getqf("energyfirst") == 0 then

pc.setqf("energyfirst", 1)

say_title("Alchemik")

say("Proszę, oto twój kryształ energii. Ale tylko")

say("pierwsze podejście zawsze się udaję. Alchemia to")

say("bardzo nieobliczalna dziedzina nauki. Zawsze")

say("zatem istnieje pewne prawdopodobieństwo, że ")

say("eksperyment nie wypali.")

pc.give_item2(51002,1)

else

if number(0,1) == 1 then

say_title("Alchemik")

say("Wiedziałem! Moja technika jest genialna!")

say("Oto twój kryształ energii.")

say("Niezłe cacko, co? Czujesz tę pulsującą energię?")

pc.give_item2(51002,1)

else

say_title("Alchemik")

say("No niestety, nie udało mi się stworzyć.")

say("kryształu energii. Moja technika jest genialna,")

say("ale niestety jeszcze niedopracowana. Tak to już ")

say("jest z alchemią.")

say("Następnym razem na pewno się uda.")

end

end

else

return

end

else

return

end

else

return

end

end

when 20001.take begin

if pc.get_level() >= 35 then

if item.get_type() == 1 or item.get_type() == 2 then

local level = query("SELECT limitvalue0 FROM player.item_proto WHERE vnum='".. item.get_vnum() .."' LIMIT 1;")

if tonumber(level) >= 35 then

say_title("Alchemik")

say(item.get_name())

say("Chcesz, aby zdemontować twój przedmiot?")

if select("Tak!","Nie, jeszcze nie!") == 1 then

item.remove()

if number(0,2) > 0 then

local eks = number(3,15)

say_title("Alchemik")

say("Fantastycznie! Udało mi się ekstrahować ".. eks .." x")

say("odłamek energii.")

say("Proszę bardzo!")

wait()

pc.give_item2(51001, eks)

else

say_title("Alchemik")

say("Ech, niestety nie udało mi się ekstrahować ")

say("odłamku energii. Być może uda się następnym")

say("razem.")

return

end

else

return

end

else

say_title("Alchemik")

say("Ten przedmiot nie posiada zbyt wiele energii. Daj")

say("mi przedmiot o poziomie 35 lub wyższym, jeśli")

say("chcesz abym użył swojej techniki.")

return

end

else

say_title("Alchemik")

say("Ten przedmiot nie nadaje się do demontażu za")

say("pomocą mojej techniki. Daj mi coś innego.")

end

else

say_title("Alchemik")

say("Nie jesteś jeszcze wystarczająco silny")

say("by wytworzyć energię mistrza")

say("wróc gdy osiągniesz 35 poziom")

return

end

end

when 51002.use begin

if 1 <= pc.getqf("energy") and pc.getqf("energy") <= 10 then

chat("Jeszcze nie możesz użyć mocy tego kryształu.")

else

pc.remove_item(51002, 1)

pc.setqf("energy", 10)

pc.setqf("energytime", energy.time())

cmdchat("pointEnergy ".. pc.getqf("energy"))

loop_timer("energy_time",energy.refresh())

local los = number(1,4)

local val = number(pc.get_level()/10,pc.get_level()/5)

if los == 1 then

affect.add_collect(apply.CON, val, energy.time()*10)

chat("Twoja energia życiowa została zwiększona o ".. val .." punktów na ".. energy.time()*10/60 .." minut.")

elseif los == 2 then

affect.add_collect(apply.INT, val, energy.time()*10)

chat("Twoja inteligencja została zwiększona o ".. val .." punktów na ".. energy.time()*10/60 .." minut.")

elseif los == 3 then

affect.add_collect(apply.STR, val, energy.time()*10)

chat("Twoja siła została zwiększona o ".. val .." punktów na ".. energy.time()*10/60 .." minut.")

elseif los == 4 then

affect.add_collect(apply.DEX, val, energy.time()*10)

chat("Twoja zręczność została zwiększona o ".. val .." punktów na ".. energy.time()*10/60 .." minut.")

end

end

end

when login begin

cmdchat("pointEnergy ".. pc.getqf("energy"))

loop_timer("energy_time",energy.refresh())

end

when energy_time.timer begin

if pc.getqf("energytime") >= 1 then

pc.setqf("energytime", pc.getqf("energytime") - energy.refresh())

return

elseif pc.getqf("energy") >= 1 then

pc.setqf("energy", pc.getqf("energy") - 1)

if pc.getqf("energy") >= 1 then

pc.setqf("energytime", energy.time())

end

cmdchat("pointEnergy ".. pc.getqf("energy"))

return

elseif pc.getqf("energy") == 0 then

pc.setqf("energy", 0)

cmdchat("pointEnergy ".. 0)

chat("Energia została zużyta.")

cleartimer("energy_time")

end

end

end

end

 

 

Opublikowano

Po usunięciu questa gdy zakładam postać , pasek dalej się pojawia że niby dodaje jakis bon ale go nie dodaje.

 

Więc to predzej wina w kliencie

Opublikowano

Poprawiłem , lecz dalej to samo.I przy okazji brakuje plików buff_item1.mse buff_item2.mse buff_item3.mse buff_item4.mse

 

 

 

Dotarłem do tego że to teraz wina questa , ale mam pytanie czy wie ktoś jak zrobić by ten quest nie pokazywał paska bonusów na każdej postaci? Tylko na tej co jest użyty kryształ?

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...