Cum stackez affect.add? (sau o metodă alternativă)

Totalitatea subiectelor care nu respectă regulamentul impus in sectiunea "Probleme şi Întrebări" vor fi stocate aici.
Închis
Avatar utilizator
.RecklessFist
Nivel 1

Nivel 1
Mesaje: 58
Membru din: 12 Oct 2016, 08:11
Aprecieri: 1  
Mulţumiri: 1  
Medalii

Salut.
Aș vrea să știu cum pot stacka (adică adăuga de mai multe ori același bonus) cu affect.add(sau derivatele cu affect) ,
pentru că din câte am încercat, merg adăugate numai o singură dată.

Sau dacă există altă metodă de a oferii bonusuri unui player dar de mai multe ori (același bonus) ar fi de folos.
Avatar utilizator
[Tupeu]
Membru de Elita

Membru de Elita
Mesaje: 4101
Membru din: 28 Oct 2015, 16:16
Aprecieri: 35  
Mulţumiri: 2304  
 Contact:
Medalii

Ii oferi bonusul pe un anume timp si il poate folosi din nou cand expira acel timp sau poti pune un bonus mai mare sa nu il foloseasca de mai multe ori.
Avatar utilizator
.RecklessFist
Nivel 1

Nivel 1
Mesaje: 58
Membru din: 12 Oct 2016, 08:11
Aprecieri: 1  
Mulţumiri: 1  
Medalii

[Tupeu] scrie:Ii oferi bonusul pe un anume timp si il poate folosi din nou cand expira acel timp sau poti pune un bonus mai mare sa nu il foloseasca de mai multe ori.
Am nevoie să se adune bonusul, chiar dacă este folosit de mai multe ori.
Este un quest foarte foarte greu, și dacă îl termini poți alege unul din 2 bonusuri, și este repetitiv. Astfel dacă îl face din nou după mai mult timp, să îi pună bonusul iar peste ăla vechi.
Avatar utilizator
xKozeD.
Nivel 4

Nivel 4
Mesaje: 599
Membru din: 18 Sep 2015, 19:23
Aprecieri: 152  
Mulţumiri: 1696  
Discord: Copiază ID
 Contact:
Medalii

Postează quest-ul.
Imagine
Afișează semnătura
Avatar utilizator
.RecklessFist
Nivel 1

Nivel 1
Mesaje: 58
Membru din: 12 Oct 2016, 08:11
Aprecieri: 1  
Mulţumiri: 1  
Medalii

~:[SA]FlorinGuta:~ scrie:Postează quest-ul.
Quest-ul:
quest questvh begin
	state start begin
		when login or levelup with pc.get_level() >= 1 begin
			set_state(gst)
		end
	end
	
	state gst begin
		when letter begin
			send_letter("10.000")
		end
		
			when button or info begin
				say_title("Salut!")
				say("")
				say("Ucide 10.000 de caini salbatici pentru")
				say("a primi un bonus la alegere.")
				say("")
				pc.setqf("state", 10000)
				q.set_counter("Caini Salbatici", 10000)
			end
			
			when 101.kill begin
			local count = pc.getqf("state") - 1
			if count <= 10000 then
				pc.setqf("state", count)
				q.set_counter("Caini Salbatici", count)
			end
			if count == 0 then
				say_title("Bun")
				say("Ai reusit sa omori 10.000 caini salbatici!")
				say("Mai jos poti alege un bonus ca recompensa:")
				say("")
				local bonus = select("+30 VIT", "+30 INT")
				if bonus == 1 then
					affect.add(apply.CON,30,60*60*24*365*60)
				end
				if bonus == 2 then
					affect.add(apply.INT,30,60*60*24*365*60)
				end
			end
	end
end
Avatar utilizator
Moț
Ţepar / Untrusted User

Ţepar / Untrusted User
Mesaje: 2825
Membru din: 03 Apr 2017, 15:00
Aprecieri: 216  
Mulţumiri: 3040  
Discord: Copiază ID
Medalii

Sau poti sa-i mai dai o misiune la lv 5 sa omoare 10.000 de lupi din map1 ,oferind acelasi bonus
https://paste2.org/DCMccM2w
Imagine
Afișează semnătura
Avatar utilizator
[RaffaeL]
Software Developer

Software Developer
Mesaje: 3223
Membru din: 19 Mar 2016, 12:58
Server: ...
Aprecieri: 15  
Mulţumiri: 2502  
  Rezolvări prob.: 2
Discord: Copiază ID
 Contact:
Medalii

.RecklessFist scrie:Salut.
Aș vrea să știu cum pot stacka (adică adăuga de mai multe ori același bonus) cu affect.add(sau derivatele cu affect) ,
pentru că din câte am încercat, merg adăugate numai o singură dată.

Sau dacă există altă metodă de a oferii bonusuri unui player dar de mai multe ori (același bonus) ar fi de folos.
Poti incadra in quest, cu optiunea

Cod: Selectaţi tot

pc.give_item2()
sa ofere pe langa bonusul de baza, si un item, care bineinteles, seteaza acelasi bonus.

Va fi ceva de genul:

Cod: Selectaţi tot

quest questvh begin
	state start begin
		when login or levelup with pc.get_level() >= 1 begin
			set_state(gst)
		end
	end
	
	state gst begin
		when letter begin
			send_letter("10.000")
		end
		
			when button or info begin
				say_title("Salut!")
				say("")
				say("Ucide 10.000 de caini salbatici pentru")
				say("a primi un bonus la alegere.")
				say("")
				pc.setqf("state", 10000)
				q.set_counter("Caini Salbatici", 10000)
			end
			
			when 101.kill begin
			local count = pc.getqf("state") - 1
			if count <= 10000 then
				pc.setqf("state", count)
				q.set_counter("Caini Salbatici", count)
			end
			if count == 0 then
				say_title("Bun")
				say("Ai reusit sa omori 10.000 caini salbatici!")
				say("Mai jos poti alege un bonus ca recompensa:")
				say("si odata cu acest bonus, vei primi,")
				say("un item care dubleaza bonusul respectiv.")
				local bonus = select("+30 VIT", "+30 INT")
				if bonus == 1 then
					affect.add(apply.CON,30,60*60*24*365*60)
					pc.give_item2(xxxxx) --inlocuie xxx cu vnum-ul itemului
				end
				if bonus == 2 then
					affect.add(apply.INT,30,60*60*24*365*60)
					pc.give_item2(yyyyy) --inlocuie yyy cu vnum-ul itemului
				end
			end
		when xxxx.use begin
			affect.add(apply.CON,30,60*60*24*365*60)
		end
		when yyyy.use begin
			affect.add(apply.INT,30,60*60*24*365*60)
		end
	end
end
Itemele selectate(in cazul in care vei folosi acest quest), vor trebui sa aiba type 18.
Imagine
Imagine
https://www.youtube.com/watch?v=GhYkCIETEto
Do everything, if you know what you're doing, else... Imagine
Ma gasesti si aici: Discord https://discord.gg/5J5GnyZVSR
Afișează semnătura
Avatar utilizator
Moț
Ţepar / Untrusted User

Ţepar / Untrusted User
Mesaje: 2825
Membru din: 03 Apr 2017, 15:00
Aprecieri: 216  
Mulţumiri: 3040  
Discord: Copiază ID
Medalii

NOU ! Dacă în 3 zile autorul subiectului nu va da niciun semn de viata în topic, subiectul va fi mutat în Arhivă Probleme şi Întrebări.
Imagine
Afișează semnătura
Închis
Răspunsuri
1
Vizualizări
1399
Răspunsuri
6
Vizualizări
357
Răspunsuri
5
Vizualizări
740

Înapoi la “Arhivă Probleme şi Întrebări”

  • Informaţie