[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • keine ahnung aber das warning soll von da kommen das checke ich auch nicht ?(

    Selfmade Script zu 4% fertig und so sieht dann die abfrage aus:
    if(GetPVarInt(playerid, "Selfmade") == fertig?)
    {
    if(GetPvarInt(playerid,"Selfmade") == ja)
    SendClientMessage(playerid,GRÜN,"Das Projekt ist fertig");
    return 1;
    }
    else
    {
    if(GetPvarInt(playerid,"Selfmade") == Nein)
    SendClientMessage(playerid,ROT,"Das Projekt ist noch nicht fertig :(");
    return 1;
    }

  • -.- Auch das hättest du dir Sparen können :pinch: :wacko: :whistling: :thumbup: :thumbdown: :| Ich habe 0.3e ! Ich bin kein kleinkind und somit werde ich das alles schon gemacht haben und auch haben -.- ausserdem siehe Error


    Scheinbar hast du ja nicht die Version 0.3e sonst würdest du den "Fehler" nicht bekommen ;)

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Pass mal die Anfragen (die ganzen da unten an).
    Die erste mit if die anderen mit else if..
    Sonst fragt der nämlich die ganzen anderen trotzdem noch ab, obwohl berreits eine sache zugetroffen ist ;)


    Ansonsten würd ich dir vorschlagen:
    - Richtig einrücken
    - Die Response-Abfrage seperat machen




    MfG Firerfan

  • wo genau muss dass jetzt hin mit else?

    Selfmade Script zu 4% fertig und so sieht dann die abfrage aus:
    if(GetPVarInt(playerid, "Selfmade") == fertig?)
    {
    if(GetPvarInt(playerid,"Selfmade") == ja)
    SendClientMessage(playerid,GRÜN,"Das Projekt ist fertig");
    return 1;
    }
    else
    {
    if(GetPvarInt(playerid,"Selfmade") == Nein)
    SendClientMessage(playerid,ROT,"Das Projekt ist noch nicht fertig :(");
    return 1;
    }

  • Zitat


    Scheinbar hast du ja nicht die Version 0.3e sonst würdest du den "Fehler" nicht bekommen ;)

    Ich würde mich ja auch auf euren TS Unterhalten und das erklären aber da werde ich jedesmal gebannt -.- Wenn ich was mache = Banned Wenn ich nur in der eingangshalle "Chille" = Banned xD Tooper labert da immer irgendwas ... xD


    PS: Warum kann ich dann wenn ich das Script auf mein eigenen PC Teste auf 0.3e Zocken? und oben bei der Server Konsole steht 0.3e usw. also 0.3e habe ich schon Streamer habe ich noch die alte Version und includes Funzen auch alle...

  • wer es mir jetzt erklären will mit else soll mir ne PN senden mit seinen skypenamen und dann adde ich ihn und er kann es mir in ruhe sagen/erklären

    Selfmade Script zu 4% fertig und so sieht dann die abfrage aus:
    if(GetPVarInt(playerid, "Selfmade") == fertig?)
    {
    if(GetPvarInt(playerid,"Selfmade") == ja)
    SendClientMessage(playerid,GRÜN,"Das Projekt ist fertig");
    return 1;
    }
    else
    {
    if(GetPvarInt(playerid,"Selfmade") == Nein)
    SendClientMessage(playerid,ROT,"Das Projekt ist noch nicht fertig :(");
    return 1;
    }

  • C:\Users\maurice\Desktop\World of San Andreas 4.0\gamemodes\[SRL]Serious RealLife.pwn(19) : fatal error 100: cannot read from file: "Desk"


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.



    Bitte um hilfe ich glaube er kann den include Desk nicht finden :$ Ich besitze ihn auch nicht :thumbup:

  • Hab eine Frage, habe letztens ein Tutorial gesehen,
    dabei wurde erklärt, wie man mehrere Bools in eine Variable speichern konnte.


    als über die binärschreibweise, konnte man da jeder stelle bei dem 101001001 einen bool zuweisen,
    im tutorial wurde das für führerscheine verwendet.


    Habe es schon zig mal in der sufu eingegeben und in google gesucht, kann mir dazu einer einen link schicken ?
    Würde das gerne verwenden



    /e gefunden ;)
    [ SCRIPTING ] Das andere Lizenssystem, oder: 1 + 10 = 3

    Einmal editiert, zuletzt von Sry4pwn ()

  • 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

  • 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);
    }

  • Hey Leute ,
    also ich wollte wissen wie man dieses "Server Unknown Command " weg ? Also wenn man einen Befehl den es nicht gibt eingibt das da dann z.B. steht : "Dieser Befehl exestiert nicht " ? Ich würde gerne wissen wie und wo man das machen muss ^^ Wäre total cool !
    Mfg

  • 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.

  • 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;
    }


  • 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