// BMAPS
bmap pcxArrow = <arrow.pcx>;
bmap bmpMAN = <man.bmp>;
bmap bmpWOMAN = <woman.bmp>;
bmap pcxTitle = <title.pcx>;
bmap pcxSelect = <select.pcx>;
// Defines
define FALSE, 0;
define TRUE, 1;
define PROF_MAN, 1;
define PROF_WOMAN, 2;
define PLAYER_NUMBER, skill1;
define SCORE, skill2;
define PROFESSION, skill3;
define SPEED, skill4;
define HEALTH, skill5;
define MAX_HEALTH, skill6;
define ARMOR_CLASS, skill7;
// Fonts
font arial_schrift="Arial",0,12;
// Strings
string serverstring = "Dies ist keine Serverversion, sodern ein Client!\n Nur virtualmarctek und welche die von virtualmarctek eine Erlaubnis haben, \n dürfen einen Server erstellen.";
string world_str = <level.wmb>;
string MAN = <man.mdl>;
string WOMAN = <woman.mdl>;
string str_people_connected;
string str_temp;
// Vars
var fps_max = 60;
var fps_lock = ON;
var video_mode = 7;
var video_screen = 2;
var mouse_mode = 2;
var people_connected = 0;
var number_of_players = 0;
var server_says_start = FALSE;
var profession_ID;
var temp_loc[3];
var vecFrom[3];
var vecTo[3];
var profession_not_Set = TRUE;
// Texts
text server_text
{
font=arial_schrift;
pos_x=20;
pos_y=200;
string=serverstring;
}
text txt_people_connected
{
pos_x = 0;
pos_y = 65;
layer = 15;
font arial_schrift;
string str_people_connected;
}
// Panels
panel pnlMan
{
bmap bmpMAN;
layer = 21;
pos_x = 0;
pos_y = 0;
on_click = set_prof_man;
flags = overlay,transparent,refresh;
}
panel pnlWoman
{
bmap bmpWOMAN;
layer = 21;
pos_x = 0;
pos_y = 0;
on_click = set_prof_woman;
flags = overlay,transparent,refresh;
}
panel pnlTitle
{
bmap = pcxTitle;
layer = 18;
pos_x = 0;
pos_y = 0;
flags = overlay,transparent,refresh;
}
panel pnlSelect
{
bmap = pcxSelect;
layer = 18;
pos_x = 0;
pos_y = 0;
flags = overlay,transparent,refresh;
}
// Display Info
function display_info()
{
while(1)
{
str_cpy(str_people_connected, "People Connected: ");
str_for_num(str_temp, people_connected);
str_cat(str_people_connected, str_temp);
wait(1);
}
}
//Move MAN
action move_man
{
my.profession = PROF_MAN;
move_player();
}
//Move WOMAN
action move_woman
{
my.profession = PROF_WOMAN;
move_player();
}
// Move Player
function move_player()
{
my.pan = random(360);
while(1)
{
wait(1);
}
}
// Create Player
function create_player()
{
var position_found = FALSE;
while(position_found == FALSE)
{
vecFrom.x = -400 + random(800);
vecFrom.y = -400 + random(800);
vecFrom.z = 200;
vec_set(vecTo,vecFrom);
vecTo.z = -200;
trace_mode = IGNORE_SPRITES+IGNORE_PASSENTS+IGNORE_PASSABLE+IGNORE_MODELS+USE_BOX+SCAN_TEXTURE;
TRACE(vecFrom,vecTo);
if((str_stri(tex_name,"earthtile") != FALSE)||(str_stri(tex_name,"crator") != FALSE))
{
vec_set(temp_loc,vecTo);
temp_loc.z = target.z + 35;
if (profession_ID == PROF_MAN)
{
player = ent_create(man,temp_loc,move_man);
}
if (profession_ID == PROF_WOMAN)
{
player = ent_create(man,temp_loc,move_woman);
}
position_found = TRUE;
}
}
}
// Set Prof Man
function set_prof_man()
{
profession_ID = PROF_MAN;
profession_not_Set = FALSE;
}
// Set Prof Woman
function set_prof_woman()
{
profession_ID = PROF_WOMAN;
profession_not_set = FALSE;
}
// init display
function init_display()
{
pnlTitle.pos_y = screen_size.y/2 + 100;
pnlTitle.pos_x = screen_size.x/2 -150;
pnlTitle.alpha = 75;
pnlSelect.pos_y = screen_size.y/2 -100;
pnlSelect.pos_x = screen_size.x/2 -150;
pnlSelect.alpha = 75;
pnlMan.pos_y = screen_size.y/2;
pnlMan.pos_x = screen_size.x/2 - 300;
pnlMan.alpha = 75;
pnlWoman.pos_y = screen_size.y/2;
pnlWoman.pos_x = screen_size.x/2 +150;
pnlWoman.alpha = 75;
txt_people_connected.pos_x = screen_size.x - 350;
}
// Main
function main()
{
//rondomize();
if (connection == 2)
{
while(server_says_start == FALSE)
{
wait(1);
}
}
if (connection != 1)
{
init_display();
display_info();
mouse_mode = 2;
mouse_on();
pnlMan.visible = ON;
pnlWoman.visible = ON;
pnlTitle.visible = ON;
pnlSelect.visible = ON;
if(connection)
{
txt_people_connected.visible = ON;
}
while(profession_not_set)
{
wait(1);
}
mouse_off();
pnlMan.visible = OFF;
pnlWoman.visible = OFF;
pnlTitle.visible = OFF;
pnlSelect.visible = OFF;
create_player();
}
ifdef client;
while(connection==0)
{
wait(1);
}
endif;
ifdef server;
server_text.visible=on;
diag("Dies ist keine Serverversion, sodern ein Client!\n Nur virtualmarctek und welche die von virtualmarctek eine Erlaubnis haben, \n dürfen einen Server erstellen.");
endif;
level_load(world_str);
}
// Mouse ON
function mouse_on()
{
MOUSE_MAP = pcxArrow;
while(MOUSE_MODE > 0)
{
MOUSE_POS.X = POINTER.X;
MOUSE_POS.Y = POINTER.Y;
wait(1);
}
}
// Mouse OFF
function mouse_off()
{
MOUSE_MODE = 0;
}