So es funktioniert Hatte, wie oft, ein Komma vergessen und dadurch funktionierte es nicht.
Beiträge von Pr3datoR
-
-
Naja aber da ich das ganze nur bei den Waffen so haben will und nicht bei den Fahrzeugen muss ich das drin lassen. Also serverseitig geht das ganze auch nur clientseitig kann er die nicht abfragen.
Hier mal meine requestRecieved:
Spoiler anzeigen
Code
Alles anzeigen#include "..\..\script_macros.hpp" /* File: fn_requestReceived.sqf Author: Bryan "Tonic" Boardwine Description: Called by the server saying that we have a response so let's sort through the information, validate it and if all valid set the client up. */ private["_array"]; life_session_tries = life_session_tries + 1; if(life_session_completed) exitWith {}; //Why did this get executed when the client already initialized? ****** arma... if(life_session_tries > 3) exitWith {cutText[localize "STR_Session_Error","BLACK FADED"]; 0 cutFadeOut 999999999;}; 0 cutText [localize "STR_Session_Received","BLACK FADED"]; 0 cutFadeOut 9999999; //Error handling and junk.. if(isNil "_this") exitWith {[] call SOCK_fnc_insertPlayerInfo;}; if(EQUAL(typeName _this,"STRING")) exitWith {[] call SOCK_fnc_insertPlayerInfo;}; if(EQUAL(count _this,0)) exitWith {[] call SOCK_fnc_insertPlayerInfo;}; if(EQUAL(SEL(_this,0),"Error")) exitWith {[] call SOCK_fnc_insertPlayerInfo;}; if(!(EQUAL(steamid,SEL(_this,0)))) exitWith {[] call SOCK_fnc_dataQuery;}; //Lets make sure some vars are not set before hand.. If they are get rid of them, hopefully the engine purges past variables but meh who cares. if(!isServer && (!isNil "life_adminlevel" OR !isNil "life_coplevel" OR !isNil "life_donator" OR !isNil "life_department")) exitWith { [profileName,getPlayerUID player,"VariablesAlreadySet"] remoteExecCall ["SPY_fnc_cookieJar",RSERV]; [profileName,format["Variables set before client initialization...\nlife_adminlevel: %1\nlife_coplevel: %2\nlife_donator: %3\nlife_department: %4",life_adminlevel,life_coplevel,life_donator,life_department]] remoteExecCall ["SPY_fnc_notifyAdmins",RCLIENT]; sleep 0.9; failMission "SpyGlass"; }; //Parse basic player information. CASH = parseNumber (SEL(_this,2)); BANK = parseNumber (SEL(_this,3)); CONST(life_adminlevel,parseNumber (SEL(_this,4))); CONST(life_donator,0); //Loop through licenses if(count (SEL(_this,6)) > 0) then { {SVAR_MNS [SEL(_x,0),SEL(_x,1)];} foreach (SEL(_this,6)); }; life_gear = SEL(_this,8); [true] call life_fnc_loadGear; //Parse side specific information. switch(playerSide) do { case west: { CONST(life_coplevel, parseNumber(SEL(_this,7))); CONST(life_department,parseNumber (SEL(_this,10))); CONST(life_medicLevel,0); life_blacklisted = SEL(_this,9); if(EQUAL(LIFE_SETTINGS(getNumber,"save_playerStats"),1)) then { life_hunger = SEL(SEL(_this,11),0); life_thirst = SEL(SEL(_this,11),1); }; }; case civilian: { life_is_arrested = SEL(_this,7); CONST(life_coplevel, 0); CONST(life_medicLevel, 0); life_houses = SEL(_this,10); if(EQUAL(LIFE_SETTINGS(getNumber,"save_playerStats"),1)) then { life_hunger = SEL(SEL(_this,9),0); life_thirst = SEL(SEL(_this,9),1); }; { _house = nearestBuilding (call compile format["%1", SEL(_x,0)]); life_vehicles pushBack _house; } foreach life_houses; life_gangData = SEL(_this,11); if(!(EQUAL(count life_gangData,0))) then { [] spawn life_fnc_initGang; }; [] spawn life_fnc_initHouses; }; case independent: { CONST(life_medicLevel, parseNumber(SEL(_this,7))); CONST(life_coplevel,0); if(EQUAL(LIFE_SETTINGS(getNumber,"save_playerStats"),1)) then { life_hunger = SEL(SEL(_this,9),0); life_thirst = SEL(SEL(_this,9),1); }; }; }; if(count (SEL(_this,13)) > 0) then { {life_vehicles pushBack _x;} foreach (SEL(_this,13)); }; life_session_completed = true;
ZitatOder meinst du dass du für die Cops quasi zwei Coplevel hast:
Ja so will ich das.
-
Ich meine damit, dass wir aus diesen:
dass machen:
Also das die Datenbankabfrage von der coplevel-Spalte auf die department-Spalte verlegt wird.
-
Hallo,
wie füge ich eine neue Datenbankabfrage ein? Ich will nämlich Waffen bei Cops z.B. nicht auf die normale coplevel-Spalte in der Datenbank beziehen sondern auf z.B. department. Habe es auch bereits versucht, aber funktioniert nicht.
Meine fn_queryRequest.sqf in der life_server.pbo
Spoiler anzeigen
Und meine fn_requestReceived.sqf
Spoiler anzeigen
Code
Alles anzeigen#include "..\..\script_macros.hpp" /* File: fn_requestReceived.sqf Author: Bryan "Tonic" Boardwine Description: Called by the server saying that we have a response so let's sort through the information, validate it and if all valid set the client up. */ private["_array"]; life_session_tries = life_session_tries + 1; if(life_session_completed) exitWith {}; //Why did this get executed when the client already initialized? ****** arma... if(life_session_tries > 3) exitWith {cutText[localize "STR_Session_Error","BLACK FADED"]; 0 cutFadeOut 999999999;}; 0 cutText [localize "STR_Session_Received","BLACK FADED"]; 0 cutFadeOut 9999999; //Error handling and junk.. if(isNil "_this") exitWith {[] call SOCK_fnc_insertPlayerInfo;}; if(EQUAL(typeName _this,"STRING")) exitWith {[] call SOCK_fnc_insertPlayerInfo;}; if(EQUAL(count _this,0)) exitWith {[] call SOCK_fnc_insertPlayerInfo;}; if(EQUAL(SEL(_this,0),"Error")) exitWith {[] call SOCK_fnc_insertPlayerInfo;}; if(!(EQUAL(steamid,SEL(_this,0)))) exitWith {[] call SOCK_fnc_dataQuery;}; //Lets make sure some vars are not set before hand.. If they are get rid of them, hopefully the engine purges past variables but meh who cares. if(!isServer && (!isNil "life_adminlevel" OR !isNil "life_coplevel" OR !isNil "life_donator" OR !isNil life_department)) exitWith { [profileName,getPlayerUID player,"VariablesAlreadySet"] remoteExecCall ["SPY_fnc_cookieJar",RSERV]; [profileName,format["Variables set before client initialization...\nlife_adminlevel: %1\nlife_coplevel: %2\nlife_donator: %3\nlife_department: %4",life_adminlevel,life_coplevel,life_donator,life_department]] remoteExecCall ["SPY_fnc_notifyAdmins",RCLIENT]; sleep 0.9; failMission "SpyGlass"; }; //Parse basic player information. CASH = parseNumber (SEL(_this,2)); BANK = parseNumber (SEL(_this,3)); CONST(life_adminlevel,parseNumber (SEL(_this,4))); CONST(life_donator,0); //Loop through licenses if(count (SEL(_this,6)) > 0) then { {SVAR_MNS [SEL(_x,0),SEL(_x,1)];} foreach (SEL(_this,6)); }; life_gear = SEL(_this,8); [true] call life_fnc_loadGear; //Parse side specific information. switch(playerSide) do { case west: { CONST(life_coplevel, parseNumber(SEL(_this,7))); CONST(life_medicLevel,0); life_blacklisted = SEL(_this,9); if(EQUAL(LIFE_SETTINGS(getNumber,"save_playerStats"),1)) then { life_hunger = SEL(SEL(_this,10),0); life_thirst = SEL(SEL(_this,10),1); }; }; case civilian: { life_is_arrested = SEL(_this,7); CONST(life_coplevel, 0); CONST(life_medicLevel, 0); life_houses = SEL(_this,10); if(EQUAL(LIFE_SETTINGS(getNumber,"save_playerStats"),1)) then { life_hunger = SEL(SEL(_this,9),0); life_thirst = SEL(SEL(_this,9),1); }; { _house = nearestBuilding (call compile format["%1", SEL(_x,0)]); life_vehicles pushBack _house; } foreach life_houses; life_gangData = SEL(_this,11); if(!(EQUAL(count life_gangData,0))) then { [] spawn life_fnc_initGang; }; [] spawn life_fnc_initHouses; }; case independent: { CONST(life_medicLevel, parseNumber(SEL(_this,7))); CONST(life_coplevel,0); if(EQUAL(LIFE_SETTINGS(getNumber,"save_playerStats"),1)) then { life_hunger = SEL(SEL(_this,9),0); life_thirst = SEL(SEL(_this,9),1); }; }; }; if(count (SEL(_this,13)) > 0) then { {life_vehicles pushBack _x;} foreach (SEL(_this,13)); }; life_session_completed = true;
Benutzt wird hier Altis life 4.4.
-
Class CfgAmmo {
/*extern*/ class BulletBase;
class 26_taser: BulletBase {
hit = 0; <<<< auf 0 setzen
-
Mir ist gerade aufgefallen, dass es so funktioniert wie oben, allerdings habe ich andere Einträge wie z.B.
Diese funktionieren nicht. Ich habe irgendwo was vergessen einzutragen, damit er die Spalte der Datenbank erkennt. Wo kann man das machen?
-
Ja mir ist schon klar, dass ich auf eine Class mehere Skins legen kann. Ändert aber nichts, wenn ich verschiedene Classes für die verschiedenen Ränge habe. Es muss doch eine Lösung in der Config_Clothing.hpp geben?
-
Ja gut... Also meine sieht ziemlich unverändert aus:
Spoiler anzeigen
#include "..\..\script_macros.hpp"
/*
File: fn_playerSkins.sqf
Author: Daniel Stuart
Description:
Sets skins for players by their side and uniform.
*/
switch(playerSide) do {
case civilian: {
if(uniform player == "U_C_Poloshirt_blue") then {
player setObjectTextureGlobal [0, "skins\kleidung\texture.jpg"];
};
if(uniform player == "U_C_Poloshirt_blue" && (FETCH_CONST(life_adminlevel) == 1)) then {
player setObjectTextureGlobal [0, "skins\kleidung\Lotse.jpg"];
};
if(uniform player == "U_C_Poloshirt_blue" && (FETCH_CONST(life_adminlevel) == 5)) then {
player setObjectTextureGlobal [0, "skins\kleidung\Admin.jpg"];
};
};
case west: {
if(uniform player == "U_Rangemaster") then {
player setObjectTextureGlobal [0, "skins\kleidung\streifenpolizist.paa"];
};
};
case independent: {
if(uniform player == "U_B_CombatUniform_mcam") then {
player setObjectTextureGlobal [0, "skins\kleidung\feuerwehr.jpg"];
};
if (uniform player == "U_B_CombatUniform_mcam" && (FETCH_CONST(life_mediclevel) == 2)) then {
player setObjectTextureGlobal [0, "skins\kleidung\feuerwehr.jpg"];
};
if (uniform player == "U_B_CombatUniform_mcam" && (FETCH_CONST(life_mediclevel) == 3)) then {
player setObjectTextureGlobal [0, "skins\kleidung\4.jpg"];
};
if (uniform player == "U_B_CombatUniform_mcam" && (FETCH_CONST(life_mediclevel) == 4)) then {
player setObjectTextureGlobal [0, "skins\kleidung\7.jpg"];
};
if (uniform player == "U_B_CombatUniform_mcam" && (FETCH_CONST(life_mediclevel) == 5)) then {
player setObjectTextureGlobal [0, "skins\kleidung\8.jpg"];
};
};
};
-
Da ich mit Mods Server laufen lasse brauch ich die nicht mehr wirklich. Es soll halt so sein, dass Cop Rang 5 z.B. nur diese eine Weste kaufen sollen und keine Anderen ohne einen neuen Shop zu erstellen. Die fn_playerskins sagt ja bloß welche Skins auf der gleichen Uniform etc. sind, aber das hilft ja nicht.
-
Zitat
Ja bloß bei SCALAR ist das ja so, dass ich auch die Kleidung kaufen kann, die nicht zu den Rank gehört. Sprich wenn ich Rang 6 habe, kann ich auch von Rang 5 kaufen. Ich dachte deswegen, dass ich das mit EQUAL verhindern könnte.
-
Ja bloß bei SCALAR ist das ja so, dass ich auch die Kleidung kaufen kann, die nicht zu den Rank gehört. Sprich wenn ich Rang 6 habe, kann ich auch von Rang 5 kaufen. Ich dachte deswegen, dass ich das mit EQUAL verhindern könnte.
-
Altis life 4.4
-
-
In der ace_medical.pbo
-
Wenn du einen Mod-Taser benutzt stell den Schaden in der Config.cpp auf 0.
-
Ich hab die Dateien mit Pbo-Manager gepackt.
Update: Gerade habe ich die Dateien nochmal mit FileBank gepackt, allerdings besteht das Problem immernoch.
-
Habe es getan wie beschrieben, nur dann kommt bei mir ein Fehler, wenn man Arma mit dem jeweiligen Mod startet und der Server sagt auch den Fehler und startet nicht:
Warning Message: Script \z\ace\addons\medical\XEH_preInit.sqf not found
Und falls jetzt die Frage kommt ob die Datei bei mir existiert: JA
-
-
Bei mir kommt immer der Fehler im Log und der Server startet nicht..
Warning Message: Addon 'A3_Air_F_Exp' requires addon 'A3_Air_F_Heli'
Der Server ist quasi neu installiert. Es wurde Altis Life 4.4.r4 installiert und dann die @life_server und @extdb Dateien ersetzt gegen die, von der Version 4.4. Die Missionsdatei wurde auch ersetzt.
Hat hier irgendwer nen Lösungsvorschlag?
-
In die Config_Vehicles.hpp gehen, dann nach unten srollen zu den Definierungen der Fahrzeuge. Da dürftest du sowas finden:
Code
Alles anzeigenclass C_Van_01_fuel_F { vItemSpace = 100; storageFee[] = { 1000, 0, 0, 0 }; garageSell[] = { 25000, 0, 0, 0 }; insurance = 2500; chopShop = 40000; textures[] = { { "White", "civ", { "\a3\soft_f_gamma\Van_01\Data\van_01_ext_co.paa" } }, { "Red", "civ", { "\a3\soft_f_gamma\Van_01\Data\van_01_ext_red_co.paa" } }, { "Unicorn", "civ", { "skins\autos\unicorn_suv.paa" } }, { "Berliner Pilsner", "civ", { "skins\autos\van_bpils1.paa" } }, { "Mr Whippy", "civ", { "skins\autos\vanicecream.jpg" } } }; };
Den Rest dürftest du erkennen.