1. Beides
2. Man kann es 3x benutzen sprich 3x boosts.
3. Scripte mehrere Ausführungen dann gehts ja
Schön, dass du den Weg zu NodeZone.net gefunden hast! Aktuell bist du nicht angemeldet und kannst deshalb nur eingeschränkt auf unsere Community zugreifen. Um alle Funktionen freizuschalten, spannende Inhalte zu entdecken und dich aktiv einzubringen, registriere dich jetzt kostenlos oder melde dich mit deinem Account an.
1. Beides
2. Man kann es 3x benutzen sprich 3x boosts.
3. Scripte mehrere Ausführungen dann gehts ja
Wenn du die Animation kennst :
Schranke :
//Ö Key
case 39: {
if(life_inv_keycard > 0) then { // oder license_cop_air oder oder oder
{
if (_x animationPhase "Door_1_rot" == 1) then {
_x animate ["Door_1_rot", 0];
}
else
{
_x animate ["Door_1_rot", 1];
};
} forEach (nearestObjects [player, ["Land_BarGate_F"], 25]); //25 bedeutet ab einer nähe von 25 Metern zur Schranke, kann belibig geändert werden
};
};
Alles anzeigen
Im endeffekt schmeißt du ein paar "komische" Effekte und machst camshake an und da haste dein Script xD
Ich möchte gerne ein eigenes Script erstellen!
Wieso Passwort? Einfach komplett raus den infiStar-Troll-Schrott.... Zieht einige an Performance unnötig we
Habe mich nie mit Infistar beschäftigt, dachte das wäre voll der krasse Antihack :o
Passwort in dem Fall damit kein hacker in der testphase kommt aber wenns eh schrott is
hau infistar mal runter und mach nen passwort für stammspieler rein ein tag und teste
Er hat schon recht das die Zivs eine Nachricht bekommen. Deshalb habe ich den Vorschlag ja mit dem Dispatch gemacht gehabt.
Hatte das Problem auch, allerdings konnte ich es nicht wirklich fixen.
Falls euch 3 Nitroboosts zu wenig sind, einfach im Ersten Script die Zahl "3" x beliebig umstellen. Sollte klappen
Ja hatte vergessen was dazu zu schreiben hatte das direkt aus der Mission.sqm genommen dort werden " immer doppelt
Aber deshalb ja Schwierigkeit 2 xD
Hallo,
Hier ein kleineres Script.
Man kauft ein Nitroboost (iTem) und klebt diesen an das Auto fand ich so etwas besser und simpler.
Das anklebscript is von mir geschrieben und das Boostscript da habe ich leider keinen Plan evtl meldet sich ja mal jemand.
Erstellen wir das Erste Script :
fn_nos.sqf
/*
Author : Brizi Jaeger
Created : 17.03.2017
File : fn_nos.sqf
Description : Klebt nen Kistenschlüssel an die Kiste!
*/
private ["_action"];
#include "..\script_macros.hpp"
if (life_action_inUse) exitWith {};
if(!(vehicle player == player)) exitWith {hint format["Steige aus dem Fahrzeug aus! (%1)",name player]};
_unit = cursorTarget;
if (count (_unit getVariable ["vehicle_info_owners", []]) < 1 || !(_unit isKindOf "Car")) exitWith {hint "Du kannst hier kein NoS einbauen.";};
life_action_inUse = true;
_action = [
format ["Nitro einbauen?"],
"Fahrzeuginteraktionsmenü",
localize "STR_Global_Yes",
localize "STR_Global_No"
] call BIS_fnc_guiMessage;
if (_action) then {
[false,"nitro",1] call life_fnc_handleinv;
hint "Nitrochip wird angeklebt...";
player playMove "AwopPercMstpSgthWnonDnon_throw";
sleep 3;
_unit setVariable["nitro",3,true];
hint "Dir stehen 3x Nitrobooster zur Verfügung!";
life_action_inUse = false;
} else {
hint "Nitro ist nicht das beste!";
closeDialog 0;
life_action_inUse = false;
};
Alles anzeigen
2. Als Zweites : fn_boostNitro.sqf erstellen
_vehicle = vehicle player;
if (_vehicle == player) exitWith {};
if (driver _vehicle != player) exitWith {};
if ((_vehicle getVariable ["nitro",0]) < 1) exitWith {};
if ((speed _vehicle) <= 10) exitWith {hint "Du musst schneller als 10km/h fahren um dein Nitro aktivieren zu können!"};
_vehicle setVariable["nitro",((_vehicle getVariable["nitro",0]) - 1),true];
_vehicle setVariable["nitroTime", time, false];
systemChat format ["Nitro aktiviert."];
_vel = velocity _vehicle;
_dir = direction _vehicle;
_speed = 20; //how much you want to add speed for the vehicle
_vehicle setVelocity [(_vel select 0)+(sin _dir*_speed),(_vel select 1)+ (cos _dir*_speed),(_vel select 2)];
Alles anzeigen
Als Drittes : in die Functions schreiben , aber in den Ordner wo Ihr das Script au rein packt (z.B file = "core\functions\;) dann in den functions ordner
4. Neues iTem erstellen und in den jeweiligen gewünschten Shop eintragen :
class nitro { variable = "nitro"; displayName = "nitro"; weight = 2; buyPrice = 50000; sellPrice = -1; illegal = false; edible = -1; icon = ""; };
5. Stringtable noch eintragen :
6. SetupActions öffnen [core Ordner] den Code in jede Fraktion wie gewünscht eintragen
life_actions pushBack [player addAction["<t color='#00FF00'>Nitro aktivieren</t>",life_fnc_boostNitro,false,2,false,false,"",' (vehicle player != player) && (driver vehicle player == player) && (((vehicle player) getVariable["nitro", 0]) > 0) ']];
7. in die usteitem noch das eintragen (core\pmenu\useitem)
Ansonsten dürfte es das gewesen sein, entschuldigt mich für das bissl Unordnung sollte aber dennoch verständlich sein.
Wer Probleme hat einfach unten melden!
MfG
Hallo Native-Network Community,
heute veröffentliche ich ein Script das diesen Sinn hat :
Man kann an jeden Friedhof gehen, kann mit einer Schaufel Sachen Ausgraben (Unbekannt) geht diese dann bei der Archäologie verarbeiten, und dann nochmal verarbeiten um das Endprodukt zu bekommen.
Man kann das iTem entweder beim normalen Verkäufer wie (z.B Eisen oder Diamantehändler) oder man verkauft es beim Pfandhaus dort bekommt man dann einige Quittung. Das iTem an sich Speichert nicht also Blutdiamant, Silberschmuck aber wenn man es beim Pfandhaus verkauft bekommt man eine Quittung diese Speichert der Server und man kann später für das gleiche Geld je nach Konfiguration das iTem zurück kaufen um falls der Preis am Händler gestiegen ist dort weiter zu verkaufen.
Autor :
Brizi Jaeger
Ihr könnt es frei verändern, aber nicht in anderen Foren ohne Erlaubnis veröffentlichen. Danke
Das Script is ganz Simple geschrieben dennoch sollte es einwandfrei funktionieren.
Ihr müsst evtl noch paar Stringtable Codes selber einfügen wie STR_License_ oder Process...
Video :
Konnte es nur so verlinken falls Probleme melden!
Video (YT Link)
Tutorial :
1. iTems erstellen und in die jeweiligen Händler eintragen wie gewünscht (blutdiamanten,silberschmuck) :
class ausgrabungitem { variable = "ausgrabungitem"; displayName = "ausgrabungitem"; weight = 4; buyPrice = -1; sellPrice = -1; illegal = false; edible = -1; icon = ""; };
class schaufel { variable = "schaufel"; displayName = "schaufel"; weight = 4; buyPrice = 1509; sellPrice = -1; illegal = false; edible = -1; icon = ""; };
class fundstuck { variable = "fundstuck"; displayName = "fundstuck"; weight = 3; buyPrice = -1; sellPrice = -1; illegal = false; edible = -1; icon = ""; };
class blutdiamanten { variable = "blutdiamanten"; displayName = "blutdiamanten"; weight = 2; buyPrice = -1; sellPrice = 4200; illegal = false; edible = -1; icon = ""; };
class schadel { variable = "schadel"; displayName = "schadel"; weight = 3; buyPrice = -1; sellPrice = -1; illegal = false; edible = -1; icon = ""; };
class blutdiamantenquittung { variable = "blutdiamantenquittung"; displayName = "blutdiamantenquittung"; weight = 2; buyPrice = -1; sellPrice = -1; illegal = false; edible = -1; icon = ""; };
class silberschmuck { variable = "silberschmuck"; displayName = "silberschmuck"; weight = 2; buyPrice = -1; sellPrice = 3300; illegal = false; edible = -1; icon = ""; };
class silberschmuckquittung { variable = "silberschmuckquittung"; displayName = "silberschmuckquittung"; weight = 2; buyPrice = -1; sellPrice = -1; illegal = false; edible = -1; icon = ""; };
Stringtable :
<Key ID="ausgrabungitem">
<Original>Ausgrabung (Unbekannt)</Original>
</Key>
<Key ID="fundstuck">
<Original>Fundstück</Original>
</Key>
<Key ID="schaufel"> <Original>Schaufel</Original> </Key>
<Key ID="schadel"> <Original>Schädel</Original> </Key>
<Key ID="silberschmuckquittung"> <Original>Quitting (Silberschmuck)</Original> </Key>
<Key ID="silberschmuck"> <Original>Silberschmuck</Original> </Key>
<Key ID="blutdiamanten"> <Original>Blutdiamant/en</Original> </Key>
<Key ID="blutdiamantenquittung"> <Original>Quittung (Blutdiamanten)</Original> </Key>
Alles anzeigen
Functions :
class Pfandhaus {
file = "scripts\pfandhaus";
class blutdiamantsell {};
class fundstuckegrab {};
class quittungblutdiamant {};
class schadelsell {};
class silberschmucksell {};
class quittungsilberschmuck {};
class pfandhaushelp {};
class fundstuckwaschen {};
class createDialog {};
};
Alles anzeigen
NPC INIT :
Den Dialog includen :
Masterhandler :
Verarbeitungsinit :
this addAction["Fundstücke waschen",life_fnc_processAction,"ausgrabung",0,false,false,"",' life_inv_ausgrabungitem > 0 && !life_is_processing && !life_action_inUse']; this addAction[format["%1 ($%2)",localize (getText(missionConfigFile >> "Licenses" >> "ausgrabung" >> "displayName")), [(getNumber(missionConfigFile >> "Licenses" >> "ausgrabung" >> "price"))] call life_fnc_numberText],life_fnc_buyLicense,"ausgrabung",0,false,false,"",' !license_civ_ausgrabung && playerSide isEqualTo civilian '];
2. Verarbeitungsinit :
Config Process :
class ausgrabung {
MaterialsReq[] = {{"ausgrabungitem",1}};
MaterialsGive[] = {{"fundstuck",1}};
Text = "STR_Process_ausgrabung";
NoLicenseCost = 2000;
};
Config Gather : (Ihr müsst die leeren marker aber trotzdem an jedem Friedhof erstellen)
class ausgrabung {
amount = 2;
zones[] = { "farming_friedhof", "farming_friedhof_1", "farming_friedhof_2", "farming_friedhof_3", "farming_friedhof_4", "farming_friedhof_5", "farming_friedhof_6", "farming_friedhof_7", "farming_friedhof_8", "farming_friedhof_9", "farming_friedhof_10", "farming_friedhof_11", "farming_friedhof_12", "farming_friedhof_13", "farming_friedhof_14", "farming_friedhof_15", "farming_friedhof_16", "farming_friedhof_17", "farming_friedhof_18", "farming_friedhof_19" };
item = "schaufel";
mined[] = {"ausgrabungitem"};
};
Config License
class ausgrabung {
variable = "ausgrabung";
displayName = "STR_License_ausgrabung";
price = 40000;
illegal = false;
side = "civ";
};
Viel Spaß
Falls was nicht klappt posten posten posten
Ne gibt keine Probleme habe das überall gleich
hast du meine Init ausgebessert oder deine?
schmuckl geht schlichtweg nicht als Lizenzname. Die Lizenz muss genauso heißen wie die class in der ProcessAction. Heißt deine Class dort schmuck muss auch die Lizenz so heißen.
Da haste recht aber normal dürfte er trotzdem Processen nur das es langsamer geht weil die Lizenz nicht gleich wie der Processname ist. Zumindest war es bei mir so.
evtl probier ma so
this addAction[localize"STR_Process_schmuck",life_fnc_processAction,"schmuck",0,false,false,"",' life_inv_diamondCut > 0 && !life_is_processing && !life_action_inUse']; this addAction[format["%1 ($%2)",localize (getText(missionConfigFile >> "Licenses" >> "schmuckl" >> "displayName")), [(getNumber(missionConfigFile >> "Licenses" >> "schmuckl" >> "price"))] call life_fnc_numberText],life_fnc_buyLicense,"schmuckl",0,false,false,"",' !license_civ_schmuckl && playerSide isEqualTo civilian '];
class computerprocess {
MaterialsReq[] = {{"cpu",1},{"arbeitsspeicher",1},{"grafikkarte",1},{"kuehler",1},{"festplatte",1},{"gehause",1}};
MaterialsGive[] = {{"computer",1}}; // Enditem
Text = "STR_Process_computer";
NoLicenseCost = 650;
};
Habe es bei mir so laufen und es geht :
ProcessInit :
init="this enableSimulation false; " \n "this allowDamage false; " \n "this addAction[""Computer aufsetzen"",life_fnc_processAction,""computerprocess"",0,false,false,"""",' life_inv_cpu > 0 && !life_is_processing && !life_action_inUse']; " \n "this addAction[format[""%1 ($%2)"",localize (getText(missionConfigFile >> ""Licenses"" >> ""computerprocess"" >> ""displayName"")), [(getNumber(missionConfigFile >> ""Licenses"" >> ""computerprocess"" >> ""price""))] call life_fnc_numberText],life_fnc_buyLicense,""computerprocess"",0,false,false,"""",' !license_civ_computerprocess && playerSide isEqualTo civilian ']; ";
/*
File: fn_atmmachtsoichmachesounfall.sqf
Author: Bimbambum & Kraken edited by BriziJaeger
*/
private["_robber","_shop","_kassa","_ui","_progress","_pgText","_cP","_rip","_pos"];
_shop = [_this,0,ObjNull,[ObjNull]] call BIS_fnc_param;
_robber = [_this,1,ObjNull,[ObjNull]] call BIS_fnc_param;
_action = [_this,2] call BIS_fnc_param;
if(side _robber != civilian) exitWith { hint "Du bist kein Zivilist!" };
if(_robber distance _shop > 2) exitWith { hint "Du musst neben dem Geldautomat stehen!" };
if !(_kassa) then { _kassa = 1000; };
if (_rip) exitWith { hint "Der Geldautomat wird bereits gehackt!" };
if (vehicle player != _robber) exitWith { hint "Steig aus deinem Fahrzeug aus!" };
if !(alive _robber) exitWith {};
if(!([false,"lappi",1] call life_fnc_handleInv)) exitWith {hint "Du brauchst einen Laptop mit einem Intel Core i7 7700k!";};
if (_kassa == 0) exitWith { hint "Es ist kein Geld vorhanden!" };
_rip = true;
_kassa = 4000 + round(random 10563);
_shop removeAction _action;
_shop switchMove "AmovPercMstpSsurWnonDnon";
[1,hint parseText format["Bankautomat bei %1 wird gehackt!", _shop]] remoteExec ["life_fnc_broadcast",west];
_cops = (west countSide playableUnits);
if(_cops < 0) exitWith{[_vault,-1] remoteExec ["disableSerialization;",2]; hintSilent "Ein Geldtransporter hat das Geld bereits weggebracht!";};
disableSerialization;
5 cutRsc ["life_progress","PLAIN"];
_ui = uiNameSpace getVariable "life_progress";
_progress = _ui displayCtrl 38201;
_pgText = _ui displayCtrl 38202;
_pgText ctrlSetText format["Wird gehackt. Entferne dich weiter weg als 2m. (1%1)...","%"];
_progress progressSetPosition 0.01;
_cP = 0.01;
if(_rip) then
{
while{true} do
{
sleep 0.95;
_cP = _cP + 0.01;
_progress progressSetPosition _cP;
_pgText ctrlSetText format["Wird gehackt. Entferne dich weiter weg als 2m. (%1%2)...",round(_cP * 100),"%"];
_Pos = position player;
_marker = createMarker ["Marker200", _Pos];
"Marker200" setMarkerColor "ColorRed";
"Marker200" setMarkerText "Achtung! Ein ATM wird gehackt!";
"Marker200" setMarkerType "mil_warning";
if(_cP >= 1) exitWith {};
if(_robber distance _shop > 2.5) exitWith { };
if!(alive _robber) exitWith {};
};
if!(alive _robber) exitWith { _rip = false; };
if(_robber distance _shop > 2.5) exitWith { deleteMarker
"Marker200"; _shop switchMove ""; hint "Die Verbindung wurde unterbrochen."; 5 cutText ["","PLAIN"]; _rip =
false; };
5 cutText ["","PLAIN"];
titleText[format["Du hast $%1 gestohlen!",[_kassa] call life_fnc_numberText],"PLAIN"];
deleteMarker "Marker200";
life_cash = life_cash + _kassa;
_rip = false;
life_use_atm = false;
sleep (30 + random(180));
life_use_atm = true;
if!(alive _robber) exitWith {};
[getPlayerUID _robber,name _robber,"11"] remoteExecCall ["life_fnc_wantedAdd",2];
};
sleep 300;
_action = _shop addAction["Geldautomat hacken",life_fnc_atmaufbrechen];
_shop switchMove "";
Alles anzeigen
Die Nachricht muss rein :
[1,hint parseText format["Bankautomat bei %1 wird gehackt!", _shop]] remoteExec ["life_fnc_broadcast",west];
einfach die chance raus nehmen
Ich habe das Script nicht geschrieben