Beiträge von Hagi

    Fällt dir was auf ?


    SendClientMessage(playerid, COLOR_LIGHTBLUE, aname);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);



    PS: Das erste steht ab Admin Level = 5

    War ja auch bescheuert, was ich dir da reingeschrieben hab. Machs mal so


    public GamemodeColorAender()
    {


    if(ColorChanger == 1)
    {
    for(new i = 0;i<MAX_PLAYERS;i++)
    {
    TextDrawHideForPlayer(i,ModeName);
    TextDrawShowForPlayer(i,ModeName);
    TextDrawColor(ModeName, COLOR_GFR_BLUE);
    }
    ColorChanger = 2;
    }
    else if(ColorChanger == 2)
    {
    for(new i = 0;i<MAX_PLAYERS;i++)
    {
    TextDrawHideForPlayer(i,ModeName);
    TextDrawShowForPlayer(i,ModeName);
    TextDrawColor(ModeName, COLOR_GREEN);
    }
    ColorChanger = 1;
    }
    }


    edit: Ansonsten Stell die Var mal mit ColorChanger ++; und ColorChanger --; um bzw benutz booleans.

    GangzoneOwner[0] = dini_Get("Gangzone.txt", "pz");


    GangzoneOwer ist denke ich kein String, mögest du mich bitte bestätigen oder berichtigen.
    Gehen wir davon aus Die Variable ist ein Array für Integer. Dort kann dann in der Form wie du sie dort verwendet nur ein Int Wert gespeichert werden. Die Funtkion dini_Get gibt jedoch einen String aus.
    Ändere es dann dementsprechend in dini_Int. (Ich glaube der Befehl hieß dini_Int)

    Nebenbei wird die Farbe nur bei Spieler playerid=0 geändert, da du die Funktion nicht über einen Befehl sondern über einen Timer aufrufst. Ergo den Parameter playerid entfernen und dafür eine


    for-Loop laufen lassen.


    public GamemodeColorAender()
    {
    for(new i = 0;i<MAX_PLAYERS;i++)
    {
    if(ColorChanger == 1)
    {
    TextDrawHideForPlayer(i,ModeName);
    TextDrawShowForPlayer(i,ModeName);
    TextDrawColor(ModeName, COLOR_GFR_BLUE);
    ColorChanger = 2;
    }
    else if(ColorChanger == 2)
    {
    TextDrawHideForPlayer(i,ModeName);
    TextDrawShowForPlayer(i,ModeName);
    TextDrawColor(ModeName, COLOR_GREEN);
    ColorChanger = 1;
    }
    }
    }

    Also hinter einem Public kommt einfach kein Semikolon.
    Das einzige, was ich mir noch vorstellen könnte, dass er die GROSSBUCHSTABEN nicht verkraften kann. Was ich mir allerdings nicht vorstellen kann.


    Außerhalb von Publics, am besten unter inluce <a_samp>
    forward blub();


    In OnGameMode Init, vllt den Intervall zum testen ändern
    SetTimer("blub",3000000,1);


    Außerhalb eines Publics
    public blub();
    {
    SendClientMessageToAll(ROT,"I========== DM Server =======I");
    SendClientMessageToAll(ROT,"Server Scripter: DraggyxXx, D4rkCl3ric, Karl_Schuhmann");
    SendClientMessageToAll(ROT,"Wir wünschen dir einen guten Flug in die HÖLLE >:D");
    SendClientMessageToAll(ROT,"Danke dass Sie mit unseren Airlines abstürtzten ");
    }


    Aber was genau funktioniert denn nicht. Erhälst du Fehler oder Ähnliches ?

    Kannst es ja nach einem Hit-Prinzip versuchen:



    if(GetPVarInt(playerid, "Member") == 4 || GetPVarInt (playerid, "Leader") == 4)
    {
    new hit = 0;
    for(new pv = 0; pv < sizeof(TaxiAuto); pv++)
    {
    new newcar =GetPlayerVehicleID (playerid);
    if(newcar == TaxiAuto[pv])
    {
    hit = 1;
    }
    }
    if(hit != 1)
    {
    SendClientMessage(playerid,TÜRKIS_BLAU,"Du kannst dieses Fahrzeug nicht benutzen!");
    RemovePlayerFromVehicle(playerid);
    }
    }

    du erstellt noch ne globale Variable, nennen wir sie message = 0;


    dann änderst du einfach einen public



    public AutoNaricht()
    {
    switch(message)
    {
    case 0:
    {
    SendClientMessageToAll(COLOR_ROT, "Message 1");
    message ++;
    }
    case 1:
    {
    SendClientMessageToAll(COLOR_ROT,"Message 2");
    message ++;
    }
    case 2: // Wenn dies die letzte Nachricht sein soll Var Message wieder auf 0 setzten, damit es von vorne beginnt
    {
    SendClientMessageToAll(COLOR_ROT,"Message 3");
    message = 0;
    }
    }
    }

    Änder den Public so


    public repveh()
    {
    for(new i = 0;i<MAX_VEHICLE;i++)
    {
    SetVehicleHealth(i,1000); // Repariert den Motor
    RepairVehicle(i); // Repariert optische Schäden und Reifen
    }
    return 1;
    }

    Irgentwo beim registrieren wird die Variable wohl gesetzt. Ums abspeichern brauchste dir erstmal keine Sorgen machen, da das eh schon vorhanden ist.


    Also du solltest schaun wie man sich registriert und welche Schritte dabei im Script durchlaufen werden. In einem Dieser Schritte werden die ganzen Variablen wie Jobs uws gesetzt werden. Darunter wird vermutlich auch eine Variable für das Geld auf der Hand und für das Geld auf dem Konto sein. Dort einfach den eingetragenen Wert beliebig ändern.

    forward repveh();
    #define MAX_VEHICLE hierdeinevehiclezahl


    Kommt oben ins Script.


    SetTimer("repveh",1000,1);

    Kommt unter OnGameModeInit


    public repveh()
    {
    for(new i = 0;i<MAX_VEHICLE;i++)
    {
    SetVehicleHealth(i,1000);
    }
    return 1;
    }


    Kommt irgentwo zwischen zwei andere Publics oder einfach ans Ende

    Durch den Befehl DisableInteriorEnterExits(); verschwinden halt alle GTA Basierten EIngänge.


    Die musst du jetzt alle durch Pickups ersetzen.
    Du hast nun zwei Möglichkeiten:


    1. Wenn man in das Pickup reinläuft, wird man direkt in den laden geportet.
    2. Man muss erst /enter o.ä nutzen und wird dann geportet.

    Nö, dann einfach die Abfrage rausnehmen:



    forward repveh();
    #define MAX_VEHICLE hierdeinevehiclezahl
    SetTimer("repveh",1000,1);


    public repveh()
    {
    for(new i = 0;i<MAX_VEHICLE;i++)
    {
    SetVehicleHealth(i,1000);
    }
    return 1;
    }

    forward repveh();
    #define MAX_VEHICLE hierdeinevehiclezahl
    SetTimer("repveh",1000,1);


    public repveh()
    {
    for(new i = 0;i<MAX_VEHICLE;i++)
    {
    if(i == welche vehicleid halt gehealt werden soll)
    {
    SetVehicleHealth(i,1000);
    }
    }
    return 1;
    }


    Healt alle 1000 MS also jede Sekunde die angegebenen Autos. Diese musst du selber noch definieren.

    Systemsteuerung -> Ordneroptionen -> Ansicht -> "Erweiterung von bekannten Dateitypen ausblenden" den Haken weg

    Möglicherweise liegt es an den Parametern. Wie schnell die Animation ausgeführt wird oder so. Aber ehrlich gesagt weiß ich es nicht.
    Du könntest höchstens noch probieren da was dran zu ändern.

    Ich schätze du hast Windows 7. Dort kann man die Dateiendungen "deaktivieren". In den Ordneroptionen (Systemsteuerung) kann man die Dateiendeungen wieder aktivieren, dann solltest du auch eine datei .bat nennen können.

    Probier die Animationen mal durch
    Gibt ja mehrere Smoke Anims



    ApplyAnimation(playerid,"JST_BUISNESS ","smoke_01",2,0,0,0,1,1);
    ApplyAnimation(playerid,"PID ","Smoke_in_car ",2,0,0,0,1,1);
    ApplyAnimation(playerid,"Shop ","Smoke_RYD ",2,0,0,0,1,1);