Problema quest BUG pc.get_map_index()

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

Nou Venit
Mesaje: 11
Membru din: 02 Dec 2018, 12:24
Server: In lucru
Regat: Jinno
Aprecieri: 4  
Mulţumiri: 0
Medalii

*Problemă:Problema quest functia pc.get_map_index()
Tipologie server:-
*Resursă folosită:quest facut de mine
*ServerFiles utilizat:nicu best produciton
*Syserr:nu am
Poză:nu am
*Detalii suplimentare:Cand bag mai multe mape in care sa setez limita de nivel la care sa pice imi face bug si pica si la nivel mai mic dar si la nivel mai mare, am bagat pc.get_map_index() la 14 mape sa pice intre nivelul 31 si 50 , sub 31 sa nu pice si peste 50 sa nu mai pice , daca scot celelalte mape si bag doar 2-3 mape, nu intervine nici o problema si drop ul pe nivel nu este afectat dar cand bag 14 mape pica anapoda si sub nivel 30 dar si peste 50 adica nu imi respecta fucntiile " pc.get_level() >=31 and pc.get_level() <= 50"
Are o limita cumva? o folosesc in functia " when kill " ???

Uitati o parte din cod unde mi se creaza problema asta, nu da erori in rulare putty deoarece este scris corect :

Cod: Selectaţi tot

	when kill with pc.get_map_index() == 61 or pc.get_map_index() == 64 or pc.get_map_index() == 45 or pc.get_map_index() == 5 or pc.get_map_index() == 25 or pc.get_map_index() == 109 or pc.get_map_index() == 108 or pc.get_map_index() == 107 or pc.get_map_index() == 63 or pc.get_map_index() == 104 or pc.get_map_index() == 65 or pc.get_map_index() == 62 or pc.get_map_index() == 66 or pc.get_map_index() == 68 and pc.get_level() >= 31 and pc.get_level() <= 50 begin
Avatar utilizator
l3oogie
Nou Venit

Nou Venit
Mesaje: 11
Membru din: 02 Dec 2018, 12:24
Server: In lucru
Regat: Jinno
Aprecieri: 4  
Mulţumiri: 0
Medalii

Am descoperit de ce se creaza un bug si nu respecta limita care am puso de nivel, se pare ca acel "when kill " accepta doar 3 pc.get_map_index() == "61" " sau doar 2 de " or " si 2 de " and " una din ele afecteaza acel " when " si nu mai tine cont de " pc.get_level()" asa ca drop ul ramane pe mapele respective dar se dropeaza la orice nivel ... Am spus ca am descoprit cauza dar vreau ca cineva sa imi dea o idee cum sa economiesc spatiu pentru atata scris pentru ca tot trebuie sa scriu si mai multe " when " pentru a face drop ul la mapele respective si nu prea e convenabil! acum trebuie sa pun si mai multe variante de drop cu cate 3 map index maxim si vreau sa cuprind cat mai multe intr un singur drop
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

l3oogie scrie:*Problemă:Problema quest functia pc.get_map_index()
Tipologie server:-
*Resursă folosită:quest facut de mine
*ServerFiles utilizat:nicu best produciton
*Syserr:nu am
Poză:nu am
*Detalii suplimentare:Cand bag mai multe mape in care sa setez limita de nivel la care sa pice imi face bug si pica si la nivel mai mic dar si la nivel mai mare, am bagat pc.get_map_index() la 14 mape sa pice intre nivelul 31 si 50 , sub 31 sa nu pice si peste 50 sa nu mai pice , daca scot celelalte mape si bag doar 2-3 mape, nu intervine nici o problema si drop ul pe nivel nu este afectat dar cand bag 14 mape pica anapoda si sub nivel 30 dar si peste 50 adica nu imi respecta fucntiile " pc.get_level() >=31 and pc.get_level() <= 50"
Are o limita cumva? o folosesc in functia " when kill " ???

Uitati o parte din cod unde mi se creaza problema asta, nu da erori in rulare putty deoarece este scris corect :

Cod: Selectaţi tot

	when kill with pc.get_map_index() == 61 or pc.get_map_index() == 64 or pc.get_map_index() == 45 or pc.get_map_index() == 5 or pc.get_map_index() == 25 or pc.get_map_index() == 109 or pc.get_map_index() == 108 or pc.get_map_index() == 107 or pc.get_map_index() == 63 or pc.get_map_index() == 104 or pc.get_map_index() == 65 or pc.get_map_index() == 62 or pc.get_map_index() == 66 or pc.get_map_index() == 68 and pc.get_level() >= 31 and pc.get_level() <= 50 begin
Rescrie acel "when" de forma asta:
when kill begin
    local index_set = {{61, 31, 50},{64, 31, 50},{45, 31, 50}} --continui tu pentru toate mapele(primul nr.=index;nr2=lvl_min; nr3=lvl_max)
	local check = number(1, table.getn(index_set))
		if pc.get_map_index(index_set[check][1]) then
			if pc.get_level() >= index_set[check][2] and pc.get_level() <= index_set[check][3] then
				pc.give_item2(aici_itemul_tau, numar_iteme)
			end
		end
	end
Vei avea ceva de forma:
Imagine
Bafta.
Pentru acest mesaj, [RaffaeL] for the post:
l3oogie
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
Filipino
Metin Master

Metin Master
Mesaje: 2789
Membru din: 03 Sep 2014, 21:02
Server: ▬▬▬▬▬▬
Aprecieri: 39  
Mulţumiri: 785  
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
0
Vizualizări
196
Răspunsuri
2
Vizualizări
2642
Răspunsuri
1
Vizualizări
177
Răspunsuri
4
Vizualizări
417

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

  • Informaţie