Jump to content
  • 0

BG type Emperium breaking


biohazard0134

Question


  • Group:  Members
  • Topic Count:  14
  • Topics Per Day:  0.00
  • Content Count:  25
  • Reputation:   0
  • Joined:  10/06/12
  • Last Seen:  

hmm at Bat_a01 = battle field..

Team A is at the Top of the map

Team B is at the Bottom of the map

each base have their respective emperium

first 1 to break the emperium wins the round

there are 3 rounds first team to get 2 points win the event

i like to have walls at there bases so that in a count of 5 the battle begins

so a team nid to reach the enemy's emperium and destroy it

once destroyed..

announce that Team A or Team B's Emperium is destroyed by "+ strcharinfo " if im right..

then all teams will be warped back at their respective bases and the emperium is refreshed..

then start round two.. if Tie..

announce iTs a Tie.. We are going to the last round..

then begin again

the team who gets two points wins and get the prize

can anyone make it?? sorry got bad explanation..

anyone's effort is much appreciated.. thx

Link to comment
Share on other sites

Recommended Posts

  • 0

  • Group:  Members
  • Topic Count:  13
  • Topics Per Day:  0.01
  • Content Count:  28
  • Reputation:   0
  • Joined:  02/14/18
  • Last Seen:  

Hi is there a way to make this Automated ? like every 15minutes ? thankyou 

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

omg have you read my mind or what

I'm currently try to dig more battleground script request and you made this topic xD

but right now I need go to sleep 1st

I can guarantee you I'll get this done at least 90% in 24 hours

the reason I said 90% is because

there are a lot of missing points that you didn't specify

like how the wall looks like ( divide from center or create a rectangle wall around respawn point )

coordinate of player respawn point .. coordinate of emperium ... etc

but doesn't matter since I've made at least 6 battleground script

I can just take one of my past script and put some random data in

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  14
  • Topics Per Day:  0.00
  • Content Count:  25
  • Reputation:   0
  • Joined:  10/06/12
  • Last Seen:  

at bat_a01 ..

there are two circles at the mini map.. right??

2 circles represents team A and Team B's bases..

emperium is at the front of the house or replace the current food depo..

team A's base is just around the emperium.. vise versa

walls are at the bridge..

so it should have

enablewalls

and onbgstart

disable walls

well i wish you can make it..

thx again

^^

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  29
  • Topics Per Day:  0.01
  • Content Count:  566
  • Reputation:   34
  • Joined:  11/17/11
  • Last Seen:  

That's wonderful @AnnieRuru!

How about Battleground Conquest ?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  14
  • Topics Per Day:  0.00
  • Content Count:  25
  • Reputation:   0
  • Joined:  10/06/12
  • Last Seen:  

Request for an NPC script

at Bat_a01 theme " Breaking The Emperium "

waiting rooms:

guild_vs1,43,49,5 script Team A Waiting Room 418,{

end;

with a waitingroom of 5players

guild_vs1,56,49,5 script Team B Waiting Room 419,{

end;

with a waitingroom of 5players

then when 10players are already in..

announce a battle with two clashing teams will begin in 2mins

team A will be warped at Bat_a01 171 346 = Team A

tean B will be warped at Bat_a01 162 50 = Team B

bat_a01 = announce rules are simple the first 1 to break the opponent's emperium will get a score

bat_a01 = announce 3 Rounds

bat_a01 = announce get ready ..

bat_a01 = announce 5

bat_a01 = announce 4

bat_a01 = announce 3

bat_a01 = announce 2

bat_a01 = announce 1

bat_a01 = announce Goodluck

and put walls plsss

at bat_a01 154 51 at bat_a01 164 347

at bat_a01 154 50 at bat_a01 164 346

at bat_a01 154 49 at bat_a01 164 345

at bat_a01 154 48 at bat_a01 164 344

then when it announce Goodluck

it will disable the walls

Like BattleGrounds

the First Team to Break the opponent's emperium will get a score

Team A's Emperium 174 346

Team B's Emperium 166 50

when the team A or Team B's emperium is destroyed

announce strcharinfo has destroyed Team A or B's Emperium

then emperium is refreshed and team A and Team B will be warped into their respective Bat_a01 bases..

team A will be warped at Bat_a01 171 346

Team B will be warped at Bat_a01 162 50

enable walls

and announce round 2

announce Goodluck

disable walls

then again

if a team reach a score of 2 points the team automaticaly wins

then a prize giver of points

But if tie..

Begin round 3

enable walls

and announce Last Round

announce Goodluck

disable walls

then go back to when a team scores of 2 points

then an NPC named Prize Giver will spawn and give points to the winner and for those who loose will get less points

end;

}

this will be a good Script Thx for the Great one who can make it.. i wish you can imagine my explanations..

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  27
  • Topics Per Day:  0.01
  • Content Count:  69
  • Reputation:   2
  • Joined:  10/03/12
  • Last Seen:  

This will be a very interesting script

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  14
  • Topics Per Day:  0.00
  • Content Count:  25
  • Reputation:   0
  • Joined:  10/06/12
  • Last Seen:  

@annieRuRu.... Still Sleeping?? ^^ Bump~~~

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

@Jezu

you mean this ?

http://rathena.org/b...round-conquest/

yes its possible, just need to find the right person and a right time to do it lol

@mightyryan

this request is not even as 1/2 as interesting as this

http://rathena.org/b...rounds-into-ro/

which my goal is to finish that one

the only reason I pick this one up is to refresh what I've done on that script

because right now I've totally forgotten how I made that

@biohazard0134

I'm still writing this ....

I know I'm behind schedule a bit, because today got a lot interesting topic pops up ... (especially just learn about *freeloop)

and this request is not one of my goal ... I just take this as a stepping stone to wow topic I mention earlier

I'm still studying that script and make both of this 2 scripts look similar

so I can pick that one up immediately after I've done with this one

bg_emp.txt

feel lazy to add those announcement and dialog, so the script is unfinished

so we start from here ...

1.

the npc prize giver idea is abit too weird,

this map is large, so where u want the npc be ?

please at least try this in your test server before you next post ( dual client )

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

its almost 1 week and I still did not get any feedback

.... whatever

at least you've tried your best to explain your request in detailed

finished it up

bg_emp0.1.txt

with gm manually to start the event

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  45
  • Topics Per Day:  0.01
  • Content Count:  271
  • Reputation:   7
  • Joined:  01/06/12
  • Last Seen:  

@annieruru can I request for a BG type registration for it, players have to go inside the waitingroom and when they reach 10 players (5 each team) the BG will start automatically, thanks in advance

Edited by Thanna
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

@annieruru can I request for a BG type registration for it, players have to go inside the waitingroom and when they reach 10 players (5 each team) the BG will start automatically, thanks in advance

can you please test it out before you make a post

your request has already done in the script

its like you are posting a spam

EDIT: just in case he edited his post, I quote his post

Edited by AnnieRuru
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  69
  • Topics Per Day:  0.02
  • Content Count:  592
  • Reputation:   31
  • Joined:  11/14/11
  • Last Seen:  

try what annie made before you ask again..

- dont waste what annie made to you :D because she made awesome script :D love you annie

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

bg_emp0.2.txt

- fix when gm abort a match, the timer still continue running

- fix server spam not found OnRedDead or OnBlueDead label

seems like nobody tries this script yet =/

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  69
  • Topics Per Day:  0.02
  • Content Count:  592
  • Reputation:   31
  • Joined:  11/14/11
  • Last Seen:  

I tried this annie.. the version 2 fix the problem .. annie how can we change the hp of the crystals because we damage it 1 damage only

And annie my suggestion gow can we make this an automated event? also hope you will post your script collection that you made in the script collection.. we love your work and we love to see you here in rathena .. in short we love you :)

Also annie my suggestion is there spawn if they die maybe putting them outside the base because if player die they spawn in the crystal location enemy will just kill them instantly

And one more annie can we change the registration thing to make it party vs party because using pub other that just want to ruin the game join or easily can click the pub.. but putting a team rwgistration you must be in the team yo join so that those with bad inttention cant join thanks annie

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  69
  • Topics Per Day:  0.02
  • Content Count:  592
  • Reputation:   31
  • Joined:  11/14/11
  • Last Seen:  

@ annie

- i see a problem in your v2 release

* if all team red logout still the game continue and team blue still need to destroy the emperium.

- is there a checker if all team red logout or all team blue logout the game will restart or aborted and the winner will be the team that still in the event area.

* if the team don't enter the pub or they just register and go AFK.

- is there a checker if time 1min if the team don't enter the pub the game will restart or aborted.

Edited by GM Takumirai
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

* if all team red logout still the game continue and team blue still need to destroy the emperium.

this is correct behavior

I believe all other games battleground system also like this isn't it ?

though, it is still possible for me to do this kind of modification <-- another TO-DO <.<

* if the team don't enter the pub or they just register and go AFK.

- is there a checker if time 1min if the team don't enter the pub the game will restart or aborted.

I don't understand this ...

actually I made AFK script to kick out players that doesn't move for x seconds, which can be defined in that script

yeah I have made several battleground scripts at the time ...

btw just answer your other question

monster hp is set from mob_db table, which is a database side question

if you want to set its hp lower or remove its plant type properties, and don't break official battleground script

you can just use mob_avail to create another monster with your own properties, using the same sprite

respawn area is define in waitingroom2bg script command

look them up at script_commands.txt

although, you also have to becareful because setwall only wall them up inside the emperium area

which, I am just doing what the topic starter said in this topic

custom flag has to ask in graphic section

as we only write scripts in this section, asking for custom npc sprite is belongs to graphic section

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  69
  • Topics Per Day:  0.02
  • Content Count:  592
  • Reputation:   31
  • Joined:  11/14/11
  • Last Seen:  

thanks annie..

- what i mean in the afk annie.. if the GM started the event and no one enter the waiting room is there a checker that if 1min still no one enter the waiting room the bg will be aborted..

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

I thought in my script ... gm can manually abort the event ?

so you are requesting a feature to set another variable to abort by itself after

set .abort, 60000; // 60,000 mili-seconds to auto-abort the waitingroom if not enough people joining

like this ?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  69
  • Topics Per Day:  0.02
  • Content Count:  592
  • Reputation:   31
  • Joined:  11/14/11
  • Last Seen:  

yes annie because example a GM will activate the game. but the GM will go logout because he have an emergency thing to do.. with the feature if the event is activated and no one is joining it will be aborted with the feature..

- thanks

Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10015
  • Reputation:   2348
  • Joined:  10/28/11
  • Last Seen:  

you can try this...edit from annie's script ....

http://pastebin.com/raw.php?i=Yt43Y04Z

( hope she wont scold me about this for spoiling her perfected script ......xD )

edit this

OnTimer10000:

600000 = 10 minutes.

and remove this..xD

announce "Timer Started",0;

i forget to remove it..LOL

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  69
  • Topics Per Day:  0.02
  • Content Count:  592
  • Reputation:   31
  • Joined:  11/14/11
  • Last Seen:  

thanks emistry :D

@emistry

if someone logout or exit during the event how can i put a script that triggers when someone logout or exit and if a team is = 0 the other team will win and aborted the running event..

- thanks

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

emistry, can you please upload to another site

ALL the paste you've pasted with pastebin.com

I see all empty paste like this ... totally blank

post-8685-0-82392100-1351696968_thumb.jpg

or maybe it just me ?

today all the scripts you've made, I can't even review any

Edited by AnnieRuru
Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10015
  • Reputation:   2348
  • Joined:  10/28/11
  • Last Seen:  

@Annie...

i think it's might be your Browser problems...

the browser didnt read the full path of URL ~ >.<

try this..

again try this..xD

Pastebin : http://pastebin.com/u6cCjREp || Raw site : http://pastebin.com/raw.php?i=u6cCjREp

Mirror link ....try this...

http://upaste.me/raw/ee4e1368aa76fbf6

/omg Annie is going to bombard me very soon...... RUUUNNNNNN............!!!!

- script bg_emp#control -1,{

OnInit:

setarray .rewarditem, 673, 5; // reward to the winning team

set .winningscore, 2; // final score to win

set .eventlasting, 1200; // abort the system if there's no progress, 1200 seconds = 20 mins

sleep 1;

disablenpc .rednpcname$;

disablenpc .bluenpcname$;

end;

OnTimer600000:

if ( getwaitingroomstate( 0, .rednpcname$ ) < .minplayer2start || getwaitingroomstate( 0, .bluenpcname$ ) < .minplayer2start ){

kickwaitingroomall .rednpcname$;

kickwaitingroomall .bluenpcname$;

delwaitingroom .rednpcname$;

delwaitingroom .bluenpcname$;

disablenpc .rednpcname$;

disablenpc .bluenpcname$;

announce "Event Aborted.",0;

}

end;

OnStart:

initnpctimer;

if ( getwaitingroomstate( 0, .rednpcname$ ) < .minplayer2start || getwaitingroomstate( 0, .bluenpcname$ ) < .minplayer2start ) end;

stopnpctimer;

set .red, waitingroom2bg( "bat_a01", 171,346, strnpcinfo(0)+"::OnRedQuit", strnpcinfo(0)+"::OnRedDead", .rednpcname$ );

copyarray .team1aid, $@arenamembers, $@arenamembersnum;

set .blue, waitingroom2bg( "bat_a01", 162,50, strnpcinfo(0)+"::OnBlueQuit", strnpcinfo(0)+"::OnBlueDead", .bluenpcname$ );

copyarray .team2aid, $@arenamembers, $@arenamembersnum;

delwaitingroom .rednpcname$;

delwaitingroom .bluenpcname$;

disablenpc .rednpcname$;

disablenpc .bluenpcname$;

bg_warp .red, "bat_a01", 171,346;

bg_warp .blue, "bat_a01", 162,50;

setwall "bat_a01", 154,51, 6, 4, 0, "bg_emp_town_blue";

setwall "bat_a01", 164,347, 6, 4, 0, "bg_emp_town_red";

bg_updatescore "bat_a01", 0, 0;

sleep 6000; if ( .inprogress == 0 ) goto L_Abort;

mapannounce "bat_a01", "Rules are simple. The first one to break the opponent's emperium will get a score.", 0;

sleep 3000; if ( .inprogress == 0 ) goto L_Abort;

mapannounce "bat_a01", "Score "+ .winningscore +" rounds to win ! ... GET READY", 0;

sleep 2000; if ( .inprogress == 0 ) goto L_Abort;

while (1) {

for ( .@i = 5; .@i > 0; .@i-- ) {

mapannounce "bat_a01", .@i +"", 0;

sleep 1000; if ( .inprogress == 0 ) goto L_Abort;

}

if ( .score[1] == .winningscore -1 && .score[2] == .winningscore -1 )

mapannounce "bat_a01", "Final Round start!", 0;

else

mapannounce "bat_a01", "Round "+ .round++ +" start!", 0;

bg_monster .red,"bat_a01",171,346, "--ja--",1915, strnpcinfo(3)+"::OnRedDown";

bg_monster .blue,"bat_a01",162,50, "--ja--",1914, strnpcinfo(3)+"::OnBlueDown";

delwall "bg_emp_town_red";

delwall "bg_emp_town_blue";

sleep .eventlasting * 1000; if ( .inprogress == 0 ) goto L_Abort;

.score[ .winside ]++;

bg_updatescore "bat_a01", .score[1], .score[2];

killmonster "bat_a01", strnpcinfo(3)+"::OnRedDown";

killmonster "bat_a01", strnpcinfo(3)+"::OnBlueDown";

if ( .winside )

mapannounce "bat_a01", .empkiller$ +" has Destroy "+( ( .winside == 1 )?"Blue":"Red" )+"'s side Emperium. "+( ( .winside == 1 )?"Red":"Blue" )+" team score a point !", 0;

if ( .score[1] == .winningscore || .score[2] == .winningscore || !.winside ) break;

sleep 5000; if ( .inprogress == 0 ) goto L_Abort;

bg_warp .red, "bat_a01", 171,346;

bg_warp .blue, "bat_a01", 162,50;

setwall "bat_a01", 154,51, 6, 4, 0, "bg_emp_town_blue";

setwall "bat_a01", 164,347, 6, 4, 0, "bg_emp_town_red";

.winside = 0;

}

if ( .winside ) {

mapannounce "bat_a01", ( ( .winside == 1 )?"Red":"Blue" )+" side wins !", 0;

.@size = getarraysize( getd(".team"+ .winside +"aid") );

for ( .@i = 0; .@i < .@size; .@i++ )

getitem .rewarditem[0], .rewarditem[1], getd(".team"+ .winside +"aid["+ .@i +"]" );

} else

mapannounce "bat_a01", "Time Out. Aborting the match.", 0;

sleep 5000;

L_Abort:

bg_warp .red, "prontera", 155,182;

bg_warp .blue, "prontera", 158,182;

bg_destroy .red;

bg_destroy .blue;

delwall "bg_emp_town_red";

delwall "bg_emp_town_blue";

.round = .winside = .score[0] = .score[1] = .inprogress = 0;

end;

OnRedDown: callsub L_EmpDown, 2;

OnBlueDown: callsub L_EmpDown, 1;

L_EmpDown:

.empkiller$ = strcharinfo(0);

.winside = getarg(0);

awake strnpcinfo(3);

OnRedDead:

OnBlueDead:

end;

OnRedQuit: callsub L_RemoveUser,1;

OnBlueQuit: callsub L_RemoveUser,2;

L_RemoveUser:

for( .@i = 0; .@i < getarraysize( getd(".team"+getarg(0)+"aid") ); .@i++ )

if( getd(".team"+getarg(0)+"aid["+.@i+"]") == getcharid(3) ){

deletearray getd(".team"+getarg(0)+"aid["+.@i+"]"),1;

mapannounce "bat_a01",strcharinfo(0)+" logout",0;

bg_leave;

}

if( !getarraysize( .team1aid ) || !getarraysize( .team2aid ) ){

mapannounce "bat_a01","All Opponent Users Logout...Aborting Event....",0;

sleep 3000;

goto L_Abort;

}

}

prontera,156,186,5 script gm_start 100,{

if ( getgmlevel() < 99 ) {

mes "I only talk to gm";

close;

}

if ( getvariableofnpc( .inprogress, "bg_emp#control" ) ) {

mes "abort ?";

next;

if ( select ( "Yes", "No" ) == 2 ) close;

awake "bg_emp#control";

killmonster "bat_a01", strnpcinfo(3)+"::OnRedDown";

killmonster "bat_a01", strnpcinfo(3)+"::OnBlueDown";

delwaitingroom getvariableofnpc( .rednpcname$, "bg_emp#control" );

delwaitingroom getvariableofnpc( .bluenpcname$, "bg_emp#control" );

disablenpc getvariableofnpc( .rednpcname$, "bg_emp#control" );

disablenpc getvariableofnpc( .bluenpcname$, "bg_emp#control" );

announce strcharinfo(0) +" has abort the battleground", 0;

close;

}

mes "select how many players to start";

next;

input .@a;

if ( .@a == 0 || .@a > 30 ) close;

set getvariableofnpc( .minplayer2start, "bg_emp#control" ), .@a;

announce strcharinfo(0) +" has hosted "+ .@a +"vs"+ .@a +" battleground", 0;

enablenpc getvariableofnpc( .rednpcname$, "bg_emp#control" );

enablenpc getvariableofnpc( .bluenpcname$, "bg_emp#control" );

donpcevent getvariableofnpc( .rednpcname$, "bg_emp#control" ) +"::OnStart";

donpcevent getvariableofnpc( .bluenpcname$, "bg_emp#control" ) +"::OnStart";

set getvariableofnpc( .inprogress, "bg_emp#control" ), 1;

close;

}

prontera,155,182,5 script Red side#bg_emp 100,{

bg_leave;

end;

OnStart:

waitingroom "Red side", getvariableofnpc( .minplayer2start, "bg_emp#control" ) +1, "bg_emp#control::OnStart",1;

end;

OnInit:

set getvariableofnpc( .rednpcname$, "bg_emp#control" ), strnpcinfo(0);

end;

}

prontera,158,182,5 script Blue side#bg_emp 100,{

bg_leave;

end;

OnStart:

waitingroom "Blue side", getvariableofnpc( .minplayer2start, "bg_emp#control" ) +1, "bg_emp#control::OnStart",1;

end;

OnInit:

set getvariableofnpc( .bluenpcname$, "bg_emp#control" ), strnpcinfo(0);

end;

}

bat_a01 mapflag battleground 2

bat_a01 mapflag nosave SavePoint

bat_a01 mapflag nowarp

bat_a01 mapflag nowarpto

bat_a01 mapflag noteleport

bat_a01 mapflag nomemo

bat_a01 mapflag nopenalty

bat_a01 mapflag nobranch

bat_a01 mapflag noicewall

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

lol

actually I'm even more amazed that you can edit until this standard

proved that you almost mastered level2 event script ( 80% experience now... about to level up )

( I still remember before I went inactive last year, you still learning how to make level1 event script )

no wonder that party vs party script I saw that day has your name in the credit

right now if you make 2 or 3 more pvp/gvg scripts I'm sure you can start writing a battleground scripts

still, I think this is your 1st attempt to edit a battleground script

like I said in other topic, battleground and instance script is a level3 event script

because they got their own sets of script commands to effectively cut down the length of the script

using the techniques learn from pvp/gvg scripts without utilizing battleground script commands will make your script looks big

nvm, suddenly I got motivation to update this script

bg_emp0.3.txt

I still doesn't make the respawn area outside of crystal though

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...