Inferno
June 29th, 2009, 05:50 PM
But I got some serious inspiration to do this and it's going to be 100% script based so it won't take that long to do.
Basically a sandbox SP map based on the "cops and robbers" theme. You play a robber who is being let out of jail for someone mysterious unknown crime. You are let out into a city that will have plenty of little "jobs" and what not that will make you money and help you build reputation. And you also will be getting revenge on the cops that put you in jail.
All the missions will be open as soon as you start the game but you will have to find them in they city (talking to other robbers) and a lot of the missions will be too hard at first.
As you progress you will earn money like I said. You can spend this on weapons, vehicles, upgrades to your armour and shields and all kinds of other things.
That's the idea at least.
But I have a few problems.
1. I need a way to either make the cops attack you if you shoot one of them or a civilian OR I need a way to make them attack you if they see the player with a weapon readied. I could probably do the second thing with (objects_can_see_object <object_list> <object> <real>) and then script the q key to make the player "put away" his guns. But I don't know if (objects_can_see_object <object_list> <object> <real>) works on ai encounters/squads.
2. Pathing AI to patrol areas is a issue because... well they are stupid. They don't path find around most objects and end up walking into walls a lot of the time. If anyone knows a good way to have them do this please help me out.
3. Ai driving around the city needs to be done to make it feel like the city is truly living. I know that there is a script to make ai's follow command lists while in vehicles but... well It will be a bitch to script 10 or 20 vehicles driving around and NOT cause any wrecks lol.
4. Car jacking. I want to make it so that the player can jack a car off a civilian. I'm pretty sure a modified boarding script could do the trick.
5. I need a good system to show menus of text. How do I script menus like this one.
http://screenshot.xfire.com/screenshot/natural/dbdead1d765da897421c3c9c7180bf2065e57bb7.png
Also for you people about to ask if I've even done anything yet.
Here is a video of the test map I'm doing. This is just to test the credit system (buying weapons) and to test ai patrols and cop behavior.
http://video.xfire.com/e1cf8-4.jpg (http://www.xfire.com/video/e1cf8/)
edit-
Almost forgot to include the script I've written so far.
(global short "credits" 5)
(global boolean "fugitive" false)
(script continuous "fugitive check"
(if (= fugitive 1)
(begin (ai_allegiance_remove human player) )
(begin (ai_allegiance human player) )
)
)
(script startup "load city"
(ai_place city_section_1_patrols)
)
(script startup "display credits bottom_left"
(hud_set_timer_position -50 0 bottom_right)
)
(script continuous "display credits"
(cinematic_set_title money_sign)
(hud_set_timer_time 0 (+ 1 credits) )
)
(script startup "boris talk"
(sleep 60)
(show_hud_help_text false)
(hud_set_help_text boris_talk)
)
(script continuous "boris shop"
(if ( and ( = (device_get_position buy_pistol) 1 ) ( <= 1 credits) )
(begin (device_set_position_immediate buy_pistol 0) (device_set_power buy_pistol 0)
(set credits (- credits 1) )
(object_create_anew pistol)
(sleep_until ( = (volume_test_object boris_trigger pistol) 0 ) )
) (begin (if ( and ( = (device_get_position buy_pistol) 1 ) ( > 1 credits) ) (begin (device_set_position_immediate buy_pistol
0) ) ) )
)
(if ( and ( = (device_get_position buy_arifle) 1 ) ( <= 2 credits) )
(begin (device_set_position_immediate buy_arifle 0) (device_set_power buy_arifle 0)
(set credits (- credits 2) )
(object_create_anew arifle)
(sleep_until ( = (volume_test_object boris_trigger arifle) 0 ) )
) (begin (if ( and ( = (device_get_position buy_arifle) 1 ) ( > 2 credits) ) (begin (device_set_position_immediate buy_arifle
0) ) ) )
)
(if ( and ( = (device_get_position buy_shotgun) 1 ) ( <= 4 credits) )
(begin (device_set_position_immediate buy_shotgun 0) (device_set_power buy_shotgun 0)
(set credits (- credits 4) )
(object_create_anew shotgun)
(sleep_until ( = (volume_test_object boris_trigger shotgun) 0 ) )
) (begin (if ( and ( = (device_get_position buy_shotgun) 1 ) ( > 4 credits) ) (begin (device_set_position_immediate buy_shotgun
0) ) ) )
)
(if ( and ( = (device_get_position buy_srifle) 1 ) ( <= 6 credits) )
(begin (device_set_position_immediate buy_srifle 0) (device_set_power buy_srifle 0)
(set credits (- credits 6) )
(object_create_anew srifle)
(sleep_until ( = (volume_test_object boris_trigger srifle) 0 ) )
) (begin (if ( and ( = (device_get_position buy_srifle) 1 ) ( > 6 credits) ) (begin (device_set_position_immediate buy_srifle
0) ) ) )
)
)
Basically a sandbox SP map based on the "cops and robbers" theme. You play a robber who is being let out of jail for someone mysterious unknown crime. You are let out into a city that will have plenty of little "jobs" and what not that will make you money and help you build reputation. And you also will be getting revenge on the cops that put you in jail.
All the missions will be open as soon as you start the game but you will have to find them in they city (talking to other robbers) and a lot of the missions will be too hard at first.
As you progress you will earn money like I said. You can spend this on weapons, vehicles, upgrades to your armour and shields and all kinds of other things.
That's the idea at least.
But I have a few problems.
1. I need a way to either make the cops attack you if you shoot one of them or a civilian OR I need a way to make them attack you if they see the player with a weapon readied. I could probably do the second thing with (objects_can_see_object <object_list> <object> <real>) and then script the q key to make the player "put away" his guns. But I don't know if (objects_can_see_object <object_list> <object> <real>) works on ai encounters/squads.
2. Pathing AI to patrol areas is a issue because... well they are stupid. They don't path find around most objects and end up walking into walls a lot of the time. If anyone knows a good way to have them do this please help me out.
3. Ai driving around the city needs to be done to make it feel like the city is truly living. I know that there is a script to make ai's follow command lists while in vehicles but... well It will be a bitch to script 10 or 20 vehicles driving around and NOT cause any wrecks lol.
4. Car jacking. I want to make it so that the player can jack a car off a civilian. I'm pretty sure a modified boarding script could do the trick.
5. I need a good system to show menus of text. How do I script menus like this one.
http://screenshot.xfire.com/screenshot/natural/dbdead1d765da897421c3c9c7180bf2065e57bb7.png
Also for you people about to ask if I've even done anything yet.
Here is a video of the test map I'm doing. This is just to test the credit system (buying weapons) and to test ai patrols and cop behavior.
http://video.xfire.com/e1cf8-4.jpg (http://www.xfire.com/video/e1cf8/)
edit-
Almost forgot to include the script I've written so far.
(global short "credits" 5)
(global boolean "fugitive" false)
(script continuous "fugitive check"
(if (= fugitive 1)
(begin (ai_allegiance_remove human player) )
(begin (ai_allegiance human player) )
)
)
(script startup "load city"
(ai_place city_section_1_patrols)
)
(script startup "display credits bottom_left"
(hud_set_timer_position -50 0 bottom_right)
)
(script continuous "display credits"
(cinematic_set_title money_sign)
(hud_set_timer_time 0 (+ 1 credits) )
)
(script startup "boris talk"
(sleep 60)
(show_hud_help_text false)
(hud_set_help_text boris_talk)
)
(script continuous "boris shop"
(if ( and ( = (device_get_position buy_pistol) 1 ) ( <= 1 credits) )
(begin (device_set_position_immediate buy_pistol 0) (device_set_power buy_pistol 0)
(set credits (- credits 1) )
(object_create_anew pistol)
(sleep_until ( = (volume_test_object boris_trigger pistol) 0 ) )
) (begin (if ( and ( = (device_get_position buy_pistol) 1 ) ( > 1 credits) ) (begin (device_set_position_immediate buy_pistol
0) ) ) )
)
(if ( and ( = (device_get_position buy_arifle) 1 ) ( <= 2 credits) )
(begin (device_set_position_immediate buy_arifle 0) (device_set_power buy_arifle 0)
(set credits (- credits 2) )
(object_create_anew arifle)
(sleep_until ( = (volume_test_object boris_trigger arifle) 0 ) )
) (begin (if ( and ( = (device_get_position buy_arifle) 1 ) ( > 2 credits) ) (begin (device_set_position_immediate buy_arifle
0) ) ) )
)
(if ( and ( = (device_get_position buy_shotgun) 1 ) ( <= 4 credits) )
(begin (device_set_position_immediate buy_shotgun 0) (device_set_power buy_shotgun 0)
(set credits (- credits 4) )
(object_create_anew shotgun)
(sleep_until ( = (volume_test_object boris_trigger shotgun) 0 ) )
) (begin (if ( and ( = (device_get_position buy_shotgun) 1 ) ( > 4 credits) ) (begin (device_set_position_immediate buy_shotgun
0) ) ) )
)
(if ( and ( = (device_get_position buy_srifle) 1 ) ( <= 6 credits) )
(begin (device_set_position_immediate buy_srifle 0) (device_set_power buy_srifle 0)
(set credits (- credits 6) )
(object_create_anew srifle)
(sleep_until ( = (volume_test_object boris_trigger srifle) 0 ) )
) (begin (if ( and ( = (device_get_position buy_srifle) 1 ) ( > 6 credits) ) (begin (device_set_position_immediate buy_srifle
0) ) ) )
)
)