Beiträge von blackfisch
-
-
if(license_civ_drogen) then {
_return = _return + [
["drogen_spawn_1","Drogen Spawnerino","iconpfad..."],
["drogen_spawn_2","Drogen Spawnerino 2","iconpfad..."]
];
};besser wäre das hier:
Codeif(license_civ_drogen) then { _return pushBack ["drogen_spawn_1","Drogen Spawnerino","iconpfad..."]; _return pushBack ["drogen_spawn_2","Drogen Spawnerino 2","iconpfad..."]; };aber funktionieren tut beides
Ist nur "schneller" (laut BI) und sieht etwas professioneller aus für Unwissende -
https://board.nitrado.net/support-de-ger…n-puid-donator/
Müsste nach dem Prinzip auch in der 4.4 gehen -
Also... Eins nach dem anderen... Gehen wie die Log mal durch:
Code23:16:39 Unexpected stringtable format inside <Text ID="STR_Item_platinstuecke"><German> 23:16:39 Item STR_Item_holz listed twice 23:16:39 Unexpected stringtable format inside <Text ID="STR_Process_platin"><Original> 23:16:39 Unexpected stringtable format inside <Text ID="STR_Process_platin"><Original> 23:16:39 Unsupported language English in stringtable 23:16:39 Unexpected stringtable format inside <Text ID="STR_Item_platinstuecke"><German> 23:16:39 Item STR_Item_holz listed twice 23:16:39 Unexpected stringtable format inside <Text ID="STR_Process_platin"><Original> 23:16:39 Unexpected stringtable format inside <Text ID="STR_Process_platin"><Original> 23:16:39 Unsupported language English in stringtableCheck mal deine STR_Item platinstuecke und STR_Process_platin in der Stringtable, scheint der Syntax irgendwie falsch zu sein und du hast STR_Item_holz doppelt drin.
Code23:16:39 File mpmissions\Altis_Life.Altis\mission.sqm, line 16678: '/Mission/Entities/Item838/Entities/Item49/Attributes.init': Missing ';' at the end of line 23:16:39 Error context oadout!",life_fnc_greencop]; this addAction["Dein Loadout!",life_fnc_greenload]; this allowDamage false; this addAction[localize""STR_MAR_W_E_Vehicle Shop"",life_fnc_vehicleShopMenu,[""cop_car"",west,""cop_car_1"",""cop"",""APD - Kavala District""]]; this addAction[localize""STR_Garage_Title"", { [getPlayerUID player,playerSide,""Car"",player] remoteExecCall [""TON_fnc_getVehicles"",2]; createDialog ""Life_impound_menu""; disableSerialization; ctrlSetText[2802,""Fetching Vehicles....""]; life_garage_sp = ""cop_car_1""; life_garage_type = ""Car""; },"""",0,false,false,"""",'playerSide == west']; this addAction[localize""STR_MAR_Store_vehicle_in_Garage"",life_fnc_storeVehicle,"""",0,false,false,"""",'!life_garage_store']; this setVariable[""realname"",""Cop Vehicle Store""]; this setObjectTextureGlobal [0,""textures\cop_uniform.jpg""];"; ErrorMessage: File mpmissions\Altis_Life.Altis\mission.sqm, line 16678: '/Mission/Entities/Item838/Entities/Item49/Attributes.Dein': 'L' encountered instead of '='Fehler in der mission.sqm - Anscheinend bei deinem NPC für Cop-Autos in Kavala der Init nach, bitte prüfen!
Und zu guter letzt wäre dein Client-RPT noch ganz von nützen, da solche Fehler dort nicht drin stehen
Serverside tauchen nur Fehler in der @life_server auf -
Danke, das Formatieren dauert immer etwas
twitch-kappa[1].jpg -
Ehm... in deinem Keyhandler ist rein garnichts drin zum einschalten

Nimm mal die:
C
Alles anzeigencase 38: { if (_shift) then { //If cop run checks for turning lights on. if (vehicle player != player && playerSide in [west,independent]) then { if (!isNil {vehicle player getVariable "lights"}) then { if (playerSide isEqualTo west) then { [vehicle player] call life_fnc_sirenLights; } else { [vehicle player] call life_fnc_medicSirenLights; }; _handled = true; }; }; //Taschenlampe if (vehicle player isEqualTo player) then { [vehicle player] call life_fnc_useFlashlight; }; }; if (!_alt && !_ctrlKey && !_shift) then { [] call life_fnc_radar; }; };@nox Wieso hast du da eigentlich abgefragt ob der Spieler "west, independent, civilian" ist - da bleibt ja nicht viel anderes übrig xD Hab das hier mal rausgenommen und deinen Code etwas geputzt & aufgeräumt :p
-
So, wer das ganze für die Version 4.4r3 braucht schaut gerne mal hier vorbei:
[TUTORIAL][Altis Life 4.4r3] RyanTTs Dynamic Market System -
Hier für alle suchenden eine Fehlerfrei funktionierende Version des Dynamic Market Scripts. Achtung: Die Config kann von den Itemnamen fehlerhaft sein, ich hab das nur grob gecheckt!
Script: RyanTTs Dynamic Market System
Version: Altis Life 4.4r3
Schiwerigkeitsgrad: Fortgeschrittener (mittel) - ein gewisses Scriptverständnis wird zum Bearbeiten vorausgesetzt!
Funktionen:
~ Börsenmenü (wahlweise über Z-Menü oder NPC aufrufbar)
~ Preise werden in der Datenbank gespeichert
~ Items beeinflussen sich gegenseitig
Rechtliche Hinweise (Copyright):
Dieses Script/Tutorial basiert auf dem Script von RyanTT aka. Optix.
Ich untersage dennoch die Verbreitung dieser Daten und die des von mir verfassten Tutorials in anderen Foren ohne vorher mein Einverständnis dazu einzuholen.
Nun zum eigentlichen Teil dieses Posts...
Anleitung:Beginnen wir mit der Missionsdatei:
- Öffnet eure Functions.hpp und fügt dort folgendes unter class Dialog_Controls ein
- Erstellt einen neuen Ordner DynMarket im core-Ordner und fügt die Dateien aus folgendem Archiv ein DynMarketMISSION.rar
- Öffnet eure init.sqf im core-Ordner und fügt über den letzten 3 Zeilen (die diag_log Befehele) folgendes ein
- Öffnet eure fn_virt_sell.sqf (zu finden im Ordner core\shops) und ersetzt sie mit folgendem Inhalt:
C
Alles anzeigen#include "..\..\script_macros.hpp" /* File: fn_virt_sell.sqf Author: Bryan "Tonic" Boardwine Description: Sell a virtual item to the store / shop */ private["_type","_index","_price","_amount","_name"]; if ((lbCurSel 2402) isEqualTo -1) exitWith {}; _type = lbData[2402,(lbCurSel 2402)]; _price = -2; _itemNameToSearchFor = _type; { _curItemName = _x select 0; _curItemPrice = _x select 1; if (_curItemName==_itemNameToSearchFor) then {_price=_curItemPrice}; } forEach DYNMARKET_prices; if (_price isEqualTo -1) exitWith {}; if (_price isEqualTo -2) then { _price = M_CONFIG(getNumber,"VirtualItems",_type,"sellPrice"); if (_price isEqualTo -1) exitWith {}; }; _amount = ctrlText 2405; if (!([_amount] call TON_fnc_isnumber)) exitWith {hint localize "STR_Shop_Virt_NoNum";}; _amount = parseNumber (_amount); if (_amount > (ITEM_VALUE(_type))) exitWith {hint localize "STR_Shop_Virt_NotEnough"}; if ((time - life_action_delay) < 0.2) exitWith {hint localize "STR_NOTF_ActionDelay";}; life_action_delay = time; _price = (_price * _amount); _name = M_CONFIG(getText,"VirtualItems",_type,"displayName"); if ([false,_type,_amount] call life_fnc_handleInv) then { hint format[localize "STR_Shop_Virt_SellItem",_amount,(localize _name),[_price] call life_fnc_numberText]; CASH = CASH + _price; [0] call SOCK_fnc_updatePartial; [] call life_fnc_virt_update; DYNAMICMARKET_boughtItems pushBack [_type,_amount]; }; if (life_shop_type isEqualTo "drugdealer") then { private["_array","_ind","_val"]; _array = life_shop_npc getVariable["sellers",[]]; _ind = [getPlayerUID player,_array] call TON_fnc_index; if (!(_ind isEqualTo -1)) then { _val = ((_array select _ind) select 2); _val = _val + _price; _array set[_ind,[getPlayerUID player,profileName,_val]]; life_shop_npc setVariable["sellers",_array,true]; } else { _array pushBack [getPlayerUID player,profileName,_price]; life_shop_npc setVariable["sellers",_array,true]; }; }; if (life_shop_type isEqualTo "gold" && (LIFE_SETTINGS(getNumber,"noatm_timer")) > 0) then { [] spawn { life_use_atm = false; sleep ((LIFE_SETTINGS(getNumber,"noatm_timer")) * 60); life_use_atm = true; }; }; [0] call SOCK_fnc_updatePartial; [3] call SOCK_fnc_updatePartial; - Öffnet eure CfgRemoteExec.hpp und fügt unter den "Server only Functions" folgendes ein
- Öffnet eure Masterhandler.hpp (zu finden im dialog-Ordner) und fügt unten folgendes ein
- Fügt die Dateien aus folgendem Archiv in eurem dialog-Ordner ein dialog.rar
Nun zum Part in der @life_server:
- Öffnet eure config.cpp und fügt über class Systems folgendes ein
- Erstellt einen neuen Ordner DynMarket im Functions-Ordner und fügt die Dateien aus folgendem Archiv ein DynMarketLIFE.zip
- Öffnet eure init.sqf und fügt dort über den letzten drei Zeilen (wieder die diag_log's) folgendes ein
Zu guter Letzt die Datenbank: - Führt nun noch folgenden Code in der Befehlszeile eurer Datenbank aus
CSS
CREATE TABLE `dynmarket` ( `id` INT NOT NULL DEFAULT 1, `prices` TEXT NOT NULL, PRIMARY KEY (`id`)); INSERT INTO `dynmarket` VALUES (1,'[]');OPTIONAL: (Danke an @AmaZiinG)
- Öffnet eure player_inv.hpp (zu finden im dialog Ordner) und fügt folgenden Code unter class ButtonSyncData ein
- Öffnet eure fn_p_openMenu.sqf (zu finden im Ordner core\pmenu) und fügt unter class independent und class west folgendes ein (kann ausgelassen werden, versteckt den Knopf für Cops/Medics)
- Um einen NPC oder ein anderes Objekt zum Einsehen der Börse zu verwenden, einfach folgenden Code in die init-Zeile setzen
Fertig!
Das war's schon!
Solltet ihr Wünsche, Anregungen oder Verbesserungsvorschläge haben, lasst es mich gerne wissen!Informationen zum Konfigurieren des Scripts (Preise anpassen etc.) gibt es hier: [Script] "DynamicMarket" by Ryan (AltisLife 3.1.4.8 and 4.0.0.0 compatible) - 4.0 - Altis Life RPG (Originalthread von RyanTT - hier an dieser Stelle auch noch mal vielen Dank an ihn!)
Ich wünsche euch Viel Spaß mit dem Tutorial

-
Ich schreib mal eben ein TUT für die 4.4r3

-
Ja, du callst die Function ohne Ziel anscheinend... Bitte mal deine Keyhandler & medicSirenLights!
-
DYNAMICMARKET_boughtItems = [];
[[getPlayerUID player],"TON_fnc_playerLogged",false,false] spawn life_fnc_MP;ehm... sicher, dass das korrekt ist? in der 4.4 müsste das ganze doch remoteExec sein
-
Er meint damit glaube ich, dass da keine Fehler drin sind
-
-
Schönes Tut, bitte aber Syntax checken
Alles anzeigen<strong> class DynMarket</strong>
<strong> {</strong>
<strong> file = "core\DynMarket";</strong>
<strong> class bought {};</strong>
<strong> class update {};</strong>
<strong> class DisplayPrices {};</strong>
<strong> class LoadIntoListbox {};</strong>
<strong> class ForcePrice {};</strong>
<strong> class DYNMARKET_getPrice {};</strong>
<strong> };</strong>Hatte @Exodoos glaube ich letztens schon

-
-
Ich glaube eher nicht, weil das höllisch Arbeit und Takistan tot ist....
-
-
-
Ja man kann das mit setVelocity blabla überschreiben

-
Ich will nichts sagen, aber ich glaube da hats was falsch formatiert

<strong> [</strong>
<strong> ["Willkommen bei","<t align = 'center' size = '0.7'>%1</t><br/>"], //OBERE ZEILE</strong>
<strong> ["MEINEM SERVER","<t align = 'center' size ='1'>%1</t><br/>"] //UNTERE ZEILE</strong>
<strong> ]</strong>
<strong> ] spawn BIS_fnc_typeText; //TEXT TYP</strong>