Armed-Assault.de Twitter
Antwort
 
Themen-Optionen Ansicht
Alt 17.02.2015, 21:22   #1 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 05.11.2011
Beiträge: 235
Icon5 Script/Datenbankabfrage ausführen (Server)

Hallo zusammen,

ich arbeite momentan an einer Mission in welcher die Personen, die verbinden, überprüft werden sollen. Gibt es die Person schon in der DB (die auf dem Server liegt) (Windows) dann soll ein Fahrzeug gespawnt werden (dient nur zur erfolgsmeldung). Gibt es die Person nicht, dann soll die Person mit Name und UID eingetragen werden.

Das hier hatte ich mir durchgelesen, aber irgendwie scheint das nicht ganz zu funktionieren, was ich fabriziert habe. Ohne das isServer bei beiden Scripts funktioniert das im Editor mit lokaler Mysql-DB wunderbar.

Code:
//init.sqf
database = compileFinal "'NAME'";
[player] execVM "scripts\mysql\connect.sqf";
Code:
//scripts\mysql\connect.sqf
if (!isServer){
    _player = _this select 0;
    _playeruid = getPlayerUID player;
    _myProfileName = profileName;
    [[[_player, _playeruid, _myProfileName],"scripts\server\mysql\connect.sqf"],"BIS_fnc_execVM",false,true] call BIS_fnc_MP;
};
Code:
//scripts\server\mysql\connect.sqf
if (isServer){
    _player = _this select 0;
    _playeruid = _this select 1;
    _myProfileName = _this select 2;
    _veh = "C_SUV_01_F" createVehicle position _player;

    _database = call database;
    _query = format ["SELECT name FROM `players` WHERE name = '%1'", _myProfileName];
    _return = nil;
    while {isNil("_return")} do {
        _return = "Arma2Net.Unmanaged" callExtension format ["Arma2NETMySQLCommandAsync ['%1', '%2']", _database, _query];
        if (_return == "") then {
                _return = nil;
        };
        sleep 0.5;
    };
    if (_return == '[[]]') then {
        _query = format ["INSERT INTO `players` (name, playeruid) VALUES ('%1', '%2')", _myProfileName, _playeruid];
        _return = nil;
        while {isNil("_return")} do {
            _return = "Arma2Net.Unmanaged" callExtension format ["Arma2NETMySQLCommandAsync ['%1', '%2']", _database, _query];
            if (_return == "") then {
                    _return = nil;
            };
            sleep 0.5;
        };
    } else {
        _veh = "C_SUV_01_F" createVehicle position _player;
    };
};
Danke und Grüße
__________________
Achtung! Betrachtung des Quellcodes auf eigene Gefahr. Für Übelkeit, Erbrechen oder Kopfschmerzen übernehme ich keine Haftung
------
https://www.sol-diers.com
Sol.LrMartyn ist offline   Mit Zitat antworten
Alt 18.02.2015, 13:34   #2 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Registriert seit: 10.10.2006
Beiträge: 263
Standard

Meine empfehlung Verhaue das gesamte und nutze Extdb und baue auf diesen auf.

Sollte es wirklich nicht viel sein was da gespeichert wird so sieht es im moment aus kanst du auch einfach den Profilnamenspace des servers nehmen zum speichern.
Nokman ist offline   Mit Zitat antworten
Alt 18.02.2015, 14:54   #3 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 05.11.2011
Beiträge: 235
Standard

Hallo Nokman,

erstmal danke für deine Antwort. Die weiteren Pläne (warum eine Mysql) ist relativ einfach. Das ganze soll noch mit einer Webseite verbunden werden.

Ist extDB nicht das AddOn welches Files innerhalb des ArmA 3 Server Verzeichnisses schreibt? Files will ich auf jeden Fall umgehen :-) (Wobei ne DB ja auch nix anderes ist, aber ich denke Du weißt worauf ich hinaus will). Aber ich schau mit extDB nochmal an.

Und nameSpace geht ja nicht wenn ich
- den Server umziehen will,
- eine Webseite einbinden will,
oder?

Ach und ähm, da kommt zu den Spalten und Tabellen natürlich noch einiges dazu, aber ich will ja klein anfangen

Es ist noch kein Meister vom Himmel gefallen
__________________
Achtung! Betrachtung des Quellcodes auf eigene Gefahr. Für Übelkeit, Erbrechen oder Kopfschmerzen übernehme ich keine Haftung
------
https://www.sol-diers.com
Sol.LrMartyn ist offline   Mit Zitat antworten
Alt 18.02.2015, 18:14   #4 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Registriert seit: 10.10.2006
Beiträge: 263
Standard

nö dann ist ein namensspace nicht angebracht. Extdb ist die Neue Arma2net
Bessere Abfrage und weniger Fehleranfällig und viel schneller.

Was du meinst ist inidbi (indbi) welches im arma verzeichnis eine DB anlegt.

Kan nur Extdb empfehlen da es weiterentwickelt wird und auch unter Linux funktionert da du Umzug des Servers angesprochen hast.
Nokman ist offline   Mit Zitat antworten
Alt 18.02.2015, 18:42   #5 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 05.11.2011
Beiträge: 235
Standard

Hallo Nokman,

danke für die Info. Trotzdem verstehe ich nicht wieso mein Skript nur ohne isServer funktioniert :-)
__________________
Achtung! Betrachtung des Quellcodes auf eigene Gefahr. Für Übelkeit, Erbrechen oder Kopfschmerzen übernehme ich keine Haftung
------
https://www.sol-diers.com
Sol.LrMartyn ist offline   Mit Zitat antworten
Alt 19.02.2015, 22:05   #6 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Registriert seit: 10.10.2006
Beiträge: 263
Standard

Hatte mir den Script bis jetzt nicht angeschaut.

Noch ein Tip als Startparameter: -showScriptErrors verwenden damit siehste die meisten fehler Deiner ist ein Flüchtigkeitsfehler:
Richtig
Code:
 if (_return == '[[]]') then {
Falsch
Code:
if (isServer){
Nokman ist offline   Mit Zitat antworten
Alt 20.02.2015, 09:35   #7 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 05.11.2011
Beiträge: 235
Standard Neeeeeeeeeeeeeeeeeeein...

Das ist nicht wahr...
Woops, ich probiers dann nochmal richtig
-> Wenigstens ists nur ein kleiner Fehler und ich bin vielleicht doch nicht so dämlich wie ich dachte ^^
__________________
Achtung! Betrachtung des Quellcodes auf eigene Gefahr. Für Übelkeit, Erbrechen oder Kopfschmerzen übernehme ich keine Haftung
------
https://www.sol-diers.com
Sol.LrMartyn ist offline   Mit Zitat antworten
Alt 20.02.2015, 19:56   #8 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 05.11.2011
Beiträge: 235
Icon14

So es läuft... ^^

*close*
__________________
Achtung! Betrachtung des Quellcodes auf eigene Gefahr. Für Übelkeit, Erbrechen oder Kopfschmerzen übernehme ich keine Haftung
------
https://www.sol-diers.com
Sol.LrMartyn ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Missionsn laufen nicht auf dedicated server, andere schon ?!?!? Faithnall Technische Fragen & Probleme 4 16.07.2014 15:58
Mission kann nicht geladen werden. Keine Zivi Slots. Benni Rollenspiel & Zombie Ecke 0 24.03.2014 15:52
[LINUX] Server probleme Gonzo1690 Technische Fragen & Probleme 1 23.09.2013 23:00
Patch 1.59 Buccs Community 83 10.06.2011 06:34
Arma 2 Server Problem S@ndviper Multiplayer 14 15.11.2010 19:45


Kontakt - HX3.de - Archiv - Nach oben

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias



SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116