Jump to content

baddo

Member
  • Content Count

    1295
  • Joined

  • Last visited

  • Medals

Everything posted by baddo

  1. baddo

    Eurovision 2006

    It's great that some people are annoyed about Lordi being at Eurovision - it is about time to give the whole competition a strong shaking, and a couple of slaps to the faces of people who take Lordi too seriously and accuse it for being related to the devil himself. I haven't ever been a fan of the whole comedy show. What I have seen during the years have mostly made me want to kick the television into little pieces. It's always the crappiest bands who want to be in the Eurovision contest. At least in Finland but seems like it's the same in many other countries too, according to what I saw last night. The good bands don't bother and it's no wonder.
  2. baddo

    Win2k Pro or WinXP Pro?

    This inside-a-file search talk reminds me of how wonderful program gnu grep actually is. Probably the most useful program I have ever thumbled into. It can be installed into WIN32 also like dowloading it from here, although I have not tried it on WIN32 myself. BTW, according to Windows XP my computer has a DVD drive (in addition to the CD/RW drive) but I have been unable to locate it on the computer case I tried to delete the reference but it always comes back. Isn't Microsoft so optimistic company or what! What comes to XP or 2000: cant' say much about 2000 because I never used it at home. I never had much stability or usability problems with XP. I think most of the crashes I have experienced in XP have been the fault of 3rd party apps like the damn Firefox browser which crashed several times a day with buffer overflows everytime. Firefox had to be deleted for good from my computer, I can't allow that many buffer overflows while surfing, it's too big a security risk. As far as I know from what I have read, Firefox still has plenty of buffer overflow bugs no matter how much people advertize it here on their signatures. Internet Explorer has never crashed on my XP installation. No I don't use it anymore either, I prefer some other operating system. Windows XP installation can be slimmed down by somewhat for example with nLite but I think that's too much of a hassle for a regular user, one needs to be interested in the details to bother with this kind of tuning and most users are not. I would like to see options during Windows installation where we could choose exactly what components to install and then the installer would do it cleanly and safely without requiring hacks like nLite etc. for the job.
  3. This was submitted to OFPEC by one of our staff members if I recall correctly. I don't remember who it was exactly but anyway, here it is:
  4. baddo

    Armed Assault Video E3 Presentation

    No mate because its very unlikly that something as major as ai could be easily fixed in a patch. So its better to point out now what appears to be wrong and that were unhappy with, now before the game is finished. The ai currently appears very disapointing seems to have almost no improvement I think they are pretty much done with the engine used in Armed Assault regarding what kind of functionalities it will have and how the AI behaves. Fixing all the bugs they have made into it will not be easier at all if they would now, close to release, start and modify the engine drastically or even worse, by adding new features. Development of the engine must be freezed at some point so at least some of the bugs can be eliminated. Sorry people but that's just a realistic point of view. Minor changes to the engine and bug fixes are realistic changes they can make now, but not more. If the release date is close. Edit: ...or what, BIS?
  5. baddo

    Armed Assault Video E3 Presentation

    colt, well said I agree with you. Hey people, why don't we just wait until the game has been released and judge it only then after trying it out ourselfs? Wouldn't that kind of judging be more fair? The shady, blurry and shaky visitor-made video discussed here shows only very little of the game so don't jump into conclusions just yet, please.
  6. According to my tests getMarkerPos and markerPos return the height value, it will just be zero. So it is not a bad value. This is what I wrote to some other forum about position arrays as arguments and return values: <span style='font-family:Courier'>FUNCTIONS WHICH TAKE POSITION AS ARGUMENT TESTED IF THEY ACCEPT BOTH 2D AND 3D POSITION TYPES. FUNCTION:    3D POS. WORKS:  2D POS. WORKS:  NOTES: ************************************************************************************* camCreate      X          X camSetPos      X          X camSetRelPos     X              Error Generic error in expression camSetTarget     X          X commandMove     X          X commandWatch     X          X createUnit      X          X createVehicle    X          X doMove        X          X doWatch       X          X mapAnimAdd      X          X move         X          X nearestObject    X          X setMarkerPos     X          X setPos        X          X setWPPos       X          X To be absolutely sure, I tested all commands which return a position array: buildingPos    getMarkerPos    getPos      getWPPos    markerPos    onMapSingleClick position waypointPosition All of the above commands return a 3D position array.</span> Tests for the return values were a simple hint format ["%1", command] which always gave a 3D position array to the screen so the height value was in the returned array in every case. I can't see any reason why the height value returned by getMarkerPos could not be used. It is zero but it still is a perfectly valid value which can be added to and multiplied etc. the normal stuff you can do with numbers. I tested the code from the first post by creating a couple of shells 50 meters above a marker and it worked fine, nice explosion. The code was exactly the same but the classname was changed to "Shell125".
  7. Ok. Just added the download in the first post. Thanks
  8. Hi hardrock and thanks for releasing your Scripting Reference even if it is not finished. I was about to ask you to release it like this One question: is it possible to get a local copy of the whole Scripting Reference?
  9. An example of tactics used by a small army facing a much bigger army with overwhelming resources can be studied from Battle of Suomussalmi, fought between Finnish and Soviet forces in Winter War. A small Finnish army faced a much bigger and better equipped army which was practically slaughtered because of lack of flexibility and carrying too much heavy equipment with them. The problem of carrying a lot of heavy equipment against much smaller troops can be seen in today's warfare too. Common denominators to guerrilla warfare include fighting a much bigger enemy with flexible and fast moving tactics and targeting supply lines. Also Soviet field kitchens were targeted. Learn more about the Battle of Suomussalmi and about the Winter War from the following links: http://home.interserv.com/~tazio/7dSuomu.htm http://en.wikipedia.org/wiki/Battle_of_Suomussalmi http://en.wikipedia.org/wiki/Winter_War Note that the Soviets did take their lesson and improved their tactics making them a tougher opponent later in World War II. There is also a Wikipedia article about Guerrilla warfare: http://en.wikipedia.org/wiki/Guerrilla_warfare
  10. Thanks General Barron, that's a very handy tip. Helps alot with my "stuff all code straight into event handlers" obsession...
  11. I second that. Also note that in many cases you can write all needed code straight to the event handler itself so there is no need to call a function or execute a script. I think that this is the most efficient way to use event handlers because the code in the event handler must be stored within the event handler itself and thus jumps around memory locations will very likely be reduced.
  12. baddo

    Advancing in Scripting

    Hmm, I'll just throw a working example for you. This is part of a script which creates bloodsplats around a position. The bloodsplats will be created to a square area around the position. <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">_maxdist = _this select 2 _tmp = "FDFbloodsplatB" camCreate [(getpos _obj select 0) + _maxdist * ((random 2) - 1), (getpos _obj select 1) + _maxdist * ((random 2) - 1)] Notice that there is only 2 lines of code in this example.
  13. baddo

    Advancing in Scripting

    In the future it will be much harder to "bring" OFPEC website down for this long time, because backup facilities will be greatly improved from what they have been. Without a very generous donation this would not have been possible. People, make sure you donate for OFPEC once the website gets back up and running I will do it for sure. I think there is no need to duplicating what OFPEC has. Instead the community could ensure that OFPEC has all the best resources and up-to-date information by contributing as much of their knowledge as possible to the website If you are an author of a useful tool or have written tutorials but didn't submit them to OFPEC, please take the little time needed to submit them to OFPEC. That's the best way the community can help OFPEC and the best way OFPEC can help the community. Remember: by the community, for the community. In my opinion, there should be more beginner-beginner-level tutorials at OFPEC. That has to change in the future.
  14. baddo

    Advancing in Scripting

    Hello Nightjay0044! First, I want to make sure you know that you can also execute a script like this: <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">player exec "script.sqs" and then anywhere in your script where you need to access the player, you would need to use only _this. I told you this because I don't want you to start writing [player] exec "script.sqs" and then in your script _unit = _this select 0, which would be quite pointless (to create an array for only one variable). Hmm... then a little bit of advices... the best way to learn more advanced scripting is to sit down and start experimenting. You could simply just take the official comref and start reading through it, testing commands in the editor when finding an interesting one. What do they do, what you can use them for. That's how I started. I didn't create actual missions for a long time, I just experimented with the scripting commands. Don't think about creating a big and amazing mission right away, it is not a realistic goal. Just keep testing different things in the editor like these: how do you make a group eject a chopper, how do you get a boat to transport a group over a river et cetera. Test these things and do not even try to create a mission around it. Because if you want to learn scripting, it's not important to design a whole mission. You will just feel depressed when you notice that it's not that simple and fast thing to do. Keep your goals small and you will feel that you have succeeded in something. After that it's much easier to move on into more difficult things, like designing a mission. Also it can help alot if you take a peek at other people's work, how did they do it? Take a mission which has artillery and nice cutscenes, unpbo it and go through the code. Make the same stuff into your own mission, starting from the more simpler things. Don't be afraid of making mistakes, I do them all the time and so do others despite of what they might like you to think. Also take in notice, do you really need scripts? In my opinion the less stuff you have inside your mission folder, the better. If your mission still has everything needed to make the players enjoy that is. Cheers, Baddo
  15. <s>Your link does not work</s>. Edit: hey now it works. Weird, I clicked it many times earlier and it didn't work. Now I first tried, no luck. Second try and it works.
  16. baddo

    Trouble with function

    Let's shorten it a bit: <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">_this - (_this * 2) Then call it without the brackets around the number: <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">hint format ["%1",37 Call PosNeg] Explanation: you already have _this variable holding the number, no need for another variable _n.
  17. baddo

    Alpha Channels in PSP 11

    Dunno if this helps at all but I'll tell it anyway because it is related to your problem. In GIMP one needs to disable option "RLE Compression" when saving a targa image to be used in TexView. Otherwise the alpha channel won't work. The option appears when saving a new targa file or using "Save As" for an old targa file. Might be something similar with Paint Shop Pro. I recall there was an alpha channel tutorial using Paint Shop Pro somewhere, possibly at OFPEC. Edit: found the old tutorial by toadlife. I'll just copy&paste it here for eternity: Note this: I hope this helps.
  18. You could try kicking the dead group leader out of the group: Into a trigger: condition: not alive (leader group player) statement: [(leader group player)] join grpNull type: "repeatedly" countdown: some other value than zero probably This is taken from a LDD Kyllikki forum post. Original text is talking about how the leadership doesn't automatically change in multiplayer after the group leader dies. Can anyone verify if this is still true? It's worth a try.
  19. baddo

    Naming a VehiclCreated unit

    Just to add, this could be modified to something like this (no UnitName variable at all): <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">_Vloop = 1 #ALoop call format ["%1 =""Jeep"" createVehicle getpos _thespot",format ["V%1",_Vloop]] _Vloop = _Vloop + 1 ~1 ?(_Vloop < 4):goto "ALoop" Note the added delay which can be a good thing to do when creating lot of objects. If no delay is in the loop and there are lot of objects created, the player is very likely to experience a heavy lag peak when all the objects are created. Also if you really don't want a delay between your createVehicle commands, you could shorten this to one line: <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">{call format ["%1 =""Jeep"" createVehicle getpos _thespot", _x ]} forEach ["v1","v2","v3"] This is suitable for relatively small number of objects to create so you won't need to type too much into the array plus the lag peak will not be that big. Also a situation where you know in advance how many objects you will create will be better for this than a dynamically changing situation.
  20. I also encourage you to try fwatch, it is a great program and relatively easy to start tinkering with. Only problem with it is the fact that it works only on Windows operating systems and that practically means all the Linux dedicated servers have to live without it
  21. An event handler would be much better for the job because it would not consume nowhere near as much processing power than a looping script checking a trigger's list. Here is an example how to use killed event handlers to punish players if they go and kill civilians. Put this to initialization field of all civilians which you want to have the penalty attached: <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">this addEventHandler ["killed",{_this select 1 setpos getpos jail}] Then put an invisible helipad/whatever to a far away island in the map, name it jail and then go and kill the civilian having the event handler. Of course you can start whatever punishment from the event handler, it's your choice. Maybe a small delay before the punishment happens would be nice, with a text saying that the player went too far and must be punished and sent to jail/whatever.
  22. baddo

    BIS? Editing Manual?

    hardrock's answer ...so it might take some time until that is out of his door.
  23. baddo

    Making a tutorial

    I propose that you don't restrict your tutorial to only "Grouping", but you could instead make a tutorial about how to use the mission editor in general. Once upon the time I was trying to figure out how to use the editor, I didn't have access to Internet and thus I had a hard time figuring it all out by myself. Shame on you BIS, why didn't you give a manual with the game! The one you pretended to be a manual, was rubbish and you know it. Hire people who know how to write documentation if you can't do it by yourself. So back to you, Nightjay0044. Make a tutorial which explains all the keys etc. you can use in the editor, and provide a lot of visual material to show for example how to synchronize triggers and how to group units. You could make for example GIF image animations of how to do these things. Regards, Baddo P.S. Just a friendly suggestion: do not ask people to give you an intro to making tutorials. Now think about it for at least 2 times, who would do that for you?
  24. Go to Triggers, scripts and addAction in multiplayer and scroll down to the end of that tutorial. There is something about your problem. The source of information is Mr Kegetys as you can see from the beginning of the tutorial.
  25. baddo

    array = array ?

    OFP has a limit on how big it can make strings (1024 or something?). If you try to 'format' an array and the resulting string is longer than that, it will crash the game. So for arrays that you know are going to be of a small enough size, format works fine. But otherwise you should use the posted function. I think the limit is (or should be) 2048 characters per string. I did a test like this: 1. increment string to hold 2048 characters 2. call format ["%1",string] ---> OK, no errors 3. increment string up to 2055 characters, ---> OK no errors with call format ["%1",string] 4. increment string to 2056 characters, error message displayed on screen, but no CTD still... 5. increment string up to 2059, same error message but no CTD 6. increment string to 2060, finally a CTD with call format ["%1",string] I tested this a couple of times and everytime the result was same. Hmmm... what to say from this... I would say don't exceed 2048 chars in a string. It is possible that when you use some other functions which take a string as argument, you can get different results for the accepted string length until error messages or CTD appear. I only tested format so that's only a guess. But yes, for comparing two position arrays format ["%1",getPos obj1] == format ["%1",getPos obj2] is an ideal solution as I see it. Of course BIS could overload the == operator also for comparing arrays so we could compare arrays and especially long arrays more easily... if it would be CPU intensive then so what? It's the scripter who uses it excessively, not the programmers of the game right?
×