npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

grad-passport

v1.0.0

Published

Adds ID cards / passports to the game that can be checked/shown with ACE Interaction.

Downloads

12

Readme

GRAD Passport

Adds ID cards / passports to the game that can be checked/shown with ACE Interaction. Customizable by mission maker. Different styles per unit.

Default Passport
Default Passport Picture

Dependencies

Installation

Append the following lines of code to the description.ext:

#include "node_modules\grad-passport\grad_passport.hpp"

class CfgFunctions {
    #include "node_modules\grad-passport\cfgFunctions.hpp"
};

If you want to use a different path instead of node_modules, prepend your mission's description.ext with

#define MODULES_DIRECTORY <YOUR PATH>

Manually

  1. Create a folder in your mission root folder and name it node_modules. Inside that folder, create another folder and name it grad-passport.
  2. Download the latest version of this module, then put it into the folder you just created.

Via npm

for details about what npm is and how to use it, look it up on npmjs.com

  1. Install package grad-passport : npm install --save grad-passport

Usage

To show your passport to someone, ACE-interact with a unit and select Show ID Card. A dialog will appear that will tell you if that unit is currently looking at your passport and allow you to stop showing it, if you decide they have seen enough.

To check the passport of a unit that does not want to voluntarily show it, ACE-interact with them and select Check ID Card. This only works if they are unconscious, handcuffed or surrendering.

To check your own passport, ACE-self-interact and go to Equipment >> Check ID Card.

Implementation

Personal Details (Variables)

By default, every unit is assigned some random personal details (as soon as his passport is viewed for the first time). You can overwrite these if you like. All of these variables are saved in the unit and have the prefix grad_passport_. Data type of all variables has to be STRING. See Available Properties for all available variables.

So for example if I wanted to set the date of birth for a unit, I would use:

_unit setVariable ["grad_passport_dateOfBirth","12.07.1984"];

Custom Passports

You can create your own passports just like you would create any dialog. You can also inherit from the default passport if you just want to make some small changes. For example, if I wanted to use a different background, I would do this:

class myPassport: grad_passport_defaultPassport {
    class ControlsBackground: ControlsBackground {
        class BGPic: BGPic {
            text = "data\myBackground.paa";
        };
    };
};

If you are not inheriting from the default passport, make sure to use the correct IDD and onUnload function:

class myPassport {
    idd = 42000;        // GRAD_IDD_VIEWPASSPORT
    onUnload = "_this call grad_passport_fnc_onViewDialogClose";
    // ...
};

If you are using the provided IDCs, your dialog elements will automatically be filled. You can use the defines here. These have to be text (type=0) or structured text (type=13). Example:

class myPassport {
    //...
    class Controls {
        class height: RscText {
            idc = GRAD_IDC_HEIGHT;
        };
        //...
    };
};

To assign the custom passport to a unit you need:

_unit setVariable ["grad_passport_passportRsc","myPassport"];

Available Properties

These are used in the default passport:

Usage | Variable | IDC -------------------------------------------------------------------------------|--------------|------ These are used in the default passport: | | the dialog classname that this unit uses | passportRsc | - first name (default taken from unit's identity) | firstName | 42001 last name (default taken from unit's identity) | lastName | 42001 date of birth | dateOfBirth | 42003 place of birth | placeOfBirth | 42004 serial | serial | 42005 expiry date | expires | 42006 These are unused in the default passport, but are still randomly assigned: | | height | height | 42007 eye color | eyeColor | 42008 These have to be assigned manually: | | address | address | 42009 nationality | nationality | 42010 use for anything | misc1 | 42011 use for anything | misc2 | 42012

Some Helpful Things

Here are some more things that might help you with customizing your passports.

grad_passport_fnc_generateSerial

This function can generate a random serial for your passport.

Syntax

[length,scheme] call grad_passport_fnc_generateSerial;

Parameter | Usage ------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- length | number - length of the serial to generate scheme (optional) | array - determines which position is a (random) number or letter; use string to dictate the positions value; use bool to decide between random letters (false) and numbers (true); use array of strings to randomly select one of the provided strings

Example
Returns a 9 character serial that starts with the letters YW, continues with either H,L or K, a random number and a random letter. After a space, two more numbers and a letter follow.

[9,["Y","W",["H","L","K"],true,false," ",true,true,false]] call grad_passport_fnc_generateSerial;
// Possible outcome: YWL5C 12J

Default Passport Background

Here is the default passport background if you want to use it as a template. Dimensions are 1024x512, but there is a transparent frame giving the actual passport only about 830x500.