Malden
Abramia
Tanoa
Beiträge von KenAnderson
-
-
//close + Lösung als Tutorial im Tutorial Bereich
-
Moin heute zeige ich euch wie ihr bei der 5.0 den Bargeldbestand bei einer Durchsuchung als Cop seht.
Script von moeckund KenAnderson
Getestet von KenAnderson
Fangen wir an:
Zuerst gehen wir in die fn_copSearch.sqf
Dort ersetzen wir die Datei mit folgendem:Code
Alles anzeigen#include "..\..\script_macros.hpp" /* File: fn_copSearch.sqf Author: Bryan "Tonic" Boardwine Description: Returns information on the search. */ life_action_inUse = false; private ["_license","_guns","_gun"]; params [ ["_civ",objNull,[objNull]], ["_invs",[],[[]]], ["_money",0,[0]], ["_robber",false,[false]] ]; if (isNull _civ) exitWith {}; _illegal = 0; _inv = ""; if (count _invs > 0) then { { _displayName = M_CONFIG(getText,"VirtualItems",(_x select 0),"displayName"); _inv = _inv + format ["%1 %2<br/>",(_x select 1),(localize _displayName)]; _price = M_CONFIG(getNumber,"VirtualItems",(_x select 0),"sellPrice"); if (!isNull (missionConfigFile >> "VirtualItems" >> (_x select 0) >> "processedItem")) then { _processed = M_CONFIG(getText,"VirtualItems",(_x select 0),"processedItem"); _price = M_CONFIG(getNumber,"VirtualItems",_processed,"sellPrice"); }; if (!(_price isEqualTo -1)) then { _illegal = _illegal + ((_x select 1) * _price); }; } forEach _invs; if (_illegal > 6000) then { if (life_HC_isActive) then { [getPlayerUID _civ,_civ getVariable ["realname",name _civ],"482"] remoteExecCall ["HC_fnc_wantedAdd",HC_Life]; } else { [getPlayerUID _civ,_civ getVariable ["realname",name _civ],"482"] remoteExecCall ["life_fnc_wantedAdd",RSERV]; }; }; if (life_HC_isActive) then { [getPlayerUID _civ,_civ getVariable ["realname",name _civ],"481"] remoteExecCall ["HC_fnc_wantedAdd",HC_Life]; } else { [getPlayerUID _civ,_civ getVariable ["realname",name _civ],"481"] remoteExecCall ["life_fnc_wantedAdd",RSERV]; }; [0,"STR_Cop_Contraband",true,[(_civ getVariable ["realname",name _civ]),[_illegal] call life_fnc_numberText]] remoteExecCall ["life_fnc_broadcast",west]; } else { _inv = localize "STR_Cop_NoIllegal"; }; if (!alive _civ || player distance _civ > 5) exitWith {hint format [localize "STR_Cop_CouldntSearch",_civ getVariable ["realname",name _civ]]}; //hint format ["%1",_this]; hint parseText format ["<t color='#FF0000'><t size='2'>%1</t></t><br/><t color='#FFD700'><t size='1.5'><br/>" +(localize "STR_Cop_IllegalItems")+ "</t></t><br/>%2<br/><br/><br/><br/><t color='#FF0000'>%3</t><t color='#FFD700'>Bargeld %4</t>" ,(_civ getVariable ["realname",name _civ]),_inv,if (_robber) then {"Robbed the bank"} else {""},[_money] call life_fnc_numberText]; if (_robber) then { [0,"STR_Cop_Robber",true,[(_civ getVariable ["realname",name _civ])]] remoteExecCall ["life_fnc_broadcast",RCLIENT]; };
Dann gehen wir in die fn_SearchClient.sqf
Diese ersetzen wir mit:Code
Alles anzeigen#include "..\..\script_macros.hpp" /* File: fn_searchClient.sqf Author: Bryan "Tonic" Boardwine Description: Searches the player and he returns information back to the player. */ private ["_inv","_val","_var","_robber","_money"]; params [ ["_cop",objNull,[objNull]] ]; if (isNull _cop) exitWith {}; _inv = []; _robber = false; //Illegal items { _var = configName(_x); _val = ITEM_VALUE(_var); if (_val > 0) then { _inv pushBack [_var,_val]; [false,_var,_val] call life_fnc_handleInv; }; } forEach ("getNumber(_x >> 'illegal') isEqualTo 1" configClasses (missionConfigFile >> "VirtualItems")); if (!life_use_atm) then { CASH = 0; _robber = true; }; _money = CASH; [player,_inv,_money,_robber] remoteExec ["life_fnc_copSearch",_cop];
Das wars auch nun steht beim Durchsuchen unten unter der Bargeldbestand.
Danke nochmal an moeck für die Hilfe und die Erlaubnis das hier zu posten.
MFG -
Inwiefern was willst du genau machen?
Naja das Objekt wo der Laptop beim Plazieren gesetzt werden soll also der Classname ändern auf nen anderen Tisch.
-
Hat Funktioniert Danke moeck. Darf ich das mal in ein Tutorial für die Nachwelt schreiben?
-
Ist es möglich das Object in der Use_Item.sqf einfach umzuschreiben oder kommt es dann zu Fehlern?
-
Moin nettes Script aber du hast den Eintrag in der Stringtable vergessen
Der steht doch da
-
Ich habe den neu Executet jetzt sagt er mir das Wenn der Zum Ersten Mal läuft das man das Ignorieren soll ich werde den Dynmarket komplett neu installieren und dann mal sehen.
-
Ich Zitiere
Aber wir wollen doch nicht so ein Aloch sein wie du...
Option 1:
Datenbank den Code nicht eingespielt ?
Option 2:
Life Server Codes fehlen ?
Falls beides überprüft wurde RPT Log bitte
Ich danke dir für erste Antwort,
Aber ich bitte dich es stand ganz oben wie oft das GeUpdated werden soll und dann muss man kurz mal reinlesen. Aber egal will jetzt hier nicht Streiten ich werden mal den Code neu Executen und melde mich dann. -
20:44:57 File \life_server\Functions\DynMarket\fn_HandleDB.sqf [TON_fnc_HandleDB], line 30
Kann mir wer helfen?
Datei:Code
Alles anzeigen/* ##################### DYNAMIC MARKET SCRIPT ##################### ### AUTHOR: RYAN TT. ### ### STEAM: www.steamcommunity.com/id/ryanthett ### ### ### ### DISCLAIMER: THIS SCRIPT CAN BE USED ON EVERY SERVER ONLY ### ### WITH THIS HEADER / NOTIFICATION ### ################################################################# */ _switch = _this select 0; _whatanumber = 1; switch (_switch) do { case 0: { _query = format["UPDATE dynmarket SET prices = '%1' WHERE id=1;",DYNMARKET_Items_CurrentPriceArr]; _queryResult = [_query,1] call DB_fnc_asyncCall; diag_log "### DYNMARKET >> SUCCESSFULLY BACKUP'D CURRENT PRICES TO DATABASE! ###"; }; case 1: { _query = format["SELECT prices FROM dynmarket WHERE id=1;"]; _tickTime = diag_tickTime; _queryResult = [_query,2] call DB_fnc_asyncCall; //DYNMARKET_Items_CurrentPriceArr = _queryResult select 0; _pricearray = _queryResult select 0; if (count _pricearray < 1) then { diag_log "########################## DYNAMIC MARKET ##########################"; diag_log "### >> CAN'T LOAD PRICES FROM DATABASE: ERROR 01x ###"; diag_log "### THE REQUESTED PRICEARRAY WAS UNEXPECTEDLY EMPTY! ###"; diag_log "### IF YOU ARE RUNNING DYNMARKET FOR THE FIRST TIME, ###"; diag_log "### PLEASE IGNORE THIS ERROR! ###"; diag_log "####################################################################"; } else { DYNMARKET_Items_CurrentPriceArr = _pricearray; { _itemName = _x select 0; _itemNewPrice = _x select 1; _index = -1; { _index = _index + 1; _curItemName = _x select 0; if (_curItemName==_itemName) then { DYNMARKET_sellarraycopy set [_index,[_itemName,_itemNewPrice]]; }; } forEach DYNMARKET_sellarraycopy; } forEach DYNMARKET_Items_CurrentPriceArr; diag_log "########################## DYNAMIC MARKET ##########################"; diag_log "### >> SUCCESSFULLY LOADED PRICES FROM DATABASE! ###"; diag_log "####################################################################"; }; }; };
-
Du gibst der Lizens einen Namen der wird im Z Menu angezeigt wenn du dies nicht tust ist da eine Leere Zeile sieht einfach Bildlich echt kacke aus...
zumal man sowas im backend lösen kann... Da die Datenbank im hintergrund damit agiert
Ich meine mit Lizenz keine Standart Lizenz sondern selbst erstelle also nicht sowas wie ne Farming Lizenz sondern einfach selber mit extra Database und nicht eine die in Config_Licenses kommt
-
Das erschien mir nicht Deutsch...
Viel zu kompliziert zudem man im Z Menu immer dann alle Lizensen angezeigt bekommt...
Warum alle angezeigt. Man kann es doch ganz einfach von den Lizenzen trennen ?
-
Genau du könntest einen 2 Lizenz Table in der Datenbank anlegen und für jeden Bauplan eine Lizenz und das wird halt auf 1 dann geschaltet und dann machst du es so das beim Kaufen die Lizenz abfragt werden soll die man vom Bauplan erlernt hat.
-
Radler..
Fit oder Seife
Fit
Google Chrome oder Firefox -
PLP Markers
-
"INSERT INTO players (pid, name, cash, bankacc, aliases, cop_licenses, med_licenses, civ_licenses, civ_gear, cop_gear, med_gear, adac_gear, adac_licenses) VALUES('%1', '%2', '%3', '%4', '%5','""[]""','""[]""','""[]""','""[]""','""[]""','""[]""')"
Du willst in players einen neuen "Spieler" anlegen. Dieser soll 13 Attribute bekommen (pid, name usw.)
Du gibst aber nur 11 Werte mit (''%1', '%2', '%3', '%4', usw.).
Ich denk du solltest ,'""[]""','""[]""' hinten anfügen.
Edit: So gar ganz sicher. Siehe Tutorial von Kuchenplatte:
Ich danke dir.
//Closed -
Welche AltisLife version?
5.0 wie im Label
-
Hier nochmal meine insert_Request
-
Guten Tag,
Seid heute kriege ich folgenden Fehler:[20:10:15:915899 +02:00] [Thread 492] extDB3: SQL: Error MariaDBQueryException: Column count doesn't match value count at row 1
[20:10:15:915923 +02:00] [Thread 492] extDB3: SQL: Error MariaDBQueryException: Input: INSERT INTO players (pid, name, cash, bankacc, aliases, cop_licenses, med_licenses, civ_licenses, civ_gear, cop_gear, med_gear, adac_gear, adac_licenses) VALUES('76561198260463794', '[GRFTTF]Ben Walker', '0', '350000', '"[`[GRFTTF]Ben Walker`]"','"[]"','"[]"','"[]"','"[]"','"[]"','"[]"')
Kann Jemand damit was anfangen? -
Guck doch bitte mal in die Download Sektion dort habe ich das Framework mit Opfor veröffentlicht. Schau dir doch bitte dort einfach die Datein an und Vergleich die bitte mit deinen
Hätte ich früher drauf kommen können. TUTORIAL Funktioniert einwandfrei hatte eine Sache vergessen im LifeServer zu editieren.