Beiträge von Johnny Macaroni

    Mach bei deinem Dialog am schluss, "SpawnPlayer(playerid)" und bei "OnPlayerSpawn" machst du "SetPlayerSpectating(playerid,1);"


    Dann sollte es funktionieren.

    Ich glaube du meinst das ich den Spec-Mode auf 0 setzen soll, hab es auf jeden Fall grade eben mit 0 und 1 probiert, klappt nicht, man bleibt im Spec-Mode.
    Aus irgendeinem Grund wird der Spieler nicht auf TogglePlayerSpectating(playerid, 0); gesetzt..

    Also funktioniert es jetzt ohne Probleme?

    Nein, der Spieler wird nach dem Login immer noch nicht gespawnt und bleibt einfach im Spec-Mode.


    Ich habe derzeit leider gar keine Idee woran es Liegen könnte, hab ein ganz simples Command erstellt:
    ocmd:unspec(playerid,params[]){ TogglePlayerSpectating(playerid, 0); return 1;}



    Nachdem man es eingibt klappt alles super, man wird an der angegebenen SetSpawnInfo-Position gespawnt, jedoch ist es jetzt auch nicht Sinn der Sache das man noch ein Command eintippen muss.

    Bei TogglePlayerSpectating(playerid, 0); wird IMMER OnPlayerSpawn aufgerufen, da kannst du dann schlecht gleich danach die Position setzen.

    Hast Du ne SpawnInfo gesetzt?:
    http://wiki.sa-mp.com/wiki/SetSpawnInfo

    Danke schonmal! Nun Sieht OnPlayerRequestClass so aus:
    TogglePlayerSpectating(playerid, 1); (Krieg kein Absatz hin -.-) SetSpawnInfo( playerid, 0, 0, 2327.0007,-1719.1052,13.5469,13.5469, 0, 0, 0, 0, 0, 0 );


    Bei DIALOG_LOGIN habe ich noch diese Zeilen hinzugefügt:
    TogglePlayerSpectating(playerid, 0);(Absatz natürlich..)SpawnPlayer(playerid);


    Und bei stock SpielerLaden habe ich
    TogglePlayerSpectating(playerid, 0);(Absatz)SetPlayerPos(playerid,x,y,z);
    entfernt.


    Jedoch steckt der Spieler immernoch im Spec-Mode fest.

    Du hast vollkommen Recht, das "TogglePlayerSpectating 1" ist beim OnPlayerConnect eigentlich unnötig, jedoch wusste ich nicht wie ich die Aussicht beim Login-Dialog ändern kann und habe dies deswegen hingesetzt.
    Edit: Ahja habs grade beim OnPlayerConnect entfernt und geschaut ob sich etwas ändert, keine Änderung, leider..

    Guten Abend,
    und zwar bräuchte ich eure Hilfe. Ich arbeite derzeit einem Login- und Registerscript oder ohne den Spawn-Knopf funktioniert. Jedoch ist ein Fehler aufgetaucht und zwar wenn der Spieler zum Server connectet und sich einloggt, wird er nicht gespawnt OBWOHL ich SpawnPlayer(playerid); hingesetzt habe.


    Hier die einzelnen Zeilen:
    OnPlayerRequestClass:
    TogglePlayerSpectating(playerid, 1);


    OnPlayerConnect:
    TogglePlayerSpectating(playerid, 1);
    (Hier geht dann natürlich alles weiter...)


    DIALOG_LOGIN (Das passiert nachdem der Spieler sein richtiges Passwort eingegeben hat):
    SpielerLaden(playerid);


    stock SpielerLaden:
    TogglePlayerSpectating(playerid, 0);SetPlayerPos(playerid,x,y,z);
    Usw...


    Hoffe das ihr mir helfen könnt!


    Mfg

    Bekomme diesen Warning:
    warning 202: number of arguments does not match definition


    Die ist die Zeile:
    if(response == 0)
    {
    new Playerdatei[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
    dini_Remove("/Accounts/%s.ini",name); //Das ist die Fehlerzeile
    SendClientMessage(playerid,COLOR_ROT,"Du hast den Vorgang abgebrochen!");
    Kick(playerid);
    return 1;

    Wie kann ich es beheben?



    Mit freundlichen Grüßen,
    Johnny

    Die Kassen werden nie resettet, meist nur die einzelnen Spieler. SpielerSpeichern(); sieht so aus:

    //Accspeichern
    stock SpielerSpeichern(playerid)
    {
    new Playerdatei[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
    new Float:x, Float:y, Float:z, Float:a, Float:h;
    GetPlayerHealth(playerid,h);
    GetPlayerPos(playerid, x, y, z);
    GetPlayerFacingAngle(playerid, a);
    dini_FloatSet(Playerdatei,"Leben",h);
    dini_FloatSet(Playerdatei,"PosX",x);
    dini_FloatSet(Playerdatei,"PosY",y);
    dini_FloatSet(Playerdatei,"PosZ",z);
    dini_FloatSet(Playerdatei,"PosA",a);
    dini_IntSet(Playerdatei, "Versicherung", Spieler[playerid][Versicherung]); //Versicherung
    dini_IntSet(Playerdatei, "Bankkonto", Spieler[playerid][Bankkonto]); //Konto
    dini_IntSet(Playerdatei, "Wanteds", Spieler[playerid][Wanteds]); //Wanteds
    dini_IntSet(Playerdatei, "Telefonbuch", Spieler[playerid][Telefonbuch]); //Telefonbuch
    dini_IntSet(Playerdatei, "Arbeitsgeld", Spieler[playerid][Arbeitsgeld]); //Arbeitsgeld
    dini_IntSet(Playerdatei, "Stunden", Spieler[playerid][Stunden]); //Stunden
    dini_IntSet(Playerdatei, "Alter", Spieler[playerid][Alter]); //Alter
    dini_IntSet(Playerdatei, "Geschlecht", Spieler[playerid][Geschlecht]); //Geschlecht
    dini_IntSet(Playerdatei, "Levelpunkte", Spieler[playerid][Levelpunkte]); //Levelpunkte
    dini_IntSet(Playerdatei, "NextPayday", Spieler[playerid][NextPayday]); //NextPayday
    dini_IntSet(Playerdatei, "Levelpunkte", Spieler[playerid][Levelpunkte]); //Levelpunkte
    dini_IntSet(Playerdatei, "Premium", Spieler[playerid][Premium]); //Premium
    dini_IntSet(Playerdatei, "Gebannt", Spieler[playerid][Gebannt]); //Gebannt
    dini_IntSet(Playerdatei, "Job", Spieler[playerid][Job]); //Job
    dini_IntSet(Playerdatei, "Fraktion", Spieler[playerid][Member]); //Fraktion
    dini_IntSet(Playerdatei, "Handy", Spieler[playerid][Handy]); //Handy
    dini_IntSet(Playerdatei, "Fuehrerschein", Spieler[playerid][Fuehrerschein]); //Führerschein
    dini_IntSet(Playerdatei, "Motorradschein", Spieler[playerid][Motorradschein]); //Motorradschein
    dini_IntSet(Playerdatei, "Bootschein", Spieler[playerid][Bootschein]); //Bootschein
    dini_IntSet(Playerdatei, "Lkwschein", Spieler[playerid][Lkwschein]); //Lkwschein
    dini_IntSet(Playerdatei, "Flugschein", Spieler[playerid][Flugschein]); //Flugschein
    dini_IntSet(Playerdatei, "Waffenschein", Spieler[playerid][Waffenschein]); //Waffenschein
    dini_IntSet(Playerdatei, "Stadtplan", Spieler[playerid][Stadtplan]); //Stadtplan
    dini_IntSet(Playerdatei, "Interior",GetPlayerInterior(playerid)); //Interior
    dini_IntSet(Playerdatei, "Skin",GetPlayerSkin(playerid)); //Skin
    dini_IntSet(Playerdatei, "Level",GetPlayerScore(playerid)); //Level
    dini_IntSet(Playerdatei, "Geld",GetPlayerMoney(playerid)); //Geld
    dini_IntSet(Playerdatei, "Perso", Spieler[playerid][Perso]); //Persodini_IntSet(Playerdatei, "Miete", Spieler[playerid][Miete]); //Miete
    dini_IntSet(Playerdatei, "Admin", Spieler[playerid][Admin]); //Admin
    dini_IntSet(Playerdatei, "Getoatet", Spieler[playerid][Getoatet]); //Getötetdini_IntSet(Playerdatei, "Gestorben", Spieler[playerid][Gestorben]); //Gestorben
    dini_IntSet(Playerdatei, "Bank", Spieler[playerid][Bank]); //Bank
    return 1;
    }

    Mach ich nicht, aber es wird ja oft auch alles einfachso auf 0 gesetzt. Wenn ich es machen würde, würd ich es so machen:
    //Neustart
    if (strcmp("/neustart", cmdtext, true) == 0)
    {
    if(Spieler[playerid][Eingeloggt] == 1)
    {
    if(Spieler[playerid][Admin] >= 3)
    {
    SetTimer("Restarttimer",10000,0); // <<< Im Timer kommt dann nur der gmx Befehl
    SendClientMessageToAll(COLOR_BLAU,"Der Server wird in 10 Sekunden neugestartet!");
    for(new i; i < MAX_PLAYERS; i++) // Alle Onlinespieler Speichern
    {
    if(Spieler[i][Eingeloggt] == 1)
    {
    SpielerSpeichern(i);
    KassenSpeichern();
    SendClientMessageToAll(COLOR_BLAU,"Alles wurde vollständig gespeichert!");
    }
    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_ROT,"Du bist kein Admin!");
    return 1;
    }
    }
    return 1;
    }


    Ich danke dir für die schnelle Antwort!

    Guten Tag liebe Brotfische!
    Ich habe ein Problem, und zwar werden alle Dini Values nach einem Serverneustart (mit gmx) einfach auf 0 gesetzt, zB wird die Position, das Geld, Adminrang, einfach alles was ich mit Dini abspeichere auf 0 gesetzt. Wie kann ich es ändern?


    //Neustart
    if (strcmp("/neustart", cmdtext, true) == 0)
    {
    if(Spieler[playerid][Eingeloggt] == 1)
    {
    if(Spieler[playerid][Admin] >= 3)
    {
    SetTimer("Restarttimer",10000,0); // <<< Im Timer kommt dann nur der gmx Befehl
    SendClientMessageToAll(COLOR_BLAU,"Der Server wird in 10 Sekunden neugestartet!");
    for(new i; i < MAX_PLAYERS; i++) // Alle Onlinespieler Speichern
    {
    if(Spieler[i][Eingeloggt] == 1)
    {
    SpielerSpeichern(i);
    KassenSpeichern();
    SendClientMessageToAll(COLOR_BLAU,"Alles wurde vollständig gespeichert!");
    }
    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_ROT,"Du bist kein Admin!");
    return 1;
    }
    }
    return 1;
    }



    Mit Freundlichen Grüßen,
    Johnny :thumbup:

    Hallo Leute,
    da ich einen sehr langsame PC habe, würde ich gerne erfahren welcher Browser den PC am meisten auslastet.
    Ich habe sehr lange Opera genutzt, bin jedoch dann auf Google Chrome umgestiegen, was mir aber aufgefallen ist, ist das Opera viel schneller gearbeitet hat als Google Chrome.


    Auf den Bildern könnt ihr auch die Arbeitsspeicher auslastung sehen..


    Google Chrome:


    Opera:


    Ich bin jetzt nicht der Computer Profi aber mir wurde gesagt das Arbeitsspeicher sehr viel mit der PC Auslastung zu tun hat.
    Ich bitte euch um Tipps, kennt ihr villeicht noch bessere Browser? Oder sollte ich einfach den Browser richtig einstellen?
    Danke jetzt schonmal für eure Hilfe!


    Mgf

    Meiner Meinung ist dieser Script wirklich mager. Sehr viele Bugs, alles voller Rechtschreibfehler, die hälfte ist Copy&Pase. Ich würde dir raten bei den Commands abzufragen ob jemand eingeloggt ist, da wenn du einen Adminnamen wählst, dich einloggst und vor dem eingeben des Passwortst F6 anklickst und da ein Command z.B /kick [id] reinschreibst, wird der User gekickt obwohl du dich nichtmal eingeloggt hast.


    Mgf

    Also ich habe meinen auf 8000 gesetzt. Auf 6000 hat er mir die Meldung noch angezeigt, bei 7000 jedoch nicht mehr. Versuchs einfach mit einer höheren Zahl, aber bitte nimm meine Worte auch nicht so sehr Ernst da wie du siehst ich selber erst ein Anfänger bin.


    Mgf

    Also seit kurzem bekomme ich so eine Nachricht nach dem Compile:



    Da ich keine Ahnung habe was das heißen soll, frage ich einfach mal nach.. Ich dachte erst daran das ich zuviel Speicher ausnutze, kann das sein?
    Das kommt halt seitdem ich einen sehr großen String erstellt habe. Hoffe auf eine schnelle Antwort :)


    MGF

    Hallo liebe Community!
    Also ich hab ein Problem mit meinem /wantedliste Befehl und zwar werden die Leute die Wanteds haben angezeigt, die Wanteds der Leute jedoch nicht.
    Ich verstehe also nicht wie ich die Wanteds von den Spielern auslesen soll.


    Hier der Scriptingcode des Befehls:


    ocmd:wantedliste(playerid,params[])
    {
    if(Spieler[playerid][Fraktion] == 5) return SendClientMessage(playerid,COLOR_ROT,"Du bist kein Polizist!");
    {
    new string[256], HatJmdWps = 0;
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(Spieler[i][Eingeloggt] == 0) continue;
    if(Spieler[i][Wanteds] >=1)
    {
    new Playerdatei[128];
    format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",i);
    SendClientMessage(playerid,COLOR_HELLBLAU,"___________ Gesuchte Verbrecher ___________");
    format(string,sizeof(string),"%s - %d Wanteds", SpielerName(i),dini_Int(Playerdatei,"Wanteds"));
    SendClientMessage(playerid,COLOR_WEISS,string);
    HatJmdWps = 1;
    }
    }
    if(HatJmdWps == 0) return SendClientMessage(playerid, COLOR_ROT, "Derzeit gibt es keine Verbrecher!");
    }
    return 1;}


    Es gibt keine Errors, wie schon gesagt nur der Name des Spielers der die Wanteds hat wird angezeigt, die anzahl der Wanteds jedoch nicht.
    Die Wanteds werden auch in den /stats angezeigt & auch gespeichert!
    Hier noch für alle Fälle ein Bild:



    Ich suche schon sehr lange finde jedoch keine Antwort, ich hoffe ihr könnt mir helfen!
    Mgf