Beiträge von Kaliber

    1. Das hier ist die falsche Sektion, poste deine Probleme hier: http://forum.sa-mp.de/gta-mult…er/board6-scripting-base/


    2. Lass mich raten, 26 Fehler? :rolleyes:


    3. Liegt an einem Klammerfehler den du gemacht hast, schreib es so:


    COMMAND:kaufen(playerid,params[])
    {
    #pragma unused params
    if(ImTutorial[playerid] != 0)return SendClientMessage(playerid,GRAU,"Du kannst keine Befehle nutzen,da du im Tutorial bist.");
    if(GetPVarInt(playerid,"Eingeloggt") == 0)return SendClientMessage(playerid,GRAU,"Du bist nicht eingeloggt!");
    if(Spieler[playerid][pAWAYFROMKEYBOARD] == 1)return SendClientMessage(playerid,WRONGCMD,"Du bist im AFK-Modus und kannst somit keine Befehle nutzen."),SendClientMessage(playerid,WRONGCMD,"BENUTZE: /back");
    if(Spieler[playerid][pInPrison] == 1)return SendClientMessage(playerid,GRAU,"Du bist im Prison.");
    if(Spieler[playerid][pFriedhof] == 1)return SendClientMessage(playerid,GRAU,"Du bist Tot.");
    if(Spieler[playerid][pDeath] == 1)return SendClientMessage(playerid,GRAU,"Du bist verletzt.");
    if(Spieler[playerid][pJailed] != 0)return SendClientMessage(playerid,GRAU,"Du bist im Gefängnis.");
    if(Spieler[playerid][pTazerd] == 1)return SendClientMessage(playerid,GRAU,"Du bist K.O/getazert.");
    if(Spieler[playerid][pCuffed] == 1)return SendClientMessage(playerid,GRAU,"Du bist gefesselt.");
    for(new haus=1;haus<MAX_HAUS;haus++)
    {
    if(IsPlayerInRangeOfPoint(playerid,2,HausInfo[haus][haus_x],HausInfo[haus][haus_y],HausInfo[haus][haus_z]))
    {
    ShowPlayerDialog(playerid,DIALOG_KAUFMENU,DIALOG_STYLE_LIST,"Zahlungsart wählen","Bargeld\nPremiumcoins","Kaufen","Abbrechen");
    }
    for(new biz=1;biz<MAX_BIZ;biz++)
    {
    if(IsPlayerInRangeOfPoint(playerid,2,BizInfo[biz][biz_x],BizInfo[biz][biz_y],BizInfo[biz][biz_z]))
    {
    ShowPlayerDialog(playerid,DIALOG_KAUFMENU,DIALOG_STYLE_LIST,"Zahlungsart wählen","Bargeld\nPremiumcoins","Kaufen","Abbrechen");
    }
    }
    }
    return 1;
    }


    4. Das kommt davon, wenn man nicht richtig einrückt :P


    mfg. :thumbup:

    data: "name=" + $("#Benutzername").val() + "&password=" + $("#Passwort").val(),


    Ja, du hast einen parseError, schreib das alles mal so:



    mfg. :thumbup:

    Kaliber: auch wenn ein "stock" davor steht?


    Natürlich, das stock sorgt (egal ob es vor einer Variable oder Funktion steht) nur dafür, dass wenn sie nicht aufgerufen bzw verwendet wird, sie vom Compiler ignoriert wird.


    Somit kann man den Warning Variable/Function is never used umgehen.


    new stock var1; //Kann man so schreiben und nie verwenden, wird einfach ignoriert
    //new var1; hat den selben Effekt! (also auskommentieren)


    Und nur um das mal klar zu machen:


    test(x)
    {
    return x;
    }
    /*
    Das ist auch eine gültige Funktion.
    Nur wenn wir sie nicht aufrufen, bekommen wir einen Warning, dass wir sie nicht benutzen.
    Aus dem Grund schreibt man "stock" davor, damit man da nicht drauf achten muss, ob die Funktion auch wirklich aufgerufen wird.
    */


    //Edit: [ SCRIPTING ] Der Mythos "stock"


    mfg. :thumbup:

    Du hast doch bereits die Funktion erstellt.


    Das ist keine Funktion, mit const deklariert man eben konstante Variablen.


    Und der Fehler den er gemacht hat, war einfach es nach unten einzufügen...obwohl ich ganz deutlich geschrieben habe, es muss ganz nach oben! Denn eine Variable muss ja erstmal deklariert sein, bevor man sie nutzen will (zumindest in Pawn). :rolleyes:

    Woran liegt da der Fehler?


    Glaubst du...du kannst ohne Basics vernünftige Skripts aus dem Nichts zaubern? :huh:


    Lern erstmal die Basics und mach dich dann daran irgendwelche Systeme zu bauen...das kann sich doch keiner anschauen :pinch:


    1. Klammerfehler bei deinem Command


    2. In Pawn muss man Variablen vor der Nutzung deklarieren, deshalb steht in meinen Kommentaren OBEN INS SKRIPT!!!


    3. LES die KOMMENTARE!!! ist das so schwer? Da steht doch alles klar drinnen und MAX_TANKSTELLEN..ist ein Platzhalter für dich!!! da musst du was eintragen...


    ...Bitte lerne Basics, schau dir Tutorials an und versuche dich erstmal an kleinen Sachen und an Grundsystemen...


    mfg. :wacko:

    ...Arrays ;)


    //Oben deklarieren:
    //Erstmal ein konstantes Array mit den Positonen
    stock const Float:tank_pos[][3] = {
    {1944.3746,-1772.5388,13.3906}, {1966.7273,-1772.5297,13.5469}
    };
    //Dann noch eine Variable für das ausrauben:
    //Wenn MAX_TANKstellen <= 255 kann man auch char Arrays verwenden! ;)
    new bool:t_rob[MAX_TANKSTELLEN];


    //Dann im Command /rob
    for(new i; i<sizeof tank_pos; i++)
    {
    if(IsPlayerInRangeOfPoint(playerid,3.0,tank_pos[i][0],tank_pos[i][1],tank_pos[i][2])
    {
    //i ist der index, also unsere Tankstelle:
    if(t_rob[i]) return SendClientMessage(playerid,-1,"Diese Tankstelle wurde bereits ausgeraubt!");
    GivePlayerMoney(playerid, random(1000)+50); //Hier bekommt der Spieler random Geld!
    t_rob[i] = true; //Damit man sie vorest nicht mehr ausrauben kann
    SetTimerEx("@t_clear",1000*60*3,0,"i",i); //Nach 3 Minuten kann man die Tankstelle wieder ausrauben
    break; //Da die Tankstelle gefunden wurde
    }
    }


    //Irgendwo im Skript (in keiner Lokalen Ebene!)
    @t_clear(i);@t_clear(i) return t_rob[i] = false; //damit kann man wieder die Tankstelle ausrauben!


    Hoffe halbwegs verständlich erklärt ;)


    mfg. :thumbup:

    emit benutzt ich nicht ich habe nix gefunden..


    Hmm...auch mal die Includes gecheckt? :o


    Ansonsten, musst du einen print-debug machen, der etwas aufwändiger ist...


    Prüfe alle Funktionen und Callbacks, die aufgerufen werden, sobald ein Spieler den Server betritt und was als letztes aufgerufen wurde, bevor der Fehler auftritt, da ist der Fehler :)


    mfg. :thumbup: