PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Script in Addon einfügen + Action Menueintrag


Clawhammer
29.07.2008, 00:04
Moin, mal eine kurze Frage:

Ich möchte in einen Hmmvw Addon ein action Menu einbauen was ein script startet.
Klar ich könnte das jetzt mit Addaction Befehl im Editor machen aber ich will es im Addon
haben, spart für das was ich vorhabe eine Menge arbeit.

Wie und wo muss ich da was reinschreiben das der mir ein Action Menu Eintrag erstellt und das script dann so ausführt.
Danke

mfg
Clawhammer

S4mmy
29.07.2008, 02:22
Hey,
am besten du fragst mal in der Mod und Addon Ecke die wissen das glaub ich besser.
Aber eigentlich kannst dus doch mit einem Script machen das du dann in jede Mission kopierst in der dus haben möchtest. Ist genau so einfach find ich :).

Gruß
S4mmy

Atsche
29.07.2008, 03:04
Am bestem Du startest dein Script über einen init Eventhandler in der Addon cpp. die addaction Sache machst Du bequem per Script.

Clawhammer
29.07.2008, 09:39
So hier mal die config.cpp, leider habe ich das problem das der Action Menu eintrag nicht angezeigt wird, weder im noch neben dem auto:


#include "basicdefines.hpp"
#include "CrewAnimations.hpp"

class CfgPatches
{
class CAWheeled
{
units[] =
{
"HAP_SF_HMMWV50"
};
weapons[] = {};
requiredVersion = 0.10;
requiredAddons[] = {
CAData,CACharacters,CAWeapons,CASounds,CA_Anims_Ch ar,
CAweapons3_aks74pso,CAweapons3_ksvk,CAweapons3_m10 7
};
};
};

class EXtended_Init_EventHandlers {
class HAP_SF_Hummer {
HAP_SF_Hummer_Init = "_this AddAction [""SmokeScreen"",""Scripts\SmokeScreen.sqs""]";
};
};

#define mag_xx(a,b) class _xx_##a {magazine = a; count = b;}
#define weap_xx(a,b) class _xx_##a {weapon = a; count = b;}

#define DefaultWestMagazines(x) \
class TransportMagazines \
{ \
mag_xx(30Rnd_556x45_Stanag,30*x); \
mag_xx(200Rnd_556x45_M249,5*x); \
mag_xx(HandGrenadeTimed,10*x); \
mag_xx(5Rnd_762x51_M24,10*x); \
mag_xx(15rnd_9x19_M9,15*x); \
mag_xx(10Rnd_127x99_m107,10*x); \
mag_xx(M136,3*x); \
mag_xx(1Rnd_HE_M203,3*x); \
mag_xx(FlareWhite_M203,3*x); \
mag_xx(FlareGreen_M203,3*x); \
mag_xx(FlareRed_M203,3*x); \
mag_xx(FlareYellow_M203,3*x); \
mag_xx(SmokeShell,3*x); \
mag_xx(SmokeShellRed,3*x); \
mag_xx(SmokeShellGreen,3*x); \
};
#define DefaultEastMagazines(x) \
class TransportMagazines \
{ \
mag_xx(30Rnd_545x39_AK,30*x); \
mag_xx(100Rnd_762x54_PK,5*x); \
mag_xx(8Rnd_9x18_Makarov,20*x); \
mag_xx(HandGrenade,10*x); \
mag_xx(10Rnd_762x54_SVD,10*x); \
mag_xx(5Rnd_127x108_KSVK,10*x); \
mag_xx(PG7VR,3*x); \
mag_xx(1Rnd_HE_GP25,3*x); \
mag_xx(FlareWhite_GP25,3*x); \
mag_xx(FlareGreen_GP25,3*x); \
mag_xx(FlareRed_GP25,3*x); \
mag_xx(FlareYellow_GP25,3*x); \
mag_xx(SmokeShell,3*x); \
mag_xx(SmokeShellRed,3*x); \
mag_xx(SmokeShellGreen,3*x); \
};
class CfgVehicles
{
class Land;
class LandVehicle : Land
{
class NewTurret;
class ViewPilot;
};
class Car: LandVehicle
{
// class PlateInfos {name="spz"; /*font<=fontPlate;*/ color[]={0,0,0,0.75};}
class HitEngine {armor=0.4;material=60;name="motor";visual="motor";passThrough=1;};

class HitRGlass {armor=0.3;material=-1;name="sklo predni P";passThrough=0;};
class HitLGlass {armor=0.3;material=-1;name="sklo predni L";passThrough=0;};

class HitBody {armor=1;material=51;name="NEkaroserie";visual="karoserie";passThrough=1;}; //disabled points from models
class HitFuel {armor=0.3;material=51;name="palivo";passThrough=1;};

class HitLFWheel {armor=0.15;material=-1;name="Levy predni tlumic";visual="Levy predni";passThrough=0;};
class HitRFWheel {armor=0.15;material=-1;name="Pravy predni tlumic";visual="Pravy predni";passThrough=0;};

class HitLF2Wheel {armor=0.15;material=-1;name="Levy dalsi tlumic";visual="Levy dalsi";passThrough=0;};
class HitRF2Wheel {armor=0.15;material=-1;name="Pravy dalsi tlumic";visual="Pravy dalsi";passThrough=0;};

class HitLMWheel {armor=0.15;material=-1;name="Levy prostredni tlumic";visual="Levy prostredni";passThrough=0;};
class HitRMWheel {armor=0.15;material=-1;name="Pravy prostredni tlumic";visual="Pravy prostredni";passThrough=0;};

class HitLBWheel {armor=0.15;material=-1;name="Levy zadni tlumic";visual="Levy zadni";passThrough=0;};
class HitRBWheel {armor=0.15;material=-1;name="Pravy zadni tlumic";visual="Pravy zadni";passThrough=0;};

dammageHalf[]=
{
"\ca\wheeled\data\jepp4x4_glass.paa","\ca\wheeled\data\jepp4x4_glassB.paa",
"\ca\wheeled\data\jeep_kab_sklo1.paa","\ca\wheeled\data\jeep_kab_sklo1B.paa",
"\ca\wheeled\data\jeep_kab_sklo2.paa","\ca\wheeled\data\jeep_kab_sklo2B.paa",
"\ca\wheeled\data\scud_sklo.paa","\ca\wheeled\data\scud_skloB.paa",
"\ca\wheeled\data\scud_sklo2.paa","\ca\wheeled\data\scud_sklo2B.paa",
"\ca\wheeled\data\scud_sklo3.paa","\ca\wheeled\data\scud_sklo3B.paa",
"\ca\wheeled\data\scud_sklo4.paa","\ca\wheeled\data\scud_sklo4B.paa"
};
dammageFull[]=
{
"\ca\wheeled\data\jepp4x4_glass.paa","\ca\wheeled\data\jepp4x4_glassB.paa",
"\ca\wheeled\data\jeep_kab_sklo1.paa","\ca\wheeled\data\jeep_kab_sklo1B.paa",
"\ca\wheeled\data\jeep_kab_sklo2.paa","\ca\wheeled\data\jeep_kab_sklo2B.paa",
"\ca\wheeled\data\scud_sklo.paa","\ca\wheeled\data\scud_skloB.paa",
"\ca\wheeled\data\scud_sklo2.paa","\ca\wheeled\data\scud_sklo2B.paa",
"\ca\wheeled\data\scud_sklo3.paa","\ca\wheeled\data\scud_sklo3B.paa",
"\ca\wheeled\data\scud_sklo4.paa","\ca\wheeled\data\scud_sklo4B.paa"
};
getInAction = GetInMedium;
getOutAction = GetOutMedium;
weapons[]={CarHorn};
hasGunner = 0;
gunnerHasFlares = false;
class Turrets
{
class MainTurret : NewTurret
{
outGunnerMayFire = 1;
memoryPointGun = "machinegun";
body = "";
gun = "";
gunnerAction = "ManActTestDriverOut";
gunBeg = "usti hlavne"; //gunBeg = endpoint of the gun
gunEnd = "konec hlavne"; //gunEnd = chamber of the gun
soundServo[]={\ca\wheeled\Data\Sound\servo3, db-50, 1.0};
minElev = -5; maxElev = +40;
minTurn = -360; maxTurn = +360;
gunnerOpticsModel = "\ca\weapons\optika_empty";
hasGunner= 0;
gunnerForceOptics = 0;
startEngine = 0;
class HitTurret {armor=0.8;material=51;name="vez";visual="vez";passThrough=0;};
class HitGun {armor=0.4;material=52;name="zbran";visual="zbran";passThrough=0;};
castGunnerShadow = false;
class ViewOptics
{
initAngleX=0; minAngleX=-30; maxAngleX=+30;
initAngleY=0; minAngleY=-100; maxAngleY=+100;
initFov=0.42; minFov=0.22; maxFov=0.64;
};
class ViewGunner
{
initAngleX=5; minAngleX=-30; maxAngleX=+30;
initAngleY=0; minAngleY=0; maxAngleY=0;
initFov=0.42; minFov=0.22; maxFov=0.95;
};
};
};
soundEngine[] = {"\ca\wheeled\Data\Sound\mediumcar", db-60, 2.0};
soundEnviron[] = {"\ca\wheeled\Data\Sound\noise", db-65, 0.25};
soundCrash[] = {"\ca\wheeled\Data\Sound\crash2", db-10, 1};
soundGear[] = {"\ca\wheeled\Data\Sound\shifter_v3", db-75, 1};
supplyRadius = 1.2;
driverAction = "ManActTestDriver";
cargoAction[]= {"ManActTestDriver"};
hideUnitInfo=false;
class Exhausts;
castDriverShadow = false;
castCargoShadow = false;
};
class Truck: Car
{
nameSound="truck";
supplyRadius = 2.5;
threat[]={0.0, 0.0, 0.0};
};

//west cars

class HMMWV50: Car
{
scope = public;

Model = "\ca\wheeled\HMMWV50";
Picture="\Ca\wheeled\data\ico\HMMWV50_CA.paa";
Icon="\Ca\wheeled\data\map_ico\icomap_hmwv50_CA.paa";
mapSize = 8;
displayName = $STR_DN_HMMWV50;
side = TWest;
crew= SoldierWB;
nameSound="humvee";

weapons[]={};
magazines[]={};

armor = 40;
damageResistance = 0.00562;

enableGPS = true;

type=VArmor;
cost=100000;

armorGlass=0.5;
armorWheels=0.1;
soundEngine[]={\ca\wheeled\Data\Sound\Humvee_Loop2,db0,0.7};
soundGetIn[]={\ca\wheeled\Data\Sound\Humvee_doors,db-20,1};
soundGetOut[]={\ca\wheeled\Data\Sound\Humvee_doors,db-20,1};
soundGear[]={\ca\wheeled\Data\Sound\shifter_v3,db-90,1};
soundServo[]={\ca\wheeled\Data\Sound\servo3, db-40, 1.0};
typicalCargo[]={SoldierWB, SoldierWB, SoldierWAT, SoldierWBOfficer};
transportSoldier = 3; //driver, gunner + 3 cargo
class Library {libTextDesc = $STR_LIB_HMMWV;};

hasGunner = true;
castDriverShadow = false;
driverIsCommander = true;
driverAction = HMMWV_Driver;
cargoAction[] = {HMMWV_Cargo01,HMMWV_Cargo01,UAZ_Cargo01};

canLock = LockNo;

unitInfoType = UnitInfoShip;

threat[]={1, 0.1, 0.4};
class AnimationSources
{
class belt_rotation
{
source="reload";
weapon="M2";
};
};
class Turrets: Turrets
{
class MainTurret : MainTurret
{
body = "mainTurret";
gun = "mainGun";
hasGunner= 1;
weapons[] = {M2};
magazines[] = {100Rnd_127x99_M2,100Rnd_127x99_M2,100Rnd_127x99_M 2,100Rnd_127x99_M2,100Rnd_127x99_M2,100Rnd_127x99_ M2};
soundServo[]={\ca\wheeled\Data\Sound\servo3, db-75, 0.9};
minElev = -25; maxElev = +60;
gunnerAction = HMMWV_Gunner01;
// used for sound occlusions as well
viewGunnerInExternal=true;
castGunnerShadow = 1;
};
};
class HitLFWheel {armor=0.38;material=-1;name="Levy predni tlumic";visual="Levy predni";passThrough=0;};
class HitRFWheel {armor=0.38;material=-1;name="Pravy predni tlumic";visual="Pravy predni";passThrough=0;};

class HitLBWheel {armor=0.38;material=-1;name="Levy zadni tlumic";visual="Levy zadni";passThrough=0;};
class HitRBWheel {armor=0.38;material=-1;name="Pravy zadni tlumic";visual="Pravy zadni";passThrough=0;};

dammageHalf[] =
{
"\ca\wheeled\data\HMMWV_glass_CA.paa","\ca\wheeled\data\HMMWV_glassbr1_CA.paa",
"\ca\wheeled\data\HMMWV_glass_CA.paa","\ca\wheeled\data\HMMWV_glassbr1_CA.paa"
};
dammageFull[] =
{
"\ca\wheeled\data\HMMWV_glass_CA.paa","\ca\wheeled\data\HMMWV_glassbr2_CA.paa",
"\ca\wheeled\data\HMMWV_glass_CA.paa","\ca\wheeled\data\HMMWV_glassbr2_CA.paa"
};
class Damage
{
tex[]={};
mat[]={
"ca\wheeled\data\hmmwv_regular_1.rvmat",
"ca\wheeled\data\hmmwv_regular_1.rvmat",
"ca\wheeled\data\hmmwv_regular_1_destruct.rvmat",
"ca\wheeled\data\hmmwv_hood.rvmat",
"ca\wheeled\data\hmmwv_hood.rvmat",
"ca\wheeled\data\hmmwv_hood_destruct.rvmat",
"ca\wheeled\data\hmmwv_details.rvmat",
"ca\wheeled\data\hmmwv_details.rvmat",
"ca\wheeled\data\hmmwv_details_destruct.rvmat",
"ca\wheeled\data\hmmwv_body.rvmat",
"ca\wheeled\data\hmmwv_body.rvmat",
"ca\wheeled\data\hmmwv_body_destruct.rvmat",
"ca\weapons\data\m2.rvmat",
"ca\weapons\data\m2.rvmat",
"ca\weapons\data\m2_destruct.rvmat",
"ca\tracked\data\detailmapy\m1abrams_mg_mount.rvmat",
"ca\tracked\data\detailmapy\m1abrams_mg_mount.rvmat",
"ca\tracked\data\detailmapy\m1abrams_mg_mount_destr uct.rvmat",
"ca\wheeled\data\hmmwv_clocks.rvmat",
"ca\wheeled\data\hmmwv_clocks.rvmat",
"ca\wheeled\data\hmmwv_clocks_destruct.rvmat"
};
};
};

class HAP_SF_HMMWV50: HMMWV50
{
scope = public;

Model = "\HAP_SF_Hummer\HAP_SF_HMMWV";
Picture="\Ca\wheeled\data\ico\HMMWV50_CA.paa";
Icon="\Ca\wheeled\data\map_ico\icomap_hmwv50_CA.paa";
mapSize = 8;
displayName = "SF HMMWV";
side = TWest;
crew= SoldierWSaboteurAssault;
nameSound="humvee";

weapons[]={};
magazines[]={};

armor = 40;
damageResistance = 0.00562;

enableGPS = true;

type=VArmor;
cost=100000;

armorGlass=0.5;
armorWheels=0.1;
soundEngine[]={\ca\wheeled\Data\Sound\Humvee_Loop2,db0,0.7};
soundGetIn[]={\ca\wheeled\Data\Sound\Humvee_doors,db-20,1};
soundGetOut[]={\ca\wheeled\Data\Sound\Humvee_doors,db-20,1};
soundGear[]={\ca\wheeled\Data\Sound\shifter_v3,db-90,1};
soundServo[]={\ca\wheeled\Data\Sound\servo3, db-40, 1.0};
typicalCargo[]={SoldierWB, SoldierWB, SoldierWAT, SoldierWBOfficer};
transportSoldier = 3; //driver, gunner + 3 cargo
class Library {libTextDesc = $STR_LIB_HMMWV;};

transportMaxMagazines=150;
transportMaxWeapons=30;
class TransportWeapons
{
class _xx_Laserdesignator
{
weapon = "Laserdesignator";
count = 1;
};
class _xx_M136
{
weapon = "M136";
count = 2;
};
class _xx_NVGoggles
{
weapon = "NVGoggles";
count = 4;
};
class _xx_Binocular
{
weapon = "Binocular";
count = 1;
};
class _xx_Javelin
{
weapon = "Javelin";
count = 1;
};
};
class TransportMagazines
{
class _xx_30Rnd_556x45_Stanag
{
magazine = "30Rnd_556x45_Stanag";
count = "30*1";
};
class _xx_200Rnd_556x45_M249
{
magazine = "200Rnd_556x45_M249";
count = "5*1";
};
class _xx_HandGrenadeTimed
{
magazine = "HandGrenadeTimed";
count = "10*1";
};
class _xx_100Rnd_762x51_M240
{
magazine = "100Rnd_762x51_M240";
count = "10*1";
};
class _xx_M136
{
magazine = "M136";
count = "6*1";
};
class _xx_1Rnd_HE_M203
{
magazine = "1Rnd_HE_M203";
count = "4*1";
};
class _xx_Laserbatteries
{
magazine = "Laserbatteries";
count = "1*1";
};
class _xx_OPK_Pipebomb
{
magazine = "Pipebomb";
count = "4*1";
};
class _xx_Javelin
{
magazine = "Javelin";
count = "2*1";
};
};


hasGunner = true;
castDriverShadow = false;
driverIsCommander = true;
driverAction = HMMWV_Driver;
cargoAction[] = {HMMWV_Cargo01,HMMWV_Cargo01,UAZ_Cargo01};

canLock = LockNo;

unitInfoType = UnitInfoShip;

threat[]={1, 0.1, 0.4};
class AnimationSources
{
class belt_rotation
{
source="reload";
weapon="M2";
};
};
class Turrets: Turrets
{
class MainTurret : MainTurret
{
body = "mainTurret";
gun = "mainGun";
hasGunner= 1;
weapons[] = {M2};
magazines[] = {100Rnd_127x99_M2,100Rnd_127x99_M2,100Rnd_127x99_M 2,100Rnd_127x99_M2,100Rnd_127x99_M2,100Rnd_127x99_ M2,100Rnd_127x99_M2,100Rnd_127x99_M2,100Rnd_127x99 _M2,100Rnd_127x99_M2};
soundServo[]={\ca\wheeled\Data\Sound\servo3, db-75, 0.9};
minElev = -25; maxElev = +60;
gunnerAction = HMMWV_Gunner01;
// used for sound occlusions as well
viewGunnerInExternal=true;
castGunnerShadow = 1;
};
};
class HitLFWheel {armor=0.38;material=-1;name="Levy predni tlumic";visual="Levy predni";passThrough=0;};
class HitRFWheel {armor=0.38;material=-1;name="Pravy predni tlumic";visual="Pravy predni";passThrough=0;};

class HitLBWheel {armor=0.38;material=-1;name="Levy zadni tlumic";visual="Levy zadni";passThrough=0;};
class HitRBWheel {armor=0.38;material=-1;name="Pravy zadni tlumic";visual="Pravy zadni";passThrough=0;};

dammageHalf[] =
{
"\ca\wheeled\data\HMMWV_glass_CA.paa","\ca\wheeled\data\HMMWV_glassbr1_CA.paa",
"\ca\wheeled\data\HMMWV_glass_CA.paa","\ca\wheeled\data\HMMWV_glassbr1_CA.paa"
};
dammageFull[] =
{
"\ca\wheeled\data\HMMWV_glass_CA.paa","\ca\wheeled\data\HMMWV_glassbr2_CA.paa",
"\ca\wheeled\data\HMMWV_glass_CA.paa","\ca\wheeled\data\HMMWV_glassbr2_CA.paa"
};
class Damage
{
tex[]={};
mat[]={
"ca\wheeled\data\hmmwv_regular_1.rvmat",
"ca\wheeled\data\hmmwv_regular_1.rvmat",
"ca\wheeled\data\hmmwv_regular_1_destruct.rvmat",
"ca\wheeled\data\hmmwv_hood.rvmat",
"ca\wheeled\data\hmmwv_hood.rvmat",
"ca\wheeled\data\hmmwv_hood_destruct.rvmat",
"ca\wheeled\data\hmmwv_details.rvmat",
"ca\wheeled\data\hmmwv_details.rvmat",
"ca\wheeled\data\hmmwv_details_destruct.rvmat",
"ca\wheeled\data\hmmwv_body.rvmat",
"ca\wheeled\data\hmmwv_body.rvmat",
"ca\wheeled\data\hmmwv_body_destruct.rvmat",
"ca\weapons\data\m2.rvmat",
"ca\weapons\data\m2.rvmat",
"ca\weapons\data\m2_destruct.rvmat",
"ca\tracked\data\detailmapy\m1abrams_mg_mount.rvmat",
"ca\tracked\data\detailmapy\m1abrams_mg_mount.rvmat",
"ca\tracked\data\detailmapy\m1abrams_mg_mount_destr uct.rvmat",
"ca\wheeled\data\hmmwv_clocks.rvmat",
"ca\wheeled\data\hmmwv_clocks.rvmat",
"ca\wheeled\data\hmmwv_clocks_destruct.rvmat"
};
};
};

};

class CfgDestroy
{
access = ReadAndCreate;
class EngineHit
{
sound[]={\ca\wheeled\Data\Sound\fuel_explosion,db20,1};
};
};
class CfgNonAIVehicles
{
class ProxyFlag;
class ProxyWeapon;

class ProxyFlag_Auto: ProxyFlag {model = "\ca\wheeled\flag_auto";}
class ProxyFlag_Alone: ProxyFlag {model = "\ca\wheeled\flag_Alone";}
};

modEmMaik
29.07.2008, 11:33
Guck doch mal in meinen M1Abrams rein. Da ist der xeh-Init auch drin. Ich glaube, dass beim xeh-Init, das Objekt selber nicht _this ist, sondern (_this select 0). Xeh gibt glaube ich einen Array weiter, in dem die Einzelelemente liegen.

Im weiteren musst Du noch Xeh in die required Addons stecken und bei ECS-Verwendung muss das Themis mitgeladen werden, sonst laufen die Eventhandlers ins Nirvana...

Clawhammer
29.07.2008, 13:21
So hab die event handlers in den req. addons dazugepackt und aus _this (_this select 0) gemacht allerdings läuft das alles noch ins leere was fehlt noch?

Aja ECS wird nicht benutzt.


#include "basicdefines.hpp"
#include "CrewAnimations.hpp"

class CfgPatches
{
class CAWheeled
{
units[] =
{
"HAP_SF_HMMWV50"
};
weapons[] = {};
requiredVersion = 0.10;
requiredAddons[] = {
CAData,CACharacters,CAWeapons,CASounds,CA_Anims_Ch ar,
CAweapons3_aks74pso,CAweapons3_ksvk,CAweapons3_m10 7, Extended_EventHandlers
};
};
};

class EXtended_Init_EventHandlers {
class HAP_SF_Hummer {
HAP_SF_Hummer_Init = "(_this select 0) AddAction [""SmokeScreen"",""Scripts\SmokeScreen.sqs""]";
};
};

#define mag_xx(a,b) class _xx_##a {magazine = a; count = b;}
#define weap_xx(a,b) class _xx_##a {weapon = a; count = b;}

#define DefaultWestMagazines(x) \
class TransportMagazines \
{ \
mag_xx(30Rnd_556x45_Stanag,30*x); \
mag_xx(200Rnd_556x45_M249,5*x); \
mag_xx(HandGrenadeTimed,10*x); \
mag_xx(5Rnd_762x51_M24,10*x); \
mag_xx(15rnd_9x19_M9,15*x); \
mag_xx(10Rnd_127x99_m107,10*x); \
mag_xx(M136,3*x); \
mag_xx(1Rnd_HE_M203,3*x); \
mag_xx(FlareWhite_M203,3*x); \
mag_xx(FlareGreen_M203,3*x); \
mag_xx(FlareRed_M203,3*x); \
mag_xx(FlareYellow_M203,3*x); \
mag_xx(SmokeShell,3*x); \
mag_xx(SmokeShellRed,3*x); \
mag_xx(SmokeShellGreen,3*x); \
};
#define DefaultEastMagazines(x) \
class TransportMagazines \
{ \
mag_xx(30Rnd_545x39_AK,30*x); \
mag_xx(100Rnd_762x54_PK,5*x); \
mag_xx(8Rnd_9x18_Makarov,20*x); \
mag_xx(HandGrenade,10*x); \
mag_xx(10Rnd_762x54_SVD,10*x); \
mag_xx(5Rnd_127x108_KSVK,10*x); \
mag_xx(PG7VR,3*x); \
mag_xx(1Rnd_HE_GP25,3*x); \
mag_xx(FlareWhite_GP25,3*x); \
mag_xx(FlareGreen_GP25,3*x); \
mag_xx(FlareRed_GP25,3*x); \
mag_xx(FlareYellow_GP25,3*x); \
mag_xx(SmokeShell,3*x); \
mag_xx(SmokeShellRed,3*x); \
mag_xx(SmokeShellGreen,3*x); \
};
class CfgVehicles
{
class Land;
class LandVehicle : Land
{
class NewTurret;
class ViewPilot;
};
class Car: LandVehicle
{
// class PlateInfos {name="spz"; /*font<=fontPlate;*/ color[]={0,0,0,0.75};}
class HitEngine {armor=0.4;material=60;name="motor";visual="motor";passThrough=1;};

class HitRGlass {armor=0.3;material=-1;name="sklo predni P";passThrough=0;};
class HitLGlass {armor=0.3;material=-1;name="sklo predni L";passThrough=0;};

class HitBody {armor=1;material=51;name="NEkaroserie";visual="karoserie";passThrough=1;}; //disabled points from models
class HitFuel {armor=0.3;material=51;name="palivo";passThrough=1;};

class HitLFWheel {armor=0.15;material=-1;name="Levy predni tlumic";visual="Levy predni";passThrough=0;};
class HitRFWheel {armor=0.15;material=-1;name="Pravy predni tlumic";visual="Pravy predni";passThrough=0;};

class HitLF2Wheel {armor=0.15;material=-1;name="Levy dalsi tlumic";visual="Levy dalsi";passThrough=0;};
class HitRF2Wheel {armor=0.15;material=-1;name="Pravy dalsi tlumic";visual="Pravy dalsi";passThrough=0;};

class HitLMWheel {armor=0.15;material=-1;name="Levy prostredni tlumic";visual="Levy prostredni";passThrough=0;};
class HitRMWheel {armor=0.15;material=-1;name="Pravy prostredni tlumic";visual="Pravy prostredni";passThrough=0;};

class HitLBWheel {armor=0.15;material=-1;name="Levy zadni tlumic";visual="Levy zadni";passThrough=0;};
class HitRBWheel {armor=0.15;material=-1;name="Pravy zadni tlumic";visual="Pravy zadni";passThrough=0;};

dammageHalf[]=
{
"\ca\wheeled\data\jepp4x4_glass.paa","\ca\wheeled\data\jepp4x4_glassB.paa",
"\ca\wheeled\data\jeep_kab_sklo1.paa","\ca\wheeled\data\jeep_kab_sklo1B.paa",
"\ca\wheeled\data\jeep_kab_sklo2.paa","\ca\wheeled\data\jeep_kab_sklo2B.paa",
"\ca\wheeled\data\scud_sklo.paa","\ca\wheeled\data\scud_skloB.paa",
"\ca\wheeled\data\scud_sklo2.paa","\ca\wheeled\data\scud_sklo2B.paa",
"\ca\wheeled\data\scud_sklo3.paa","\ca\wheeled\data\scud_sklo3B.paa",
"\ca\wheeled\data\scud_sklo4.paa","\ca\wheeled\data\scud_sklo4B.paa"
};
dammageFull[]=
{
"\ca\wheeled\data\jepp4x4_glass.paa","\ca\wheeled\data\jepp4x4_glassB.paa",
"\ca\wheeled\data\jeep_kab_sklo1.paa","\ca\wheeled\data\jeep_kab_sklo1B.paa",
"\ca\wheeled\data\jeep_kab_sklo2.paa","\ca\wheeled\data\jeep_kab_sklo2B.paa",
"\ca\wheeled\data\scud_sklo.paa","\ca\wheeled\data\scud_skloB.paa",
"\ca\wheeled\data\scud_sklo2.paa","\ca\wheeled\data\scud_sklo2B.paa",
"\ca\wheeled\data\scud_sklo3.paa","\ca\wheeled\data\scud_sklo3B.paa",
"\ca\wheeled\data\scud_sklo4.paa","\ca\wheeled\data\scud_sklo4B.paa"
};
getInAction = GetInMedium;
getOutAction = GetOutMedium;
weapons[]={CarHorn};
hasGunner = 0;
gunnerHasFlares = false;
class Turrets
{
class MainTurret : NewTurret
{
outGunnerMayFire = 1;
memoryPointGun = "machinegun";
body = "";
gun = "";
gunnerAction = "ManActTestDriverOut";
gunBeg = "usti hlavne"; //gunBeg = endpoint of the gun
gunEnd = "konec hlavne"; //gunEnd = chamber of the gun
soundServo[]={\ca\wheeled\Data\Sound\servo3, db-50, 1.0};
minElev = -5; maxElev = +40;
minTurn = -360; maxTurn = +360;
gunnerOpticsModel = "\ca\weapons\optika_empty";
hasGunner= 0;
gunnerForceOptics = 0;
startEngine = 0;
class HitTurret {armor=0.8;material=51;name="vez";visual="vez";passThrough=0;};
class HitGun {armor=0.4;material=52;name="zbran";visual="zbran";passThrough=0;};
castGunnerShadow = false;
class ViewOptics
{
initAngleX=0; minAngleX=-30; maxAngleX=+30;
initAngleY=0; minAngleY=-100; maxAngleY=+100;
initFov=0.42; minFov=0.22; maxFov=0.64;
};
class ViewGunner
{
initAngleX=5; minAngleX=-30; maxAngleX=+30;
initAngleY=0; minAngleY=0; maxAngleY=0;
initFov=0.42; minFov=0.22; maxFov=0.95;
};
};
};
soundEngine[] = {"\ca\wheeled\Data\Sound\mediumcar", db-60, 2.0};
soundEnviron[] = {"\ca\wheeled\Data\Sound\noise", db-65, 0.25};
soundCrash[] = {"\ca\wheeled\Data\Sound\crash2", db-10, 1};
soundGear[] = {"\ca\wheeled\Data\Sound\shifter_v3", db-75, 1};
supplyRadius = 1.2;
driverAction = "ManActTestDriver";
cargoAction[]= {"ManActTestDriver"};
hideUnitInfo=false;
class Exhausts;
castDriverShadow = false;
castCargoShadow = false;
};
class Truck: Car
{
nameSound="truck";
supplyRadius = 2.5;
threat[]={0.0, 0.0, 0.0};
};

//west cars

class HMMWV50: Car
{
scope = public;

Model = "\ca\wheeled\HMMWV50";
Picture="\Ca\wheeled\data\ico\HMMWV50_CA.paa";
Icon="\Ca\wheeled\data\map_ico\icomap_hmwv50_CA.paa";
mapSize = 8;
displayName = $STR_DN_HMMWV50;
side = TWest;
crew= SoldierWB;
nameSound="humvee";

weapons[]={};
magazines[]={};

armor = 40;
damageResistance = 0.00562;

enableGPS = true;

type=VArmor;
cost=100000;

armorGlass=0.5;
armorWheels=0.1;
soundEngine[]={\ca\wheeled\Data\Sound\Humvee_Loop2,db0,0.7};
soundGetIn[]={\ca\wheeled\Data\Sound\Humvee_doors,db-20,1};
soundGetOut[]={\ca\wheeled\Data\Sound\Humvee_doors,db-20,1};
soundGear[]={\ca\wheeled\Data\Sound\shifter_v3,db-90,1};
soundServo[]={\ca\wheeled\Data\Sound\servo3, db-40, 1.0};
typicalCargo[]={SoldierWB, SoldierWB, SoldierWAT, SoldierWBOfficer};
transportSoldier = 3; //driver, gunner + 3 cargo
class Library {libTextDesc = $STR_LIB_HMMWV;};

hasGunner = true;
castDriverShadow = false;
driverIsCommander = true;
driverAction = HMMWV_Driver;
cargoAction[] = {HMMWV_Cargo01,HMMWV_Cargo01,UAZ_Cargo01};

canLock = LockNo;

unitInfoType = UnitInfoShip;

threat[]={1, 0.1, 0.4};
class AnimationSources
{
class belt_rotation
{
source="reload";
weapon="M2";
};
};
class Turrets: Turrets
{
class MainTurret : MainTurret
{
body = "mainTurret";
gun = "mainGun";
hasGunner= 1;
weapons[] = {M2};
magazines[] = {100Rnd_127x99_M2,100Rnd_127x99_M2,100Rnd_127x99_M 2,100Rnd_127x99_M2,100Rnd_127x99_M2,100Rnd_127x99_ M2};
soundServo[]={\ca\wheeled\Data\Sound\servo3, db-75, 0.9};
minElev = -25; maxElev = +60;
gunnerAction = HMMWV_Gunner01;
// used for sound occlusions as well
viewGunnerInExternal=true;
castGunnerShadow = 1;
};
};
class HitLFWheel {armor=0.38;material=-1;name="Levy predni tlumic";visual="Levy predni";passThrough=0;};
class HitRFWheel {armor=0.38;material=-1;name="Pravy predni tlumic";visual="Pravy predni";passThrough=0;};

class HitLBWheel {armor=0.38;material=-1;name="Levy zadni tlumic";visual="Levy zadni";passThrough=0;};
class HitRBWheel {armor=0.38;material=-1;name="Pravy zadni tlumic";visual="Pravy zadni";passThrough=0;};

dammageHalf[] =
{
"\ca\wheeled\data\HMMWV_glass_CA.paa","\ca\wheeled\data\HMMWV_glassbr1_CA.paa",
"\ca\wheeled\data\HMMWV_glass_CA.paa","\ca\wheeled\data\HMMWV_glassbr1_CA.paa"
};
dammageFull[] =
{
"\ca\wheeled\data\HMMWV_glass_CA.paa","\ca\wheeled\data\HMMWV_glassbr2_CA.paa",
"\ca\wheeled\data\HMMWV_glass_CA.paa","\ca\wheeled\data\HMMWV_glassbr2_CA.paa"
};
class Damage
{
tex[]={};
mat[]={
"ca\wheeled\data\hmmwv_regular_1.rvmat",
"ca\wheeled\data\hmmwv_regular_1.rvmat",
"ca\wheeled\data\hmmwv_regular_1_destruct.rvmat",
"ca\wheeled\data\hmmwv_hood.rvmat",
"ca\wheeled\data\hmmwv_hood.rvmat",
"ca\wheeled\data\hmmwv_hood_destruct.rvmat",
"ca\wheeled\data\hmmwv_details.rvmat",
"ca\wheeled\data\hmmwv_details.rvmat",
"ca\wheeled\data\hmmwv_details_destruct.rvmat",
"ca\wheeled\data\hmmwv_body.rvmat",
"ca\wheeled\data\hmmwv_body.rvmat",
"ca\wheeled\data\hmmwv_body_destruct.rvmat",
"ca\weapons\data\m2.rvmat",
"ca\weapons\data\m2.rvmat",
"ca\weapons\data\m2_destruct.rvmat",
"ca\tracked\data\detailmapy\m1abrams_mg_mount.rvmat",
"ca\tracked\data\detailmapy\m1abrams_mg_mount.rvmat",
"ca\tracked\data\detailmapy\m1abrams_mg_mount_destr uct.rvmat",
"ca\wheeled\data\hmmwv_clocks.rvmat",
"ca\wheeled\data\hmmwv_clocks.rvmat",
"ca\wheeled\data\hmmwv_clocks_destruct.rvmat"
};
};
};

class HAP_SF_HMMWV50: HMMWV50
{
scope = public;

Model = "\HAP_SF_Hummer\HAP_SF_HMMWV";
Picture="\Ca\wheeled\data\ico\HMMWV50_CA.paa";
Icon="\Ca\wheeled\data\map_ico\icomap_hmwv50_CA.paa";
mapSize = 8;
displayName = "SF HMMWV";
side = TWest;
crew= SoldierWSaboteurAssault;
nameSound="humvee";

weapons[]={};
magazines[]={};

armor = 40;
damageResistance = 0.00562;

enableGPS = true;

type=VArmor;
cost=100000;

armorGlass=0.5;
armorWheels=0.1;
soundEngine[]={\ca\wheeled\Data\Sound\Humvee_Loop2,db0,0.7};
soundGetIn[]={\ca\wheeled\Data\Sound\Humvee_doors,db-20,1};
soundGetOut[]={\ca\wheeled\Data\Sound\Humvee_doors,db-20,1};
soundGear[]={\ca\wheeled\Data\Sound\shifter_v3,db-90,1};
soundServo[]={\ca\wheeled\Data\Sound\servo3, db-40, 1.0};
typicalCargo[]={SoldierWB, SoldierWB, SoldierWAT, SoldierWBOfficer};
transportSoldier = 3; //driver, gunner + 3 cargo
class Library {libTextDesc = $STR_LIB_HMMWV;};

transportMaxMagazines=150;
transportMaxWeapons=30;
class TransportWeapons
{
class _xx_Laserdesignator
{
weapon = "Laserdesignator";
count = 1;
};
class _xx_M136
{
weapon = "M136";
count = 2;
};
class _xx_NVGoggles
{
weapon = "NVGoggles";
count = 4;
};
class _xx_Binocular
{
weapon = "Binocular";
count = 1;
};
class _xx_Javelin
{
weapon = "Javelin";
count = 1;
};
};
class TransportMagazines
{
class _xx_30Rnd_556x45_Stanag
{
magazine = "30Rnd_556x45_Stanag";
count = "30*1";
};
class _xx_200Rnd_556x45_M249
{
magazine = "200Rnd_556x45_M249";
count = "5*1";
};
class _xx_HandGrenadeTimed
{
magazine = "HandGrenadeTimed";
count = "10*1";
};
class _xx_100Rnd_762x51_M240
{
magazine = "100Rnd_762x51_M240";
count = "10*1";
};
class _xx_M136
{
magazine = "M136";
count = "6*1";
};
class _xx_1Rnd_HE_M203
{
magazine = "1Rnd_HE_M203";
count = "4*1";
};
class _xx_Laserbatteries
{
magazine = "Laserbatteries";
count = "1*1";
};
class _xx_OPK_Pipebomb
{
magazine = "Pipebomb";
count = "4*1";
};
class _xx_Javelin
{
magazine = "Javelin";
count = "2*1";
};
};


hasGunner = true;
castDriverShadow = false;
driverIsCommander = true;
driverAction = HMMWV_Driver;
cargoAction[] = {HMMWV_Cargo01,HMMWV_Cargo01,UAZ_Cargo01};

canLock = LockNo;

unitInfoType = UnitInfoShip;

threat[]={1, 0.1, 0.4};
class AnimationSources
{
class belt_rotation
{
source="reload";
weapon="M2";
};
};
class Turrets: Turrets
{
class MainTurret : MainTurret
{
body = "mainTurret";
gun = "mainGun";
hasGunner= 1;
weapons[] = {M2};
magazines[] = {100Rnd_127x99_M2,100Rnd_127x99_M2,100Rnd_127x99_M 2,100Rnd_127x99_M2,100Rnd_127x99_M2,100Rnd_127x99_ M2,100Rnd_127x99_M2,100Rnd_127x99_M2,100Rnd_127x99 _M2,100Rnd_127x99_M2};
soundServo[]={\ca\wheeled\Data\Sound\servo3, db-75, 0.9};
minElev = -25; maxElev = +60;
gunnerAction = HMMWV_Gunner01;
// used for sound occlusions as well
viewGunnerInExternal=true;
castGunnerShadow = 1;
};
};
class HitLFWheel {armor=0.38;material=-1;name="Levy predni tlumic";visual="Levy predni";passThrough=0;};
class HitRFWheel {armor=0.38;material=-1;name="Pravy predni tlumic";visual="Pravy predni";passThrough=0;};

class HitLBWheel {armor=0.38;material=-1;name="Levy zadni tlumic";visual="Levy zadni";passThrough=0;};
class HitRBWheel {armor=0.38;material=-1;name="Pravy zadni tlumic";visual="Pravy zadni";passThrough=0;};

dammageHalf[] =
{
"\ca\wheeled\data\HMMWV_glass_CA.paa","\ca\wheeled\data\HMMWV_glassbr1_CA.paa",
"\ca\wheeled\data\HMMWV_glass_CA.paa","\ca\wheeled\data\HMMWV_glassbr1_CA.paa"
};
dammageFull[] =
{
"\ca\wheeled\data\HMMWV_glass_CA.paa","\ca\wheeled\data\HMMWV_glassbr2_CA.paa",
"\ca\wheeled\data\HMMWV_glass_CA.paa","\ca\wheeled\data\HMMWV_glassbr2_CA.paa"
};
class Damage
{
tex[]={};
mat[]={
"ca\wheeled\data\hmmwv_regular_1.rvmat",
"ca\wheeled\data\hmmwv_regular_1.rvmat",
"ca\wheeled\data\hmmwv_regular_1_destruct.rvmat",
"ca\wheeled\data\hmmwv_hood.rvmat",
"ca\wheeled\data\hmmwv_hood.rvmat",
"ca\wheeled\data\hmmwv_hood_destruct.rvmat",
"ca\wheeled\data\hmmwv_details.rvmat",
"ca\wheeled\data\hmmwv_details.rvmat",
"ca\wheeled\data\hmmwv_details_destruct.rvmat",
"ca\wheeled\data\hmmwv_body.rvmat",
"ca\wheeled\data\hmmwv_body.rvmat",
"ca\wheeled\data\hmmwv_body_destruct.rvmat",
"ca\weapons\data\m2.rvmat",
"ca\weapons\data\m2.rvmat",
"ca\weapons\data\m2_destruct.rvmat",
"ca\tracked\data\detailmapy\m1abrams_mg_mount.rvmat",
"ca\tracked\data\detailmapy\m1abrams_mg_mount.rvmat",
"ca\tracked\data\detailmapy\m1abrams_mg_mount_destr uct.rvmat",
"ca\wheeled\data\hmmwv_clocks.rvmat",
"ca\wheeled\data\hmmwv_clocks.rvmat",
"ca\wheeled\data\hmmwv_clocks_destruct.rvmat"
};
};
};

};

class CfgDestroy
{
access = ReadAndCreate;
class EngineHit
{
sound[]={\ca\wheeled\Data\Sound\fuel_explosion,db20,1};
};
};
class CfgNonAIVehicles
{
class ProxyFlag;
class ProxyWeapon;

class ProxyFlag_Auto: ProxyFlag {model = "\ca\wheeled\flag_auto";}
class ProxyFlag_Alone: ProxyFlag {model = "\ca\wheeled\flag_Alone";}
};


Danke soweit schonmal :)

modEmMaik
29.07.2008, 13:53
Probier mal, dass Du eine Meldung mit reincodest, sollte im M1Abrams-Skript und im ECS-Tracers drin sein, wei man das macht, aber wsl. auskommentiert (im ECS-Tracers wohl nicht, der meldet, wenn die tracers aktiv sind).

Damit kannst Du feststellen, ob die eventhandlers überhaupt gerufen werden. Dann kannst Du auch mal den (_this select o) ausgeben. Korrekt sollte die Meldung dann dass entsprechende P3D-File enthalten (so was habe ich bis jetzt bei meinen Tanks gesehen).

SmartGun
29.07.2008, 14:51
Hoi!

stimmt der pfad auch genau?

"_this AddAction [""SmokeScreen"",""Scripts\SmokeScreen.sqs""]";


"_this AddAction [""SmokeScreen"",""???\Scripts\SmokeScreen.sqs""]";

Clawhammer
29.07.2008, 16:44
shit übersehen aber ob ich jetzt:

class EXtended_Init_EventHandlers {
class HAP_SF_Hummer {
HAP_SF_Hummer_Init = "(_this select 0) AddAction [""SmokeScreen"",""HAP_SF_Hummer\Scripts\SmokeScreen.sqs""]";
};
};


oder

class EXtended_Init_EventHandlers {
class HAP_SF_Hummer {
HAP_SF_Hummer_Init = "_this AddAction [""SmokeScreen"",""HAP_SF_Hummer\Scripts\SmokeScreen.sqs""]";
};
};


mache beides hilft nicht viel weiter :/

modEmMaik
29.07.2008, 18:45
desswegen setze mal so was rein:
player globalchat "init done";Bsp. aus den Smurftracers:
class CfgPatches {

class smurftracers_001 {
units[] = {""};
weapons[] = {};
requiredVersion = 0.108000;
requiredAddons[] = {"Extended_EventHandlers", "cent_tracer"};
};
};

class Extended_Init_EventHandlers {
class All {
smurftracers_001init = "if (isNil 'smurftracers_001xxx') then {smurftracers_001xxx=1; [] execVM ""\smurfctracers\inittracers.sqf"";}";
};
};CENT_SETT_TRACERSETTING = 5;
CENT_SETT_RICO = 1;
CENT_SETT_TRACER = 1;
CENT_SETT_SIZEMOD = 2;

CENT_AUTO=true; // Enable loop
CENT_REFRESH=30; // Sleep time
CENT_PATH="\cent_tracer\"; // Path to take the script from, change to "" if you have the script inside your mission folder
[] execVM (CENT_PATH+"cent_tracer-Init.sqf");
player globalchat "Tracer init done";

:edit: hab grad im Abrams gesehen, dass bei den xeh das Objekt anscheinend nochmal verschachtelt ist. musst Du also ((_this select 0) select 0) nehmen...

bsp. M1Abrams:
config.cpp
class Extended_Init_EventHandlers
{
class smurfCM1Abrams { init = "if ((_this select 0)==(_this select 0)) then {[_this select 0, ""Green""] execVM ""\smurfCM1Abrams\textures.sqf""};"; };
class smurfCM1A1 { init = "if ((_this select 0)==(_this select 0)) then {[_this select 0, ""Green""] execVM ""\smurfCM1Abrams\textures.sqf""};"; };
};
textures.sqf
_tex = _this select 0;

switch (_this select 1) do
{
case "Green":
{
_tex setObjectTexture [0,"\smurfCM1Abrams\data\m1abrams_01_co.paa"];
...

SmartGun
29.07.2008, 18:46
ich denk es gibt 2 möglichkeiten:

1.
den actionmenueintrag unter "class UserActions" einbauen

2.
per init ein script starten, welches den actionmenueintrag hinzufügt

aber vllt. geht ja auch folgendes:



class EXtended_Init_EventHandlers {
class HAP_SF_Hummer {
HAP_SF_Hummer_Init = "[] AddAction [""SmokeScreen"",""HAP_SF_Hummer\Scripts\SmokeScreen.sqs""]";
};
};

Clawhammer
29.07.2008, 19:41
@SmartGun Ne das hilft leider auch nicht :/

Wie spreche ich den Jeep den an wenn cih ein anderes script starte damit das dann den action menu eintrag reinhaut?
Und wie sähe die Class UserActions Methode aus?

@modEmMaik teste ebend was du schreibst...

SmartGun
30.07.2008, 01:27
hier ist ein beispiel für class UserActions

class AH1W : Helicopter {

scope = 2;

class UserActions
{
class Display_Music_Radio
{
displayName=$STR_RADIO;
OnlyForPlayer=true;
position="window";
default = false;
radius=20;
condition="vehicle player == this";
statement="this exec ""\tob_musicradio_data\scripts\start.sqs"";"
};


};


};
mit der 2. möglichkeit meinte ich das was modEmMaik schon geschrieben hat.
hab nur net gesehn, weil wir gleichzeitig gepostet haben^^

mit xeh kenn ich mich leiden net aus aber vllt. hilft ja das weiter

class EXtended_Init_EventHandlers {
class HAP_SF_Hummer {
HAP_SF_Hummer_Init = "[] exec ""HAP_SF_Hummer\Scripts\init.sqs""";
};
};init.sqs

_car = _this select ?;

_addsmoke = _car addAction ["SmokeScreen", "HAP_SF_Hummer\Scripts\SmokeScreen.sqs"];
weiss net ob´s funktioniert und ist halt umständlich...

Clawhammer
30.07.2008, 16:39
Ah es lebt!!!

Riese dank :)