Beiträge von 4#Future


    Also so einen Quatsch habe ich auch noch nicht gelesen.


    Ich erklär Dir mal, einfachstes Programmierwissen.



    Ist eine Variable mit 1 definiert, also true, kannst Du
    diese in der Anweisung auch einfach so abfragen:


    Code
    if(variable)
    
    
    ENSPRICHT EXAKT
    
    
    if(varialbe == 1)


    Ist diese Variable nicht definiert, also false, kannst Du
    diese durch ein Ausrufezeichen "!" abfragen:


    Code
    if(!variable)
    
    
    ENTPRICHT EXAKT
    
    
    if(varialbe == 0)


    ZUM NACHLESEN aller Operatoren: SAMP -WIKI



    Nun aber Schluss, das gehört nicht zum Thema!


    Die unsauberen Methoden zur PAWN-Programmierung könnten
    nun allmälig eigentlich verblassen... Oder nicht?


    Seit dem es die Spieler Variablen gibt, die den Server "schonen",
    muss ich den Leuten nicht mehr empfehlen, veraltete Varianten
    zu verwenden.


    Nur mal so als kleiner Tipp.

    Währrend er springt oder er gesprungen ist,
    deklarierst Du einfach eine Variable, die bsp.
    auf true gesetzt wird und vorher auf false war.

    nach dem Sprung


    SetPVarInt(playerid, "sprungCount", 1);
    dann in der Abfrage


    if(GetPVarInt(playerid, "sprungCount"))
    {
    // der Spieler ist bereits gesprungen
    return 1;
    }

    1 / 10*


    Billige Hintergründe, die Schärfe lässt zu wünschen
    übrig und eine schlampige Text-Ebene mit einfach
    "hingeklatschten" Texten, die nicht zum Bild passen.


    Nunja, und den Rand kann man auch schöner machen,
    bsp. durch Rundung der Ecken oder ähnliches.


    Versuch Dich mal ein bisschen zu steigern. :thumbup:



    *1 Punkt, für die Mühe ein Thema zu starten


    Guten Abend liebe Community!


    Da ich mal wieder ein paar Minuten für mich hatte und
    natürlich in Langeweile versinken würde, habe ich ein
    kleines Filterscript für Euch erstellt.


    Einfach und simpel zu nutzen, in jedem Script!



    Beschreibung


    Um SA-MP etwas realisitischer erscheinen zu lassen, ist ein System,
    dass Hunger, Durst und den Harndrang simuliert, wirklich zu empfehlen.


    Code
    1) kauft in einem 24/7 o.ä. etwas zu essen/trinken
    2) ändert den Statuswert einfach via Definition


    Oder erstellt Euch bsp. Getränkeautomaten oder einen Imbissstand.
    Beim Verzehr der Speise setzt ihr den Hungerwert dann einfach wieder zurück.


    Installation


    Code
    1) FilterScript herunterladen
    2) in den Ordner "filterscripts" verschieben
    3) in der Server Config bei "filterscripts" einfach "Needs" hinzufügen


    Nachdem nächsten Serverneustart sollte das Filterscript
    dann geladen werden. Auch per RCON kann es geladen werden.



    Verwendung


    Nachdem das Filterscript geladen wurde, können Hunger-, Durst-
    und Harndrangstatus jederzeit von Euch aus, in Eurem Gamemode
    geändert werden. Dazu muss das Filterscript nicht editiert werden.


    #define HUNGER_TIME 90000
    #define DURST_TIME 60000
    #define HARNDRANG_TIME 120000


    // GET Status Funktionen


    new integerHunger = CallRemoteFunction("getHStatus", "d");
    new integerDurst = CallRemoteFunction("getDStatus", "d");
    new integerHarndrang = CallRemoteFunction("getPStatus", "d");


    // SET Status Funktionen


    CallRemoteFunction("updateHStatus", "dd", playerid, WERT[1-10]); // Hungerstatus
    CallRemoteFunction("updateDStatus", "dd", playerid, WERT[1-10]); // Durststatus
    CallRemoteFunction("updatePStatus", "dd", playerid, WERT[1-10]); // Harndrangwert
    Die drei Defines deklarieren den Wert des Timers, der für den jeweiligen
    Status, also Hunger, Durst und Harndrang zuständig ist, den Wert zu aktualisieren.


    Anstatt WERT[1-10] setzt Du den Wert ein, der für den jeweiligen Status
    deklariert werden soll. Um den aktuellen Wert zu erfahren, den der Status
    hat, benutzt Du einfach die oberen 3 Funktionen. Alle sind Integer Werte.


    Um Euer Bedürfnis des Harndrangs zu decken, müsst Ihr pinkeln gehen.


    Code
    InGame Command:  /pinkeln


    Bilder & Downloads


    Pastebin: Link dorthin
    Download: PWN , AMX (privater Server)



    Credits & Hinweise


    Die Entfernung des Urheberrechtshinweises ist nicht gestattet.
    Das Script könnt ihr gern editieren und frei benutzen.


    Viel Spaß damit und bitte meldet die Bugs!



    Freundliche Grüße


    4#Future | Fake - Philip



    ----------

    Edits
    1] Command /pinkeln hinzugefügt
    2] Edits hinzugefügt
    3] TextDraws spielerspezifisch angepasst (Danke an BlackAce!)
    4] Pastbin Link aktualisiert

    Hier das hier musst du in deiner HTML Seite rein ;)

    Code
    body {
    background: url("images/blabla.png") no-repeat;
    background-size: 100% 100%;
    }


    Absolut unsauber...


    Den Styletype nicht vergessen!


    Code
    <STYLE TYPE="text/javascript">...</STYLE>

    Nunja, wenn Dein Bild schon breiter ist,
    wie die Desktopauflösung selbst, ist das
    eigentlich unsinnig.


    Aber machs einfach wie folgt:


    Code
    <img src="image/url" alt="" style="width: 100%; height: 100%;" />

    Erst definierst Du Deine TextDraws,


    new Text:TextDraw;
    ...dann lädst Du Deine TextDraws und


    public OnGameModeInit()
    {
    TextDraw = CreateTextDraw()
    ...zum Schluss lässt Du sie anzeigen.


    TextDrawShowForPlayer(playerid, TextDraw);



    [NACHTRAG]


    In der Funktion OnGameModeInit() musst Du
    übrigens nicht jeden TextDraw einzeln den Spieler IDs
    zuweisen.


    Hau alle in eine Schleife rein.


    Alles andere ist Quatsch.

    Zitat

    Quellcode


    background-size: 100% 100%;


    Nunja, dann streckst Du das Bild zwar, aber dadurch
    wird es zwangsläufig unscharf oder verzerrt.


    Wie Du willst...


    So ist es richtig, wenn Du es schon so machst:


    Code
    <body style="background: url('images/url') repeat;"></body>

    Jup, einfacherweise mit CSS.


    Code
    background: url('image/url') repeat;


    Das Hintergrundbild wird nun auf der X und Y Achse wiederholt.

    Da Du uns die Funktion OnDialogResponse nicht
    vollkommen geschickt hast, nehme ich an, dass Du
    also die Klammern { und } vergessen hast.


    Versuchs so und füge Deine Daten ein:


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == 0000)
    {
    if(response)
    {
    switch()
    {
    case 1:
    // Vari 1
    // Vari 2

    case 2:
    // Vari 3
    // Vari 4

    case 3:
    // Vari 5
    // Vari 6
    }
    }
    else
    {
    // ESC
    }
    }

    return 1; // nicht vergessen
    }