Problema reborn

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

Nivel 3
Mesaje: 330
Membru din: 14 Apr 2021, 17:12
Server: In lucru...
Regat: Jinno
Aprecieri: 443  
Mulţumiri: 71  
Discord: Copiază ID
Medalii

*Problemă/Întrebare: Problema sistem reborn BUG
Tipologie server(PvM / PvP): pvm
*Resursă folosită: *Link exclusiv J4M*
*ServerFiles utilizat: happiness
*Syserr: 0
Poză: 0
*Detalii suplimentare: Cum pot modifica sistemul reborn sa teleporteze playerul respectiv map1 dupa ce a dat reborn / sau daca mi l poate modifica cine va va rog frumos ...

uest system_reborn begin
state start begin
when 40003.use begin
-- PENTRU TESTE
pc.setqf("nivel_reborn", 0)
syschat("Reborn-ul tau a fost resetat.")
pc.changealignment(-pc.get_alignment()+0)
-- PENTRU TESTE
end
when login begin
if pc.getqf("nivel_reborn") == 0 then
pc.changealignment(-pc.get_alignment()+0)
elseif pc.getqf("nivel_reborn") == 1 then
pc.changealignment(-pc.get_alignment()+2000)
elseif pc.getqf("nivel_reborn") == 2 then
pc.changealignment(-pc.get_alignment()+6000)
elseif pc.getqf("nivel_reborn") == 3 then
pc.changealignment(-pc.get_alignment()+10000)
elseif pc.getqf("nivel_reborn") == 4 then
pc.changealignment(-pc.get_alignment()+14000)
end
loop_timer("align_reborn", 60 * 60)
end
when align_reborn.timer begin
if pc.getqf("nivel_reborn") == 0 then
pc.changealignment(-pc.get_alignment()+0)
elseif pc.getqf("nivel_reborn") == 1 then
pc.changealignment(-pc.get_alignment()+2000)
elseif pc.getqf("nivel_reborn") == 2 then
pc.changealignment(-pc.get_alignment()+6000)
elseif pc.getqf("nivel_reborn") == 3 then
pc.changealignment(-pc.get_alignment()+10000)
elseif pc.getqf("nivel_reborn") == 4 then
pc.changealignment(-pc.get_alignment()+14000)
end
end
when login or levelup with pc.get_level() == 127 begin
if pc.getqf("nivel_reborn") == 0 then
send_letter("Reborn I")
elseif pc.getqf("nivel_reborn") == 1 then
send_letter("Reborn II")
elseif pc.getqf("nivel_reborn") == 2 then
send_letter("Reborn III")
elseif pc.getqf("nivel_reborn") == 3 then
send_letter("Reborn PvP")
end
end
when button or info begin
if pc.getqf("nivel_reborn") == 0 then
setbgimage("reborn_lv1.tga")
setskin(4)
say_black("[ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER]")
say_black(" Odata ce ai atins nivelul maxim iti poti da reborn.")
say_black(" Reborn-ul iti ofera sansa de a juca jocul din nou,")
say_black(" dar fiind mult mai puternic decat data trecuta.")
say_black(" Dupa ce iti dai reborn, nivelul si toate skill-urile")
say_black(" iti vor fi resetate ca la inceput. Este alegerea ta daca")
say_black(" vrei sa faci acest lucuru sau nu.[ENTER]")
local reborn = select("Da, vreau", "Nu, poate mai tarziu")
local m_idx = pc.get_map_index()
if reborn == 1 and m_idx == 70 then
syschat("Nu po rena演e 螽 Death Valley!")
return
end
if reborn == 1 and m_idx == 213 then
syschat("Nu po rena演e 螽 Liho!")
return
end
if reborn == 1 and m_idx != 70 and m_idx != 213 then
setbgimage("reborn_lv1.tga")
setskin(4)
say_black("[ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER]")
say(" Felicitari! Ai Reborn I. Toate calitatile")
say(" dobandite de tine pana acum, au fost eliminate.")
say(" Acum poti lua jocul de la inceput, dar esti")
say(" mai puternic decat data trecuta.[ENTER]")
say(" Ai primit:")
say(" *3000 PV")
say(" *20 Viteza de atac[ENTER]")
pc.setqf("nivel_reborn", 1)
pc.changealignment(-pc.get_alignment()+2000)
pc.set_level(1)
pc.reset_point()
pc.clear_skill()
pc.set_skill_group(0)
affect.add_collect(1,3000,60*60*24*365*60)
affect.add_collect(7,20,60*60*24*365*60)
clear_letter()
if reborn == 2 then
return
end
end

elseif pc.getqf("nivel_reborn") == 1 then
setbgimage("reborn_lv2.tga")
setskin(4)
say_black("[ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER]")
say_black(" Odata ce ai atins nivelul maxim iti poti da reborn.")
say_black(" Reborn-ul iti ofera sansa de a juca jocul din nou,")
say_black(" dar fiind mult mai puternic decat data trecuta.")
say_black(" Dupa ce iti dai reborn, nivelul si toate skill-urile")
say_black(" iti vor fi resetate ca la inceput. Este alegerea ta daca")
say_black(" vrei sa faci acest lucuru sau nu.[ENTER]")
local reborn = select("Da, vreau", "Nu, poate mai tarziu")
local m_idx = pc.get_map_index()
if reborn == 1 and m_idx == 70 then
syschat("Nu po rena演e 螽 Death Valley!")
return
end
if reborn == 1 and m_idx == 213 then
syschat("Nu po rena演e 螽 Liho!")
return
end
if reborn == 1 and m_idx != 70 and m_idx != 213 then
setbgimage("reborn_lv2.tga")
setskin(4)
say_black("[ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER]")
say(" Felicitari! Ai Reborn II. Toate calitatile")
say(" dobandite de tine pana acum, au fost eliminate.")
say(" Acum poti lua jocul de la inceput, dar esti")
say(" mai puternic decat data trecuta.[ENTER]")
say(" Ai primit:")
say(" *15% Sansa la lovitura critica.")
say(" *15% Sansa la lovitura patrunzatoare[ENTER]")
pc.setqf("nivel_reborn", 2)
pc.changealignment(-pc.get_alignment()+6000)
pc.set_level(1)
pc.reset_point()
pc.clear_skill()
pc.set_skill_group(0)
affect.add_collect(15,15,60*60*24*365*60)
affect.add_collect(16,15,60*60*24*365*60)
if reborn == 2 then
return
end
end

elseif pc.getqf("nivel_reborn") == 2 then
setbgimage("reborn_lv3.tga")
setskin(4)
say_black("[ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER]")
say_black(" Odata ce ai atins nivelul maxim iti poti da reborn.")
say_black(" Reborn-ul iti ofera sansa de a juca jocul din nou,")
say_black(" dar fiind mult mai puternic decat data trecuta.")
say_black(" Dupa ce iti dai reborn, nivelul si toate skill-urile")
say_black(" iti vor fi resetate ca la inceput. Este alegerea ta daca")
say_black(" vrei sa faci acest lucuru sau nu.[ENTER]")
local reborn = select("Da, vreau", "Nu, poate mai tarziu")
local m_idx = pc.get_map_index()
if reborn == 1 and m_idx == 70 then
syschat("Nu po rena演e 螽 Death Valley!")
return
end
if reborn == 1 and m_idx == 213 then
syschat("Nu po rena演e 螽 Liho!")
return
end
if reborn == 1 and m_idx != 70 and m_idx != 213 then
setbgimage("reborn_lv3.tga")
setskin(4)
say_black("[ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER]")
say(" Felicitari! Ai Reborn III. Toate calitatile")
say(" dobandite de tine pana acum, au fost eliminate.")
say(" Acum poti lua jocul de la inceput, dar esti")
say(" mai puternic decat data trecuta.[ENTER]")
say(" Ai primit:")
say(" *15% Viteza farmecului")
say(" *10% Blocare atac corporal")
say(" *10% Reflectare atac corporal[ENTER]")
pc.setqf("nivel_reborn", 3)
pc.changealignment(-pc.get_alignment()+10000)
pc.set_level(1)
pc.reset_point()
pc.clear_skill()
pc.set_skill_group(0)
affect.add_collect(9,15,60*60*24*365*60)
affect.add_collect(27,10,60*60*24*365*60)
affect.add_collect(39,10,60*60*24*365*60)
if reborn == 2 then
return
end
end

elseif pc.getqf("nivel_reborn") == 3 then
setbgimage("reborn_pvp.tga")
setskin(4)
say_black("[ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER]")
say_black(" Odata ce ai atins nivelul maxim iti poti da reborn.")
say_black(" Reborn-ul iti ofera sansa de a juca jocul din nou,")
say_black(" dar fiind mult mai puternic decat data trecuta.")
say_black(" Dupa ce iti dai reborn, nivelul si toate skill-urile")
say_black(" iti vor fi resetate ca la inceput. Este alegerea ta daca")
say_black(" vrei sa faci acest lucuru sau nu.[ENTER]")
local reborn = select("Da, vreau", "Nu, poate mai tarziu")
local m_idx = pc.get_map_index()
if reborn == 1 and m_idx == 70 then
syschat("Nu po rena演e 螽 Death Valley!")
return
end
if reborn == 1 and m_idx == 213 then
syschat("Nu po rena演e 螽 Liho!")
return
end
if reborn == 1 and m_idx != 70 and m_idx != 213 then
setbgimage("reborn_pvp.tga")
setskin(4)
say_black("[ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER][ENTER]")
say(" Felicitari! Ai Reborn PVP. Toate calitatile")
say(" dobandite de tine pana acum, au fost eliminate.")
say(" Acum poti lua jocul de la inceput, dar esti")
say(" mai puternic decat data trecuta.[ENTER]")
say(" Ai primit:")
say(" *12% Anti Semi-Oameni")
say(" *5% Rezistenta Magie[ENTER]")
pc.setqf("nivel_reborn", 4)
pc.changealignment(-pc.get_alignment()+14000)
pc.set_level(1)
pc.reset_point()
pc.clear_skill()
pc.set_skill_group(0)
affect.add_collect(17,12,60*60*24*365*60)
affect.add_collect(37,5,60*60*24*365*60)
if reborn == 2 then
return
end
end
end
clear_letter()
end
end
end
Avatar utilizator
##SomeBody
Nivel 3

Nivel 3
Mesaje: 330
Membru din: 14 Apr 2021, 17:12
Server: In lucru...
Regat: Jinno
Aprecieri: 443  
Mulţumiri: 71  
Discord: Copiază ID
Medalii

cine va sa ma ajute ??
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

pc.set_level(1)
pc.reset_point()
pc.clear_skill()
pc.set_skill_group(0)
affect.add_collect(1,3000,60*60*24*365*60)
affect.add_collect(7,20,60*60*24*365*60)
warp_to_village()
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
##SomeBody
Nivel 3

Nivel 3
Mesaje: 330
Membru din: 14 Apr 2021, 17:12
Server: In lucru...
Regat: Jinno
Aprecieri: 443  
Mulţumiri: 71  
Discord: Copiază ID
Medalii

Ms mult Rafael, esti cel mai tare !
Pute ti da t/c.
Avatar utilizator
Galadriela
Membru Club

Membru Club
Mesaje: 67
Membru din: 11 Ian 2016, 21:14
Aprecieri: 11  
Mulţumiri: 280  
Medalii

[RaffaeL] scrie: ↑29 Apr 2021, 17:14
pc.set_level(1)
pc.reset_point()
pc.clear_skill()
pc.set_skill_group(0)
affect.add_collect(1,3000,60*60*24*365*60)
affect.add_collect(7,20,60*60*24*365*60)
warp_to_village()
Și dacă jucătorul nu are loc în inventar să îi dea jos toate itemele, ce se întâmplă? Nu era mai bine să verifici înainte dacă ai suficiente sloturi goale și după să dai reborn și în loc de teleportare să îi dea jos itemele după reborn? Se poate folosi pc.get_wear să împiedici jucătorul să dea reborn până își dă jos echipamentul. El vrea să nu se facă abuz de echipament după reborn gen și să forțeze jucătorii să dea jos itemele.
(C) Galadriela | De obicei postez doar tutoriale, tips & tricks. Aici ai lista mea.
FinaLongju2 Team Member
Afișează semnătura
Avatar utilizator
##SomeBody
Nivel 3

Nivel 3
Mesaje: 330
Membru din: 14 Apr 2021, 17:12
Server: In lucru...
Regat: Jinno
Aprecieri: 443  
Mulţumiri: 71  
Discord: Copiază ID
Medalii

Pai si cum fac ?... adaug mai jos de affect.add_collect(7,20,60*60*24*365*60) pc.get_wear si mai jos de pc.get_wear adaug warp village ?
Avatar utilizator
Galadriela
Membru Club

Membru Club
Mesaje: 67
Membru din: 11 Ian 2016, 21:14
Aprecieri: 11  
Mulţumiri: 280  
Medalii

Nu. Ce ți-a dat Raffael face ca după reborn să trimită caracterul în map1 al regatului lui. Ce am zis eu este că, dacă faci asta, automat obiectele de pe tine sunt dezechipate pentru că nu ai nivelul necesar și după teleportare le dă jos. Aici vine problema dacă ai inventarul plin și nu are unde să dea itemele jos după teleportare. Cel mai ușor verifici dacă jucătorul are obiecte echipate în sloturi. Dacă are, nu are voie să dea reborn decât dacă le dă jos.

Exemplu:

Cod: Selectaţi tot

-- Get WEAR_BODY, WEAR_HEAD, WEAR_FOOTS, WEAR_WRIST, WEAR_WEAPON, WEAR_NECK, WEAR_EAR, WEAR_SHIELD (length.h)
local wearEquiped = { 0, 1, 2, 3, 4, 5, 6, 10} -- (length.h enum)

for i = 1, table.getn(wearEquiped), 1 do
	if (pc.get_wear(wearEquiped[i])) then
			chat("You must unequip the gear first.")
		return
	end
end
(C) Galadriela | De obicei postez doar tutoriale, tips & tricks. Aici ai lista mea.
FinaLongju2 Team Member
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

Galadriela scrie: ↑01 Mai 2021, 10:37
[RaffaeL] scrie: ↑29 Apr 2021, 17:14
pc.set_level(1)
pc.reset_point()
pc.clear_skill()
pc.set_skill_group(0)
affect.add_collect(1,3000,60*60*24*365*60)
affect.add_collect(7,20,60*60*24*365*60)
warp_to_village()
Și dacă jucătorul nu are loc în inventar să îi dea jos toate itemele, ce se întâmplă? Nu era mai bine să verifici înainte dacă ai suficiente sloturi goale și după să dai reborn și în loc de teleportare să îi dea jos itemele după reborn? Se poate folosi pc.get_wear să împiedici jucătorul să dea reborn până își dă jos echipamentul. El vrea să nu se facă abuz de echipament după reborn gen și să forțeze jucătorii să dea jos itemele.
Perfect de acord, insa cerinta initiala era:
*Detalii suplimentare: Cum pot modifica sistemul reborn sa teleporteze playerul respectiv map1 dupa ce a dat reborn
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
Galadriela
Membru Club

Membru Club
Mesaje: 67
Membru din: 11 Ian 2016, 21:14
Aprecieri: 11  
Mulţumiri: 280  
Medalii

De acord, însă nu avea de unde să știe ce se poate întâmpla dacă jucătorul are inventarul plin.
(C) Galadriela | De obicei postez doar tutoriale, tips & tricks. Aici ai lista mea.
FinaLongju2 Team Member
Afișează semnătura
Avatar utilizator
##SomeBody
Nivel 3

Nivel 3
Mesaje: 330
Membru din: 14 Apr 2021, 17:12
Server: In lucru...
Regat: Jinno
Aprecieri: 443  
Mulţumiri: 71  
Discord: Copiază ID
Medalii

Pai bun Galadriela, si acum cum/ce fac ? trb sa adaug exemplul ala al tau de mai sus da? si daca da unde ?
Închis
Răspunsuri
3
Vizualizări
192
Răspunsuri
5
Vizualizări
307

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

  • Informaţie