Beiträge von Kinimod

    Geht nicht, gibts nicht...


    Du brauchst einen Timestamp. Das ist die Anzahl der Sekunden seit dem 01.01.1970. Somit kannst Du ohne einen Timer zu verwenden, abfragen, ob man etwas eingeben darf.


    Dazu machst du folgendes im /o Befehl:


    if(GetPVarInt(playerid,"ochattstamp") > gettime()){
    SendClientMessage(playerid,FARBE,"Du kannst noch nicht im OOC schreiben.);
    }else{
    SetPVarInt(playerid,ochattstamp,gettime() + 10);
    //Hier den text an alle Spieler senden(OOC)
    }



    Das Ganze läuft folgendermaßen ab:


    Du fragst ab, ob der Timestamp der zeit, wo man wieder schrieben darf größer der aktuelle Timestamp ist.
    Denn wenn der größer ist, als der aktuelle ist die Zeit noch nicht angekommen.
    Wenn nein, darf man schreiben und setzt den Wert von der PlayerVariable auf gettime() (Aktueller Timestamp) +10(10 Sekunden später).


    Passiert, wenn man es einfach so kopiert und sein GEHIRN ausschaltet...


    B2T:
    @SurvivalApocalypse:


    Das kann garnicht funktionieren...
    Dann wird nur das LETZTE Fahrzeug in der Variable gespeichert und das für alle Häuser. Man kann dann also in alle Autos von jedem Haus einsteigen und es benutzen...


    @Dante_Black:


    Kopiert nicht den Code, sondern mach es nach meiner Hilfestellung, einen kompletten Code erhältst du von mir jedenfalls NICHT.

    Ja, das sagte ich doch bereits. Der Query hat mehr als 64 Zeichen. Stell die Größe auf 256.


    Also so:
    new query[256];
    mysql_real_escape_string(AccountInfo[playerid][pAccSicherheitsfrage], AccountInfo[playerid][pAccSicherheitsfrage]);
    format(query, sizeof(query), "UPDATE `spieleraccounts` SET `Sicherheitsfrage` = 'Wie heißt du?' WHERE `spieleraccounts` = '%s'",AccountInfo[playerid][pAccName]);
    mysql_query(query);


    @Blax's:

    Lags erscheinen nicht durch die Benutzung von MySQL, sondern hängen davon ab, WIE man es benutzt.


    Beispielsweise ist es ein NoGo für jeden einzelnen Wert einen neuen Query zu senden.


    Dies trifft auf das Tutorial von maddin bspw. zu.


    Dort wird für jeden Wert ein eigener Query gesendet, wodurch Lags erst entstehen.


    So sollte man es machen:
    mysql_query("UPDATE accounts SET name = 'Trallala', level = 3, aRank = 1 WHERE name = 'LALALA'");
    Hier werden mehrere Felder in einem Query bearbeitet.


    Außerdem sollte man die Datenbank immer lokal hosten.


    Beachtet man dies, wird die Wahrscheinlichkeit von Lags deutlich verringert.

    Hey,


    da ich die Waffen des Admins nach dem Beobachtungsmodus wieder geben möchte, habe ich mir ein enum erstellt und darunter ein dreidimensionales Array.


    enum wInfo{
    awID,
    aMuni
    };
    new aWeaps[MAX_PLAYERS][13][wInfo];


    Ich habe also eine Variable (aWeaps) gemacht, wobei ich vorhatte, im ersten Feld die playerid, im 2. den Waffenslot und im 3. die Waffen ID.


    Nun habe ich unter OnPlayerSpawn folgendes:


    for (new i=0; i<13; i++)
    {
    if(aWeaps[playerid][i][awID] != 0)
    {
    giveweapon(playerid,aWeaps[playerid][i][awID],aWeaps[playerid][i][aMuni]);
    }
    }


    Doch leider gibt er die Waffen nicht wieder. Also bin ich auf die Idee gekommen, dass es am Array liegen könnte, ist ein dreidimensionales Array in der Form überhaupt möglich?


    //EDIT: Hat sich erledigt, war meine eigene Blödheit. xD
    Danke schonmal.


    Viele Grüße.

    Das kommt, wenn Du einen Timebug hast. Wenn das bei all Deinen Scripts ist, gehe ich mal davon aus, dass der Server wohl nicht startk genug ist, bzw. die Internetverbindung zu schwach ist.


    Kann es sein, dass Du Deinen eigenen PC als Host verwendest?

    Nun muss ich mal hier allen widersprechen, es sieht meiner Meinung nach NICHT gut aus.
    Ich habe es mir mal angeschaut und ich finde es vom Design her alles andere, als nutzerfreundlich.
    Es ist viel zu dunkel, man muss ständig nach unten Scrollen, wenn man auf eine neue Seite geht, weil oben unnütze Dinge hingepackt wurden, die eigendlich auf die Startseite gehören(Level, etc. pp.).
    Außerdem tut es ja im Kopf weh, wenn man ständig schwarz und grau sieht und dann so PLÖTZLICH drängt sich einem so ein türkiser Button ins Auge. :D


    Also vom Design her sollte etwas gemacht werden, ansonsten schön(wenn auch nicht wirklich viele Funktionen).

    Ah oky sorry
    @John_Hunter
    jetzt habe ich das

    PHP
    C:\Users\Mike\Desktop\Pawno Sachen\gamemodes\Germany.pwn(92) : error 033: array must be indexed (variable "Eingeloggt")
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    1 Error.


    PAWN ist case sensitive. Bedeutet: Du musst auch die korrekte Schreibweise beachten(ist allerdings in Bezug auf Variablen bei der Programmiersprache so)
    Du hast einmal "Eingeloggt" verwendet und einmal "eingeloggt".

    Du musst auch eine Definition von Spielerdaten erstellen. In dem Falle in Form eines Enumerators.


    Beispiel:


    enum SPielerdaTen{
    level,
    adminrang,
    etc
    };


    Ansprechen tust du es dann wie folgt:


    Um bspw. das Level zu speichern:


    Spieler[playerid][level] += 1;//Erhöht das Level um 1



    Aus diesem Fehler resultiert auch der Fehler von den weiteren Codeblöcken, denn der Compiler kann mit Eingeloggt bspw. nichts anfangen, da er es nicht kennt. Also im Enum musst Du alle Variablen definieren.


    SuperGameBreak:

    Ich höre meistens Elektromusik, speziell Dubstep und House und Rap. Kein Mensch ist gleich. Ich kann bspw. nicht verstehen, wie man sich Schlagermusik anhören kann.
    Allerdings beruht dies auf Gegenseitigkeit. Schlagerfans würden mich jetzt bestimmt kreuzigen wollen, dies aber auch umgekehrt.
    Jeder hat einen anderen Geschmack und das ist auch völlig in Ordnung so.

    Komplette Anleitung:


    Du machst eine For Schleife, die alle Spieler durchläuft. Dann fragst du mit GetPlayerWeaponData ab, ob es sich bei der aktuellen Waffe um einen Schlagring handelt, wenn ja, fragst du ab, ob er davon 1000 Stück hat. So habe ich es gemacht und einige wurden schon gebusted. :>