Beiträge von [F]elix

    Du solltest das AdminSystem noch verbessern.
    Beispielsweise sollte in jedem Reallife Script ein Recon Befehl vorhanden sein.
    Nutze dazu "PlayerSpactatePlayer" und "TogglePlayerSpectating".


    Viel Glück mit dem Projekt, aber ich denke das überall noch einiges fehlt, z.B haben die "bösen" Fraktionen nur Befehle für Tore ( denke ich zumindest das das für Tore sein soll ^^ )
    Aber für Anfänger ist es SOFERN du es getestet hast ob alles ohne Probleme geht eine gute Sache.
    Wenn du es nicht ig getestet hast dann solltest du das nachholen.

    Nehm WBB Lite.
    Wie schon gesagt wurde fällt es kaum auf das es die Lite Version ist wenn du es entsprechend einrichtest.


    Allerdings würde ich schon später auf die Vollversion aufrüsten, da Sie ein paar nützliche Funktionen mehr bietet.

    Beim Spielertot die Waffen abfragen oder Sie speichern sobald er Sie bekommt.
    Dann ein Objekt an die Todesposition setzen und festlegen was passiert wenn man in den Objekt reinläuft.
    Also das die Waffe mit der munition gegeben wird und das Objekt wieder verschwindet.
    ---------------------------------------------------------------------------------------------------------------------------------------------
    Ist es möglich die Skin Auswahl die automatisch über Request Class aufgerufen wird erneut aufzurufen ?
    Also die 2 Pfeile und das "Spawn".


    Danke im Voraus.


    lg
    Felix

    Ich verstehe aber absolut nicht woran es liegen kann.
    Die Position von playerid wird beim einloggen aus der ini abgefragt und gesetzt.
    Allerdings wird ID 0 jedes mal zu der eigenen Startposition geportet wenn sich irgendwer einloggt.


    Hat jemand eine Ahnung woran das liegen kann ?

    Möglicherweise wird spielerspeichern beim restart über onplayerdisconnect erneut aufgerufen,
    Dann sind die pvars im Arbeitsspeicher schon resettet und das Dateisystem speichert alles gleich 0


    War bei mir zmsd so.
    Einfach beim ersten restart Befehl noch ne globale servervariable gleich 1 setzwn und beim spielerspeichern davor noch aufrufen.


    Das hier war der Fehler.


    Danke an alle die gehilfen haben.
    Ich glaube ohne den Beitrag wäre ich da erst in Stunden drauf gekommen .... ^^


    Gruß
    Felix

    ok returnst du das nicht?


    wenn der player sein passwort eingibt spawnt er dann nornal?
    wenn ja dann guck bei OnPlayerRequestClass mal nach


    Der Spieler bekommt das Login Fenster sofort zu sehen, wenn er sich einloggt wird sein Account geladen und der Spieler gespawnt.
    Hier der Teil :

    stock Login(playerid,inputtext[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",name);
    if(!strcmp(inputtext,dini_Get(Spielerdatei,"Passwort"),false))
    {
    SendClientMessage(playerid,grün,"Du hast dich erfolgreich eingeloggt, Viel Spaß !");
    LoadAccount(playerid);
    return 0;
    }
    else
    {
    SendClientMessage(playerid,weiss,"Das Passwort war falsch, versuche es erneut.");
    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "New Dimension Login", "Herzlich Willkommen, dieser Account existiert bereits. Bitte gebe dein Passwort ein.", "Einloggen", "Abbrechen");
    }
    return 1;
    }
    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new string[124];
    format(string,sizeof(string),"[Info]%s hat sich erfolgreich eingeloggt.",Spieler(playerid));
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",name);
    SetPVarInt(playerid,"Eingeloggt",1);
    SetPVarInt(playerid,"Level",dini_Int(Spielerdatei,"Level"));
    SetPlayerScore(playerid, dini_Int(Spielerdatei,"Level"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    new Float:X, Float:Y, Float:Z, Float:Angle, World, Skin;
    X = dini_Float(Spielerdatei, "Spawnx");
    Y = dini_Float(Spielerdatei, "Spawny");
    Z = dini_Float(Spielerdatei, "Spawnz");
    Angle = dini_Float(Spielerdatei, "Spawnangle");
    World = dini_Int(Spielerdatei, "VWorld");
    Skin = dini_Int(Spielerdatei, "Skin");
    SendClientMessageToAll(grau,string);
    SetTimer("SkipSpawn", 20, false);
    SetPlayerSkin(playerid, Skin);
    SetPlayerPos(playerid, X, Y, Z);
    SetPlayerFacingAngle(playerid, Angle);
    SetPlayerVirtualWorld(playerid, World);
    return 1;
    }


    Bitte.

    stock SpielerSpeichern(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",name);
    new Float:x, Float:y, Float:z, Float:Angle, World, Skin;
    new string[124];
    format(string,sizeof(string),"[Info]%s hat sich ausgeloggt.",Spieler(playerid));
    GetPlayerPos(playerid, x, y, z);
    GetPlayerFacingAngle(playerid, Angle);
    GetPlayerVirtualWorld(playerid);
    Skin=GetPlayerSkin(playerid);
    dini_FloatSet(Spielerdatei, "Spawnx", x);
    dini_FloatSet(Spielerdatei, "Spawny", y);
    dini_FloatSet(Spielerdatei, "Spawnz", z);
    dini_FloatSet(Spielerdatei, "Spawnangle", Angle);
    dini_IntSet(Spielerdatei, "VWorld", World);
    dini_IntSet(Spielerdatei, "Skin",Skin);
    }

    Moin.
    Ich habe ein kleines Problem was meinen GMX Befehl angeht.

    forward gmx();


    ocmd:gmx(playerid, params[])
    {
    if(GetPVarInt(playerid,"Adminlevel")==5)
    {
    SpielerSpeichernAlle();
    SendClientMessageToAll(weiss, "Der Gamemode wird nun neu gestartet.");
    SendClientMessageToAll(weiss, "Alle Accounts werden gespeichert.");
    SetTimer("gmx",10000,false);
    }
    else
    {
    SendClientMessage(playerid, weiss, "Du darfst diesen Befehl nicht nutzen !");
    }
    return 1;
    }


    public gmx()
    {
    SendRconCommand("gmx");
    }

    Der Befehl soll alle Accounts speichern und nach 10 Sekunden den gmx ausführen.


    Das Problem ist das man nach dem GMX mit CJ Skin am Punkt 0 spawnt, also da irgendwo an der Farm.
    Im Normalfall kann man sich einloggen / ausloggen so oft man will ohne das irgendwelche gespeicherten Daten verloren gehen.


    Woran kann das liegen ?


    Danke im Vorraus.


    Gruß
    Felix


    Zitat von Felix

    Zitat von Felix

    Moin.


    Ich möchte abfragen ob eine Person an einer von 20 Koordinaten ist, aber nach 5 Stück oder so ist die Zeile zu lang.
    Wie kann ich es an besten lösen ?


    So ist es jetzt aufgebaut - Gibt aber nacher errors weils zu lang wird ^^
    if(IsPlayerInRangeOfPoint(.,.,.,.,.) || IsPlayerInRangeOfPoint(.,.,.,.,.) .................. usw
    {

    Moin. Ich möchte die Position eines Spielers speichern, habe dabei aber irgendwie Probleme.
    Hier das Script :
    new Float:x, Float:y, Float:z, vehicle; //these Float gets the player position that where the player is present
    GetPlayerPos(playerid, x, y, z );//gets player position
    SetPVarInt(playerid,"xk",x);
    SetPVarInt(playerid,"yk",y);
    SetPVarInt(playerid,"zk",z);
    Hier die Fehler :


    C:\Users\Felix\Downloads\newdarkold.pwn(467) : warning 213: tag mismatchC:\Users\Felix\Downloads\newdarkold.pwn(468) : warning 213: tag mismatchC:\Users\Felix\Downloads\newdarkold.pwn(469) : warning 213: tag mismatch


    Ich hoffe jemand kann helfen.

    Moin, ich habe ein Problem.
    Eventuell findet jemand den Fehler, ich verzweifel gleich :D

    C:\Users\bianca\Desktop\Scripten 0.3d\Sanchez.pwn(154) : error 036: empty statement
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.