Jump to content

MulleDK19

Member
  • Content Count

    430
  • Joined

  • Last visited

  • Medals

Everything posted by MulleDK19

  1. MulleDK19

    .NET (C#) and the Arma 3 Game engine

    That's actually not true. C++ has overflow checks. Unless disabled. Java was the worst decision of a language to include in ARMA 3, and it hurts thinking about the fact that that piss poor excuse of a language has infested this marvel. They should have went with C#. (I don't care if it has similarities to Java. They're far from equal.). Hell, if they would just make a C++ interface to all the script functions, I'd make a C# wrapper, in a OOP style. Even though it's possible to compile a C# app to native code, the app will still make calls into the .NET Framework, which will still use JIT compilation.
  2. That would be setFuelCargo.
  3. That should work. Remember, changes to description.ext is only read by the game when loading/saving your mission. So after you've made a change, remember to save, before you preview.
  4. Okay. I originally played OFP (GOTY), then ARMA (+Queen's Gambit) and finally ARMA 2 (And eagerly awaiting Operation Arrowhead) But... There's some things that I've always been annoyed by the series: No 3rd-party components. Please, Bohemia, for the love of god... For once in history, please use 3rd-party components! I want, Lua for scripting. Havok, Euphoria and DMM for physics. On a side-note, these features would be awesome! - Possibility to put injured people (dragging/carrying) into vehicles. - Possibility to create physics constraints (Would require a real physics engine), like ropes, elastics, hinges, etc. - Animations for getting in and out of vehicles, and doors actually opening/closing etc. - Physics interactions! (Havok) - Ragdolls! (Euphoria) - Destructable everything! (DMM) - Possibility to group multiple units in the editor simultaneously. - Possibility to shoot from vehicles with infantry weapons. (eg. from the side of little-birds). - Possibility to report your position. - Possibility to carry multiple maps, radios, etc. - Losing remaining ammo if reloading before a clip is empty. - More fluid movement. - Easier way of opening/closing doors (Both ways). - More orders for commanding units. - Combining team commands, eg. if you have four units, (unit 1, 2 = team yellow, unit 3, 4 = team red), selecting all four and issue the "Open Fire" command would issue order: "Team Yellow and Red, Open fire!"), instead of "1, 2, 3, 4, Open fire!". - Also, when issuing commands. If you have 30 units in your group (example), and you select 29, of them, instead of having to say "1,2,3,4,5,6,7...29, Open fire!", just "All except 29, Open fire!". - Every building enterable. - Using Euphoria for vehicle physics, and DMM for handling dynamic vehicle damage. - Varying muzzle flashes (It's the exact same for each shot, at the moment). - Possibility to move from seat to seat in vehicles. (And walking around in larger vehicles, such as airplanes). - Possibility for HALO with animation. - Real physics handled parachutes. - Refueling-airplanes. - Real physics for windows. - Destructable terrain (eg. grenades). - Bring us the scripting functions from VBS1/2 (But using Lua). - Make use of hooking events in Lua, much like the addEventHandler. Example: function MyFunction(victim, weapon, projectile, killer) victim:PrintToChat("You were killed by a " .. projectile:GetClass() .. " projectile, fired from a " .. weapon:GetClass() .. ", held by " .. killer:Name() .. "!"); victim:PrintToChat("The projectile hit you with " .. projectile.LastSpeed .. " km/s."); end hook.Add("UnitKilled", "HookName", MyFunction); Would print to the victims screen: - Everything would be so much easier using Lua. Example for creating a pilot, a vehicle and send him to a location: local TransportOrderer = nil; --No one has requested transport local TransportPilot = nil; --No pilot local TransportChopper = nil; --No chopper function SendTransport(unit) TransportOrderer = unit; --Store the unit currently ordering transport, so no one else can. local pilot = unit.Create("USMC_Soldier_Pilot", marker.GetByName("SpawnPos").GetPos()); --Create pilot at marker named "SpawnPos". pilot.SetBehaviour(BEHAVIOUR_CARELESS); TransportPilot = pilot; local chopper = vehicle.Create("MH60S", marker.GetByName("SpawnPos").GetPos()); --Create MH60S at marker named "SpawnPos". TransportChopper = chopper; chopper.SetEngine(true) --Force the engine to be instantly turned on. chopper.FlyInHeight = 100; --Fly high above. chopper.SetPos(vector(chopper.GetPos().X, chopper.GetPos().Y, chopper.GetPos().Z + 100); --Set Z position 100 meters above chopper.AddImpulseDir(DIR_FORWARD, 100) --Push the chopper forward to make it fly on start. pilot.WarpIntoVehicle(chopper, SEAT_DRIVER); --Move the pilot into the driver's seat. pilot.MoveTo(unit.GetPos()); --Make the pilot fly to the unit who ordered the transport. hook.Add("UnitReady", "SomeUniqueName2", UnitIsReady); --Add an event handler for the UnitReady event. end --This function is triggered when any unit reports itself as ready function UnitIsReady(unit) if unit == TransportPilot then --The pilot is ready, make him land. pilot.Land(LAND_HOVER); --Make the pilot hover above the ground. hook.Remove("UnitReady", "SomeUniqueName2") --Remove the hook called "SomeUniqueName2" from the vent "UnitReady". hook.Add("Tick", "SomeUniqueName3", Ticker); --Hook the tick event end end local ticking = 0; function Ticker(deltatime) --deltatime contains the time in seconds since the last tick ticking = ticking + deltatime if ticking >= 1 then ticking = 0 --There's been a second since last time we reached this if-statement. --We do this to spare some processing power. if TransportOrderer.CurrentVehicle == TransportChopper then --When the unit who ordered the transport has mounted the helicopter, take off. hook.Remove("Tick", "SomeUniqueName3"); --Remove hook from the Tick event. hook.Add("MapClicked", "SomeUniqueName4", MapWasClicked); --Add hook for map clicking. TransportOrderer:PrintToChat("Please select your destination by clicking on the map!"); end end end function MapWasClicked(unit, pos) if unit != TransportOrderer then return; --Only the unit who called for transport can choose destination. local ReadablePosition = util.GetCoordinatesFromPosition(pos); --Convert vector position (eg. Vector(351.5, 251.2, 35.1)) to coordinates (eg. 069074). unit:PrintToChat("Going to co-ordinates " .. ReadablePosition .. "."); pilot.MoveTo(pos); end function RadioHandler(unit, radio) if radio == ALPHA then if TransportOrderer == nil then --If no one is currently waiting for transport SendTransport(unit); --Send transport to unit who triggered the radio. unit:PrintToChat("Transport is on the way, stay put!") --Tell the player that the transport is on it's way. else unit:PrintToChat("Sorry, " .. unit:Name() .. ", but the transport helicopter is currently transporting " .. TransportOrderer:Name() .. ". Please try again later!"); end else unit:PrintToChat("Sorry, " .. unit:Name() .. ", there is no action for this radio command!") end end hook.Add("RadioActivated", "SomeUniqueName", RadioHandler) --Add hook for the RadioActivated event. Give it the name "SomeUniqueName" so the hook can be removed later. On activation, event will trigger function RadioHandler. Ya, I know... I'm dreaming too much. But seriously. I don't care if I have to buy Roadrunner or pay double the price to get all this. - Server-side and client-side scripting. Example: Server-side script: AddCSLuaFile("cl_init.lua"); --Send the client-side script to the client. function SomeoneConnected(ply) local name = ply:Name(); if string.find(string.lower(name), "fuck") or string.find(string.lower(name), "bitch") or string.find(string.lower(name), "asshole") or string.find(string.lower(name), "shit") or string.find(string.lower(name), "retard") or string.find(string.lower(name), "jerk") or string.find(string.lower(name), "noob") or string.find(string.lower(name), "n00b") then --Kick player for having an insulting word in his name. ply:Kick("Sorry, " .. name .. ". Please remove the insulting words from your name, and feel free to rejoin!"); return; end end hook.Add("PlayerConnected", "PlayerConnected1", SomeoneConnected); function PlayerSpawnedFirstTime(ply) --Welcome the player ply:PrintToChat("Welcome to the server, " .. name .. ". Enjoy your stay :)"); --Wait 5 seconds, then show the Message Of The Day. timer.Simple(5.0f, ShowMOTD, ply); end hook.Add("PlayerInitialSpawn", "PlayerInitialSpawn1", PlayerSpawnFirstTime); function ShowMOTD(ply) usermessage.Send(ply, "MOTD"); --Send a message to the client. Msg("The MOTD was shown to " .. ply:Name() .. "\n"); --Print message in server console. end Client-side script: function CreateMOTDAndShowIt() --Here should be some code to create a panel, with a message and a close button. local MOTDDialog = dialog.Create("Panel"); --Create a panel MOTDDialog.ZOrder = 0; --Make sure it's background. --Set position, etc. etc. --Create text, buttons, etc. local CloseButton = dialog.Create("Button", MOTDDialog) --Parent is MOTDDialog CloseButton.OnClick = function() MOTDDialog.Close() end; --Close dialog on click --Dialogs should be created through code, instead of being defined in Description.ext MOTDDialog.Show(); end function someFunction(msg) --A user message has been received from the server. if msg == "MOTD" then --If the message is "MOTD", then create the MOTD dialog and display it. CreateMOTDAndShowIt(); else Msg("Received unknown user message from server (" .. msg .. ")\n"); --Print message in local client's console end end hook.Add("UserMessageReceived", "UniqueNameHere", someFunction); function DrawHUD() --Drawing event local X = 32; local Y = 16; local C = color(50, 100, 255, 150); --Blueish (semi-transparent) draw.SimpleText("You are playing on SERVER_NAME_HERE, enjoy your stay!", X, Y, C); --Text "You are playing on SERVER_NAME_HERE, enjoy your stay!" will be drawn on the player's screen at all times, at position 32, 16. end hook.Add("HUDPaint", "HUDPaint1", DrawHUD); --Hook the draw event I've really put some work into these pseudo-scripts, because I really want to see it as the future ARMA 3 from Bohemia Interactive. Concept for Digital Molecular Matter I made a video using After Effects and Premiere to fake DMM in ARMA 2: Concept for Euphoria Greetings from Denmark - Morten. Codemasters don't hold a candle to you, Bohemia Interactive!
  5. MulleDK19

    Possible Release Date? @GameSpot

    Jay said alpha was pushed back to around August, 2012. There ain't gonna be a public beta. Release is early 2013. That's probably January or February.
  6. MulleDK19

    Arma 3 & TOH

    YES! GREAT NEWS!!! Man, it would be fucking AWESOME to have that realistic startup and shutdown as in ToH. In case you don't know what I mean:
  7. You can do a simple search and replace in the mission.sqm file.
  8. Use: x1 == true || x2 == true Otherwise you need to set x1 and x2 to false in init.sqf.
  9. Decided to upload the follow up in parts. So here you go. http://www.youtube.com/watch?v=gZ0J9YiIvoU http://www.youtube.com/watch?v=CBgqn-DfACA (And right after I uploaded, YouTube fixed the bug that prevented me from uploading anything longer than 15 minutes :j:).
  10. They move pretty precisely for me. Unless you tell them to move only a few meters. Faster? It's already fast. If you want your group to return to formation, in file formation, and you want them to open fire and engage, you simply press 1,1,8,8,3,1,3,4. And that was from the top of my head, without pausing. I second this.
  11. http://forums.bistudio.com/showthread.php?133861-Full-Mission-Editor-video-tutorial-series
  12. Works for me. group this setGroupId ["Group Name Here"] Also, keep in mind that you cannot see the id in group chat.
  13. This will return whether the marker exists: markerType marker != ""
  14. My pleasure. Made another one as well. Showing how to make the load waypoint work. Been trying to upload it to YouTube for the past two days. But after uploading, it says that it's been rejected because it's too long (28 minutes), even though I can upload 12 hours. Today I searched on Google about the problem, and it seems that a lot of people have been hit by this problem. Hopefully they'll fix it soon, as I'd hate to break it up in parts.
  15. Thank you. I'm working on a small follow up to remedy the issues I had with the load waypoint.
  16. You can make the Independent shoot their own by using: resistance setFriend [resistance, 0]; They will not shoot their own group members; only other groups. But 2 Independent groups will engage each other as if they were on different sides.
  17. xD I was wondering why I suddenly got 30+ subscribers in a day. Thanks, guys :)
  18. If you can't afford the hardware, you're not interested enough in the game. And a fivefold increase in sales? I highly doubt that. For one, I wouldn't buy ARMA 2 if it went back to OFP graphics. Or even ARMA 3 if it stayed on ARMA 2 graphics.
  19. I'm still hoping that one day ARMA will be using DMM.
  20. MulleDK19

    AI Improvement

    I think you mean "horrific".
  21. MulleDK19

    Development Blog & Reveals

    Analysis of the Stratis Showcase trailer:
  22. Analysis of the Stratis Showcase trailer:
  23. I really don't see how that's a confirmation. Unless there's an actual source, it's still speculation. And what about the shockwaves? No sources on that either. If that's based on one of the trailers, it's probably also speculation, as the only videos with shockwaves are live footage with post production effects.
×