Beiträge von Andosius


    new SupCar[MAX_PLAYERS] = -10

    Das Global erstellen.
    Dann die ganz normalen Vehicle Befehle damit nutzen.
    Wenn die SupCar ID für den Spieler -10 ist kann er eins spawnen - wenn nicht, dann nicht.
    Beim Trennen der Verbindung nachgucken ob SupCar != -10 ist und dann das Fahrzeug löschen und auf -10 oder WhatEver zurück setzen.
    Sonst -10 mit der CarID überschreiben.
    Sollte verständlich sein, oder? :)


    E: Fehler korrigiert

    Aber doch, dort sind schon paar kleine Fehler.


    Hier ist der passende Code:

    stock Log(log[],text[])
    {
    new string[1000],File:hFile,thefile[50];
    format(thefile,sizeof(thefile),"%s.log",log);
    if(fexist(log))
    {
    hFile = fopen(log,io_append);
    }
    else {
    fopen(thefile,io_write);
    fclose(hFile);
    hFile = fopen(thefile,io_append);
    }
    new Stunde,Minute,Sekunde,Jahr,Monat,Tag;
    gettime(Stunde,Minute,Sekunde);
    getdate(Jahr,Monat,Tag);
    format(string,sizeof(string),"%02d.%02d.%04d | %02d:%02d:%02d Uhr | %s\r\n",Tag,Monat,Jahr,Stunde,Minute,Sekunde,text);
    fwrite(hFile,string);
    fclose(hFile);
    return 1;
    }


    Ausgabe:

    Code
    10.11.2014 | 17:29:14 Uhr | TEST


    Viel Spaß damit.
    --- Ist zwar nicht wirklich resourcensparend, jedoch besser als nichts wenn du auf die fcreate Funktion verzichten willst.



    Gruß!


    //Edit1: Etwas angepasst, Missverständnisse vermeiden.
    //Edit2: Code verbessert!! Variable falsch gesetzt x.x

    Lösung für alle:


    Wenn der Account nur für

    Code
    %

    oder

    Code
    localhost

    besteht, muss der Account mit den selben Daten mit dem anderen Host auch erstellt werden.
    Wenn das erledigt ist, sollte der Zugang funktionieren.


    Andernfalls: Den selben Schritt ausführen, SKYPE beenden und dann Xampp neustarten.


    Apokrate:


    Gruß.


    Wenn das nicht funktioniert -> melden.


    E: im Script auch mal localhost mit 127.0.0.1 drehen und andersrum. Könnte auch helfen :)

    Dass heißt das die Zeit einfach ins Minus geht.
    Ich habe vor, dass der Spieler sich nachdem er temporär gebannt wurde sich wieder einzuloggen wenn die Zeit abgelaufen ist, nur weiß ich nicht genau wie ich das mit dem dem Login verbinden soll (Weil /ban da schon steht)


    Ganz einfach, du zeigst ihm dein Login-Dialog oder du sperrst ihn ein wenn du es per Command machst.
    Ich empfehle dir den Login- und Registerbereich bei
    OnPlayerRequestClass zu machen,da du die Banzeit dann bei OnPlayerConnect überprüfen lassen kannst. Das ist um einiges einfacher, da die Schritte sich nicht überschneiden können.


    Gruß.

    Der streamer hat aber nichts damit zu tun das dein gamemode nicht gelesen wird :p


    Der Server kann nicht geladen werden, da Funktionen die er nutzt im GameMode sind und der Serverstart die angegebenen Plugins benötigen.
    Der Streamer failt beim Laden (siehe oben).
    Solange wir die NativeChecker Ergebnisse nicht haben lässt sich da sehr wenig machen.

    Zu deinem Edit oben.


    Dein Ansatz ist relativ falsch.
    Lass die Objekt Position auslesen und starte den Timer mit einem Parameter als Tor-ID.
    Nutze folgende Sachen:

    CallLocalFunction("BlaBlaMove","i",ID); // In deinem Fall halt ein Timer
    //---------------------------------------------//
    new Float:X,Float:Y,Float:Z;
    GetObjectPos(ID, X, Y, Z);
    MoveObject(...);


    Wenn du einen Ansatz hast du dir überlegt hast wie du das machen kannst, kannst du dich gerne melden.
    Andernfalls: Code posten und Problem schildern.



    Liebe Grüße.

    Du hast eine Klammer anscheinend zu wenig.
    NachBLA BLA ISPLAYERINANYVEHICLE BLABLA einfach eine Klammer hinzufügen.


    Am besten ganz unten an das CB noch ein return 1; setzen.

    Wenn ja, foldendes setzen:

    #pragma dynamic 10000 // oder höher


    Außerdem bisschen resourcensparender:

    ocmd:waffekaufen(playerid,params[])
    {
    #pragma unused params
    if(!isPlayerInAmmu(playerid))return SendClientMessage(playerid,ORANGE,"Du bist nicht im Waffensymbol eines Ammunations.");
    new outstr[(sizeof(WeapBuy)*24)+(sizeof(WeapBuy)*11)], addstr[34];
    for(new i=0;i<sizeof(WeapBuy);i++)
    {
    format(addstr, sizeof(addstr), "%s (%i$)\n", WeapBuy[i][wbI_weapName], WeapBuy[i][wbI_weapPrice]);
    strcat(outstr, addstr);
    }
    ShowPlayerDialog(playerid, DIALOG_BUYWEAPON, DIALOG_STYLE_LIST, "Waffenkauf", outstr, "Kaufen", "Abbrechen");
    return 1;
    }


    Musst es halt noch richtig einrücken.
    Außerdem fehlt die Range.


    Edit beim Schreiben: Jeffry war schneller. ;)

    .......
    Ja.


    Du startest den Server, wartest einen Moment, löschst den Account, registrierst dich, und postest den kompletten Inhalt der Debug-Datei.
    Und wenn du diese nicht findest: sie ist im selben Ordner wie das Startscript.


    Sei mir nicht böse, aber deine Fragen hättest du dir durchaus selber beantworten können, wenn du mal deine Maus benutzt hättest.


    Gruß.

    Race DeathMatch und Race DestructionDerby sind mir noch bekannt. Dazu gehört dann noch FUN, Shooter, Hunter etc.


    Man kann es ja so auflisten:
    Race 2( DM, DD, FUN, Shooter, Hunter, etc.)


    Checkpoint abfahren ist sonst ja total lame, macht doch keiner mehr >.>


    id = CreateDynamicObject(3522, 1752.5, -1768.6, 12.6, 0, 0, 268.918); ObjectCreatedInFS[id] = true;
    id = CreateDynamicObject(3522, 1756.9, -1768.6, 12.6, 0, 359.608, 268.918); ObjectCreatedInFS[id] = true;
    id = CreateDynamicObject(3522, 1761.3, -1768.7, 12.6, 0, 0, 268.918); ObjectCreatedInFS[id] = true;
    id = CreateDynamicObject(1359, 1725.1, -1768.1, 13.2, 0, 0, 0); ObjectCreatedInFS[id] = true;
    Warum das denn bitte?
    Es wird lediglich der Wert 0 und 1 gespeichert, die ID ist dann doch nur der Zugriffswert.
    Du wirst doch schon allein aus dem Array heraus die Objekte mit der ID 1 und 0 löschen, oder verstehe ich das falsch?
    Bei dem Vorhaben muss der Array zweidimensional sein, oder nicht? Dort ist dann lediglich das Bool zu viel.
    Sonst sollte es ja eigentlich fast gleichen bleiben.
    Bei Korrektur mit dem @ ansprechen.
    Jeffry:



    Liebe Grüße,
    iEnerqie.


    Du musst die PTD Funktionen nutzen, nicht die normalen TD Kack-Dinger ;)
    Btw, probier mal %.0f
    Oder lass über PAWN das Ergebnis runden. :)

    Erstmals: Spam.


    So, wenn ich mich nicht irre, ist die Heilanzeige eine Float, somit wirst du auch %f nutzen müssen.
    Zudem:



    new TDTimer[MAX_PLAYERS]; //Für PTDraws
    //Nun OnPlayerConnect
    SetTimerEx("deintimername",1000,true,"i",playerid);//Falschrum? 0.o

    Außerdem:
    du musst mit PlayerTextDraws arbeiten,da die Variable global ist.
    Wenn du Hilfe brauchst: melde dich einfach wieder hier.



    E: Fehler korrigiert