Jump to content
  • 0

How to add anti abuse on this script


Checkmate

Question


  • Group:  Members
  • Topic Count:  96
  • Topics Per Day:  0.02
  • Content Count:  554
  • Reputation:   14
  • Joined:  09/24/12
  • Last Seen:  

Greetings all..
Like the title said,how to adding the anti abuse script on it.

Requesting type of anti abuse & the penalty of it
 

A Player VS B Player

A kill B more than 10 times without any other player detected in same pvp map,will be tagged as abuse the pvp and will be punish.

The punishment will be more like to be restricted to enter pvp until it pays the penalty 2,000,000,000(max money) and give the item like ID 7086.



The Script
 

// UVP 2
prontera.gat,x,x,x	script	Ultimate PvP Warper	419,{
	if (.pvp_square$=="") donpcevent "Ultimate PVP warper::OnClock0000";
 
	mes "[PvP Warper]";
	mes "Which arena do you want to go to?";
	switch(select("PVP Square ["+getmapusers(.pvp_square$)+"/100]:PVP StandAlone ["+getmapusers("guild_vs3")+"/100]:PVP LowLevel ["+getmapusers("guild_vs1")+"/100]:PVP NoPotion ["+getmapusers("pvp_y_8-3")+"/100]:PVP Secure ["+getmapusers("pvp_y_8-2")+"/100]:[Novice PvP Room] ["+getmapusers("pvp_n_1-2")+"/10]")) {
	case 1:	// PVP Square
		if (getmapusers(.pvp_square$) > 99) callsub S_full;
		callsub S_payment;
		warp .pvp_square$,0,0;
		end;
 
	case 2:	// PVP StandAlone
		if (getmapusers("guild_vs3") > 99) callsub S_full;
		callsub S_payment;
		warp "guild_vs3",0,0;
		end;
 
	case 3:	// PVP LowLevel
		if (getmapusers("guild_vs1") > 99) callsub S_full;
		if (BaseLevel > 50) { // Edit 50 to any maximum Lvl of a player can enter this room
			mes "only Base Level 1 - 50 may enter.";
			close;
		}
		callsub S_payment;
		warp "guild_vs1",0,0;
		end;
 
	case 4:	// PVP NoPotion
		if (getmapusers("pvp_y_8-3") > 99) callsub S_full;
		for( set .@i,0; .@i<getarraysize(.NoPotion_ids); set .@i,.@i+1 ) {
			if (countitem(.NoPotion_ids[.@i])) {
				mes "You can not bring potions in this pvp.";
				close;
			}
		}
		callsub S_payment;
		warp "pvp_y_8-3",0,0;
		end;
 
	case 5:	// PVP Secure
		if (getmapusers("pvp_y_8-2") > 99) callsub S_full;
		for( set .@i,0; .@i<getarraysize(.NoDonator_ids); set .@i,.@i+1 ) {
			if (countitem(.NoDonator_ids[.@i])) {
				mes "You cannot bring WoE/Vellum item into this pvp.";
				mes "Please keep it in storage.Thank You.";
				close;
			}
		}
		callsub S_payment;
		warp "pvp_y_8-2",0,0;
		end;

	Case 6: // Novice PvP Room
		if (getmapusers("pvp_n_1-2") > 10) callsub S_full2;
		if ( Class != Job_Novice ) goto L_NotBaby;
		warp "pvp_n_1-2",0,0;
		end;

	Case 7: // Baby PvP Room
		if (getmapusers("pvp_y_1-2") > 99) callsub S_full;
		if (class < 4023 || class > 4045) goto L_NotBaby;
		callsub S_payment;
		warp "pvp_y_1-2",0,0;
		end;
L_NotBaby:
		mes "Only Baby or Novice can enter this PvP room";
		close;

	}
S_full2:
	mes " ";
	mes "I'm sorry, this arena are very limited.  Please try again later...";
	close;
S_full:
	mes " ";
	mes "I'm sorry, this arena is full.  Please try again later...";
	close;
S_payment:
	if (Zeny < (150*BaseLevel + 800)) {
		mes "You don't have enough zeny.";
		mes "It costs "+(150*BaseLevel + 800)+" zeny for you to enter.";
		close;
	}
	set Zeny, Zeny - (150*BaseLevel + 800);
	return;
 
OnInit:
	OnTimer5000:
	delwaitingroom;
	switch(rand(1,6)) {
Case 1:
	waitingroom getmapusers(.pvp_square$)+" player"+( getmapusers(.pvp_square$) > 1 ? "s":"") +" are in the PvP Square", 0;
	goto Timer;
	end;
	break;
Case 2:
	waitingroom getmapusers("guild_vs3")+" player"+( getmapusers("guild_vs3") > 1 ? "s":"") +" are in the PvP StandAlone", 0;
	goto Timer;
	end;
	break;
Case 3:
	waitingroom getmapusers("guild_vs1")+" player"+( getmapusers("guild_vs1") > 1 ? "s":"") +" are in the PvP Lowlvl", 0;	
	goto Timer;
	end;
	break;
Case 4:
	waitingroom getmapusers("pvp_y_8-3")+" player"+( getmapusers("pvp_y_8-3") > 1 ? "s":"") +" are in the PvP NoPotion", 0;
	goto Timer;
	end;
	break;
Case 5:	
	waitingroom getmapusers("pvp_y_8-2")+" player"+( getmapusers("pvp_y_8-2") > 1 ? "s":"") +" are in the PvP StandAlone", 0;	
	goto Timer;
	end;
	break;
Case 6:
	waitingroom getmapusers("pvp_y_1-2")+" player"+( getmapusers("pvp_y_1-2") > 1 ? "s":"") +" are in the PvP Square", 0;	
	goto Timer;
	end;
	break;
Timer:
	initnpctimer;
}
OnClock0000:
	// set the "PVP Square" map, based on day of the weeek
	switch(gettime(4)) {
	case 0:	// Sunday
	case 1:	// Monday
		set .pvp_square$, "guild_vs2";
		break;
	case 2:	// Tuesday
	case 3:	// Wednesday
		set .pvp_square$, "guild_vs5";
		break;
	case 4:	// Thursday
	case 5:	// Friday
		set .pvp_square$, "guild_vs4";
		break;
	case 6:	// Saturday
		set .pvp_square$, "guild_vs1-2";
		break;
	}
 
	// items not allowed in PVP NoPotion
	setarray .NoPotion_ids[0], 607, 608, 7750, 531, 532, 534, 523, 549, 555, 565;
 
	// items not allowed in Secure PVP
	setarray .NoDonator_ids[0], 2410, 1530, 2483, 2484, 2485, 2486, 2487, 15046, 15048, 15047, 15048, 18113, 2016, 1586, 1395, 1832, 21001, 18114, 13072, 16021, 1492, 1587, 1396, 1293, 21002, 1294, 1436, 16020, 12675, 1775, 1776, 5834, 5840, 5830, 12678, 12677, 2587,  5831, 5839, 5836, 5838, 5833, 5837, 5835, 5832;
	end;
}
 
moscovia.gat,226,198,4	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#1	871
alberta.gat,110,140,3	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#3	871 // Kliwa
aldebaran.gat,147,115,1	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#4	871 // Kliwa
amatsu.gat,207,86,3	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#5	871 // Kliwa
ayothaya.gat,203,175,2	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#6	871 // Kliwa
comodo.gat,206,80,4	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#7	871 // Kliwa
einbech.gat,67,34,3	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#8	871 // Taas Kaliwa
einbroch.gat,57,201,5	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#9	871 // Taas Kaliwa
geffen.gat,125,71,4	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#10	871
gonryun.gat,162,120,4	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#11	871
hugel.gat,89,151,5	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#12	871
izlude.gat,134,90,4	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#13	871
lighthalzen.gat,166,101,4	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#14	871
louyang.gat,214,120,5	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#15	871
xmas.gat,154,136,4	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#16	871
morocc.gat,160,97,4	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#17	871
payon.gat,148,226,4	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#18	871
rachel.gat,135,114,4	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#19 	871
veins.gat,219,127,4	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#20	871
yuno.gat,163,170,4	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#21	871
umbala.gat,106,159,3	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#22	871
poring_c02,139,81,4	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#23	871

//==================Ultimate PVP Room Settings=========================
//This should always be enable for a better Ultimate PVP Room Settings.
//=====================================================================
// Mapflags
guild_vs2	mapflag	pvp	99
guild_vs2	mapflag	nocommand	99
guild_vs2	mapflag	nobranch	99
guild_vs2	mapflag	nosave	99


guild_vs5	mapflag	pvp	99
guild_vs5	mapflag	nocommand	99
guild_vs5	mapflag	nobranch	99
guild_vs5	mapflag	nosave	99


guild_vs4	mapflag	pvp	99
guild_vs4	mapflag	nocommand	99
guild_vs4	mapflag	nobranch	99
guild_vs4	mapflag	nosave	99


guild_vs1-2	mapflag	pvp	99
guild_vs1-2	mapflag	nobranch	99
guild_vs1-2	mapflag	nosave	99
guild_vs1-2	mapflag	nocommand	99


guild_vs3	mapflag	pvp	99
guild_vs3	mapflag	nocommand	99
guild_vs3	mapflag	nobranch	99
guild_vs3	mapflag	nosave	99
guild_vs3	mapflag	pvp_noguild	99
guild_vs3	mapflag	pvp_noparty	99


guild_vs1	mapflag	pvp	99
guild_vs1	mapflag	nocommand	99
guild_vs1	mapflag	nobranch	99
guild_vs1	mapflag	nosave	99


pvp_y_8-3	mapflag	pvp	99
pvp_y_8-3	mapflag	nocommand	99
pvp_y_8-3	mapflag	nobranch	99
pvp_y_8-3	mapflag	nosave	99


pvp_y_8-2	mapflag	nocommand	99
pvp_y_8-2	mapflag	nobranch	99
pvp_y_8-2	mapflag	nosave	99
pvp_y_8-2	mapflag	pvp	99
pvp_y_8-2	mapflag	restricted	2


pvp_n_1-2	mapflag	nocommand	99
pvp_n_1-2	mapflag	nobranch	99
pvp_n_1-2	mapflag	nosave	99
pvp_n_1-2	mapflag	pvp	99


Thx you for helping me out.

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

  • Group:  Members
  • Topic Count:  78
  • Topics Per Day:  0.03
  • Content Count:  430
  • Reputation:   163
  • Joined:  12/12/17
  • Last Seen:  

8 minutes ago, CheckMate said:

Greetings all..
Like the title said,how to adding the anti abuse script on it.

Requesting type of anti abuse & the penalty of it
 


A Player VS B Player

A kill B more than 10 times without any other player detected in same pvp map,will be tagged as abuse the pvp and will be punish.

The punishment will be more like to be restricted to enter pvp until it pays the penalty 2,000,000,000(max money) and give the item like ID 7086.



The Script
 


// UVP 2
prontera.gat,x,x,x	script	Ultimate PvP Warper	419,{
	if (.pvp_square$=="") donpcevent "Ultimate PVP warper::OnClock0000";
 
	mes "[PvP Warper]";
	mes "Which arena do you want to go to?";
	switch(select("PVP Square ["+getmapusers(.pvp_square$)+"/100]:PVP StandAlone ["+getmapusers("guild_vs3")+"/100]:PVP LowLevel ["+getmapusers("guild_vs1")+"/100]:PVP NoPotion ["+getmapusers("pvp_y_8-3")+"/100]:PVP Secure ["+getmapusers("pvp_y_8-2")+"/100]:[Novice PvP Room] ["+getmapusers("pvp_n_1-2")+"/10]")) {
	case 1:	// PVP Square
		if (getmapusers(.pvp_square$) > 99) callsub S_full;
		callsub S_payment;
		warp .pvp_square$,0,0;
		end;
 
	case 2:	// PVP StandAlone
		if (getmapusers("guild_vs3") > 99) callsub S_full;
		callsub S_payment;
		warp "guild_vs3",0,0;
		end;
 
	case 3:	// PVP LowLevel
		if (getmapusers("guild_vs1") > 99) callsub S_full;
		if (BaseLevel > 50) { // Edit 50 to any maximum Lvl of a player can enter this room
			mes "only Base Level 1 - 50 may enter.";
			close;
		}
		callsub S_payment;
		warp "guild_vs1",0,0;
		end;
 
	case 4:	// PVP NoPotion
		if (getmapusers("pvp_y_8-3") > 99) callsub S_full;
		for( set .@i,0; .@i<getarraysize(.NoPotion_ids); set .@i,.@i+1 ) {
			if (countitem(.NoPotion_ids[.@i])) {
				mes "You can not bring potions in this pvp.";
				close;
			}
		}
		callsub S_payment;
		warp "pvp_y_8-3",0,0;
		end;
 
	case 5:	// PVP Secure
		if (getmapusers("pvp_y_8-2") > 99) callsub S_full;
		for( set .@i,0; .@i<getarraysize(.NoDonator_ids); set .@i,.@i+1 ) {
			if (countitem(.NoDonator_ids[.@i])) {
				mes "You cannot bring WoE/Vellum item into this pvp.";
				mes "Please keep it in storage.Thank You.";
				close;
			}
		}
		callsub S_payment;
		warp "pvp_y_8-2",0,0;
		end;

	Case 6: // Novice PvP Room
		if (getmapusers("pvp_n_1-2") > 10) callsub S_full2;
		if ( Class != Job_Novice ) goto L_NotBaby;
		warp "pvp_n_1-2",0,0;
		end;

	Case 7: // Baby PvP Room
		if (getmapusers("pvp_y_1-2") > 99) callsub S_full;
		if (class < 4023 || class > 4045) goto L_NotBaby;
		callsub S_payment;
		warp "pvp_y_1-2",0,0;
		end;
L_NotBaby:
		mes "Only Baby or Novice can enter this PvP room";
		close;

	}
S_full2:
	mes " ";
	mes "I'm sorry, this arena are very limited.  Please try again later...";
	close;
S_full:
	mes " ";
	mes "I'm sorry, this arena is full.  Please try again later...";
	close;
S_payment:
	if (Zeny < (150*BaseLevel + 800)) {
		mes "You don't have enough zeny.";
		mes "It costs "+(150*BaseLevel + 800)+" zeny for you to enter.";
		close;
	}
	set Zeny, Zeny - (150*BaseLevel + 800);
	return;
 
OnInit:
	OnTimer5000:
	delwaitingroom;
	switch(rand(1,6)) {
Case 1:
	waitingroom getmapusers(.pvp_square$)+" player"+( getmapusers(.pvp_square$) > 1 ? "s":"") +" are in the PvP Square", 0;
	goto Timer;
	end;
	break;
Case 2:
	waitingroom getmapusers("guild_vs3")+" player"+( getmapusers("guild_vs3") > 1 ? "s":"") +" are in the PvP StandAlone", 0;
	goto Timer;
	end;
	break;
Case 3:
	waitingroom getmapusers("guild_vs1")+" player"+( getmapusers("guild_vs1") > 1 ? "s":"") +" are in the PvP Lowlvl", 0;	
	goto Timer;
	end;
	break;
Case 4:
	waitingroom getmapusers("pvp_y_8-3")+" player"+( getmapusers("pvp_y_8-3") > 1 ? "s":"") +" are in the PvP NoPotion", 0;
	goto Timer;
	end;
	break;
Case 5:	
	waitingroom getmapusers("pvp_y_8-2")+" player"+( getmapusers("pvp_y_8-2") > 1 ? "s":"") +" are in the PvP StandAlone", 0;	
	goto Timer;
	end;
	break;
Case 6:
	waitingroom getmapusers("pvp_y_1-2")+" player"+( getmapusers("pvp_y_1-2") > 1 ? "s":"") +" are in the PvP Square", 0;	
	goto Timer;
	end;
	break;
Timer:
	initnpctimer;
}
OnClock0000:
	// set the "PVP Square" map, based on day of the weeek
	switch(gettime(4)) {
	case 0:	// Sunday
	case 1:	// Monday
		set .pvp_square$, "guild_vs2";
		break;
	case 2:	// Tuesday
	case 3:	// Wednesday
		set .pvp_square$, "guild_vs5";
		break;
	case 4:	// Thursday
	case 5:	// Friday
		set .pvp_square$, "guild_vs4";
		break;
	case 6:	// Saturday
		set .pvp_square$, "guild_vs1-2";
		break;
	}
 
	// items not allowed in PVP NoPotion
	setarray .NoPotion_ids[0], 607, 608, 7750, 531, 532, 534, 523, 549, 555, 565;
 
	// items not allowed in Secure PVP
	setarray .NoDonator_ids[0], 2410, 1530, 2483, 2484, 2485, 2486, 2487, 15046, 15048, 15047, 15048, 18113, 2016, 1586, 1395, 1832, 21001, 18114, 13072, 16021, 1492, 1587, 1396, 1293, 21002, 1294, 1436, 16020, 12675, 1775, 1776, 5834, 5840, 5830, 12678, 12677, 2587,  5831, 5839, 5836, 5838, 5833, 5837, 5835, 5832;
	end;
}
 
moscovia.gat,226,198,4	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#1	871
alberta.gat,110,140,3	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#3	871 // Kliwa
aldebaran.gat,147,115,1	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#4	871 // Kliwa
amatsu.gat,207,86,3	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#5	871 // Kliwa
ayothaya.gat,203,175,2	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#6	871 // Kliwa
comodo.gat,206,80,4	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#7	871 // Kliwa
einbech.gat,67,34,3	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#8	871 // Taas Kaliwa
einbroch.gat,57,201,5	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#9	871 // Taas Kaliwa
geffen.gat,125,71,4	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#10	871
gonryun.gat,162,120,4	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#11	871
hugel.gat,89,151,5	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#12	871
izlude.gat,134,90,4	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#13	871
lighthalzen.gat,166,101,4	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#14	871
louyang.gat,214,120,5	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#15	871
xmas.gat,154,136,4	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#16	871
morocc.gat,160,97,4	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#17	871
payon.gat,148,226,4	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#18	871
rachel.gat,135,114,4	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#19 	871
veins.gat,219,127,4	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#20	871
yuno.gat,163,170,4	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#21	871
umbala.gat,106,159,3	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#22	871
poring_c02,139,81,4	duplicate(Ultimate PvP Warper)	Ultimate PvP Warper#23	871

//==================Ultimate PVP Room Settings=========================
//This should always be enable for a better Ultimate PVP Room Settings.
//=====================================================================
// Mapflags
guild_vs2	mapflag	pvp	99
guild_vs2	mapflag	nocommand	99
guild_vs2	mapflag	nobranch	99
guild_vs2	mapflag	nosave	99


guild_vs5	mapflag	pvp	99
guild_vs5	mapflag	nocommand	99
guild_vs5	mapflag	nobranch	99
guild_vs5	mapflag	nosave	99


guild_vs4	mapflag	pvp	99
guild_vs4	mapflag	nocommand	99
guild_vs4	mapflag	nobranch	99
guild_vs4	mapflag	nosave	99


guild_vs1-2	mapflag	pvp	99
guild_vs1-2	mapflag	nobranch	99
guild_vs1-2	mapflag	nosave	99
guild_vs1-2	mapflag	nocommand	99


guild_vs3	mapflag	pvp	99
guild_vs3	mapflag	nocommand	99
guild_vs3	mapflag	nobranch	99
guild_vs3	mapflag	nosave	99
guild_vs3	mapflag	pvp_noguild	99
guild_vs3	mapflag	pvp_noparty	99


guild_vs1	mapflag	pvp	99
guild_vs1	mapflag	nocommand	99
guild_vs1	mapflag	nobranch	99
guild_vs1	mapflag	nosave	99


pvp_y_8-3	mapflag	pvp	99
pvp_y_8-3	mapflag	nocommand	99
pvp_y_8-3	mapflag	nobranch	99
pvp_y_8-3	mapflag	nosave	99


pvp_y_8-2	mapflag	nocommand	99
pvp_y_8-2	mapflag	nobranch	99
pvp_y_8-2	mapflag	nosave	99
pvp_y_8-2	mapflag	pvp	99
pvp_y_8-2	mapflag	restricted	2


pvp_n_1-2	mapflag	nocommand	99
pvp_n_1-2	mapflag	nobranch	99
pvp_n_1-2	mapflag	nosave	99
pvp_n_1-2	mapflag	pvp	99


Thx you for helping me out.

You can check @Hurtsky's reply on my previous post: 

Works fine but you need to do this part and basically most part by yourself:

14 minutes ago, CheckMate said:

The punishment will be more like to be restricted to enter pvp until it pays the penalty 2,000,000,000(max money) and give the item like ID 7086.

 

I'm also working on with my own pvp ranker. I will release a free version soon. If you can wait for a few days

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  96
  • Topics Per Day:  0.02
  • Content Count:  554
  • Reputation:   14
  • Joined:  09/24/12
  • Last Seen:  

56 minutes ago, pajodex said:

You can check @Hurtsky's reply on my previous post: 

Works fine but you need to do this part and basically most part by yourself:

 

I'm also working on with my own pvp ranker. I will release a free version soon. If you can wait for a few days



Its was great sir,but how to add this penalty : 
 

A kill B more than 10 times without any other player detected in same pvp map,will be tagged as abuse the pvp and will be punish.

The punishment will be more like to be restricted to enter pvp until it pays the penalty 2,000,000,000(max money) and give the item like ID 7086.


About this i will wait and cannot wait to use it.. ^_^

Quote

I'm also working on with my own pvp ranker. I will release a free version soon. If you can wait for a few days

 


 

Edited by CheckMate
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...