
RA
Members-
Posts
55 -
Joined
-
Last visited
Everything posted by RA
-
Sure peds will make it into the game, just not on the initial release. Based on what I've seen from the scripting engine, it looks like it might even be possible via a mod. However, even if that isn't the case, I'm assuming that if the devs have time they will implement it later. Note to everyone who keeps claiming that bandwidth is the reason behind this: it isn't. You can easily solve the bandwidth problem by limiting the number of bots+players to a certain number. That way, as more players join, more bots leave, and vice versa. Once you have the bots in the game, syncing 15 bots is no harder than syncing 15 players.
-
In the last few weeks, the comment numbers on the front page have been appearing in reverse order from what they should be. For example, if user A makes a comment, their comment is labeled "Reply #1". However, if user B makes an additional comment, user A's comment is now labeled "Reply #2". This is even more apparent when there is more than one page of comments. For example, if there have been 15 comments made, the comment header of the first page says "Showing comments 1 to 10 of 15" despite the fact that the comment numbers displayed are 15, 14, 13, 12, 11, 10, 9, 8, 7, 6. Why is this? If I recall correctly, this is not how it was initially.
-
The last update on the front page about the status of MTA was on Dec 31. That is over a month ago. Do you seriously believe that there has not been any change (for better or worse) in the status of the MTA DM project during that time? I would be fine with intermittent updates on the status if they actually happened.
-
If its an issue of manpower, then recruit a couple new testers that would also promise to write an update every couple days. If you don't trust them, then have them write the update and one of the devs could give it a once over before posting it. There are lots of people waiting to make a contribution to the project. Just give us a chance.
-
I realize that the devs are busy at work and there isn't a timetable available to the public. However it would be nice to see regular updates on the front page blog as to the progress of the project. Back when the developer blog was introduced, there were updates that helped those not involved in testing feel connected and this was greatly appreciated. Recently, however, the updates have become rare. If a decision was made to make at least one update post every two days, it would go a long way towards keeping the community happy. I realize that not everyone can be placated; however, the rest of us would be very appreciative of an effort to keep the community up to date. The update posts do not need to be very long (one or two paragraphs), and do not need to contain fancy screenshots or videos either. Just something to help keep the eagerly awaiting audience informed. If devs don't have time to do this, we would be happy to see something from a tester.
-
Reinstall what? I registered using my yahoo e-mail address and used the yahoo web-based mail service. There is no filter running. Anyway, thanks for activating me!
-
I registered for an mta community account and it sent me a blank e-mail. No subject, no body. So I can't activate. How should I remedy this? Community username: RA1
-
It would be nice if there were a number of options that could be used in deathmatch mode. Most of these would need to be set on a per-map basis; although some could be server settings. Here are some that I would like to see: 1. Players need to be able to more easily buy weapons. One solution could be a hotkey to pop up the weapon buy screen, instead of having to drive across the map to find a store. 2. Specify how much a player gets for killing another player. This could help to either limit or encourage the usage of better weapons. 3. Players could choose their own spawn region. This would allow you to at least spawn near where the action is, without knowing exactly where you would spawn. It would be nice if these regions could be defined and named by the map -- but the defaults could be something like NW,N,NE, W,Center,E, SW,S,SE, Random. In future releases, (when teamplay support is added) this could also be the basis for what team you are on. 4. Out of bounds regions could be defined, allowing the use of larger maps while still restricting movement to some areas. People going into these regions would be warned then killed after 10 seconds. 5. Set the list of possible vehicles that could be spawned. Or at least the ability to set which vehicles you do NOT want to spawn. 6. Random-weapon drop-points. At the map level, you could set the probability for each weapon to be spawned, and the amount of time between each drop (default 60 sec), and the number of weapons dropped at that interval (usually 1). Based on these settings, a map developer could optionally create waves of big weapons to be dropped, which could considerably enhance deathmatch gameplay with little effort. Thats all for now. Feel free to add to the list if you have any ideas.
-
It would be nice if there were a number of options that could be used in deathmatch mode. Most of these would need to be set on a per-map basis; although some could be server settings. Here are some that I would like to see: 1. Players need to be able to more easily buy weapons. One solution could be a hotkey to pop up the weapon buy screen, instead of having to drive across the map to find a store. 2. Specify how much a player gets for killing another player. This could help to either limit or encourage the usage of better weapons. 3. Players could choose their own spawn region. This would allow you to at least spawn near where the action is, without knowing exactly where you would spawn. It would be nice if these regions could be defined and named by the map -- but the defaults could be something like NW,N,NE, W,Center,E, SW,S,SE, Random. In future releases, (when teamplay support is added) this could also be the basis for what team you are on. 4. Out of bounds regions could be defined, allowing the use of larger maps while still restricting movement to some areas. People going into these regions would be warned then killed after 10 seconds. 5. Set the list of possible vehicles that could be spawned. Or at least the ability to set which vehicles you do NOT want to spawn. 6. Random-weapon drop-points. At the map level, you could set the probability for each weapon to be spawned, and the amount of time between each drop (default 60 sec), and the number of weapons dropped at that interval (usually 1). Based on these settings, a map developer could optionally create waves of big weapons to be dropped, which could considerably enhance deathmatch gameplay with little effort. Thats all for now. Feel free to add to the list if you have any ideas.
-
Static, I would have all of the people connecting to the server run the same modded files (this would be at a LAN party so it wouldn't be that hard). Is there a way I can turn off the mod checking? After all, I and every one on the server want to mod it, and we trust each other.
-
CeoZ: Where are these files that need to be edited? Are you talking about editing a text file, or would it be more like making .scm files and editing binary files? Is there any documentation on how to do this?
-
Using MTAMA (or some similar method) I would like to be able to specify one or more of the following 1) player spawn spots 2) weapon spawn spots (and what weapons get spawned) 3) vehicle spawn spots (and what vehicles get spawned) Is this possible? This would be a server I am hosting myself.
-
Its widely known that, barring some miriacle, peds in their traditional form won't be part of the initial blue release. Would it be possible for there to be a mod which allows setting up clients (that actually connect to the server as a standard player) which could act like a typical GTA pedestrian? It wouldn't need any advanced bot AI -- just the ability to walk along a predefined path, and perhaps be periodically warped to where the action is (similar to how they work in single player). The ability to have even a few extra players (even if they are morons) can make a small LAN party or lonely server much more enjoyable. Assumably, you would set up the bot (or bots) on unused computer(s), tell it to connect to the server, and let it go.
-
I know I would follow a weekly update "blog" style status of blue development. Even if it is technical, saying that you got bug xxx fixed but are pulling your hair out on bug yyyy, its helpful to keep people interested in the project. As it is, I come to the mtavc website/forum maybe once a month because there is nothing worth reading in between.
-
Frankly, these mods were entirely for my server, but if they are good enough then I would be more than happy to release them for general use. No offence, but I have been underwhelmed with MTA's online gaming modes and disappointed about some of the team's decisions. Of course, with the option to make a mod myself, I can stop my complaining and get coding, if I have something in the form of a documented SDK. In particular, I was planning on hosting some LAN parties with something beyond the crappy scripts that I have done in the past. For example, a pedestrian system, lots of vehicles, and other things could much more easily be done.
-
There is mention of allowing for mod development pre-release of blue. Is this only for MTA insiders or can others join in? I have worked in the past on making a few script based mods for MTA, but it was so limiting that it wasn't worth continuing. I am looking to (try to) implement some of the Carmageddon 2 multiplayer modes in Blue. As I am not a Blue tester, I don't know how far along the engine is, but if it is good enough to start modding with, it would be nice to see something early. Perhaps a limited version of the blue, with mod examples if you have them, could be made available. To keep people from running it as a normal server, maybe you could limit it to 4 players, ammo to 10 bullets max, and make the server shut down after 30 minutes (and whatever else you want). P.S. I have extensive C/C++/Java programming experience, if that makes a difference.
-
Is there a list somewhere of the features that have been added/fixed/removed between 0.4.x and 0.5.x ? It doesn't have to be an exhaustive list, but anything would be helpful.
-
What do you mean by "legally"? I was hoping to host a small LAN party and use something like this (preferrably scripted) for everyone on the server.
-
So would it be possible to use this in MTA somehow? (Someone had to ask)
-
I'd be happy to take any suggestions as to how to beef up my code. I have little experience with mirc scripting, but just thought I'd comment that I find it hard to believe that using a file is faster than using a global variable (since disk I/O is an order of magnitude slower than RAM access). Since all of the variables are created when necessary, there is no need for me to store them in a file for later use. I see the point of long variable names, but I think that in the era of Ghz computers, the difference is so insignificant that it is a non-issue. I, of course, could be wrong in this assumption. P.S. I have had cases when a badly damaged, respawned vehicle spontaneously caught on fire and blew up. This kept happening until I restarted the server. Maybe it was just a glitch.
-
Intro: Well, I wrote my first mtama mod, called "Capture the Vehicle" for a LAN party that I helped host. This is a GTA3-only mod (not Vice City). However, it could be very easily converted to GTAVC by changing the target vehicles in the two functions (ctvGetVehId & ctvGetVehName) and the locations (in function ctvCheck). This mod is geard towards a group of gamers who had little experience with GTA and even less experience with multiplayer GTA. Summary: The mod itself involves finding and staying in a certain set of vehicles (all on the west side of the map). Once you accumulate 2 minutes of "target vehicle" time, you get 20 points. You also get 5 points per person that you kill (anytime), and you loose 1 point for dying. Also, players in the current target vehicle must stay on the west map or get slapped. This was done to keep everyone near a certain spot on the map. Coding the mod (obligatory rant): When I started writing this mod, I figured it would be fairly easy to do certain things. However, it became painfully obvious that there is almost nothing that I can do to make this mod much better. The most important thing I wanted was to have a dot over the target vehicle on the minimap. Alas, neither this, nor rewarding cash or weapons (the second most important thing) was possible. Also, why in the world do vehicles respawn with damage? Constructive criticism for other scripters: One other thing I noticed when trying to get inspiration from other mtama mods was that people were constantly using ini files to store variables. Why not just use a standard mirc global variable instead? When naming variables, try to use descriptive names instead of the cryptic single-letters that I often saw. Finally, try to comment your code a bit. All of these problems combined makes the script hard to read and maintain. Fun: Taking everything into consideration, I still had a good time. In our LAN party setting with everyone in the same room (and fairly trustworthy), this mod served its purpose and will probably be used in the future. To run: First save the code below to a .mrc mIRC script file. Be sure you have mtama set up in mIRC and load the script into MTA. To start CTV, run !ctv on as admin, or any user can start it the first time by typing !begin. During CTV gameplay, players can type !help for the current target vehicle or !score for their score. After 60 minutes, the game ends. You can also set up one player as ctv-admin (currently its IP 127.0.0.1 for testing) and that person can do a few extra things like change the target vehicle (using !next). CTV 1.04.mrc ; Triggered when a admin says something. $1 = Server, $2- = Text alias mta.admin { if ($2 == !ctv) { ctv $1 $3- } else if ($2 == !cmd) { mta.command $1 $3 $4- } } ; Triggered to start ctv mode. $1 = Server, $2 = on/off alias ctv { if ( $2 == on ) { if ( $mta.admin+($1) ) { echo Starting CTV v1.04 by Aaron ([email protected]) - server $1 mta.say $1 CTV - Head West to find the action! unset %CTV $+ [ $1 ] $+ * ; Set IP of admin set %CTV $+ [ $1 ] $+ ADMINIP 127.0.0.1 .timerctv $+ $1 1 3600 ctv $1 off .timercheck $+ $1 1 10 ctvNextVehicle $1 } else { mta.say $1 No admin+ connection! } } else if ($2 == off) { var %id = $ctvGetHighScoreId($1) mta.say $1 Capture the Vehicle game over. if ( %id != $null ) { mta.say $1 $mta.name($1,%id) won with %CTV [ $+ [ $1 ] $+ ID $+ [ %id ] $+ SCORE ] } else { mta.say $1 No winner: Everyone sucks! } unset %CTV $+ [ $1 ] $+ * .timerctv $+ $1 off .timercheck $+ $1 off } } ; Called periodically to check the target alias ctvCheck { var %time = $ctvGetTargetTime($1) var %goal = 120 inc %CTV [ $+ [ $1 ] $+ UPDATE ] ; Nobody is in target vehicle if ( %time == 0 ) { if ( %CTV [ $+ [ $1 ] $+ UPDATE ] > %CTV [ $+ [ $1 ] $+ LOST ] ) { ; mta.say $1 Target vehicle lost. Choosing new vehicle... $ctvNextVehicle($1) } } ; Someone is in target vehicle else { var %id = %CTV [ $+ [ $1 ] $+ TARGET ] var %loc = $mta.area($1,%id) var %safeloc = 0 if ( [ %loc ] == Hepburn-Hights Portland ) { inc %safeloc } if ( ( %safeloc == 0 ) && ( [ %loc ] == Red-Light-District Portland ) ) { inc %safeloc } if ( ( %safeloc == 0 ) && ( [ %loc ] == Chinatown Portland ) ) { inc %safeloc } if ( ( %safeloc == 0 ) && ( [ %loc ] == Callahan-Bridge Portland ) ) { inc %safeloc } if ( ( %safeloc == 0 ) && ( [ %loc ] == Callahan-Point Portland ) ) { inc %safeloc } if ( ( %safeloc == 0 ) && ( [ %loc ] == Chinatown Portland ) ) { inc %safeloc } if ( ( %safeloc == 0 ) && ( [ %loc ] == Portland ) ) { inc %safeloc } ; Target player is in bounds if ( %safeloc > 0 ) { ; Player has reached time goal in target if ( %time > %goal ) { inc %CTV [ $+ [ $1 ] $+ ID $+ [ %id ] $+ SCORE ] 20 mta.say $1 $mta.name($1,%id) has won a round! Score: %CTV [ $+ [ $1 ] $+ ID $+ [ %id ] $+ SCORE ] unset %CTV [ $+ [ $1 ] $+ ID $+ [ %id ] $+ TIME ] unset %CTV [ $+ [ $1 ] $+ TARGET ] .timercheck $+ $1 1 10 ctvNextVehicle $1 } else if ( 6 // %CTV [ $+ [ $1 ] $+ UPDATE ] ) { mta.say $1 $mta.name($1,%id) has $calc( %goal - %time ) sec left at %loc } } ; Target player is out of bounds else { if ( 2 // %CTV [ $+ [ $1 ] $+ UPDATE ] ) { set %CTV [ $+ [ $1 ] $+ TICKS ] $ticks if ( %time > 30 ) { set %CTV [ $+ [ $1 ] $+ ID $+ [ %id ] $+ TIME ] $calc( ( %time - 30 ) * 1000 ) } inc -u99 %CTV [ $+ [ $1 ] $+ ID $+ [ %id ] $+ TOAST ] if ( %CTV [ $+ [ $1 ] $+ ID $+ [ %id ] $+ TOAST ] > 2 ) { unset %CTV [ $+ [ $1 ] $+ ID $+ [ %id ] $+ TIME ] mta.say $1 /slap $mta.name($1,%id) mta.say $1 /slap $mta.name($1,%id) if ( %CTV [ $+ [ $1 ] $+ ID $+ [ %id ] $+ TOAST ] > 5 ) { unset %CTV [ $+ [ $1 ] $+ TARGET ] ctvNextVehicle $1 } } else { mta.say $1 $mta.name($1,%id) is AWOL at %loc } } } } } ; Called when a new target vehicle needs to be chosen alias ctvNextVehicle { var %vehnum = $calc( ( $ticks % 7 ) + 1 ) var %lastvehicle = %CTV [ $+ [ $1 ] $+ VEH ] ; Use this part to try to get an empty vehicle var %tries = 0 while ( %tries < 7 ) { inc %tries inc %vehnum if ( %vehnum == %lastvehicle ) { inc %vehnum } if ( %vehnum > 7 ) %vehnum = 1 set %CTV [ $+ [ $1 ] $+ VEH ] %vehnum if ( $mta.vehicle($1,$ctvGetVehId($1)).list == -1 ) { set %tries 10 } } set %CTV [ $+ [ $1 ] $+ UPDATE ] 0 set %CTV [ $+ [ $1 ] $+ LOST ] 60 echo Next vehicle: $ctvGetVehName($1) mta.say $1 Capture $ctvGetVehName($1) .timercheck $+ $1 0 2 ctvCheck $1 } ; Get the MTAMA ID of the target vehicle alias ctvGetVehId { var %vehnum = %CTV [ $+ [ $1 ] $+ VEH ] if ( %vehnum == 1 ) { return 59 } else if ( %vehnum == 2 ) { return 33 } else if ( %vehnum == 3 ) { return 58 } else if ( %vehnum == 4 ) { return 8 } else if ( %vehnum == 5 ) { return 35 } else if ( %vehnum == 6 ) { return 56 } else if ( %vehnum == 7 ) { return 57 } else { return zz } } ; Get the name of the target vehicle alias ctvGetVehName { var %vehnum = %CTV [ $+ [ $1 ] $+ VEH ] if ( %vehnum == 1 ) { return Linerunner the semi-truck } else if ( %vehnum == 2 ) { return Rumpo the black van } else if ( %vehnum == 3 ) { return Mr. Whopee the ice cream truck } else if ( %vehnum == 4 ) { return Mule the fish truck } else if ( %vehnum == 5 ) { return DoDo the airplane } else if ( %vehnum == 6 ) { return Infernus the Lamborghini } else if ( %vehnum == 7 ) { return Idaho the boat car } else { return BugBear! } } ; Get the total time the target player has alias ctvGetTargetTime { var %target = %CTV [ $+ [ $1 ] $+ TARGET ] if ( %target != $null ) { var %oldtime = %CTV [ $+ [ $1 ] $+ ID $+ [ %target ] $+ TIME ] if ( %oldtime == $null ) { %oldtime = 0 } var %time = $calc( %oldtime + $ticks - %CTV [ $+ [ $1 ] $+ TICKS ] ) if ( %time == $null ) { %time = 0 } %time = $floor($calc(%time / 1000)) return %time } else { return 0 } } ; Get the player ID with the highest score alias ctvGetHighScoreId { var %playerindex = 0 var %playerscore = 0 var %highscore = 0 var %highplayerindex = $null while ( %playerindex < 32 ) { var %playerscore = %CTV [ $+ [ $1 ] $+ ID $+ [ %playerindex ] $+ SCORE ] if ( %playerscore > %highscore ) { %highplayerindex = %playerindex } %playerindex = %playerindex + 1 } return %highplayerindex } ; Send message to server. $1 = Server ; This is due to a bug in mtama alias ctvSay { } ; Triggered when a player joins the game. $1 = Server, $2 = PlayerID alias mta.join { if ($timer(ctv $+ $1)) { unset %CTV [ $+ [ $1 ] $+ ID $+ [ $2 ] $+ TIME ] unset %CTV [ $+ [ $1 ] $+ ID $+ [ $2 ] $+ SCORE ] } } ; Triggered when a player is killed or died. $1 = Server, $2 = PlayerID, $3 = KillerID, [$4 = WeaponID] alias mta.kill { echo Player $2 $mta.name($1,$2) killed by $3 $mta.name($1,$3) with $4 $mta.weapon($1,$4) inc %CTV [ $+ [ $1 ] $+ ID $+ [ $3 ] $+ SCORE ] 5 dec %CTV [ $+ [ $1 ] $+ ID $+ [ $2 ] $+ SCORE ] 1 } ; Triggered when a player gets out of a vehicle. $1 = Server, $2 = PlayerID, $3 = VehicleID alias mta.exit { if ($timer(ctv $+ $1)) { ; Player is getting out of the target vehicle if ( %CTV [ $+ [ $1 ] $+ TARGET ] == [ $2 ] ) { $ctvCheck($1) if ( %CTV [ $+ [ $1 ] $+ TARGET ] != $null ) { var %time mta.say $1 Capture $ctvGetVehName($1) at $mta.area($1,$2) %time = $calc( %CTV [ $+ [ $1 ] $+ ID $+ [ $2 ] $+ TIME ] + $ticks - %CTV [ $+ [ $1 ] $+ TICKS ] ) set %CTV [ $+ [ $1 ] $+ ID $+ [ $2 ] $+ TIME ] %time unset %CTV [ $+ [ $1 ] $+ TARGET ] set %CTV [ $+ [ $1 ] $+ LOST ] $calc( %CTV [ $+ [ $1 ] $+ UPDATE ] + 60 ) } } } } ; Triggered when a player gets in a vehicle. $1 = Server, $2 = PlayerID, $3 = VehicleID alias mta.enter { if ($timer(ctv $+ $1)) { ; echo $1 $mta.name($1,$2) in $mta.vehicle($1,$2) if ($3 == $ctvGetVehId($1) ) { mta.say $1 $mta.name($1,$2) has $ctvGetVehName($1) at $mta.area($1,$2) ! ; Remember which player is in the target vehicle set %CTV [ $+ [ $1 ] $+ TARGET ] [ $2 ] ; Remember the tick count for later set %CTV [ $+ [ $1 ] $+ TICKS [ $ticks ] ] } } } ; Triggered when a player does a !-command. $1 = Server, $2 = PlayerID, $3 = !-command, $4- = !-command parameters alias mta.command { var %admin if ( %CTV [ $+ [ $1 ] $+ ADMINIP ] == $mta.ip($1,$2) ) { %admin = 1 } else { %admin = 0 } if ( $3 == !myinfo ) { mta.say $1 Player $2 ; $mta.name($1,$2) ; $mta.ip($1,$2) } else if ( $3 == !loc ) { mta.say $1 Location: $mta.location($1,$2) } else if ($timer(ctv $+ $1)) { if ($3 == !highscore ) { var %id = $ctvGetHighScoreId($1) if ( %id == $null ) { mta.say $1 Everyone is loosing! } else { mta.say $1 $mta.name($1,%id) is leading with a score of %CTV [ $+ [ $1 ] $+ ID $+ [ %id ] $+ SCORE ] } } else if ( $3 == !score ) { var %score = %CTV [ $+ [ $1 ] $+ ID $+ [ $2 ] $+ SCORE ] if ( %score == $null ) { %score = 0 } mta.say $1 $mta.name($1,$2) score: %score } else if ( $3 == !help ) { mta.say $1 Target vehicle: $ctvGetVehName($1) } else if ( $3 == !kill ) { mta.say $1 /slap $mta.name($1,$2) mta.say $1 /slap $mta.name($1,$2) mta.say $1 /slap $mta.name($1,$2) mta.say $1 /slap $mta.name($1,$2) mta.say $1 /slap $mta.name($1,$2) mta.say $1 /slap $mta.name($1,$2) } else if ( ( $3 == !next ) && ( %admin > 0 ) ) { .timercheck $+ $1 1 3 ctvNextVehicle $1 } else if ( ( $3 == !end ) && ( %admin > 0 ) ) { mta.say $1 Ending game... .timerctv $+ $1 1 1 ctv $1 off } } else if ( $3 == !begin ) { .timerctv $+ $1 off .timercheck $+ $1 1 1 ctv $1 on } } P.S. I look forward to BLUE!
-
Oli: Ok, I'll try it. But why in the world would mta.say actually hurt someone just because there is a /slap in the message ?
-
I have been trying to get mta.slap working with mtama and it doesn't work. The command runs and says ** Admin slaps Racer OUT OF BOUNDS at Portland-View Portland. However, the player doesn't get hurt at all. What is up? Running GTA3
-
I'm looking for a way to set the player, vehicle, and weapon spawn spots on my GTA3 MTA server. Is any of this possible? If so, how?
-
Although I agree that over the internet, there wouldn't be enough bandwidth for tons of peds, why not have just a few? They would not be opponents (not shoot at you, etc), but act like regular peds from GTA3. The server would, of course, have the option to set how many they want. That way, for lan parties, they could increase it to 10 or so. Also, the peds could be set up to disappear when out of range of any players and reappear closer to them. Alternatively, if the BLUE devs decide they don't wan't to do this, I would love to see a ped-bot client. This client could connect to the server as another player. Hopefully, it would be written so that you could have one server that connects any number of ped-bots (whatever the server allows). The ped-bot would act in the same way as described above, but require one player slot per ped-bot.