*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
Problema reborn
- ##SomeBody
-

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

- Mesaje: 330
- Membru din: 14 Apr 2021, 17:12
- Server: In lucru...
- Regat: Jinno
- Aprecieri: 443
- Mulţumiri: 71
- Discord: Copiază ID
cine va sa ma ajute ??
- [RaffaeL]
-

- Mesaje: 3223
- Membru din: 19 Mar 2016, 12:58
- Server: ...
- Aprecieri: 15
- Mulţumiri: 2502
- Rezolvări prob.: 2
- Discord: Copiază ID
- Contact:
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()
- ##SomeBody
-

- Mesaje: 330
- Membru din: 14 Apr 2021, 17:12
- Server: In lucru...
- Regat: Jinno
- Aprecieri: 443
- Mulţumiri: 71
- Discord: Copiază ID
Ms mult Rafael, esti cel mai tare !
Pute ti da t/c.
Pute ti da t/c.
Ș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.
- ##SomeBody
-

- Mesaje: 330
- Membru din: 14 Apr 2021, 17:12
- Server: In lucru...
- Regat: Jinno
- Aprecieri: 443
- Mulţumiri: 71
- Discord: Copiază ID
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 ?
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:
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- [RaffaeL]
-

- Mesaje: 3223
- Membru din: 19 Mar 2016, 12:58
- Server: ...
- Aprecieri: 15
- Mulţumiri: 2502
- Rezolvări prob.: 2
- Discord: Copiază ID
- Contact:
Perfect de acord, insa cerinta initiala era:Galadriela scrie: ↑01 Mai 2021, 10:37Ș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.
*Detalii suplimentare: Cum pot modifica sistemul reborn sa teleporteze playerul respectiv map1 dupa ce a dat reborn
De acord, însă nu avea de unde să știe ce se poate întâmpla dacă jucătorul are inventarul plin.
- ##SomeBody
-

- Mesaje: 330
- Membru din: 14 Apr 2021, 17:12
- Server: In lucru...
- Regat: Jinno
- Aprecieri: 443
- Mulţumiri: 71
- Discord: Copiază ID
Pai bun Galadriela, si acum cum/ce fac ? trb sa adaug exemplul ala al tau de mai sus da? si daca da unde ?
Răspunsuri
3 Vizualizări
990
3 Vizualizări
990
-
- Informaţie
-
Cine este conectat
Utilizatori ce ce navighează pe acest forum: sanducatalin1 și 36 vizitatori



