Beiträge von root

    Bin ich gerade zu Blöde ?
    Es kommt immer dass Ich dieses Fahrzeug nicht fahren darf da ich nicht in der Fraktion bin
    [07.08.2016 - 16:14:06] 1 0 1



    Kannst auch einfach so was hier machen:


    Code
    if(PlayerInfo[playerid][pMember] != FFahrzeugInfo[vid][fFrakID] && PlayerInfo[playerid][pLeader] != FFahrzeugInfo[vid][fFrakID]) return SendClientMessage(playerid,COLOR_GRAU,"Du kannst dieses Fraktionsfahrtzeug nicht Fahren da du nicht in der Fraktion bist.");
    if(FFahrzeugInfo[vid][fCarRang] > PlayerInfo[playerid][pRang]) return SendClientMessage(playerid,COLOR_GRAU,"Du hast nicht den Entsprechenden Rang um das Fahrzeug zu Fahren.");

    Das 2te Else if wird nie ausgelöst. Musst beim 1sten Else if eine 2te Condition einbauen

    Code
    if(skin[playerid] < 280) skin[playerid]; //falls alter skin unter 280 ist
    else if(skin[playerid] >  287 && skin[playerid] <= 310) skin[playerid] = 303; //soll skinid 202-310 überspringen
    else if(skin[playerid] >  310) skin[playerid] = 280;//wieder von vorne anfangen
    SetPlayerSkin(playerid, skin[playerid]);

    Danke für die Info. Werde mir das ganze Ansehen.


    //Edit
    Muss das ganze mit dem Hoster abklären


    Das Plugin ist weder Server noch TS gebunden. Das einzige was gemacht werden muss ist die TeamSpeak Channel Beschreibung auf folgende Anpassen:


    Code
    [SAMP-VOICE-INFO-START]
    IP:192.168.178.151:
    Port:5555:
    [SAMP-VOICE-INFO-END]

    Nach dem sollte es auf jedem x-Beliebigen Server funktionieren.

    >> GitHub <<



    Hallo Zusammen,


    Einige von euch haben sicherlich folgenden Beitrag gesehen LINK
    Nun ist es so weit.


    Features:

    • Echt Zeit Kommunikation mit Spielern in der Umgebung
    • Über Funk kann auch mit entfernten Spielern gesprochen werden
    • Beim Funken wird die Stimme so verändert das es klar wird wenn man über Funk hört
    • Funk-Towers
    • 100% Kontrolle über PAWN


    FAQ


    Für was werden diese Funktionen gehookt?
    Die beiden Fahrzeug Funktionen werden gebraucht um das Fahrzeug Model des Spielers zu speichern und an alle SAMP Voice Clients zu versenden. Damit wird das Reden noch realistischer. (Wenn man gemeinsam in einem Fahrzeug sitzt hört man die Leute im Auto gut, die Leute draussen aber fast gar nicht.)
    Virtual World & Interior werden gebraucht da man ja nicht zwischen Virtuellen Welten und Interior kommunizieren sollen darf. Sonst würde man in einem Haus Interior (welches in der Regel ja doppelt Belegt ist mit Virtuellen Welten) plötzlich alle Leute hören.


    Was ist der Aktuelle Status?
    Aktuelle Laufen Open Beta Vorbereitungen.
    D.h ich hoffe in der nächste Woche noch eine Open Beta, eventuell mit Event vorbereiten zu können.
    Es gibt aber auch noch ein paar Bugs zu fixen (zum Teil stürzt der GTA Client ab, TeamSpeak stürzt ab wenn GTA nicht mehr Verbunden ist und man TS beenden will)


    Wie funktionieren die Funk Türme?
    Damit Funk Türme überhaupt erst Verwendet werden muss mindestens 1 Turm erstellt sein. Gibt es keinen Turm auf dem Server gibt es keine Einschränkungen, d.h man kann über die ganze Map empfangen und senden,
    Wenn es Funktürme gibt, muss man in dem Radius eines Funkturmes sein um sein Funkgerät verwenden, bzw. Funksprüche empfangen oder abzusenden können.


    Wie funktioniert der Funk?
    Der Funk hebt prinzipiell nur die Hörreichweite auf und jagt die Stimme von dem Funker durch einen Filter. Damit hört es sich "ungefähr" so an als würde man wirklich durch ein Funkgerät sprechen.
    Zurzeit ist dieser Filter ziemlich Basic. Aber falls sich jemand mit DSP Filtern für C++ auskennt darf sich dieser gerne melden.


    Wie kann man an der Beta teilnehmen?
    Da es eine Open-Beta ist ist keine Teilnahme erforderlich. Ich werde dieses Post aktualisieren sobald der Download Freigegeben ist.


    Source Code?
    Zurzeit ist das Projekt nicht Open-Source. Vielleicht wird es das sobald ich keine Lust mehr für die Weiterentwicklung habe. (Was zurzeit noch nicht der Fall ist)


    Wann gibt es einen Finalen Release?
    Kann kein Datum geben aber die Open-Beta wird hoffentlich bald starten.
    Die Finale Version wird sicherlich nicht vor 2017 kommen. Aber der Open-Beta werden Patches direkt Freigegeben und die neuste Version kann direkt getestet werden.


    Kannst du bei uns im Projekt mitmachen?



    Freundliche Grüsse
    TheBlueFireKing
    Entwickler von SAMP Voice

    Weiss jemand ob Bots auch von ShowPlayerMarkers(PLAYER_MARKERS_MODE_GLOBAL); betroffen sind?


    Die MapIcons verschwinden nämlich nachdem man genug weit von den Bots weg ist, was eben ja nicht sein sollte mit PLAYER_MARKERS_MODE_GLOBAL. Kann das mit Playern gerade nicht testen.

    Finde beide sehr schön.


    Aber rein logisch: eine Admin Seite ist für mich eher etwas wo nur spezielle Leute Zugriff haben. Warum sollte man sich da mit Google / Facebook / Twitter anmelden können.


    Aber für ein normales Login sieht es super aus!

    Musst es halt noch anpassen.

    Direkt mit SQL

    SQL
    SELECT * FROM users WHERE Username = 'username' AND PASSWORD = 'eingegebens passwort' LIMIT 1

    Wenn die Abfrage ein Resultat zurück gibt ist das Passwort richtig. ACHTUNG: Das eingegeben Passwort auch vorher Hashen.


    Oder du liest das Passwort aus der Datenbank aus und vergleichst es mit PAWN.



    Code
    strcmp(gehashtedPasswort, PasswortHashAusDatenbank, false) == 0) {
    //Pass Korrekt
    } else {
    //pass nicht Korrekt
    }

    Natürlich immer mit dem gleichen SALT sonst wird es nicht klappen.

    Beim INSERT INTO fehlt der Tabellen namen.

    SQL
    INSERT INTO TABELLENNAMEN (Spielername, Passwort) VALUES ('Seblix','test123')

    1. Ein Variable macht man in JS nicht mit "new"
    2. Du hast nur ein eindimensionales Array, brauchst aber 2 Dimensionen:


    JavaScript
    var blub = new Array();
    blub["dk"] = new Array();
    blub["dk"]["auth"] = 1;
    
    
    alert(blub["dk"]["auth"]);

    Mach das +1 bei MAX_FRAKS weg.
    Im Debug steht auch "Run time error 4: "Array index out of bounds"
    Heisst soviel wie du greifst auf einen Index Bereich zu der nicht existiert.

    Mit dem return hast du bereits die If Abfrage abgeschlossen und darfs dann nicht noch Klammern machen,

    Wäre folgendes denn auch richtig?

    Code
    for(new i = 0; i < MAX_PLAYERS; i++){
        if(!IsPlayerConnected(playerid)) continue; //Die Variante sollte ja eig auch durchgehen
        format(text,sizeof(text), "\nID: %i, Name: %s, Geld: %i", pID, pData[pID][pName], pData[pID][pMoney]);
    }

    Aber vom Prinzip habe ich alles richtig gemacht oder?


    lg

    Wie gesagt überschreibst du immer den vorherigen string. Somit wird dir nur der letze Spieler im Dialog angezeigt.
    Du musst es wie folgt machen:


    Code
    ocmd:showplayers(playerid, params){
        new text[2048], pID; //String grösse eventuell noch anpassen
        for(new i = 0; i < MAX_PLAYERS; i++){
             if(!IsPlayerConnected(playerid)) continue;
    		format(text,sizeof(text), "%s\nID: %i, Name: %s, Geld: %i", text, pID, pData[pID][pName], pData[pID][pMoney]);
        }
        ShowPlayerDialog(playerid, DIALOG_SHOWPLAYERS, DIALOG_STYLE_MSGBOX, "ALLE ONLINE SPIELER", text, "Schliessen", "");
        return 1;
    }

    Mit dem return 1; in der Schleife brichtst du denn ganzen Command ab.
    Mach das zu einem continue;
    continue; heisst einfach er soll mit dem nächsten in der Schleife weitermachen.


    //Edit
    ausserdem wird dir so nur der letze Online Spieler angezeigt da du den string immer wieder überschreibst.