Jump to content

shezan74

Member
  • Content Count

    436
  • Joined

  • Last visited

  • Medals

Community Reputation

11 Good

5 Followers

About shezan74

  • Rank
    Gunnery Sergeant

Contact Methods

  • Skype
    shezan74

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. As say in private post: YEAH! Go ahead mate! :) you've full rights to make the best power grid ever seen on ArmA2 world :) Thanks
  2. True But if you overfly the city the civs spawns. If many teams are wandering around the city the civ spawns a lot and stay alive, in any case. You can create a custom object that allows the civilian spawn and place several of those in the city with the editor, then check by yourself :)
  3. shezan74

    Fallujah 1.2

    If i collect a number of requests i can take the map out of the box again. Actually i don't have so much time for working on and no issues to fix (as far as i know) or improvements requested. Some things could include naming several objects like road barriers to allow interactions with script and something like, but nothing that could effectively justify a 100mb release :)
  4. number of civilian spawn points is very limited in Fallujah due the size of the city. Having a spawn ratio like chernarus will create massive locks on your server due the huge amount of wandering citizens on the map.
  5. shezan74

    World Tools forest tutorial

    And to the best sponsor in the ArmA2 world, Mr. B ;)
  6. shezan74

    M109A6 Paladin v1.1 (UPDATED)

    Yep, when i've some time i'll probably release an update to fix this on Spritz Island. In the meanwhile i'm searching for some time to dedicate to CWR2. Best
  7. shezan74

    Fallujah 1.2

    No ideas about... the hotel building is in the same pbo of other houses from A1.
  8. shezan74

    Fallujah 1.2

    Did you have a screenshot of what you mean for looks terrible? Ok for coordinates, i'll give an eye if you send them to me.
  9. shezan74

    Fallujah 1.2

    bisign is 1.1
  10. shezan74

    Fallujah 1.2

    digits are a "big" headache :) everyone needs them made in a different way for specific addons. I've tried to understand what is the most common request, but if i've failed something i can update it.
  11. shezan74

    -[TdC]- Convoy Script

    Great release! Nice work Solo & Socrate!
  12. shezan74

    problem importing wordltools SQM

    this happens when you click on Get Script for V3? probably the script extension is mapped with Visitor 3 and the application tries to open the V3.exe... Here the script, it's also saved in your personal settings folder (where WT saves settings and other infos): // ************************************************************************************************************* // Copyright (C) 2007 Bohemia Interactive // ************************************************************************************************************* // This script is free software for any non commercial use; you can redistribute it and/or modify as long as you // include this licensing notice. This script is distributed in the hope that it will be useful, but without any // warranty; without even the implied warranty of merchantability or fitness for a particular purpose. // ************************************************************************************************************* // // ImportObjectsAbsHeight.vis // // ************************************************************************************************************* // This script allows to load objects from file using absolute height. // ************************************************************************************************************* // This script expects to read an ascii file (no matter what extension) with the following format of records // (colon separated data): // "templatename";X;Y;Z;orientation; // example: // "misc\water_tank";12064.1;17650.2;-0.841085;0; // ************************************************************************************************************* // This script reads the file and inserts in the current document all the object whose template is already in the // document. All the other objects are rejected. // The number of inserted and rejected objects is shown when the script ends running. // ************************************************************************************************************* // In the current implementation the script doesn't do any validation of the numerical values expected from the // file (X, Y, Z and orientation). // ************************************************************************************************************* // In the current implementation the script uses the current setDir function, which works with opposite // orientation than the getDir function [for this reason orientations are considered with the minus (-) sign.] // ************************************************************************************************************* // --------------------- // functions definitions // --------------------- // ********************************************************************************************************** // GetNaturalTemplateNamesInDoc // ********************************************************************************************************** GetNaturalTemplateNamesInDoc = { private["_doc", "_templates", "_templateNames"]; // gets the document _doc = _this; // gets 'natural' templates in the document _templates = _doc getObjectTemplates "natural"; _templates sortBy {getName(_x) strCmp getName(_y)}; // core - gets template names _templateNames = []; { _templateNames = _templateNames + [getName _x]; } forEach _templates; // return value _templateNames }; // ********************************************************************************************************** // GetArtificialTemplateNamesInDoc // ********************************************************************************************************** GetArtificialTemplateNamesInDoc = { private["_doc", "_templates", "_templateNames"]; // gets the document _doc = _this; // gets 'artificial' templates in the document _templates = (_doc getObjectTemplates "artificial"); _templates sortBy {getName(_x) strCmp getName(_y)}; // core - gets template names _templateNames = []; { _templateNames = _templateNames + [getName _x]; } forEach _templates; // return value _templateNames }; // ********************************************************************************************************** // WarningDialog // ********************************************************************************************************** WarningDialog = { private["_type", "_title", "_messageRow1", "_messageRow2", "_dlgWarning", "_result"]; // gets the type of warning _type = _this; // sets title and message _title = ""; _messageRow1 = ""; _messageRow2 = ""; switch(_type) do { case 1: { _title = "Warning - No area selected."; _messageRow1 = "This script requires that you select an area before you run it."; _messageRow2 = "Please select an area and then rerun the script."; }; case 2: { _title = "Warning - No templates in document."; _messageRow1 = "This script requires that templates are already in the document."; _messageRow2 = "Please define the needed templates and then rerun the script."; }; default { _title = "Warning - Error in dialog setting"; _messageRow1 = "Error in WarningDialog function."; }; }; // sets dialog _dlgWarning = [220, 55, _title, ["label", 200, 13, _messageRow1, 0], ["break"], ["label", 200, 13, _messageRow2, 0], ["break"], ["ok-button", 50, 13]]; // shows the dialog _result = dialogBox _dlgWarning; // return value _result }; // ********************************************************************************************************** // ErrorDialog // ********************************************************************************************************** ErrorDialog = { private["_type", "_title", "_messageRow1", "_messageRow2", "_dlgError", "_result"]; // gets the type of warning _type = _this; // sets title and message _title = ""; _messageRow1 = ""; _messageRow2 = ""; switch(_type) do { case 1: { _title = "Error in script execution"; _messageRow1 = "Error in opening the specified file."; }; case 2: { _title = "Error in script execution"; _messageRow1 = "Bad data format in the specified file."; }; default { _title = "Warning - Error in dialog setting"; _messageRow1 = "Error in ErrorDialog function."; }; }; // sets dialog _dlgError = [220, 55, _title, ["label", 200, 13, _messageRow1, 0], ["break"], ["label", 200, 13, _messageRow2, 0], ["break"], ["ok-button", 50, 13]]; // shows the dialog _result = dialogBox _dlgError; // return value _result }; // ********************************************************************************************************** // SetTemplatesList // ********************************************************************************************************** SetTemplatesList = { private["_params", "_naturalTemplsInDoc", "_artificialTemplsInDoc", "_templateNames"]; // gets the params _params = _this; _naturalTemplsInDoc = _params select 0; _artificialTemplsInDoc = _params select 1; // core - gets template names _templateNames = []; _templateNames = _naturalTemplsInDoc; _templateNames = _templateNames + _artificialTemplsInDoc; // return value _templateNames }; // ********************************************************************************************************** // ParseLine // ********************************************************************************************************** ParseLine = { private["_line", "_pos", "_name", "_XX", "_YY", "_ZZ", "_orient", "_result"]; // gets the line to parse _line = _this; _name = ""; _XX = ""; _YY = ""; _ZZ = ""; _orient = ""; // core - parse the line // first gets object template name _pos = _line find ";"; if (!isnil "_pos") then { _name = _line @ [0, _pos]; // then gets object X coord _line = _line @ [_pos + 1]; _pos = _line find ";"; if (!isnil "_pos") then { _XX = _line @ [0, _pos]; // then gets object Y coord _line = _line @ [_pos + 1]; _pos = _line find ";"; if (!isnil "_pos") then { _YY = _line @ [0, _pos]; // then gets object Z coord _line = _line @ [_pos + 1]; _pos = _line find ";"; if (!isnil "_pos") then { _ZZ = _line @ [0, _pos]; // finally gets object orientation _line = _line @ [_pos + 1]; _pos = _line find ";"; if (!isnil "_pos") then { _orient = _line @ [0, _pos]; } else // bad data format orientation { // shows error dialog _errorNum = 2; _errorNum call ErrorDialog; }; } else // bad data format Z { // shows error dialog _errorNum = 2; _errorNum call ErrorDialog; }; } else // bad data format Y { // shows error dialog _errorNum = 2; _errorNum call ErrorDialog; }; } else // bad data format X { // shows error dialog _errorNum = 2; _errorNum call ErrorDialog; }; } else // bad data format name { // shows error dialog _errorNum = 2; _errorNum call ErrorDialog; }; // sets the result _result = []; _result = _result + [_name]; _result = _result + [_XX]; _result = _result + [_YY]; _result = _result + [_ZZ]; _result = _result + [_orient]; // return value _result }; // --------------------------------- // internal variables default values // --------------------------------- _scriptName = "Import Objects using absolute height 1.0.0"; _naturalTemplateNamesInDoc = []; _artificialTemplateNamesInDoc = []; _nNaturalTemplateNamesInDoc = 0; _nArtificialTemplateNamesInDoc = 0; _fileName = ""; _insCounter = 0; // counter for inserted objects _rejCounter = 0; // counter for rejected objects echo "-----------------"; echo "ImportObjects.vis"; echo "-----------------"; // ------------------------ // gets the active document // ------------------------ _doc = getActiveDoc; // ------------------------------ // gets the templates in document // ------------------------------ _naturalTemplateNamesInDoc = _doc call GetNaturalTemplateNamesInDoc; _artificialTemplateNamesInDoc = _doc call GetArtificialTemplateNamesInDoc; _nNaturalTemplateNamesInDoc = count _naturalTemplateNamesInDoc; _nArtificialTemplateNamesInDoc = count _artificialTemplateNamesInDoc; // -------------------- // verify the templates // -------------------- _thereAreNaturalTemplateNames = false; if(_nNaturalTemplateNamesInDoc > 0) then { _thereAreNaturalTemplateNames = true; }; _thereAreArtificialTemplateNames = false; if(_nArtificialTemplateNamesInDoc > 0) then { _thereAreArtificialTemplateNames = true; }; // ----------------------- // sets the templates list // ----------------------- _templatesList = [_naturalTemplateNamesInDoc, _artificialTemplateNamesInDoc] call SetTemplatesList; // ------------------- // dialogs definitions // ------------------- _dlgInput = [330, 60, _scriptName, ["init", { _id = 1; _id dlgEnableControl false; }], ["begin-subframe", 320, 30, " Source file "], ["label", 40, 13, "File name:", 0], ["textline", 220, 13, "_fileName", 4], ["onchange", { if((count _fileName) != 0) then { _id = 1; _id dlgEnableControl true; } else { _id = 1; _id dlgEnableControl false; }; }], ["browse-button", 40, 13, "All files|*.*|", false, "Open file"], ["break"], ["end-subframe"], ["break"], ["ok-button", 50, 13], ["cancel-button", 50, 13]]; _dlgOutput = [220, 80, _scriptName, ["dynlabel", 200, 13, "_insCounter", 2], ["break"], ["label", 200, 13, "objects imported", 2], ["break"], ["dynlabel", 200, 13, "_rejCounter", 2], ["break"], ["label", 200, 13, "objects rejected", 2], ["break"], ["ok-button", 50, 13]]; // ----------- // script core // ----------- if(_thereAreNaturalTemplateNames || _thereAreArtificialTemplateNames) then // there are templates in document { // shows the input dialog _res = dialogBox _dlgInput; if(_res == 1) then { // open the input file _file = openFile [_fileName, 1]; if (!isnil "_file") then // file has been found { // gets data from file while{!eof(_file)} do { //get next record from file _line = getLine _file; if((count _line) > 0) then // not empty line { _data = _line call ParseLine; _name = _data select 0; _coordX = _data select 1; _coordY = _data select 2; _coordZ = _data select 3; _orient = _data select 4; // // data conversion // // template name _len = count _name; _name = _name @ [1, _len - 1]; // converts to numbers coordinates _xP = val (_coordX); // MISSING _yP = val (_coordY); // ERROR CHECKING _zP = val (_coordZ); // // object orientation // converts to number // WARNING // uses the minus sign because there is a bug in the visitor // scripting language _orP = -val (_orient); // MISSING ERROR CHECKING // finally creates the imported object if(_name in _templatesList) then // template recognized { // cretes new object _obj = _doc createPosEdObject _name; // sets object position _insPos = [_xP, _yP]; _obj setPos _insPos; // sets object relative height //_obj setRelHeight _zP; _pos = getZeroPos _obj; _landHeight = (_doc getLandHeight _pos) select 0; _offset = _zP - _landHeight; _obj setRelHeight _offset; // sets object orientation _obj setDir _orP; _insCounter = _insCounter + 1; } else // template not recognized { _rejCounter = _rejCounter + 1; }; }; }; // shows the output dialog _result = dialogBox _dlgOutput; } else { // shows error dialog _errorNum = 1; _errorNum call ErrorDialog; }; }; } else // no templates in document { // shows warning dialog _warningNum = 2; _warningNum call WarningDialog; };
  13. shezan74

    problem importing wordltools SQM

    it's strange... i'll check for this issue and i'll add the script here.
  14. shezan74

    Fallujah 1.2

    Friends, this was Bushlurker in "I HAVE A DREAM" mode. It's a pleasure to work with him... a lot of work raises everyday. Is this the reason for waiting his fantastic Scotland territory for ages? :) C'mon Bushlurker, let us have your fantastic work on our desktops :D
×