Beiträge von alva

    IsPlayerConnected ist da komplett überflüssig, da der Spieler ja online sein muss..um zu hupen...wird für offline Spieler eher schwierig haha xD

    Stimmt jetzt nicht so ganz da man theoretisch Pakete an den Server senden kann mit denen man hupt (auch wenn das seeeeeeeeeeeeeeeeeehr unwahrscheinlich ist)

    Ganz einfach, inouttext wurde nirgends deklariert und du solltest mal deinen Code richtig einrücken und einfach mal lesen was ich da oben geschrieben hab.
    Mal abgesehen davon ist es echt verdammt schwer herauszufinden welche Zeile denn nun 217/222 ist in deinem Code, da du es ja nirgends dazu schreibst.
    Versuchs doch einfach mal selbst zu schreiben anstatt zu Copy & Pasten oder was auch immer du da machst. Du hast ja überhaupt keinen Schimmer was du da überhaupt bezwecken willst.

    Alternativ



    Code
    #pragma tabsize 0

    oben im Script, dann kommen solche Warnungen nicht mehr vor und du musst selbstständig dafür sorgen, dass dein Code sauber eingerückt ist.

    ja das währe sehr nett weil ich weiß nicht wie ich das machen soll.wenn noch was benötigt wird pls schreiben danke anden jenigen der mir das macht /hilft.

    Man erstelle einen Befehl, nimmt die aktuelle Position des Admins, benutzt logische Parameter (vehicleID, Fraktion z.B) und macht einen Insert in die Datenbank und erstellt das Fahrzeug Ingame und setzt die Variablen des Fahrzeug auf die jeweilige Funktion. Das was du da machst ist sowieso nur absoluter C&P oder aus irgendeinem Script kopiert. Benutze einen "INSERT INTO `db`" Query um einen neuen Eintrag zu erstellen. Falls du schon hier scheiterst, solltest du dich erst einmal an einfacheren Befehlen versuchen. Ich würde dir OCMD empfehlen, da es relativ einfach ist damit Befehle zu erstellen.

    Für sowas ist SQL sinnvoll.
    Dann einfach



    SQL
    SELECT `Handynummer`, `Name` FROM `accounts` WHERE `Handynummer` = "1234565234"

    und prüfen ob ein Resultat kommt. Falls ja, ist die Nummer vergeben und man kann sogar ausgeben an wen sie vergeben ist.
    Ansonsten ein File erstellen und alle Nummern untereinander und prüfen ob die Nummer in dem File existiert.
    Für größere Playerbases musst du aber wohl oder übel auf SQL umsteigen.

    Wenn du Navicat nicht benutzen willst, starte bei XAMPP einfach Apache und MySQL und gebe im Browser das hier ein:


    HTML
    http://127.0.0.1/phpmyadmin

    Mit der Übersicht solltest du gut klar kommen können. Eventuell Skype vorher schließen da der Standartport von Skype zu unnötigen Komplikationen führenkönnte.

    Falscher Bereich.


    OnPlayerKeyStateChange:


    Fragen ob ein Spieler Leertaste drückt, Variable für den aktuellen Skin erstellen oder GetPlayerSkin benutzen.
    Skin auf GetPlayerSkin + 1 (oder Variable +1) setzen [...].
    Anders herum (wenn du wieder zurück willst) auf GetPlayerSkin -1.


    Für die Bestätigung fragen ob ein Spieler Enter drückt und einfach GetPlayerSkin in einer Datenbank oder Textdatei speichern.


    Beachte das Skins von 0 anfangen und bis https://wiki.sa-mp.com/wiki/Skins:All 311 gehen.
    Also if(GetPlayerSkin(playerid) == 0 && zurück)
    setplayerskin 311


    und anders herum


    if(GetPlayerskin(playerid) == 311 && weiter)
    setplayerskin 0

    Oder du sagst uns einfach, in welcher finanziellen Reichweite wir uns bei euch befinden. Ich verstehe nicht, warum ihr immer alle wollt, dass solche Konditionen privat angesprochen werden.

    Kommt halt bisschen doof wenn man einen Hungerlohn von 10 Euro/Monat anbietet und aufgrund des Namens schätzungsweise 12 Jahre alt ist.
    Mal jetzt ganz abgesehen davon dass man sich dann den Billigsten heraussuchen kann.

    Schreib dir doch eine Funktion die den Rangnamen ausgibt:
    Wird vielleicht nicht deinen Fehler beheben, jedoch ist dein Code leserlicher und das präventiert Fehler.


    Versuchs mal so in der Art, ansonsten benutz Debugmessages um deine Variablen zu überprüfen, zB. bevor geprüft wird ob jemand Admin ist: printf("[aduty] %s -> Adminrang %d"", SpielerName(playerid, pInfo[playerid][Adminlevel]);

    Wie willst du denn eine Kommazahl (float oder double) einem Integer zuweisen?

    Code
    int Grundfläche = 0.0;

    zu

    C
    float Grundfläche = 0.0;

    Ansonsten kannst du mit einem Typecast auch das hier machen, aber dann trotzdem keine Kommazahlen eingeben:


    C
    (float)ergebnis=Volumen/Grundfläche;

    Bin mir aber ziemlich sicher, das beim Kompilieren des "int Grundfläche = 0.0;" schon ein Fehler auftaucht.

    Wird wohl zu nem Error kommen wenn du zb. durch 0 oder zB 10/9 teilst, da beim letzteren eine Gleitkommazahl raus kommt.
    Verwende also als Datentyp float oder double, die Überprüfung dass man nicht durch 0 teilen kann sollte dann auch klar sein.


    C
    #include<stdio.h>
    float teile(float summe1, float summe2) {
    	return summe2 == 0 ? (float)(summe1/1) : (float)(summe1 / summe2);
    }
    int main() {
    	float summe = teile(22, 9);
    	printf("Die Höhe beträgt: %0.2f\n", summe);
    	return 0;
    }

    Sollte so funktionieren, wobei ich mir bei dem https://en.wikipedia.org/wiki/%3F: nicht sicher bin.

    Wenn du das FI beibehalten willst, brauchst du ein 3-Dimensionales Array, einen String in einem Array Index zu schreiben macht auch keinen Sinn.
    Ich würde für die Gehälter ein zweites Array erstellen.


    new fSalary[MAX_FACTIONS][MAX_RANKS];


    zB dann für Fraktion 0, Rang 5 das Gehalt auf 1000 setzen:


    fSalary[0][4] = 1000;


    new rang, gehalt;
    new faction = pInfo[playerid][Fraktion];
    if(sscanf(params, "dd", rang, gehalt)))return SCM(blablub);
    fSalary[faction][rang] = gehalt;

    #pragma tabsize 0
    ganz oben im Script.
    Zur Erklärung: Du hast deinen Code falsch eingerückt, deswegen nimmt der Kompiler es nicht an, mit dem tabsize 0 sind tabulatoren automatisch für den Pre-Kompilerer als nichts anzusehen, dass heißt es ist alles perfekt eingerückt.
    Zur Sauberkeit solltest du abeer trotzdem deinen Code vernünftig einrücken.