Quest Status GM cu input, instant si dezactivare

Avatar utilizator
l3oogieee
Nou Venit

Nou Venit
Mesaje: 13
Membru din: 16 Mai 2024, 21:28
Regat: Jinno
Aprecieri: 13  
Mulţumiri: 0
  Rezolvări prob.: 1
Medalii

Nume: Status GM cu input, instant status si dezactivare status.
Descriere: Cu ajutorul acestui quest poti introduce bonusuri prestabilite in el cu valori mari pentru gm sau poti introduce manual fiecare bonus listat in quest cu valorile dorite, tin sa mentionez ca se poate pune si simbol "-" inaintea valorii daca introduci 10 bonusuri de exemplu, ca sa nu mai stai sa dezactivezi tot si sa scrii iar valori la fiecare pe care le-ai folosit pur si simplu dai ok pana ajungi la bonusul dorit si pui "-2131321" acesta fiind un exemplu. Daca nu doriti un bonus e usor, doar mergeti mai departe apasand ok si nu va prelua acel bonus pentru ca valoarea este nula... Aveti si optiunea dezactiveaza!
Tin sa mentionez ca sunt incepator si nu am mai pus mana pe quest de 7-8 ani :))), daca cineva poate ajuta cu sugestii de inbunatatire, le citesc cu drag, asa mai si invat. :)
Imagini:
Imagine
Imagine
Imagine
Imagine
Imagine
Imagine
Quest: Cod Quest
Folositi:

Cod: Selectaţi tot

--[[Creat de l3oogie/Vaduva Liviu Bogdan
	Nivel incepator...]]--

quest statusgm begin 
	state start begin
		when start or login with pc.is_gm() begin
					send_letter("Status Administrator")
					
		end
			when button or info begin	



-----------------------------------Majoritatea Textului din quest care poate fi modificat mai usor si se aplica la toate celelalte say(""), aplicarea bonusului cat si butoanele de select, renunta, dezactiveaza, activeaza, etc
			local numec = pc.get_name()
		
			infointro = {"[ENTER]In caz ca nu esti un membru fondator[ENTER]Nu vei putea accesa aceste comenzi speciale[ENTER][ENTER]",
						"Ce optiune doresti sa alegi?[ENTER]",
						"Introduce-ti parola corecta:"}
						
			infonorm = {"[ENTER]Aici introduci valorile bonusurilor.[ENTER][ENTER]",
						"Poti seta simbolul - inaintea valorii bonusului[ENTER]Pentru a scade statusul la acel bonus in caz ca ai prea mult,[ENTER]Dar, fi prudent cu valoarea introdusa!" }
						
			bns = {"MAX_HP:", "MAX_SP:", "CON:", "INT:", "STR:", "DEX:", "ATT_SPEED:", "MOV_SPEED:", "CAST_SPEED:", "HP_REGEN:", "SP_REGEN:", "STUN_PCT:", "SLOW_PCT:", "CRITICAL_PCT:", "PENETRATE_PCT:", "ATTBONUS_HUMAN:",
				"STEAL_HP:", "BLOCK:", "DODGE:", "POISON_REDUCE:", "IMMUNE_STUN:", "IMMUNE_SLOW:", "IMMUNE_FALL:", "MAGIC_ATT_GRADE:", "MAGIC_DEF_GRADE:", "ATTBONUS_WARRIOR:", "ATTBONUS_ASSASSIN:", "ATTBONUS_SURA:",
				"ATTBONUS_SHAMAN:", "ATTBONUS_MONSTER:","Rezistenta Paguba Competenta:", "Rezistenta paguba Medie: ", "Paguba Competentei:", "Paguba Medie:"}
				
			infoimp = {"Atentie!:[ENTER]Daca cumva introduci valori prea mari, pot aparea buguri[ENTER]Sfatul meu este sa nu exagerezi cu Valoarea Bonusurilor!!!!"}
			
			intrbactdzct = {"Doresti sa-ti activezi statusul de Administrator?[ENTER][ENTER]",
							"Doresti sa-ti dezactivezi statusul de Administrator?[ENTER][ENTER]"}
							
			eroriinp = {"Se pare ca ai gresit parola![ENTER]",
						"Ai introdus:",
						"[ENTER]Incearca iar."}
						
			actdzcti = {"Instant Status",
						"Activeaza Manual",
						"Dezactiveaza",
						"Inchide"}
						
			dasinu = {"Sigur",
					"Renunta"}
			
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------




													say_title_center("")
													say_verde2(numec)
													say_galben(infointro[1])
													say_rosu(infointro[3])
										local pws = input()		
								if pws == "parolata" then  --Aici Schimbi parola pe care o doresti ca sa nu poata accesa orice gm panoul!, poitu pune si conditie ca sa caute dupa nume daca nu vrei decat la tine sa arate acest quest unde aveti inceput de scrisoare "when start or login with pc.is_gm() and pc.get_name("Aici pui numele la caracter") begin"
													say_title_center("")
													say_galben(numec)
													say_verde2(infointro[2])
										local alg=select(actdzcti[1], actdzcti[2], actdzcti[3], actdzcti[4])
								if 	alg==1 then
													say_title_center("")
													say_verde2(numec)
													say_galben(intrbactdzct[1])
										local sel=select(dasinu[1], dasinu[2])
								if sel==1 then
								
										affect.add_collect(apply.MOV_SPEED, 350, 60*60*24*365*60)    
										affect.add_collect(apply.ATT_SPEED, 350, 60*60*24*365*60)    
										affect.add_collect(apply.CRITICAL_PCT, 700, 60*60*24*365*60)
										affect.add_collect(apply.PENETRATE_PCT, 700, 60*60*24*365*60)   
										affect.add_collect(apply.DEF_GRADE_BONUS, 1500, 60*60*24*365*60) 
										affect.add_collect(apply.RESIST_MAGIC, 1000, 60*60*24*365*60)
										affect.add_collect(apply.MAX_HP, 200000, 60*60*24*365*60)
										affect.add_collect(2, 50000, 60*60*24*365*60)
										affect.add_collect(4, 20000, 60*60*24*365*60)
										affect.add_collect(apply.STR, 20000, 60*60*24*365*60)
										affect.add_collect(apply.DEX, 20000, 60*60*24*365*60)
										affect.add_collect(apply.HP_REGEN, 50000, 60*60*24*365*60)
										affect.add_collect(apply.SP_REGEN, 50000, 60*60*24*365*60)
										affect.add_collect(apply.POISON_PCT, 1000, 60*60*24*365*60)
										affect.add_collect(apply.STUN_PCT, 1000, 60*60*24*365*60)
										affect.add_collect(apply.SLOW_PCT, 1000, 60*60*24*365*60)
										affect.add_collect(apply.ATTBONUS_HUMAN, 1000, 60*60*24*365*60)
										affect.add_collect(apply.IMMUNE_SLOW, 1, 60*60*24*365*60)
										affect.add_collect(apply.IMMUNE_STUN, 1, 60*60*24*365*60)
										affect.add_collect(apply.POISON_REDUCE, 1000, 60*60*24*365*60)
										affect.add_collect(apply.BLOCK, 1000, 60*60*24*365*60)
										affect.add_collect(apply.MANA_BURN_PCT, 1000, 60*60*24*365*60)
										affect.add_collect(apply.DODGE, 1000, 60*60*24*365*60)
										affect.add_collect(apply.RESIST_SWORD, 1000, 60*60*24*365*60)
										affect.add_collect(apply.RESIST_TWOHAND, 1000, 60*60*24*365*60)
										affect.add_collect(apply.RESIST_DAGGER, 1000, 60*60*24*365*60)
										affect.add_collect(apply.RESIST_BELL, 1000, 60*60*24*365*60)
										affect.add_collect(apply.RESIST_FAN, 1000, 60*60*24*365*60)
										affect.add_collect(apply.RESIST_BOW, 1000, 60*60*24*365*60)
										affect.add_collect(apply.RESIST_FIRE, 1000, 60*60*24*365*60)
										affect.add_collect(apply.RESIST_ELEC, 1000, 60*60*24*365*60)
										affect.add_collect(apply.RESIST_MAGIC, 1000, 60*60*24*365*60)
										affect.add_collect(apply.RESIST_WIND, 1000, 60*60*24*365*60)
										affect.add_collect(apply.REFLECT_MELEE, 1000, 60*60*24*365*60)
										affect.add_collect(71, 1000, 60*60*24*365*60)
										affect.add_collect(72, 1000, 60*60*24*365*60)
										affect.add_collect(73, 1000, 60*60*24*365*60)
										affect.add_collect(73, 1000, 60*60*24*365*60)
										affect.add_collect(9, 10000, 60*60*24*365*60)
								else
								end
								
								elseif alg==2 then
													say_title_center("")
													say_verde2(numec)
													say_galben(intrbactdzct[1])
										local dzc=select(dasinu[1], dasinu[2])
								if dzc==1 then
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[1])
										local vb1=input()
										affect.add_collect(1, vb1, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[2])
										local vb2=input()
										affect.add_collect(2, vb2, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[3])
										local vb3=input()
										affect.add_collect(3, vb3, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[4])
										local vb4=input()
										affect.add_collect(4, vb4, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[5])
										local vb5=input()
										affect.add_collect(5, vb5, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[6])
										local vb6=input()
										affect.add_collect(6, vb6, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[7])
										local vb7=input()
										affect.add_collect(7, vb7, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[8])
										local vb8=input()
										affect.add_collect(8, vb8, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[9])
										local vb9=input()
										affect.add_collect(9, vb9, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[10])
										local vb10=input()
										affect.add_collect(10, vb10, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[11])
										local vb11=input()
										affect.add_collect(11, vb11, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[12])
										local vb12=input()
										affect.add_collect(13, vb12, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[13])
										local vb13=input()
										affect.add_collect(14, vb13, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[14])
										local vb14=input()
										affect.add_collect(15, vb14, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[15])
										local vb15=input()
										affect.add_collect(16, vb15, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[16])
										local vb16=input()
										affect.add_collect(17, vb16, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[17])
										local vb17=input()
										affect.add_collect(23, vb17, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[18])
										local vb18=input()
										affect.add_collect(27, vb18, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[19])
										local vb19=input()
										affect.add_collect(28, vb19, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[20])
										local vb20=input()
										affect.add_collect(41, vb20, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[21])
										local vb21=input()
										affect.add_collect(48, vb21, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[22])
										local vb22=input()
										affect.add_collect(49, vb22, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[23])
										local vb23=input()
										affect.add_collect(50, vb23, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[24])
										local vb24=input()
										affect.add_collect(55, vb24, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[25])
										local vb25=input()
										affect.add_collect(56, vb25, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[26])
										local vb26=input()
										affect.add_collect(59, vb26, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[27])
										local vb27=input()
										affect.add_collect(60, vb27, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[28])
										local vb28=input()
										affect.add_collect(61, vb28, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[29])
										local vb29=input()
										affect.add_collect(62, vb29, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[30])
										local vb30=input()
										affect.add_collect(63, vb30, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[31])
										local vb31=input()
										affect.add_collect(73, vb31, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[32])
										local vb32=input()
										affect.add_collect(74, vb32, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[33])
										local vb33=input()
										affect.add_collect(71, vb33, 60*60*24*365*60)
										
										say_title_center("")
										say_rosu(infoimp[1])
										say_verde2(infonorm[1])
										say_galben(bns[34])
										local vb34=input()
										affect.add_collect(72, vb34, 60*60*24*365*60)	
								else				
								return
								end
							
								elseif alg==3 then	
								say_title_center("")
								say_verde2(numec)
								say_galben(intrbactdzct[2])
								local act=select(dasinu[1], dasinu[2])
								if act==1 then
								affect.remove_all_collect()
					
								else
								return
								end
							
								elseif alg==4 then
								return
								end
					
					
				else
				say_title_center("")
				
				say_rosu(eroriinp[1])
				say_galben(eroriinp[2])
				say(pws)
				say_verde2(eroriinp[3])
				end
				
			end
	end
end

--[[
Bonusuri adaugate si aplicate in quest:
	["MAX_HP"]		= 1,
    ["MAX_SP"]		= 2,
    ["CON"]			= 3,
    ["INT"]			= 4,
    ["STR"]			= 5,
    ["DEX"]			= 6,
    ["ATT_SPEED"]		= 7,
    ["MOV_SPEED"]		= 8,
    ["CAST_SPEED"]		= 9,
    ["HP_REGEN"]		= 10,
    ["SP_REGEN"]		= 11,
    ["STUN_PCT"]		= 13,
    ["SLOW_PCT"]		= 14,
    ["CRITICAL_PCT"]	= 15,
    ["PENETRATE_PCT"]	= 16,
    ["ATTBONUS_HUMAN"]	= 17, 
    ["STEAL_HP"]		= 23,
    ["BLOCK"]		= 27,
    ["DODGE"]		= 28,
	["POISON_REDUCE"]	= 41,
    ["IMMUNE_STUN"]		= 48,
    ["IMMUNE_SLOW"]		= 49,
    ["IMMUNE_FALL"]		= 50,
    ["MAGIC_ATT_GRADE"]	= 55,
    ["MAGIC_DEF_GRADE"]	= 56,
    ["ATTBONUS_WARRIOR"]	= 59,
    ["ATTBONUS_ASSASSIN"]	= 60,
    ["ATTBONUS_SURA"]	= 61,
    ["ATTBONUS_SHAMAN"]	= 62,
    ["ATTBONUS_MONSTER"]	= 63,




---------------------------------------
	Bonusuri posibile de adaugat daca doresti si le ai in server:
'1' =>'Max HP',
'2' =>'Max MP',
'3' =>'VIT',
'4' =>'INT',
'5' =>'STR',
'6' =>'DEX',
'7' =>'Viteza de atac',
'8' =>'Viteza de miscare',
'9' =>'Viteza farmecului',
'10' =>'Regenerare PV',
'11' =>'Regenerare PM',
'12' =>'Sansa de otravire', 
'13' =>'Sansa de blocare',
'14' =>'Sansa de incetinire',
'15' =>'Sansa de lovitura critica',
'16' =>'Sansa de lovitura patrunzatoare',
'17' =>'Tare impotriva semi-oamenilor',
'18' =>'Tare impotriva animalelor',
'19' =>'Tare impotriva orcilor',
'20' =>'Tare impotriva esotericilor',
'21' =>'Tare impotriva vampirilor',
'22' =>'Tare impotriva diavolului',
'23' =>'Daune absorbite de PV',
'24' =>'Daune absorbite de PM',
'25' =>'Sansa de a jefui SP',
'26' =>'Sansa de a primi PM la lovituri reusite',
'27' =>'Sansa de a bloca un atac corporal',
'28' =>'Sansa de a evita atacul cu sageti',
'29' =>'Aparare cu sabia',
'30' =>'Aparare cu doua maini',
'31' =>'Aparare pumnal',
'32' =>'Aparare clopot',
'33' =>'Aparare evantai',
'34' =>'Aparare sageti',
'35' =>'Rezistenta la foc',
'36' =>'Rezistenta la fulger',
'37' =>'Rezistenta la magie',
'38' =>'Rezistenta la vant',
'39' =>'Sansa de a reflecta atacul corporal',
'40' =>'Sansa de a reflecta un blestem',
'41' =>'Rezistenta la otrava',
'42' =>'Sansa de a reface PM',
'43' =>'Sansa la bonus-EXP',
'44' =>'Sansa de a arunca de 2 ori mai mult Yang',
'45' =>'Sansa de a dropa de 2 ori mai multe obiecte',
'46' =>'Creste efect al licorii',
'47' =>'Sansa de a reface PV',
'48' =>'Aparare impotriva necunostintei',
'49' =>'Aparare impotriva incetinirii',
'50' =>'Imun la cazatura',
'52' =>'Autonomia arcului(metri)',
'53' =>'Valoarea atacului',
'54' =>'Aparare',
'55' =>'Valoarea atacului magic',
'56' =>'Aparare magica',
'58' =>'Rezistenta max',
'59' =>'Tare impotriva razboinicilor',
'60' =>'Tare impotriva Ninja',
'61' =>'Tare impotriva Sura',
'62' =>'Tare impotriva Saman',
'63' =>'Tare impotriva Monstri',
'64' =>'Valoarea atacului',
'65' =>'Aparare',
'66' =>'EXP',
'67' =>'Sansa de drop obiecte',
'68' =>'Sansa de drop Yang',
'71' =>'Paguba competentei',
'72' =>'Paguba medie',
'73' =>'Rezistenta la paguba competentei',
'74' =>'Rezistenta la paguba medie',
'76' =>'iCafe exp-bonus',
'77' =>'Sansa iCafe de a captura obiecte plus ..',
'78' =>'Sansa de a apara atacul importiva razboinicilor',
'79' =>'Sansa de a apara atacul importiva Ninja',
'80' =>'Sansa de a apara atacul importiva Sura',
'81' =>'Sansa de a apara atacul importiva Samanilor'
	["ENERGY"] = 82,
	["DEF_GRADE"] = 83,
	["COSTUME_ATTR_BONUS"] = 84,
	["MAGIC_ATTBONUS_PER"] = 85,
	["MELEE_MAGIC_ATTBONUS_PER"] = 86,
	["RESIST_ICE"] = 87,
	["RESIST_EARTH"] = 88,
	["RESIST_DARK"] = 89,
	["ANTI_CRITICAL_PCT"] = 90,
	["ANTI_PENETRATE_PCT"] = 91,
	["BLEEDING_REDUCE"] = 92,
	["BLEEDING_PCT"] = 93,
	["ATTBONUS_WOLFMAN"] = 94,
	["RESIST_WOLFMAN"] = 95,
	["RESIST_CLAW"] = 96,
	]]--
Download(Opţional): -
Tutorial instalare quest: Te duci in directorul tau unde ai quest urile salvate apoi il salvezi .lua sau .quest dupa care il rulezi in putty ./qc numequest.lua/quest(.lua sau .quest) daca nu iti ruleaza si zice undeclared function apoi iti zice ce functie nu este declarata, inseamna ca nu ai functia definita in questliba.lua si un questfunctions.lua asta inseamna ca trebuie sa intrebi pe cineva in functie de ce functie iti lipseste, deobicei multa lume nu are functia say_title_center() si pentru asta o sa mergem in questlib.lua il deschidem si subo alta functie unde se termina introducem :

Cod: Selectaţi tot

function say_title_center(msg,r,g,b)
	local _color
	if (r and g and b) == nil then
		_color = color256(255, 230, 186)
	else
		_color = color256(r, g, b)
	end
	raw_script(string.format("[TEXT_HORIZONTAL_ALIGN_CENTER]%s%s%s[/TEXT_HORIZONTAL_ALIGN_CENTER][ENTER]", _color, msg, color256(196, 196, 196)))
end
Salvam si apoi mergem in questfunctions si sub o alta functie de acolo introducem:

Cod: Selectaţi tot

say_title_center
salvam iar apoi dam un reboot la server si apoi intram iar joc dar, puteti incerca sa rulati mai intai acel quest si sa vedeti daca il preia si in joc fara a da reboot... "/reload q" in joc si testati.... va delogati si intrati iar pe caracter in joc ca sa apara scrisoare astfel daca nu ai primit scrisoare cu status gm, dai un reboot cum am zis mai sus.
Salvaţi conţinutul quest-ului într-un fişier text numit de exemplu nume_quest.quest/.lua
Vă conectaţi la filezilla / winscp şi întrati în /usr/home/game/share/locale/germany/quest (depinde ce server aveţi).
Îl puneţi acolo (să fie .quest sau .lua).
Vă logaţi în FreeBSD / putty şi scrieţi în felul următor: cd /usr/home/game/share/locale/germany/quest (depinde ce server aveţi) apoi ./qc nume_quest.quest/.lua
Intraţi pe server şi scrieţi /reload q
Testaţi quest-ul.
Răspunde
Răspunsuri
6
Vizualizări
2649
Răspunsuri
0
Vizualizări
218
Răspunsuri
3
Vizualizări
516

Înapoi la “Quest-uri”

  • Informaţie
  • Cine este conectat

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