Ich schau heute abend mal... habe gerade keine Zeit.
Beiträge von stolzerrabe
-
-
Könnte mir jemand vielleicht bitte helfen.. Normale Log-Fehler kann ich lösen aber Datenbankprobleme nicht.
Hier machen das alle Freiwillig und Unentgeldlich! Jeder investiert die Zeit, die er geben möchte. Also bitte drängel nicht so!3. Fehler:
11:52:28 Error in expression <rray = _queryResult select 0;
if (count _pricearray < 1) then {
diag_log "######>
11:52:28 Error position: <_pricearray < 1) then {[/tt]
diag_log "######>
11:52:28 Error Undefined variable in expression: _pricearray
11:52:28 File life_server\Functions\DynMarket\fn_HandleDB.sqf, line 33life_server\Functions\DynMarket\fn_HandleDB.sqf line 33 --> Error Undefined variable in expression: _pricearray
Die Variable _pricearray ist nicht definiert.
Das Array wird scheinbar nicht vernünftig übergeben. Somit unterbricht hier das Datenbank-Script schon, und die Datenbank wird nicht weiter geladen.
Was zu deinem Problem führt...Was für einen Dynamischen Markt auch immer du eingebaut hast.
Ich würde ALLE Files nochmal prüfen.4. Fehler
11:52:26 Error in expression <{ _x setFuelCargo 0; } forEach (nearestObjects [player, ["Land_Ind_FuelS>
11:52:26 Error position: <nearestObjects [player, ["Land_Ind_FuelS>
11:52:26 Error 0 elements provided, 3 expected
11:52:27 Error in expression <ationen",
[
"Homepage und Teamspeak3",
"
Homepage und Teamspeak3<br/><br/>
>
11:52:27 Error position: <"
Homepage und Teamspeak3<br/><br/>
>
11:52:27 Error Missing ""
11:52:27 File mpmissions\__cur_mp.Altis\briefing.sqf, line 121
Error in expression <{ _x setFuelCargo 0; } forEach (nearestObjects [player, ["Land_Ind_FuelS <<< HIER TRITT EIN FEHLER AUF!
Error position: <nearestObjects [player, ["Land_Ind_FuelS> <<<< nearestObjects verursacht den Fehler!
Error 0 elements provided, 3 expected <<< nearestObjects erwartet 3 Elemente (X,y,Z Koordinaten) du hast 0 angegeben!Weiter unten...
Deine \briefing.sqf hat in line 121 einen Fehler hervorgerufen, der wahrscheinlich schon ein paar Zeilen weiter oben schon auftritt, durch falsch gesetzte " "
ZU DEINEM EXTDB LOG:
Code[10:25:23 +02:00] [Thread 1284480300] extDB: DB_CUSTOM_V5: Error StatementException: MySQL: [MySQL]: [Comment]: mysql_stmt_prepare error [mysql_stmt_error]: Table 'arma3life.dynmarket' doesn't exist
Die Tabelle "dynmarket" existiert nicht in der Datenbank!Ich würde sagen:
Dein Altis life ist gut zerschossen!
VOR JEDEM NEUEM SCRIPT ::: > BACKUP!Dann kannste sowas ausschließen, bzw minimieren!
-
hintSilent str getPos player;
Das ist mir bekannt. Was er (und ich meinen) sind Koordinaten, die nicht die Player Position beinhalten.
Beispielsweise wie oben genannt die Cam.
Oder die Positionen bei Autos für zB. Blinker.... -
Das kann ich dir nicht so sagen
Nimm die Koordinaten deiner Bank, und spiel mit den Koordinaten in der fn_fedCamHacked.sqf rum.
Ich selber kenne keine "schnelle" Methode um Koordinaten herauszufinden, als try, try, try...Wenn jemand eine schnelle Methode kennt, kann er sie mir auch gerne mitteilen.
-
Funktioniert 1a, aber wie bekomme ich denn die Überwachungkameras zu sehen?
Woohaaa, ist mir gar nicht aufgefallen, das ich die falsche Version hochgeladen habe ... (Bei uns gibt es die Cams nimmer). DANKE
Habe die ZIP file geupdated!
Einfach alle Dateien ersetzen! -
Irgendwie bin ich gerade verzweifelt...
Habe ich nen Denkfehler oder will Arma nur so, wie ich es nicht will?Folgendes:
Ich habe eine PBO zusammengestellt mit Skins, Sounds, Scripts etc...
ALLES! Wird vom Server erkannt und auch verwendet.
Nur die Sounds nicht.Ich habe die jeweilige class in der description.ext eingetragen, mit dem Pfad zur PBO
Beispiel:
Hier wird die Soundfile ja in mpmissions\MissionName.Altis\PBOfile\sounds\MeinSound.ogg gesucht, und folglich nicht gefunden:SQLclass CfgSounds { sounds[] = {}; class MeinSound { name = "MeinSound"; sound[] = {"pboname\sounds\MeinSound.ogg", 1.0, 1}; titles[] = {}; }; };
Hier wird die Soundfile (so denke ich zumindest) in PBOfile\sounds\MeinSound.ogg gesucht:
SQLclass CfgSounds { sounds[] = {}; class MeinSound { name = "MeinSound"; sound[] = {"\pboname\sounds\MeinSound.ogg", 1.0, 1}; titles[] = {}; }; };
Leider wird laut der RPT die Soundfile dennoch in der Mission gesucht -.-
0:02:52 Cannot load sound 'mpmissions\MissionName.Altis\PBOfile\sounds\MeinSound.ogg'Hat das schon jemand hinbekommen?
Müsste ich die CfgSounds auch in die Config.cpp packen, statt in der Description.ext?
EDIT:
Hat sich erledigt^^
Habe mir die Frage selbst beantwortet^^Zitat von stolzerrabeCfgSounds auch in die Config.cpp
Das wars
-
class Actions
{
file = "core\actions";
class ???????????????? {};wie heist denn die class die da rein muß ??
Als kleiner Tipp für die Zukunft @SBuserhy und an alle anderen Neulingen..
Die class ist immer i.d.R. der hier Rot Markierte teil der Filename:
fn_DeinBesonderesScript.sqf
class DeinBesonderesScript {};
-
Kurzes Update bei Schritt 7.
Hatte die fn_varToStr.sqf vergessen.
Denke aber mal, jeder der weiss, wie man ein item einfügt, hat dies automatisch getan -
Sehr geile Idee und hätte mal ne Frage, wie oft ist es möglich die Bank zu Häcken pro Restart z.B.?
Pro Spieler 1x... solange er nicht stirbt oder reloggt...
man könnte noch wie damals die Versicherung einbauen und das jeder Geld verliert der keine hat.
Das Script nimmt NOCH keinen Einfluss auf die Menge des Geldes, wieviele Spieler on sind.
-
Sehr schöne Idee muß ich sagen.
Wenn man Scripte einbaut, sollte man allgemein immer ein Backup machen.
Sagst du =)
Es gibt Leute, die dies nicht machen^^ -
Moin Moin liebe Community
Stelle euch hier mal ein Script vor, welches ich geschrieben habe, um etwas mehr leben in die RolePlay Bude zu bekommen
Hack The Bank!
Was kann das Script?
Nun, wie der Name schon ahnen lässt, lässt das Script zu, die Zentralbank zu hacken
Vorhergehensweise:
Ein User kauf sich einen Laptop im Laden (Z.Inventar).
Diesen kann er mit Benutzen, aufbauen, sobald er sich in einem WLan-Spot befindet, und vor einem Gartentisch steht.
Nun hat er die Möglichkeit, die Zentralbank zu Hacken, sich Geld dabei zu transferieren und zugriff auf die Überwachungkameras zu bekommen.Allerdings kann es sein, das das IT-Sicherheitssystem der Bank, diesen Angriff bemerkt und die Leitung kappt. (Vorrausgesetzt, der Hacker schafft die Firewall zu umgehen)
(ALLES ZUFALLSBEDINGT)Hat er es geschafft, sich erfolgreich einzuhacken und geld zu transferieren, wird die Bank, für 15 Minuten alle Geldautomaten Sperren!!
In der Zeit sind keinerlei Banktransfers möglich... (Hatte auf unserem Server schon spass... gerade hatte jemand seine Dias verkauft, und über 1 Mille mitgehabt, als die Nachricht kam)Es besteht die Chance, das man auch nicht erwischt wird.
Die Polizei bekommt dann Nachricht, dass die Bank gehackt wurde, aber der Täter keine Spuren hinterlassen hat.
Ansonsten bekommt die Polizei bescheid, wer es war.Hacken ist für jeden nur einmal möglich. (Solange man nicht stirbt oder reconnected)
Hat man die Firewall durchbrochen und scheitert am Installieren des Banking Exploit, ist ein erneueter Versuch nicht mehr drin!Vorab:
Ich werde dies nicht für die 4.0 machen!
Wer möchte, kann dies gerne tun!
Auch bin ich oder Native-Gamer in keinster Weise dafür Verantwortlich, wenn ihr eure Life-Version zerschießt.
MACHT VORHER EIN BACKUP!You are allowed to:
Use, Share and modify
You are not allowed to:Remove Author or say this script is yours in anyway!
Nun zum TUT (Ich hoffe ich habe nichts übersehen)
1.
Öffne init.sqf und trage die PublicVariable ein:
SQL: init.sqfif(isDedicated && isNil("life_ATMhacked")) then { life_ATMhacked = 0; publicVariable "life_ATMhacked"; diag_log format["life_ATMhacked: %1",life_ATMhacked]; };
2.
Öffne die core\init.sqf und trage nach "[] execVM "core\init_survival.sqf";" ein:
3.
Öffne die core\shops\fn_atmMenu.sqf und Trage oben, nach der deklaration der Privaten Variablen ein:
SQL: core\shops\fn_atmMenu.sqfif(life_ATMhacked == 1) exitWith { hint format["Da die Zentralbank gehakt wurde, steht dieser Service im Moment nicht zur Verfügung"]; };
4.
Öffne die core\configuration.sqf und trage folgendes ein:unter den Backend Variables
life_inv_items
sell_array
buy_array
5.
Öffne core\config\fn_itemWeight.sqf und trage ein:6.
Öffne core\config\fn_varHandle.sqf und trage ein:case 0:
case 1:
7.
Öffne die core\config\fn_varToStr.sqf und trage ein:8.
In der core\config\fn_virt_shops.sqf tragt ihr ein, wo man den Laptop kaufen kann:9.
Nun geht es zur core\pmenu\useItem.sqf. Dort müsst ihr eine neue Case einfügen:SQL: core\pmenu\useItem.sqf
Alles anzeigencase (_item == "lappi"): { _wlanZone = ""; _wlanZones = ["wlan_1","wlan_2","wlan_3"]; { if(player distance (getMarkerPos _x) < 30) exitWith {_WlanZone = _x;}; } foreach _wlanZones; if(_wlanZone == "") exitWith {hint "Du kannst hier keinen Laptop aufbauen, da du hier kein Wlan hast!";}; _table = nearestObject[player, "Land_TablePlastic_01_F"]; _tablePos = getPos _table; if(player distance _tablePos > 5) exitWith {hint "Du musst den Laptop an einem Tisch aufbauen!";}; if(!isNull life_theLappi) exitWith {hint "Du kannst nur einen Laptop aufbauen!";}; if(([false,_item,1] call life_fnc_handleInv)) then { [] spawn life_fnc_lappi; }; };
10.
Eine neue Class in der functions.hSQL: functions.h
Alles anzeigenclass hacking { file = "core\HackTheBank"; class hackthebank {}; class fedCamHacked {}; class lappi {}; class packupLappi {}; class randomRound {}; };
11.
Ladet die Files aus der Zip, in den Ordner coreDabei muss die Struktur so aussehen:
-
\core
- initHTB.sqf
-
\HackTheBank
- fn_fedCamHacked.sqf
- fn_hackthebank.sqf
- fn_lappi.sqf
- fn_packupLappi.sqf
- fn_randomRound.sqf
12.
SERVERSEITIG!
ACHTUNG! Hier ist nur beschrieben, wie ihr die Verbrechen in der Standard Wantedadd hinzufügt!
Wer eine andere Wantedadd hat, zB von Baker, muss dementsprechend anders eintragen!!Öffnet life_server\Functions\WantedSystem\fn_wantedAdd.sqf
und tragt dort die beiden Verbrechen ein:
SQL: fn_wantedAdd.sqfcase "1002": {_type = ["Hacking",150000]}; case "1003": {_type = ["Vers. Hacking",50000]};
13.
MAPPING!
Erstellt 3 Marker mit dem Namen "wlan_1" "wlan_2" "wlan_3"
Innerhalb dieser Marker stellt ihr ein Paar Tische auf vom Typ: Land_TablePlastic_01_F
(101_Editor: unter Zelte -> Gartentisch)
Baut euch in diversen Städten halt kleine Wlan Spots...Evtll einen Trigger um zu zeigen, das man gerade WLan hat.
14.
In Battleye:
publicvariable.txt
!="life_ATMhacked"Ich hoffe ich habe nichts vergessen!
Z-MENU FIX: ZUM BEITRAG SPRINGEN -
\core
-
Hey Leute,
um die Kleidervorschau aus Altis Life 4 in der 3.1.4.8 zu erhalten,
müßt ihr nur 2 Dateien verändern.Die fn_clothingMenu.sqf und die fn_clothingFilter.sqf
Wenn ihr diese Files noch NICHT verändert habt, dann ersetzt sie mit diesem Code:
fn_clothingMenu.sqf
Spoiler anzeigen
SQL: fn_clothingMenu.sqf
Alles anzeigen/* File: fn_clothingMenu.sqf Author: Bryan "Tonic" Boardwine Description: Opens and initializes the clothing store menu. Started clean, finished messy. */ #include <macro.h> private["_list","_clothes","_pic","_filter"]; createDialog "Life_Clothing"; disableSerialization; //Cop / Civ Pre Check if((_this select 3) in ["bruce","dive","reb","kart"] && playerSide != civilian) exitWith {hint localize "STR_Shop_NotaCiv"; closeDialog 0;}; if((_this select 3) == "reb" && !license_civ_rebel) exitWith {hint localize "STR_Shop_NotaReb"; closeDialog 0;}; if((_this select 3) in ["cop"] && playerSide != west) exitWith {hint localize "STR_Shop_NotaCop"; closeDialog 0;}; if((_this select 3) in ["dive"] && !license_civ_dive) exitWith { hint localize "STR_Shop_NotaDive"; closeDialog 0;}; life_clothing_store = _this select 3; //License Check? _var = [life_clothing_store,0] call life_fnc_licenseType; if(_var select 0 != "") then { if(!(missionNamespace getVariable (_var select 0))) exitWith {hint format[localize "STR_Shop_YouNeed",[_var select 0] call life_fnc_varToStr]; closeDialog 0;}; }; // :::...:::.... Clothing NEU?! ....:::...::: \\ _pos = [1000,1000,10000]; _oldDir = getDir player; _oldPos = visiblePositionASL player; _testLogic = "Logic" createVehicleLocal _pos; _testLogic setPosATL _pos; _ut1 = "UserTexture10m_F" createVehicleLocal (_testLogic modelToWorld [0,5,10]); _ut1 attachTo [_testLogic,[0,5,5]]; _ut1 setDir 0; _ut4 = "UserTexture10m_F" createVehicleLocal (_testLogic modelToWorld [0,-5,10]); _ut4 attachTo [_testLogic,[0,-5,5]]; _ut4 setDir 180; _ut2 = "UserTexture10m_F" createVehicleLocal (_testLogic modelToWorld [5,0,10]); _ut2 attachTo [_testLogic,[5,0,5]]; _ut2 setDir (getDir _testLogic) + 90; _ut3 = "UserTexture10m_F" createVehicleLocal (_testLogic modelToWorld [-5,0,10]); _ut3 attachTo [_testLogic,[-5,0,5]]; _ut3 setDir (getDir _testLogic) - 90; _ut5 = "UserTexture10m_F" createVehicleLocal (_testLogic modelToWorld [0,0,10]); _ut5 attachTo [_testLogic,[0,0,0]]; _ut5 setObjectTexture [0,"a3\map_data\gdt_concrete_co.paa"]; detach _ut5; _ut5 setVectorDirAndUp [[0,0,-.33],[0,.33,0]]; _light = "#lightpoint" createVehicleLocal [1000,1000,10000]; _light setLightBrightness 1; _light setLightAmbient [1.0, 1.0, 1.0]; _light lightAttachObject [_ut1, [0,0,10]]; {if(_x != player) then {_x hideObject true;};} foreach playableUnits; { _x setObjectTexture [0,"#(argb,8,8,3)color(0,0,0,1)"]; } foreach [_ut1,_ut2,_ut3,_ut4]; player attachTo [_testLogic,[0,0,0]]; player switchMove ""; // :::...:::.... Clothing NEU?! ....:::...::: \\ //initialize camera view life_shop_cam = "CAMERA" camCreate getPos player; showCinemaBorder false; life_shop_cam cameraEffect ["Internal", "Back"]; life_shop_cam camSetTarget (player modelToWorld [0,0,1]); life_shop_cam camSetPos (player modelToWorld [1,4,2]); life_shop_cam camSetFOV .33; life_shop_cam camSetFocus [50, 0]; life_shop_cam camCommit 0; life_cMenu_lock = false; if(isNull (findDisplay 3100)) exitWith {}; _list = (findDisplay 3100) displayCtrl 3101; _filter = (findDisplay 3100) displayCtrl 3105; lbClear _filter; lbClear _list; _filter lbAdd localize "STR_Shop_UI_Clothing"; _filter lbAdd localize "STR_Shop_UI_Hats"; _filter lbAdd localize "STR_Shop_UI_Glasses"; _filter lbAdd localize "STR_Shop_UI_Vests"; _filter lbAdd localize "STR_Shop_UI_Backpack"; _filter lbSetCurSel 0; life_oldClothes = uniform player; life_olduniformItems = uniformItems player; life_oldBackpack = backpack player; life_oldVest = vest player; life_oldVestItems = vestItems player; life_oldBackpackItems = backpackItems player; life_oldGlasses = goggles player; life_oldHat = headgear player; waitUntil {isNull (findDisplay 3100)}; // :::...:::.... Clothing NEU?! ....:::...::: \\ {if(_x != player) then {_x hideObject false;};} foreach playableUnits; detach player; player setPosASL _oldPos; player setDir _oldDir; {deleteVehicle _x;} foreach [_testLogic,_ut1,_ut2,_ut3,_ut4,_ut5,_light]; // :::...:::.... Clothing NEU?! ....:::...::: \\ life_shop_cam cameraEffect ["TERMINATE","BACK"]; camDestroy life_shop_cam; life_clothing_filter = 0; if(isNil "life_clothesPurchased") exitWith { life_clothing_purchase = [-1,-1,-1,-1,-1]; if(life_oldClothes != "") then {player addUniform life_oldClothes;} else {removeUniform player}; if(life_oldHat != "") then {player addHeadgear life_oldHat} else {removeHeadgear player;}; if(life_oldGlasses != "") then {player addGoggles life_oldGlasses;} else {removeGoggles player}; if(backpack player != "") then { if(life_oldBackpack == "") then { removeBackpack player; } else { removeBackpack player; player addBackpack life_oldBackpack; clearAllItemsFromBackpack player; if(count life_oldBackpackItems > 0) then { { [_x,true,true] call life_fnc_handleItem; } foreach life_oldBackpackItems; }; }; }; if(count life_oldUniformItems > 0) then { {[_x,true,false,false,true] call life_fnc_handleItem;} foreach life_oldUniformItems; }; if(vest player != "") then { if(life_oldVest == "") then { removeVest player; } else { player addVest life_oldVest; if(count life_oldVestItems > 0) then { {[_x,true,false,false,true] call life_fnc_handleItem;} foreach life_oldVestItems; }; }; }; }; life_clothesPurchased = nil; //Check uniform purchase. if((life_clothing_purchase select 0) == -1) then { if(life_oldClothes != uniform player) then {player addUniform life_oldClothes;}; }; //Check hat if((life_clothing_purchase select 1) == -1) then { if(life_oldHat != headgear player) then {if(life_oldHat == "") then {removeHeadGear player;} else {player addHeadGear life_oldHat;};}; }; //Check glasses if((life_clothing_purchase select 2) == -1) then { if(life_oldGlasses != goggles player) then { if(life_oldGlasses == "") then { removeGoggles player; } else { player addGoggles life_oldGlasses; }; }; }; //Check Vest if((life_clothing_purchase select 3) == -1) then { if(life_oldVest != vest player) then { if(life_oldVest == "") then {removeVest player;} else { player addVest life_oldVest; {[_x,true,false,false,true] call life_fnc_handleItem;} foreach life_oldVestItems; }; }; }; //Check Backpack if((life_clothing_purchase select 4) == -1) then { if(life_oldBackpack != backpack player) then { if(life_oldBackpack == "") then {removeBackpack player;} else { removeBackpack player; player addBackpack life_oldBackpack; {[_x,true,true] call life_fnc_handleItem;} foreach life_oldBackpackItems; }; }; }; life_clothing_purchase = [-1,-1,-1,-1,-1]; [] call life_fnc_saveGear;
fn_clothingFilter.sqf
Spoiler anzeigen
SQL: fn_clothingFilter.sqf
Alles anzeigen/* File: fn_clothingFilter.sqf Author: Bryan "Tonic" Boardwine Description: Functionality for filtering clothing types in the menu. */ disableSerialization; private["_control","_selection","_list","_filter"]; _control = _this select 0; _selection = _this select 1; life_clothing_filter = _selection; /* if(_selection == 4) then { life_shop_cam camSetTarget (player modelToWorld [0,-.15,1.3]); life_shop_cam camSetPos (player modelToWorld [1,-4,2]); life_shop_cam camCommit 1; } else { life_shop_cam camSetTarget (player modelToWorld [0,0,1]); life_shop_cam camSetPos (player modelToWorld [1,4,2]); life_shop_cam camCommit 1; }; */ // :::...:::.... Clothing NEU?! ....:::...::: \\ switch (_selection) do { case 4: { life_shop_cam camSetTarget (player modelToWorld [0,-.15,1.3]); life_shop_cam camSetPos (player modelToWorld [1,-4,2]); life_shop_cam camCommit 1; }; case 0: { life_shop_cam camSetTarget (player modelToWorld [0,0,1]); life_shop_cam camSetPos (player modelToWorld [1,4,2]); life_shop_cam camCommit 1; }; case 3: { life_shop_cam camSetTarget (player modelToWorld [0,0,1.4]); life_shop_cam camSetPos (player modelToWorld [-.1,2,1.4]); life_shop_cam camCommit 1; }; default { life_shop_cam camSetTarget (player modelToWorld [0,0,1.6]); life_shop_cam camSetPos (player modelToWorld [-.5,1,1.6]); life_shop_cam camCommit 1; }; }; // :::...:::.... Clothing NEU?! ....:::...::: \\ if(isNull (findDisplay 3100)) exitWith {}; _list = (findDisplay 3100) displayCtrl 3101; lbClear _filter; lbClear _list; //Temp code, subjected to become one master config in future _clothes = switch (life_clothing_store) do { case "bruce": {[_selection] call life_fnc_clothing_bruce;}; case "cop": {[_selection] call life_fnc_clothing_cop;}; case "reb": {[_selection] call life_fnc_clothing_reb;}; case "dive": {[_selection] call life_fnc_clothing_dive;}; case "kart": {[_selection] call life_fnc_clothing_kart;}; }; if(count _clothes == 0) exitWith {}; { _details = [_x select 0] call life_fnc_fetchCfgDetails; if(isNil {_x select 1}) then { _list lbAdd format["%1",(getText(configFile >> (_details select 6) >> (_x select 0) >> "DisplayName"))]; } else { _list lbAdd format["%1", _x select 1]; }; //_pic = getText(configFile >> (_details select 6) >> (_x select 0) >> "picture"); _list lbSetData [(lbSize _list)-1,_x select 0]; _list lbSetValue [(lbSize _list)-1,_x select 2]; //_list lbSetPicture [(lbSize _list)-1,_pic]; } foreach _clothes;
Die relevanten, neuen Sachen aus der 4.0 stehen zwischen den // :::...:::.... Clothing NEU?! ....:::...::: \\ Markierungen.