Beiträge von Kaliber

    man kan einfach nur keine Befehle mehr eingeben


    Ja, weil eine Zugriffsverletzung stattfindet.


    Code
    Run time error 8: "Heap underflow"


    Nun, leider wird nicht gesagt, wo dies stattfindet...aber das lässt sich relativ leicht eingränzen.


    1. Welchen Commandprozessor nutzt du?


    2. Wo überall nutzt du den Directive #emit?


    //edit:
    3. Achso..oder versuchst du neu-deklarationen von Operatoren zu machen? :huh:


    mfg. :thumbup:

    ich bin schon auf dem Server nur kommt der Fehler nicht sofort ich warte ganze zeit das es passiert ...


    Ja...und nur dann wenn es passiert und das Plugin läuft, kann das Plugin sagen (hoffentlich) was der Fehler ist und dann steht es erst in den Logs ;)


    Sprich, dann musst du das nochmal posten :)


    mfg. :thumbup:

    weil ich nicht weis ob ich so nen langen code hier einfügen kann


    ...natürlich nicht den ganzen, nur den aktuellsten, in deinem Fall, wären das diese Zeilen hier:


    Code
    ----------Loaded log file: "server_log.txt".----------SA-MP Dedicated Server----------------------v0.3z-R4, (C)2005-2014 SA-MP Team[19:19:34] filterscripts = ""  (string)[19:19:34] password = ""  (string)[19:19:34] [19:19:34] Server Plugins[19:19:34] --------------[19:19:34]  Loading plugin: streamer[19:19:34] *** Streamer Plugin v2.6.1 by Incognito loaded ***[19:19:34]   Loaded.[19:19:34]  Loading plugin: sscanf[19:19:34] [19:19:34]  ===============================[19:19:34]       sscanf plugin loaded.     [19:19:34]    (c) 2009 Alex "Y_Less" Cole[19:19:34]    0.3d-R2 500 Players "dnee"[19:19:34]  ===============================[19:19:34]   Loaded.[19:19:34]  Loading plugin: MapAndreas[19:19:34]   Loaded.[19:19:34]  Loading plugin: mysql[19:19:34]   > MySQL plugin R7 successfully loaded.[19:19:34]   Loaded.[19:19:34]  Loading plugin: crashdetect[19:19:34]   CrashDetect v4.15 is OK.[19:19:34]   Loaded.[19:19:34]  Loaded 5 plugins.[19:19:34] [19:19:34] Filterscripts[19:19:34] ---------------[19:19:34]   Loaded 0 filterscripts.[19:19:35] [GLSR][Server]: Die Verbinung zur Mysql Datenbank wurde hergestellt[19:19:35] --------------------------------------[19:19:35] [GLSR] Server: Script wurde geladen!.[19:19:35] [GLSR] Server: by davidks = david.zocker (SKYPE)[19:19:35] --------------------------------------[19:19:35] Number of vehicle models: 84[19:19:35] Incoming connection: 127.0.0.1:1212[19:19:35] Incoming connection: 127.0.0.1:1213[19:19:35] Incoming connection: 127.0.0.1:1214[19:19:35] Incoming connection: 127.0.0.1:1215[19:19:35] [npc:join] [BOT]C4Transport has joined the server (0:127.0.0.1)[19:19:35] [npc:join] [BOT]Bank has joined the server (1:127.0.0.1)[19:19:35] [npc:join] [BOT]StadthalleLS has joined the server (2:127.0.0.1)[19:19:35] [npc:join] [BOT]ZugBot has joined the server (3:127.0.0.1)[19:19:35] Gangzonen: 9/9 -[19:19:35] Blitzer: 0/25 -[19:19:35] Minen: 0/20 -[19:19:35] WeihnachtsObjecte: 0/100 -[19:19:35] Drogen-Pflanzen: 0/50 -[19:19:35] Funkmasten: 3/50 -[19:19:36] Frak-Autos: 16/500 -[19:19:36] Werbe Tafel/n: 22/22 -[19:19:36] Schwarzmärkte: 1/20 -[19:19:36] Erfolgreich geladen (Allgemeine Dinge)[19:19:36] Frak-Verwaltungen: 19/18 -[19:19:36] Häuser: 12/300 -[19:19:36] Haus Besitzer! (Aktivität Überprüft).[19:19:36] Gutscheine: 0/50 -[19:19:36] Bizzes: 19/100 -[19:19:36] Aktivität der Business Besitzer! Überprüft.[19:19:37] Organisationen: 0/10 -[19:19:37] Firmen: 0/25 -[19:19:37] - Business 4 gespeichert -[19:19:37] - Business 7 gespeichert -[19:19:37] - Business 10 gespeichert -[19:19:37] - Business 11 gespeichert -[19:19:37] - Business 12 gespeichert -[19:19:37] - Business 17 gespeichert -[19:19:37] - Business 18 gespeichert -[19:19:37] - Business 19 gespeichert -[19:19:42] Es wurden erfolgreich [ 5128 ] CreateDynamicObject geladen!


    Aber du hast den Server ja noch gar nicht betreten, da ist der Fehler doch noch gar nicht aufgetreten? :huh:

    Und mit #pragma unsed var1; würde ich die meldung für var1 ignorieren lassen, möchte sie jedoch für alle ignorieren und dabei nicht für jede einzelnde diese anweisung schreiben.


    Wenn es auf globaler Ebene ist, dann deklarier die Variablen so:


    new stock var1, var2, var3, var4, var5;


    //Kannst zur übersicht natürlich auch:
    new stock
    var1,
    var2,
    var3,
    var4,
    var5;


    //Ansonsten musst du es so machen:
    new stock var1;
    new stock var2;
    new stock var3;
    new stock var4;
    new stock var5;


    Und mit pragma sollte man nur auf lokaler Ebene arbeiten, sprich dann so:


    new var1;
    new var2;
    new var3;
    new var4;
    new var5;
    #pragma unused var1,var2,var3,var4,var5


    mfg. :thumbup:

    sondern eine Anweisung die direkt alle Warnings dieser Art ignoriert.


    Ja gibt es und das ist der berühmte "stock" ;)


    Wenn du globale Variablen hast:


    new stock x,y,z; //Auch wenn die sie nicht nutzt, kein Warning


    Leider ist dieser nur global anwendbar, ansonsten auf lokaler ebene, musst du mit Pragma arbeiten:


    if(...)
    {
    new x,y,z;
    #pragma unused x,y,z
    }


    mfg. :thumbup:

    Schade eigentlich, dass das nicht bei jeder Waffe aufgerufen wird.


    Man kann sich einen Callback ganz simpel basteln, der das checkt:


    forward WeaponCalled(playerid, weaponid);


    //unter OnPlayerKeyStateChange
    if(newkeys & KEY_FIRE && GetPlayerWeapon(playerid) != 0) WeaponCalled(playerid, GetPlayerWeapon(playerid));


    //Dann weiter unten im Skript
    public WeaponCalled(playerid, weaponid)
    {
    if(weaponid == 16)
    {
    //Hier hat der Spieler eine Granate geworfen
    }
    return 1;
    }


    mfg. :thumbup:

    zu dem der Spieler beim werfen der Granate guckt und dementsprechend die Koordinaten des Punktes in den Timer einbauen


    Genau so muss man es machen, hier ein Beispiel:



    const Float:distance = 5.0; //Wie weit er die Granate wirft..
    new Float:x,Float:y,Float:z,Float:a;
    GetPlayerPos(playerid, x, y, z),GetPlayerFacingAngle(playerid, a);
    x += (distance * floatsin(-a, degrees));
    y += (distance * floatcos(-a, degrees));


    //x,y und z an den Timer übergeben


    //Dann in dem Timer:
    for(new i,Float:heal; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerInRangeOfPoint(i,7.5,x,y,z)) GetPlayerHealth(i,heal),SetPlayerHealth(i,heal-2.0);
    }


    mfg. :thumbup:

    Hahaha :D


    Kann doch Spaß machen so Automaten Spiele, ich meine im Singleplayer gibts die Dinger ja auch...


    Ist halt ein lustiger zeitvertreib, damit es nicht sinnlos ist, kann man das ja verknüpfen, wie z.B. pro 1000 Score = 50$ oder sowas ^^


    Aber, danke für euer Feedback :)

    Hallo liebe Community,


    da mir mal langweilig ist, dachte ich ich schreib mal ein neues Spiel in SA:MP.


    Also, ihr kennt doch alle diese Spiele-Automaten aus dem Singleplayer und naja durch Sprites kann man diese Games "neu" schreiben.


    Mir geht es momentan darum ein paar Ideen zu sammeln, bisher sieht das ungefähr alles so aus:



    Also, das Raumschiff kann man mit den Pfeil-Tasten über den Bildschirm steuern.


    Den Komet kann man abschießen, dass sieht dann so aus (das grüne ist der Schuss):



    Sobald man den Kometen trifft, wird dieser erstmal heller, also man brauch mehrere Schüsse, damit er verschwindet:



    Das rechts ist ein Power-Boost, dadurch bekommt man einen Double-Shoot und macht halt eben doppelt soviel schaden :)


    Ich wollte mal fragen, was ihr grundsätzlich von so einer Idee haltet und evtl paar Verbesserungsvorschläge und Ideen :)


    //Edit:
    PS: Also, das ist jetzt nicht nur permanent ein Komet oder so...es kommen halt viele Reihen und man muss diese halt immer wieder abschießen oder ausweichen und so...


    mfg. :thumbup: