Skill P cu Piatra Spiritului

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

Nivel 1
Mesaje: 91
Membru din: 12 Sep 2017, 01:14
Server: In lucru
Regat: Jinno
Aprecieri: 24  
Mulţumiri: 8  
Discord: Copiază ID
Medalii

*Problemă/Întrebare: Skill P cu Piatra Spiritului
*ServerFiles utilizat: PVM

*Detalii suplimentare:

Salut, ce trebuie sa fac pentru a face skill-uri P cu Piatra Spiritului ?
Am tot cautat cum sa fac P dar nu gasesc nimic care sa ma ajute...

Vreau sa fac G2-G3-G4 ... P cu Piatra Spiritului, sa scada gradul care la randul lui sa fie refacut cu Boabe Zen.
Cu cat inveti mai mult, cu atat iti dai seama ca stii mai putin.
Afișează semnătura
Avatar utilizator
Kidro
Membru Club

Membru Club
Mesaje: 2487
Membru din: 29 Aug 2019, 16:49
Aprecieri: 331  
Mulţumiri: 5190  
Discord: Copiază ID
Medalii

Cod: Selectaţi tot

quest training_gRangmaster_skill begin
    state start begin
   when 50513.use begin
       say_title("Piatra Spiritului")

       if pc.get_skill_group() == 0 then
      say("Nu ai nicio aptitudine"..pc.get_skill_group())
      return
       end

       if get_time() < pc.getqf("next_time") then -- and not is_test_server() then
      if pc.is_skill_book_no_delay() then
          say("Aceast lucru vă permite")
          say("perfecţionarea competenţelor.")
          say("")
          wait()
          say_title("Piatra Spiritului")
      else
          say("Trebuie să aşteptaţi.")
          return
      end
       end

       local result = training_gRangmaster_skill.BuildGRangMasterSkillList(pc.get_job(), pc.get_skill_group())

       local vnum_list = result[1]
       local name_list = result[2]

       if table.getn(vnum_list) == 0 then
      say("Nu iti poti perfectiona competentele!")
      return
       end

       say("Alegeti o competenta din urmatoarele.")
       say("")

       local menu_list = {}
       table.foreach(name_list, function(i, name) table.insert(menu_list, name) end)
       table.insert(menu_list, "Renunta") 

       local s=select_table(menu_list)
       if table.getn(menu_list) == s then
      return
       end

       local skill_name=name_list[s]
       local skill_vnum=vnum_list[s]
       local skill_level = pc.get_skill_level(skill_vnum)
       local -cenzurat-_alignment = pc.get_real_alignment()
       local need_alignment = 1000+500*(skill_level-30)

       test_chat("Punctre rang:"..-cenzurat-_alignment)
       test_chat("Rang negativ prea mare:"..need_alignment)

       local title=string.format("%s a reuşit", skill_name, skill_level-30+1)

       say_title(title)
       say("Atunci când citiţi piatra spiritului")
       say("pierzi punctaj din grad!")
       say("")

       if -cenzurat-_alignment<-19000+need_alignment then
      say_reward("Puncte insuficiente.")
      return
       end

       if -cenzurat-_alignment<0 then
      say_reward(string.format("Puncte necesare: %d -> %d", need_alignment, need_alignment*2))
      say_reward("pentru a mari competenta")
      need_alignment=need_alignment*2
       elseif -cenzurat-_alignment<need_alignment then
      say_reward(string.format("Puncte necesare: %d", need_alignment))
      say_reward("Rang negativ prea mare")
       else
      say_reward(string.format("Puncte necesare: %d", need_alignment))
       end
       say("")

       local s=select("Mai mult", "Renunta")   
       if s==2 then
      return
       end


       if -cenzurat-_alignment>=0 and -cenzurat-_alignment<need_alignment then
      say_title(string.format("Piatra Spiritului", title))
      say("A venit timpul!!")
      say("Pentru antrenament,")
      say("Va rugam sa scrieti : Antrenament")
      say("")
      say("")
      say_reward("Antrenament")
      say("")
      say("")
      local s=input()
      if s!="Antrenament" then
          return
      end
       end

       if get_time() < pc.getqf("next_time") then -- and not is_test_server() then
      if pc.is_skill_book_no_delay() then
          pc.remove_skill_book_no_delay()
      else
          say("Sa vedeam ce-ai reusit")
          return
      end
       end

       pc.setqf("next_time", get_time()+time_hour_to_sec(number(8, 12)))

       if need_alignment>0 then
      if pc.learn_gRang_master_skill(skill_vnum) then
          pc.change_alignment(-need_alignment)


          say_title(string.format("%s ", title))
          if 40 == pc.get_skill_level(skill_vnum) then
         say(string.format("%s este deja Perfect", skill_name))
          else
         say(string.format("%s Succes", skill_name, skill_level-30+1+1))
          end
          say("")
          say_reward("Succes!")
          say_reward(string.format("Puncte luate %d ", need_alignment))
          say("")
      else
          say_title(string.format("%s ", title))
          say("Acest lucru nu este elaborat ,din pacate.")
          say("")
          say_reward("Ai esuat!")
          say("Mai Incearca")
          pc.change_alignment(-number(need_alignment/3, need_alignment/2))
      end
       end

       item.remove()
   end
   function BuildGRangMasterSkillList(job, group)
       GRang_MASTER_SKILL_LEVEL = 30
       PERFECT_MASTER_SKILL_LEVEL = 40

       local skill_list = special.active_skill_list[job+1][group]
       local ret_vnum_list = {}
       local ret_name_list = {}

       -- test_chat(string.format("job=%d, group=%d", job, group))

       table.foreach(skill_list, 
       function(i, skill_vnum) 
      local skill_level = pc.get_skill_level(skill_vnum)

      -- test_chat(string.format("[%d]=%d", skill_vnum, skill_level))
      if skill_level >= GRang_MASTER_SKILL_LEVEL and skill_level < PERFECT_MASTER_SKILL_LEVEL then

          table.insert(ret_vnum_list, skill_vnum)
          local name=locale.GM_SKILL_NAME_DICT[skill_vnum]
          if name == nil then name=skill_vnum end
          table.insert(ret_name_list, name)
      end
       end)
       return {ret_vnum_list, ret_name_list}


       --return {ret_vnum_list, ret_name_list}
   end
    end
end
Baga questul asta.
Avatar utilizator
waLkerWEED
Nivel 1

Nivel 1
Mesaje: 91
Membru din: 12 Sep 2017, 01:14
Server: In lucru
Regat: Jinno
Aprecieri: 24  
Mulţumiri: 8  
Discord: Copiază ID
Medalii

Ceva nu e bine ca imi da eroare Abort (core dumped) la compilare ./qc

Am mai luat si eu ceva questuri de unde am mai gasit si aceeasi problema o am...

pune toata eroarea, poate fii de la functii
Cu cat inveti mai mult, cu atat iti dai seama ca stii mai putin.
Afișează semnătura
Avatar utilizator
coadapute123
Utilizator interzis !

Utilizator interzis !
Mesaje: 536
Membru din: 05 Ian 2019, 14:04
Server: Heroes2
Regat: Jinno
Aprecieri: 103  
Mulţumiri: 362  
Discord: Copiază ID
Medalii

Rottybz scrie: ↑10 Ian 2020, 02:42 Ceva nu e bine ca imi da eroare Abort (core dumped) la compilare ./qc

Am mai luat si eu ceva questuri de unde am mai gasit si aceeasi problema o am...

pune toata eroarea, poate fii de la functii
incerca sa mai adaugi un "end" la final
Imagine
Afișează semnătura
Avatar utilizator
waLkerWEED
Nivel 1

Nivel 1
Mesaje: 91
Membru din: 12 Sep 2017, 01:14
Server: In lucru
Regat: Jinno
Aprecieri: 24  
Mulţumiri: 8  
Discord: Copiază ID
Medalii

Am rezolvat problema cu questul, merge, dar acum este o alta problema.
Dau click dreapta pe "Piatra Spiritului" se deschide fereastra unde ma intreaba ce la ce skill vreau sa fac upgrade, selectez Aura Sabiei si nu face nimic apoi... Nici in chat nu zice ca a esuat nici piatra nu dispare nici skill-ul nu ia upgrade...
Cu cat inveti mai mult, cu atat iti dai seama ca stii mai putin.
Afișează semnătura
Avatar utilizator
exo.
Ţepar / Untrusted User

Ţepar / Untrusted User
Mesaje: 1038
Membru din: 29 Ian 2017, 12:38
Aprecieri: 289  
Mulţumiri: 1314  
Discord: Copiază ID
Medalii

Cod: Selectaţi tot

quest training_grandmaster_skill begin 
    state start begin
	when 50513.use begin	
		say_title("Piatra spiritului")
		say("")
		local seelicount = pc.count_item(50513)
	    if pc.get_skill_group() == 0 then	
		say("Nu aveþi abilitãþi care pot fi antrenate.")	
		say("")
		return
	    end
	    if get_time() < pc.getqf("next_time") then -- and not is_test_server() then
		if pc.is_skill_book_no_delay() then		
		    say("Ai folosit pergamentul exorcizãrii. Acum poþi")
			say("citi o piatrã a spritiului.")
			say("")
		wait()			
			say_title("Piatra spiritului")				
		else			
		    say("Trebuie sã aºtepþi o zi pentru a putea citi")	
			say("o piatrã a spiritului sau foloseºte")	
			say("pergamentul exorcizãrii.")	
			say("")
		return			
		end
		
	    end

	    local result = training_grandmaster_skill.BuildGrandMasterSkillList(pc.get_job(), pc.get_skill_group())

	    local vnum_list = result[1]
	    local name_list = result[2]

	    if table.getn(vnum_list) == 0 then		
			say("Nu aveþi abilitãþi care pot fi antrenate.")	
			say("")
		return
	    end

	    say("Selectaþi abilitatea care doriþi sã fie antrenatã.")
		say("")
	    local menu_list = {}
	    table.foreach(name_list, function(i, name) table.insert(menu_list, name) end)
	    table.insert(menu_list, "Renunþã ") 
	    local s=select_table(menu_list)
	    if table.getn(menu_list) == s then
		return
	    end

	    local skill_name=name_list[s]
	    local skill_vnum=vnum_list[s]
	    local skill_level = pc.get_skill_level(skill_vnum)
	    local -cenzurat-_alignment = pc.get_real_alignment()
	    local need_alignment = 1000+500*(skill_level-30)

	    local title=string.format("Antreneazã %s", skill_name)
		if pc.count_item(50513) != seelicount then		
			say("Nu ai piatra spiritului!")		
		return
		end		
			say_title(title)
			say("")
			say("Pentru a citi o piatra a spritiului ai nevoie")
			say("de puncte de grad.")
			say("")
	    if -cenzurat-_alignment<-19000+need_alignment then		
			say_reward("Ai prea puþine puncte de grad.")	
			say("")
			return
	    end

	    if -cenzurat-_alignment<0 then
		
		say_reward("Punctele tale de grad vor scãdea dupã ")
		say_reward("dupã citirea pietrei. Vei pierde")
		say_reward(string.format( "între %d ºi %d puncte de grad.", need_alignment, need_alignment*2))		
		
		need_alignment=need_alignment*2
	    elseif -cenzurat-_alignment<need_alignment then		
			say(string.format("Puncte de grad necesare: %d", need_alignment))		
			say_reward("Este posibil ca rangul tãu sã fie negativ")
			say_reward("dupã citirea pietrei.")	
	    else
		say_orange(string.format("Puncte de grad necesare: %d", need_alignment))
	    end
	    say("")

	    local s = select ("Învaþã ","Renunþã ")
		
				  if s == 2 then
			return
	    end

	    if -cenzurat-_alignment>=0 and -cenzurat-_alignment<need_alignment then
		say_title(string.format("%s ", title))
		say("")
		
		say("Pentru a citi piatra spiritului trebuie sã ")
		say("introduci în caseta de mai jos cuvântul")
		say_reward("Antrenament")
		say("")
		say_reward("Este posibil ca dupã citirea pietrei, rangul")
		say_reward("tãu sã fie negativ.")

		local s=input()
		
		if s!="Antrenament" then
		
				return
			end
	    end
	    if get_time() < pc.getqf("next_time") then -- and not is_test_server() then
		if pc.is_skill_book_no_delay() then
		    pc.remove_skill_book_no_delay()
			
			end	
	    end
	    pc.setqf("next_time", get_time()+time_hour_to_sec(number(8, 12)))
	    if need_alignment>0 then
		if pc.learn_grand_master_skill(skill_vnum) then
		    pc.change_alignment(-need_alignment)

		    say_title(string.format("%s", title))
			say("")
		    if 40 == pc.get_skill_level(skill_vnum) then
			
			say(string.format("%s este perfect antrenat.", skill_name))
			say("")
			pc.remove_item(50513, 1)  			
		    else		
			say(string.format ( "Antrenamentul a reuºit.", skill_name, skill_level-30+1+1))				
				pc.remove_item(50513, 1)  			
				end
		    say_reward (string.format("Punctele de grad au scãzut cu: %d ", need_alignment))			
		    say("")			
				else				
		    say_title(string.format("%s", title))
			say("")			
		    say_reward("Antrenamentul a eºuat.")
		    say("")
		    pc.change_alignment(-number(need_alignment/3, need_alignment/2))				
				pc.remove_item(50513, 1)  			
					end
				end			
			end
		function BuildGrandMasterSkillList(job, group)
			GRAND_MASTER_SKILL_LEVEL = 30
			PERFECT_MASTER_SKILL_LEVEL = 40

			local skill_list = special.active_skill_list[job+1][group]
			local ret_vnum_list = {}
			local ret_name_list = {}

			table.foreach(skill_list, 
			function(i, skill_vnum) 
			local skill_level = pc.get_skill_level(skill_vnum)

			if skill_level >= GRAND_MASTER_SKILL_LEVEL and skill_level < PERFECT_MASTER_SKILL_LEVEL then

				table.insert(ret_vnum_list, skill_vnum)
				local name=locale.GM_SKILL_NAME_DICT[skill_vnum]
				if name == nil then name=skill_vnum end
				table.insert(ret_name_list, name)
			end
			end)
			return {ret_vnum_list, ret_name_list}
		end
    end
end
Incearca asta.
Avatar utilizator
KinKade
Membru Club

Membru Club
Mesaje: 1224
Membru din: 10 Mar 2014, 19:39
Server: Quirin2
Regat: Jinno
Aprecieri: 132  
Mulţumiri: 55  
Discord: Copiază ID
 Contact:
Medalii

Autorul nu a mai raspuns, topic inchis si trimis la arhiva.
Discord: Koshmar#3873
Afișează semnătura
Închis
Răspunsuri
1
Vizualizări
329
Răspunsuri
1
Vizualizări
326
Răspunsuri
1
Vizualizări
1057
Răspunsuri
3
Vizualizări
418

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

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 76 vizitatori