nehme ich zurück xD wenn ich versuche zu Spawnen spawne ich bei 0,0 im Wasser
&&als cop funktinoiert alles reibungslos
Logs (Server RPT, Client RPT, ggf. extDB)?
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.
nehme ich zurück xD wenn ich versuche zu Spawnen spawne ich bei 0,0 im Wasser
&&als cop funktinoiert alles reibungslos
Logs (Server RPT, Client RPT, ggf. extDB)?
Du musst in der CfgPerso.hpp Zeile 82 ca. die Class der Map eintragen... (siehe Anhang)
Auf den Punkt gebracht.
YouKnowIT , sind die erforderlichen Funktionen in der CfgFunctions eingetragen und die freizugebenen Funktionen in der CfgRemoteExec hinterlegt? Welche Version (V1 oder V2) nutzt du?
Sind in der life_server die Funktionen in der config.cpp (CfgFunctions-class) entsprechend eingetragen und die life_server neugepackt? Wurde die perso-Tabelle in der Datenbank angelegt?
Huhu,
if(FETCH_CONST(life_adminlevel) < 1) then { kannst du auch ändern zu if((call life_adminlevel) < 1) then {
Hallo zusammen,
hier ein kleines Update zu dieser Version des Ausweises.
Google Drive Freigabelink: Klick mich
-- Dateiverlinkung, da sonst zu viele Zeichen...
Einstellungen/Anpassungen können in der CfgPerso.hpp vorgenommen werden.
Diese Version ist die zweite öffentlich verfügbare und die sich von der V1.0 stark unterscheidet.
Solltest du eine alte Version des Ausweises auf diese hier aktualisieren wollen, dann musst du alle alten Bestandteile des Persos aus der Datenbank, der @life_server und der Missionsdatei restlos entfernen (Tutorial "rückwärts" abarbeiten).
Es ist auch eine Version (etwas älter als die V1.0) hier auf http://www.native-network.net sowie http://www.tukku.de zu finden.
CREATE TABLE `perso` (
`PersoID` INT(11) NOT NULL AUTO_INCREMENT COMMENT 'Einmalige PersoID',
`SpielerUID` VARCHAR(50) NOT NULL COMMENT 'Verweis mit Fremdschlüssel auf fwfvs_rpg_Spielertabelle',
`Spielername` VARCHAR(256) NOT NULL COMMENT 'Konvertierter Name des Spielers',
`Originalname` VARCHAR(256) NOT NULL COMMENT 'Hinterlegter Name des Spielers für diese Fraktion. Kann nur mit diesem Namen als Profilname beitreten.',
`Spielerfraktion` VARCHAR(50) NOT NULL COMMENT 'Hinterlegte Spielerfraktion des Personalausweises eines Spielers',
`Persodaten` TEXT NOT NULL COMMENT 'Enthaltene Persodaten',
`Mobilfunknummer` VARCHAR(25) NOT NULL,
`Ausstelldatum` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`SpielerUID`, `Spielerfraktion`, `Mobilfunknummer`),
UNIQUE INDEX `PersoID` (`PersoID`)
) COLLATE='latin1_swedish_ci' ENGINE=InnoDB AUTO_INCREMENT=0;
Alles anzeigen
Die neu angelegte Tabelle heist perso.
class Personalausweis
{
file = "\life_server\Functions\felixvonstudsinske\Personalausweis";
class PersoPreInitServer{preInit = 1;};
class PersoAbfrage {};
class PersoNeu {};
class PersoUpdate {};
class PersoLoeschen{};
class PersoUpdateKomplett{};
};
class perso_name
{
title = "Fehler im Ausweis";
subTitle = "Fehler im Personalausweis";
description = "Profilname (profileName) ungleich dem Spielernamen (name player).";
pictureBackground = "";
picture = "";
pictureColor[] = {0,0.3,0.6,1};
};
class perso_abbruch
{
title = "Mission verlassen";
subTitle = "Du hast die Mission beim Erstellen des Ausweises verlassen.";
description = "";
pictureBackground = "";
picture = "";
pictureColor[] = {0,0.3,0.6,1};
};
Alles anzeigen
Und zum Schluss ganz am Ende der description.ext folgendes einfügen: #include "felixvonstudsinske\CfgPerso.hpp"
Prüfe nun ob bei class Commands { der Befehl systemChat mit dem Wert allowedTargets=1; oder Wert allowedTargets=0; hinterlegt ist. Falls dem nicht so ist, dann füge folgendes ein:
Gegebenenfalls sind Macros in dieser Datei anwendbar. Du kannst natürlich den Codeschnipsel auf die Macros anpassen.
Gehe nun zu class Functions { und füge dort folgendes hinzu:
class life_fnc_SpielerBekanntHandle {
allowedTargets = 0;
};
class life_fnc_ENS_Hint {
allowedTargets = 1;
};
class life_fnc_PersoZeigenAnfordern {
allowedTargets = 1;
};
class DB_fnc_PersoAbfrage {
allowedTargets = 2;
};
class DB_fnc_PersoUpdate {
allowedTargets = 2;
};
class DB_fnc_PersoLoeschen {
allowedTargets = 2;
};
class DB_fnc_PersoNeu {
allowedTargets = 2;
};
class life_fnc_PersoAbfrageRueckgabe {
allowedTargets = 1;
};
class life_fnc_persozeigen {
allowedTargets = 1;
};
Alles anzeigen
Hier gilt das Gleiche mit den Macros.
Navigiere in deiner Functions-Datei zu folgender Stelle Life_Client_Core
und füge folgendes in der Klasse ein:
class Carter_System
{
file = "felixvonstudsinske\System";
class ArrayIndexErhalten {};
class ENS {};
class ENS_Hint {};
};
class Personalausweis
{
file = "felixvonstudsinske\Personalausweis";
class DienstausweisLizenzen {};
class PersoErstellen {};
class PersoErstellenOK {};
class PersoZeigenAnfordern {};
class PersoErstellenFortfahren {};
class PersoPruefenSchaltjahr {};
class PersoWohnortAuswahl {};
class PersoStrasseAuswahl {};
class PersoErstellenBildwahl {};
class PersoGeschlechtswahl {};
class PersoAbfrageRueckgabe {};
class PersoAusgewaehlt {};
class PersoAusweisnummer {};
class PersoSucheTag {};
class PersoKonvertiereSpielername {};
class PersoZeigen {};
class Dienstausweisnummer {};
class DienstausweisRangrueckgabe {};
class PersoLBWahl {};
class PersoNameAendern {};
class PersoLoeschen {};
class PersoErstelleMobilfunknummer {};
class PersoGeneriereAdminausweis {};
class DienstausweisZeigen {};
class SpielerBekanntHandle {};
class ServerteamZeigen {};
};
Alles anzeigen
Kopiere nun das Verzeichnis Ausweis aus dem Anhang aus der jeweiligen Missionsversion aus textures in das gleichnamige textures-Verzeichnis deiner Mission.
Kopiere nun das ganze felixvonstudsinske-Verzeichnis aus dem jeweiligen Missionsverzeichnis in das root-Verzeichnis deiner Mission. Dort liegen in der Regel auch die Dateien initPlayerLocal.sqf und description.ext.
Öffne aus deinem Missionsverzeichnis folgende Datei core\init.sqf. Suche dir nun aus deiner Sicht eine geeignete Position für folgenden Schnipsel (muss zusammen bleiben):
[player,playerside,getPlayerUID player] remoteExec ["DB_fnc_PersoAbfrage",2];
waitUntil {uiSleep 1; 0 cutText["Warte auf Personalien...","BLACK FADED"]; 0 cutFadeOut 9999999; !((player getVariable ["Persodaten",[]]) isEqualTo [])};
Es ist äußerst wichtig, dass du den oben genannten Schnipsel nach diesem Code einfügst waitUntil {life_session_completed};, da sonst die Spielerdaten noch nicht abgefragt wurden und die Geldwerte fehlen.
Wenn du möchtest, dass der Spieler vor der Spawnauswahl seine Identität wählen kann, dann füge den Schnipsel for der großen switch(playerSide)-Anweisung ein.
life_actions = life_actions + [player addAction["<t color='#00FF00'>Personalausweis zeigen</t>",{[player] remoteExec ["life_fnc_persozeigen",cursorObject];},"",1,false,true,"",'!isNull cursorTarget && (player distance cursorTarget) < 3 && cursorTarget isKindOf "Man" && isPlayer cursorObject']];
life_actions = life_actions + [player addAction["<t color='#00FF00'>Personalausweis ansehen</t>",{[player,0] remoteExecCall ["life_fnc_PersoZeigenAnfordern",cursorObject];},"",1,false,true,"",'!isNull cursorTarget && (player distance cursorTarget) < 3 && cursorTarget isKindOf "Man" && isPlayer cursorObject && (cursorObject getVariable ["restrained",false])']];
life_actions = life_actions + [player addAction["<t color='#00FF00'>Dienstausweis ansehen</t>",{[player,1] remoteExecCall ["life_fnc_PersoZeigenAnfordern",cursorObject];},"",1,false,true,"",'!isNull cursorTarget && (player distance cursorTarget) < 3 && cursorTarget isKindOf "Man" && isPlayer cursorObject && (cursorObject getVariable ["restrained",false]) && (side cursorObject in [east,west,independent])']];
life_actions = life_actions + [player addAction["<t color='#00FF00'>Dienstausweis zeigen</t>",{[player, switch (playerSide) do {case west:{call life_coplevel}; case independent:{call life_medicLevel}; case east:{call life_adaclevel};},([] call life_fnc_DienstausweisLizenzen)] remoteExec ["life_fnc_DienstausweisZeigen",cursorObject];},"",1,false,true,"",' playerSide == west && !isNull cursorTarget && cursorTarget isKindOf "Man" ']];
life_actions = life_actions + [player addAction["<t color='#00FF00'>Personalausweis zeigen</t>",{[player] remoteExec ["life_fnc_persozeigen",cursorObject];},"",1,false,true,"",'!isNull cursorTarget && (player distance cursorTarget) < 3 && cursorTarget isKindOf "Man" && isPlayer cursorObject']];
life_actions = life_actions + [player addAction["<t color='#00FF00'>Personalausweis ansehen</t>",{[player,0] remoteExecCall ["life_fnc_PersoZeigenAnfordern",cursorObject];},"",1,false,true,"",'!isNull cursorTarget && (player distance cursorTarget) < 3 && cursorTarget isKindOf "Man" && isPlayer cursorObject && (cursorObject getVariable ["restrained",false])']];
life_actions = life_actions + [player addAction["<t color='#00FF00'>Dienstausweis ansehen</t>",{[player,1] remoteExecCall ["life_fnc_PersoZeigenAnfordern",cursorObject];},"",1,false,true,"",'!isNull cursorTarget && (player distance cursorTarget) < 3 && cursorTarget isKindOf "Man" && isPlayer cursorObject && (cursorObject getVariable ["restrained",false]) && (side cursorObject in [east,west,independent])']];
Die hinterlegten Funktionen können auch in diverse Interaktionsmenüs mit eingepflegt werden.
Für die Scrollmenüs sind hinten in dem addAction-Befehl die Anzeigebedingung zu beachten.
Füge nun am Ende der gleichen Datei (fn_setupActions.sqf) folgende ein:
[] spawn {
waitUntil {!isNil "life_adminlevel"};
if ((call life_adminlevel) > 0) then {life_actions = life_actions + [player addAction["<t color='#FF0000'>Serverteamausweis zeigen</t>",{hint format["Du zeigst %3 (%1, %2) deinen Serverteamausweis.",getPlayerUID cursorObject, side cursorObject, name cursorObject]; [getPlayerUID player,profileName] remoteExec ["life_fnc_ServerteamZeigen",cursorObject];},"",0,false,false,"",'(call life_adminlevel) > 0 && (isPlayer cursorObject) && (alive cursorObject) && cursorObject isKindOf "Man"']];};
};
life_actions = life_actions + [player addAction["Ausweise ausblenden",{("rsc_Serverteamausweis" call BIS_fnc_rscLayer) cutText ["","PLAIN"]; ("dienstausweis" call BIS_fnc_rscLayer) cutText ["","PLAIN"]; ("perso" call BIS_fnc_rscLayer) cutText ["","PLAIN"];},"",1,false,true,"",'(!(isNull (uiNameSpace getVariable ["ui_Personalausweis",displayNull])) || !(isNull (uiNameSpace getVariable ["ui_Dienstausweis",displayNull])) || !(isNull (uiNameSpace getVariable ["ui_Serverteamausweis",displayNull]))) && alive player']];
this addAction ["Ausweisänderung durchführen",{[true] spawn life_fnc_PersoErstellen;},"",0,false,false,"",'playerSide == civilian && (player distance _target < 5)'];
Für weitere Fraktion, muss die Anzeigebedingung angepasst werden. Standard = nur Zivilist kann Ausweisdaten anpassen!
Personalausweis erstellen:
Personalausweisdarstellung im HUD:
Dienstausweisdarstellung im HUD:
Serverteamausweis, wenn richtig eingestellt:
@life_server\addons\life_server\Functions\felixvonstudsinske\Personalausweis\fn_PersoPreInitServer.sqf
Viel Spaß mit dieser Version, ciao.
Grüße
Hast du die Tabelle händisch angelegt oder hast du den SQL Code zum Anlegen ausgeführt? Scheint als würden wichtige Eigenschaften für die Spalte id fehlen, die aber wichtig sind, wie AUTO_INCREMENT
[16:11:14:694836 +01:00] [Thread 3292] extDB3: SQL: Error MariaDBQueryException: Input: insertPerso:76561198202150556
Du hast die life_server Variante oder Bestandteile dieser für SQL CUSTOM in Verwendung.
Zitat von RomSuche hier mal im Beitrag nach SQL Custum, die dazugehörigen Dateien hast du wohl versehentlich verwendet. Ansonsten die life_server Version anwenden, in der die SQL Befehle in den SQF Dateien direkt drinn stehen und testen.
In den life_server Scripts für den Perso muss sowas ähnliches enthalten sein:
Hallo,
ich schrieb mal
ZitatJeweilge @life_server von Version X und unter extDB, extDB2 und extDB3 (mit vorgefertigten SQL-Abfragen)
Das Tutorial ist nicht zu 100% für die extDB3 geeignet
Suche hier mal im Beitrag nach SQL Custum, die dazugehörigen Dateien hast du wohl versehentlich verwendet. Ansonsten die life_server Version anwenden, in der die SQL Befehle in den SQF Dateien direkt drinn stehen und testen.
Offtopic..
Und warum mache ich nicht mehr allzu viel mit Helfen? Fängt man einmal an und bietet seine Hilfe an, macht es erst Spass und man löst Probleme, aber dann wollen manche total tolle Sachen haben und man fühlt sich schnell ausgenutzt, vielleicht kennt das jemand, wenn nicht auch egal. Das Helfen habe ich seit langem auf einen kleineren Kreis und Zeitaufwand reduziert, AmaZiinG weiss bestimmt was ich meine
Darum passierte im 1. Beitrag seit langem nichts mehr:
Ich hatte vor langer Zeit von nox gefordert, dass das Thema entfernt wird, ich wollte das nicht akzeptieren und dann wurde das Thema zum Bearbeiten gesperrt, sonst würde ich noch was inhaltlich vom Tut sowie Scripts anpassen. Mittlerweile ist der Gedanke zwecks Entfernen entflohen und egal. nox vllt kann der ja entsperrt werden, nach langem
Auflösungsvorgaben von Arma beachtet?
MrZuckerSch0ck , der Versionsunterschied bezog sich auf die Einbungsart der Lizenz. Nicht auf die anderes Inhalte.
Habe jetzt doch meine RPT Log gefunden und zwar wird das die ganze zeit drinne gespamt.
Hast du auch diesen Schritt gemacht, oder übersehen?
Öffne die configurations.sqf aus Altis_Life.Altis\core und füge dies unter den Variablen hinzu
Auch einmal den Client RPT von deinem Computer + ggf. Screenshot des angezeigten Menüs.
Also,
entweder hast du die life_server-Version für extDB3 genommen oder die extDB2-Version mit ini/SQL_CUSTOM für die Version 4.0, welche ich denke mal du nicht nutzt, sonst würde der Fehler nicht kommen.
Probiere mal bitte diese Variante (unterscheiden sich alle im Grunde entweder im Protokoll oder mit einer zusätzlichen Klammer oder einer weniger): life_server Versionen\extDB2\life_server 4.5
-> life_server Versionen\extDB2\life_server 4.5 mal nutzen.
[19:00:05:931004 +02:00] [Thread 620] extDB3: SQL: Error MariaDBQueryException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'requestPersoCivilian:76561198017994683' at line 1
[19:00:05:931264 +02:00] [Thread 620] extDB3: SQL: Error MariaDBQueryException: Input: requestPersoCivilian:76561198017994683
[19:00:05:931787 +02:00] [Thread 620] extDB3: SQL: Error MariaDBQueryException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'insertPerso:76561198017994683' at line 1
[19:00:05:931811 +02:00] [Thread 620] extDB3: SQL: Error MariaDBQueryException: Input: insertPerso:76561198017994683
[19:00:48:505319 +02:00] [Thread 620] extDB3: SQL: Error MariaDBQueryException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'updatePersoCivilian:76561198017994683:"[`Fuzzy`,`85`,`M`,`A`,`Kleine Felswand`,`' at line 1
[19:00:48:505382 +02:00] [Thread 620] extDB3: SQL: Error MariaDBQueryException: Input: updatePersoCivilian:76561198017994683:"[`Fuzzy`,`85`,`M`,`A`,`Kleine Felswand`,`70517994683`,`[email protected]`,`170`,`55`,`1`,`1`,`1950`,`39071`,`0`,`1`]"
[19:00:48:643632 +02:00] [Thread 620] extDB3: SQL: Error MariaDBQueryException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'requestPersoCivilian:76561198017994683' at line 1
[19:00:48:643694 +02:00] [Thread 620] extDB3: SQL: Error MariaDBQueryException: Input: requestPersoCivilian:76561198017994683
[19:00:48:644506 +02:00] [Thread 620] extDB3: SQL: Error MariaDBQueryException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'insertPerso:76561198017994683' at line 1
[19:00:48:644531 +02:00] [Thread 620] extDB3: SQL: Error MariaDBQueryException: Input: insertPerso:76561198017994683
Nutze/Teste mal bitte eine life_server-Version, wo in den sqf-Dateien der SQL-Befehl direkt drinnen steht SELECT bla FROM bla WHERE blub;.
extDB3: Protocol Error: [0,""Error MariaDBQueryException Exception""]"
den extDB3-Log bitte. Kann sein, dass du die falsche life_server-Version verwendest (mit vorgefertigten SQL-Befehlen).
Öffne die Functions.h und füge folgenden Inhalt alleinstehend am Ende der Datei hinzu
Zeilord , ich denke das sollte helfen ;), das sollte dann in etwa so aussehen (das kann bei dir, jenach dem was du bereits geändert hast, anders aussehen):
class Socket_Reciever {
tag = "SOCK";
class SQL_Socket {
file = "core\session";
class dataQuery {};
class insertPlayerInfo {};
class requestReceived {};
class syncData {};
class updatePartial {};
class updateRequest {};
};
};
class Life_Client_Core {
tag = "life";
class Master_Directory {
file = "core";
class initCiv {};
class initCop {};
class initMedic {};
class setupActions {};
class setupEVH {};
class survival {};
class welcomeNotification {};
};
class Actions {
file = "core\actions";
class arrestAction {};
class buyLicense {};
class captureHideout {};
class catchFish {};
class dpFinish {};
class dropFishingNet {};
class escortAction {};
class gather {};
class getDPMission {};
class gutAnimal {};
class healHospital {};
class impoundAction {};
class mine {};
class newsBroadcast {};
class packupSpikes {};
class pickupItem {};
class pickupMoney {};
class postBail {};
class processAction {};
class pulloutAction {};
class putInCar {};
class removeContainer {};
class repairTruck {};
class restrainAction {};
class robAction {};
class searchAction {};
class searchVehAction {};
class seizePlayerAction {};
class serviceChopper {};
class stopEscorting {};
class storeVehicle {};
class surrender {};
class ticketAction {};
class unrestrain {};
};
class Admin {
file = "core\admin";
class adminCompensate {};
class adminDebugCon {};
class adminFreeze {};
class admingetID {};
class adminGodMode {};
class adminid {};
class admininfo {};
class adminMarkers {};
class adminMenu {};
class adminQuery {};
class adminSpectate {};
class adminTeleport {};
class adminTpHere {};
};
class Civilian {
file = "core\civilian";
class civLoadout {};
class civMarkers {};
class demoChargeTimer {};
class freezePlayer {};
class jail {};
class jailMe {};
class knockedOut {};
class knockoutAction {};
class removeLicenses {};
class robPerson {};
class robReceive {};
class tazed {};
};
class Config {
file = "core\config";
class houseConfig {};
class itemWeight {};
class vehicleAnimate {};
class vehicleWeightCfg {};
};
class Cop {
file = "core\cop";
class bountyReceive {};
class containerInvSearch {};
class copInteractionMenu {};
class copLights {};
class copLoadout {};
class copMarkers {};
class copSearch {};
class copSiren {};
class doorAnimate {};
class fedCamDisplay {};
class licenseCheck {};
class licensesRead {};
class questionDealer {};
class radar {};
class repairDoor {};
class restrain {};
class searchClient {};
class seizeClient {};
class sirenLights {};
class spikeStripEffect {};
class ticketGive {};
class ticketPaid {};
class ticketPay {};
class ticketPrompt {};
class vehInvSearch {};
class wantedGrab {};
};
class Dialog_Controls {
file = "dialog\function";
class bankDeposit {};
class bankTransfer {};
class bankWithdraw {};
class displayHandler {};
class gangDeposit {};
class gangWithdraw {};
class garageLBChange {};
class impoundMenu {};
class progressBar {};
class safeFix {};
class safeInventory {};
class safeOpen {};
class safeTake {};
class sellGarage {};
class setMapPosition {};
class spawnConfirm {};
class spawnMenu {};
class spawnPointCfg {};
class spawnPointSelected {};
class unimpound {};
class vehicleGarage {};
class wireTransfer {};
};
class Functions {
file = "core\functions";
class AAN {};
class accType {};
class actionKeyHandler {};
class animSync {};
class calWeightDiff {};
class clearVehicleAmmo {};
class dropItems {};
class escInterupt {};
class fetchCfgDetails {};
class fetchDeadGear {};
class fetchVehInfo {};
class isDamaged {};
class giveDiff {};
class handleDamage {};
class handleInv {};
class handleItem {};
class hideObj {};
class hudSetup {};
class hudUpdate {};
class inventoryClosed {};
class inventoryOpened {};
class isUIDActive {};
class keyHandler {};
class loadDeadGear {};
class loadGear {};
class nearATM {};
class nearestDoor {};
class nearUnits {};
class numberText {};
class onFired {};
class onTakeItem {};
class playerSkins {};
class playerTags {};
class postNewsBroadcast {};
class pullOutVeh {};
class pushObject {};
class receiveItem {};
class receiveMoney {};
class revealObjects {};
class saveGear {};
class searchPosEmpty {};
class simDisable {};
class stripDownPlayer {};
class tazeSound {};
class teleport {};
class whereAmI {};
};
class Gangs {
file = "core\gangs";
class createGang {};
class gangCreated {};
class gangDisband {};
class gangDisbanded {};
class gangInvite {};
class gangInvitePlayer {};
class gangKick {};
class gangLeave {};
class gangMenu {};
class gangNewLeader {};
class gangUpgrade {};
class initGang {};
};
class Housing {
file = "core\housing";
class buyHouse {};
class buyHouseGarage {};
class containerMenu {};
class copBreakDoor {};
class copHouseOwner {};
class garageRefund {};
class getBuildingPositions {};
class houseMenu {};
class initHouses {};
class lightHouse {};
class lightHouseAction {};
class lockHouse {};
class lockupHouse {};
class placeContainer {};
class PlayerInBuilding {};
class raidHouse {};
class sellHouse {};
class sellHouseGarage {};
};
class Items {
file = "core\items";
class blastingCharge {};
class boltcutter {};
class defuseKit {};
class flashbang {};
class jerrycanRefuel {};
class jerryRefuel {};
class lockpick {};
class placestorage {};
class spikeStrip {};
class storageBox {};
};
class Medical_System {
file = "core\medical";
class deathScreen {};
class medicLights {};
class medicLoadout {};
class medicMarkers {};
class medicRequest {};
class medicSiren {};
class medicSirenLights {};
class onPlayerKilled {};
class onPlayerRespawn {};
class requestMedic {};
class respawned {};
class revived {};
class revivePlayer {};
};
class Network {
file = "core\functions\network";
class broadcast {};
class corpse {};
class jumpFnc {};
class say3D {};
class setFuel {};
class soundDevice {};
};
class Player_Menu {
file = "core\pmenu";
class cellphone {};
class giveItem {};
class giveMoney {};
class keyDrop {};
class keyGive {};
class keyMenu {};
class p_openMenu {};
class p_updateMenu {};
class pardon {};
class removeItem {};
class s_onChar {};
class s_onCheckedChange {};
class s_onSliderChange {};
class settingsMenu {};
class updateViewDistance {};
class useItem {};
class wantedAddP {};
class wantedInfo {};
class wantedList {};
class wantedMenu {};
};
class Shops {
file = "core\shops";
class atmMenu {};
class buyClothes {};
class changeClothes {};
class chopShopMenu {};
class chopShopSelection {};
class chopShopSell {};
class clothingFilter {};
class clothingMenu {};
class fuelLBchange {};
class fuelStatOpen {};
class levelCheck {};
class vehicleShop3DPreview {};
class vehicleShopBuy {};
class vehicleShopEnd3DPreview {};
class vehicleShopInit3DPreview {};
class vehicleShopLBChange {};
class vehicleShopMenu {};
class virt_buy {};
class virt_menu {};
class virt_sell {};
class virt_update {};
class weaponShopAccs {};
class weaponShopBuySell {};
class weaponShopFilter {};
class weaponShopMags {};
class weaponShopMenu {};
class weaponShopSelection {};
};
class Vehicle {
file = "core\vehicle";
class addVehicle2Chain {};
class colorVehicle {};
class deviceMine {};
class FuelRefuelcar {};
class fuelStore {};
class fuelSupply {};
class lockVehicle {};
class openInventory {};
class vehiclecolor3DRefresh {};
class vehicleOwners {};
class vehicleWeight {};
class vehInventory {};
class vehStoreItem {};
class vehTakeItem {};
class vInteractionMenu {};
};
};
class felixvonstudsinske
{
tag = "fvs";
class perso
{
file = "felixvonstudsinske\personalausweis\perso";
class perso_laden {};
class persoCheck {};
class persoCheck_aenderung {};
class persoErgebnis {};
class persoNeu {};
class updateTag {};
class updateTagA {};
class updateMonat {};
class updateMonatA {};
class updateHsnr {};
class updateHsnrA {};
class updateStrasse {};
class updateStrasseA {};
class persoBeantragen {};
class persoBeantragenAenderung {};
class zeigePerso {};
class updatePersoBild {};
class updatePersoBildA {};
class aenderePerso {};
class persoPreInit {preinit = 1;}; // Neu für Variablen
};
};
Alles anzeigen
Hey. Das Script funktioniert einwandfrei, jedoch kann es ab 50 Spielern gleichzeitig mal vorkommen, das jeder eine Unsichtbare Perso-Meldung bekommt, wo sich Jeder einen neuen Personalausweis erstellen muss.
Hallo,
das einzige, was ich mir als Grund vorsellen kann ist, dass der Server die owner-ID des Spielers falsch ermitteln tut und somit an alle das Ergebnis schickt.
Habe mal owner xxx zu remoteExecutedOwner geändert. Vielleicht hilft das ja.
Probier das mal so:
this addAction ["Siren On",{c1 say ["wolf1",400]}];
"addAction" erwartet Code. Der Code wird dann aufgerufen, wenn du im Scrollmenü bestätigst.
Das "Du" kann man groß schreiben, wenn du eine Person direkt ansprichst, ähnlich wie mit dem "Sie", "Ihre" usw. Um auch z.B. die Aufmerksamkeit des Lesers zu wecken und ihn auf etwas hinweisen
Moin,
könntest du für die Helfenden einmal den Server-RPT und einmal deinen Client-RPT hier hochladen?
Eine einfache Anzeige der Meldung ist eine Sache, in den Fehlerlogs (rpt) sind häufig detallierte Auflistungen der Fehler und wo dieser herkommen könnte. Auch kann es sein, dass deine heruntergeladene Mod fehlerhaft ist oder etwas anderes fehlt.