| 12-14-2002, 06:38 AM | #1 |
Guest | Ok I just spent a day and 1/2 learning cinematics and then putting them into the map I was making...and it blows on b-net. Between people with PIII450 and the people on 56k modems, the lag just ruined the movie. I wasn't expecting that. Is there anything to be done for that? Any way to actually have a cinematic work on B-net? Thanks. |
| 12-14-2002, 06:53 AM | #2 |
ya lag can be a issue, but my cinematics run pretty well over bnet. Remember: using wait, or using the send transmition and wait, do NOT work well on bnet. you need to use one of the other methods. i find the eaisest one: make a varible, NumPlayers, and set it equal to the number of active players in the map (use the slot status is = to isplaying then add them to a player group, then count the players in the player group) Make a trigger that purges the player group and recounds evey X.XX seconds ( i use 10 seconds) then do: for each interger a from 1 to NumPlayers do wait X.XX There are also methods using a timer, but i never used so i cant fully explain. |
| 12-14-2002, 07:21 AM | #3 |
Guest | Hmm ok that's an interesting approach. My cinematic is 100% WAIT based - so oh well. That'll be something new to learn tomorrow. If it wasn't for problems, maps would be done in like 2 seconds...and how is that fun :) |
| 12-14-2002, 08:51 AM | #4 |
well, what i found out in my map. is that wait's work perfectly, just put them in seperate triggers.. i have 1 wait in each trigger, for a cinematic intro, with transmissions, and other stuff, and it works perfectly, (i do have like 25 triggers for the intro, doesnt lag with 8 people though) And this way, it doesnt lag because of the waits!. |
| 12-16-2002, 04:15 PM | #5 |
Guest | I got it to work by issuing 1 wait command for each person on the map. Somebody on another forum suggested that approach and it seems to work. Lag or slow computers can still mess it up by a second or 2 here or there...but it's pretty close to perfect. |
| 12-16-2002, 07:53 PM | #6 |
Dakan can you explain that method a little bit better plz |
| 12-16-2002, 08:02 PM | #7 |
Guest | I can..cuz that's actually the method used. When the map starts, run a trigger that puts every USER controlled player into a user group variable. It would look something like this: Event Time - map initialize conditions None Action if (player1 slot status = isplaying) then Player Group add Player1 to All_players If (player2... If (player3... etc Then every once in a while check to see if anybody left. Dakan has his trigger setup to check every 2 seconds, I checked just before every wait command..but you can do what ever works for you. That trigger would look like this Event Time - Periodic event every 2 seconds Condition None Action if (player1 slot stats = hasleft) then Player Group remove Player1 from All_Players Finally, every time you issue a wait command you need to make a for loop that looks like this For (every interger A from (1 to number of players in (All_Players))) do wait 2 seconds and that's about it. If you want to actually look at it you can go to the Retail Maps Download section and download my Battle Over Belial map. My triggers are well named and organized so you'll be able to see it. |
| 12-16-2002, 08:08 PM | #8 |
thanks |
| 12-17-2002, 11:23 AM | #9 | |
Quote:
using ONE user group ARRAY instead of 12 varaiables IS MUCH BETTER AND EASIER... event: map initalization no condition action: for (Integer A) from (1 to 12) do (if (player[integer a]) = is playing then add player to ABC player group else do nothing) ===== event: every 2 secs no condition action: for integer a from 1 to 12 do (if player[integer a] has left the game then do remove player from ABC player group else do nothing) |
| 12-17-2002, 02:14 PM | #10 |
Guest | Yes that's true but that's an absurdly obvious point to anybody know knows how to use arrays but it would only serve to confuse people who don't know how to use arrays. I was simply trying to explain just how the waits work, not the best way to put them into his map. |
| 12-17-2002, 06:51 PM | #11 |
how is that ezer and where do u get ' player integer a' from? |
| 12-17-2002, 07:06 PM | #12 |
Guest | In triggers under Actions you'll see For every Interger A It's very close to the top, one of the top 10 tiggers listed in the pull down menu. If you use that, anywhere you used an array index, instead of actually putting in a number, you can put "For loop A" (or something like that) If you downloaded my map you can see that I use for loops all over the place, especially in my cinematics. You can take a look at them. |
| 12-18-2002, 02:04 AM | #13 |
Guest | hmmmm i ussualy dont make maps for alot of players (mostly single player maps) but if i were to make a cinematic online i would use the method where u add player to player group and if leaves remove player from player group then blawblawblaw just saying how i would do it cause it works for me :D |
| 12-18-2002, 04:13 AM | #14 |
Guest | that's the method I describe in my email. |
| 12-19-2002, 12:32 AM | #15 |
I use a system, i saw on Kaggz. I divide the intro into many triggers, using the time elapsed. |
