Beiträge von Simon

    Muss er nicht unbedingt, wenn er es richtig macht. Da an der stelle a der Vorgang abgebrochen wird, also das was darunter steht nichtmehr passiert.


    Sein Problem war ja das er, obwohl er Polizist war, die Meldung "Sie sind kein polizist!" bekam.
    Das Lag an der falschen abfragen..

    if(isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,ROT,"Du bist kein Polizist");


    muss geändert werden in das:

    if(!isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,ROT,"Du bist kein Polizist");

    Ist Das Selbe in grün..


    Er soll einfach mal Alles posten damit man sieht ob da irgentwo ein Fehler ist.. Ich denke bei deinen Commands hat er das selbe Problem. Außerdem kann er bei dir jedes Fahrzeug zerstören. Bei meiner nur die die er vorher gespawnt hat. Sonst werden noch ausversehen wichtige Fahrzeuge zerstört..

    Sollte auch so klappen da "d" und "i" beides einen Integer, also eine Ganze Zahl angeben. Außerdem habe ich den Befehl aus einem Script von mir, und da klappt es wunderbar..


    Also am besten mal alles was dazu gehört posten.

    falls er in Frak 1 ist, was ich aus deiner Abfrage schließe, dann ist er kein plozist und der vorgang wird abgebrochen.


    verusch es ersteinmal so:


    ocmd:duty(playerid,params[])
    {
    if(isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,ROT,"Du bist kein Polizist");
    if(IsPlayerInRangeOfPoint(playerid,7,197.9491,168.8688,1003.0234)) return 1; //ich weiß nicht was passieren soll wenn er in der umgebung ist....
    if(GetPVarInt(playerid,"Duty")==0)
    {
    SendClientMessage(playerid,BLAU,"Du bist nun Off-duty");
    return SetPVarInt(playerid,"Duty",0);//Bei (GetPVarInt(playerid,"Duty")==0) SetPVarInt(playerid,"Duty",1);
    }
    SendClientMessage(playerid,GRUEN,"Du bist nun On-Duty");
    return 1;
    }

    und wie sieht es mit den beiden befehlen aus? und hast du eine sscanf funktion drinne? entweder als public, stock oder plugin?


    bekommst du errors oder warnings?

    nach der 2. if abfrage kommt nichts.. entweder return 1 oder return 0, je nachdem ob er da stehen soll oder nicht.
    bei der 3. abfrage returnst du, der vorgang endet also hier. trotzdem folgt noch eine funktion.


    außerdem solltest du klammern benutzen bei der 3. abfrage. also:


    if(GetPVarInt(playerid,"Duty")=0)
    {
    SendClientMessage(palyerid,BLAU,"Du bist nun Off-duty");
    return SetPVarInt(playerid,"Duty",0);
    }

    Eventuell könnte man das Tool auf Pawno ausbreiten. Ich meine damit das man das komplette Programm ins Deutsche übersetzt, nicht nur den compiler.


    Ansonsten wenn es möglich wäre die 26 errors wegen klammer fehler auf ein fehler, und zwar den in der zeile wo klammer fehlt, zu reduzieren.

    Es gibt wohl kein Tutorial dafür weil es sehr aufwendig ist allein ein Tutorial zu schreiben..


    Eventuell mache ich mich mal an ein Tutorial ran, mal sehn wann ich Zeit und Lust finde..


    Es ist auch ohne Tutorial möglich ;) ich bin mir sicher wenn du nur wüsstes wie du anfangen musst, würdest du es hinkriegen.


    Welches Dateisystem benutzt du denn? dini, mysql, andere? Und kennst du dich mit Enums etc aus? das ist vorraussetzung..

    Dir ein Autosystem zu scripten was vernünftig ist und funktioniert wäre zuviel aufwand und das auch noch kostenlos..


    wie gesagt: du musst alle daten erstmal festlegen in einer enum.


    bei gamemode start musst du überprüfen ob es die datei des autohauses in einem bestimmten verzeichnis bereits gibt, wenn ja wird die datei ausgelesen und in den enstprechenden variablen gespeichert. wenn sie lnicht existiert wird sie erstellt und in die datei wird das geschrieben was du in der enum festgelegt hast und anschließend in die variablen geschrieben. bei gamemodeexit musst du dann die variablen wieder in dei datei schreiben.


    Nun gehts ans eigentliche system. wenn sich jemand in so ein auto setzt was passieren soll. du musst nun die autodateien der spieler iwo abspeichern mit den ganzen infos die du ebenfalls in einer enum festlegst.


    Es ist nicht sehr einfach..



    //edit: kein filterscript ist nochmal schwerer.. da es deinem system angepasst werden muss. man könnte es erst als filterscript machen und anschließend ans gm anpassen. aber kostenlos würde ich soetwas nicht machen..

    dcmd_veh(playerid,params)...


    OnPlayerCommandText(playerid,cmdtext[])
    {
    dcmd(veh,3,cmdtext);
    return 1;
    }


    du musst unter OnPlayerCommandText immer den befehl reinschreiben, die länge des befehls und dahinter cmdtext.

    Ich gebe dir mal ein paar hilfreiche tipps:


    du musst eine enum erstellen wo alle daten gespeichert werden (name, posi, besitzer, kasse,etc.)


    dann musst du eine variable erstellen die ungefär so aussieht: variable[Anzahl der Autohäuser][enum] = {};


    in den geschweiften Klammern kommen dann die Autohäuser die ganzen daten


    bsp:


    {"Bsp Autohaus",0.1,2.0,3.5,"Staat",5000,......},
    {"bla auto blubb", 5.0, -1.4........}
    };


    Nun musst du eine 2. enum erstellen wo die infos der autos drinne stehen die zum verkauf angeboten werden. da muss aufjedenfall das Autohaus rein, die modelid und den namen des autos, die posi, der preis und tuningteile, tempomat und was auch immer du noch speicher willst.


    nun erstellst du wieder eine variable und fügst dort alle autos, wie oben schon als bsp mit den autohäusern, alle Informationen ein.


    Unter OnGameModeInit musst du dann am besten mit dini die dateien erstellen und auslesen. in den dateien all das rein was gespeichert werden soll.


    so wäre das grundgerüst schonmal da, natürlich bei OnGameModeExit auch alle variablen wieder in die datei speichern.


    Lg
    Simon