Beiträge von FACE

    Unter OnPlayerCommandText(..) befindet sich wohl dein Command. (Im Regelfall)
    Die Zeile um zb. den CJ-Skin zu sperren wäre:

    //Irgendwie muss er die Params ja auslesen, am besten postest du dafür den Quellcode des CMDs
    if(enterskin==0/*CJ-Skin*/){return SendClientMessage(playerid, 0xFFFFFF,"Dieser Skin ist gesperrt!");}


    Ich weiß halt nicht, wie dein Command aufgebaut ist.
    Ob er mit dcmd, strtok oder was auch immer geschrieben wurde..

    Es gibt nicht nur eine Bedeutung bzw. Interpretation dieses Begriffes.
    Anbei solltest du den Begriff mal hier im Forum in die Suche eintragen.
    Ich würde bei der Anzahl, das Wort "Dynamisch" für "Das Wort des Jahres 2012" nominieren.

    Fügen in dein Command doch einfach einen Return einer Errormessage ein.
    Falls es sich dabei um wirklich viele Skins handeln sollte, kannst du diese ja noch in ein Array schreiben.

    Bitte meidet folgende Begriffe, wenn ihr nicht wisst, was sie bedeuten:


    -Dynamisch
    Ein sich selbst entwickelndes Etwas. Ihr meint eigentlich nur ein In-Game steuerbares Script, was spielergebunden ist und keine oder nur wenige
    feststehende Eigenschaften aufweist. Auf ein Autohaus bezogen wären solche Eigenschaften: Ort, Fahrzeuge, Preise, etc..


    -Selfmade
    Der Begriff Selfmade beschreibt ein selbsterstelltes Script, jedes andere ist ein Edit.
    Es ist keine Schande einen Edit zu benutzen, doch ist hier Vorsicht mit den Urheberrechten zu prädigen.


    -System
    Erstmal ist nicht alles ein System.
    System bedingt, dass es sich dabei um einen nach außen hin abgeschlossenen Prozess handelt, dieser wiederum mit anderen Systemen kooperiert.
    Ihr meint eigentlich Snippets, bzw. Scriptparts




    Mehrere Begriffe folgen noch bei Zeiten, jedoch sind die größten Übeltäter schonmal aufgelistet. 8)

    Eine Update Funktion bedingt ein andauerndes Aktualisieren (-> Timer !).
    Besser ist ein interrupt, eine Aktion die klar die Aktualisierung hervorruft.


    Die Leveländerung wird zb. per Command, oder durch bestimmte andere Aktionen des Spielers hervorgerufen.

    Bitte, bitte schreibt diese Skins in ein Array.
    Das wird sonst ein schier endloser Code-Salat.
    Denn ich nehme an, dass du nicht nur eine einzige Gang einfügen möchtest.
    Du hättest so nur einmal ein kleines Stück Code.
    Auch das ändern von Skins, solltest du das mal im Nachhinein vorhaben, würde sich mit ein paar Clicks bewerkstelligen lassen ;)

    Du liest ja auch einen integer aus. X(
    Das Passwort ist aber ein String.
    Nutze hierfür bitte die Funktion "dini_Get".
    if(strlen(inputtext)==dini_Get(Spielerdatei,"Passwort")){..}


    Aber mit strlen prüfst du doch nur die Länge des Strings, die Funtion heißt ja auch String-Length.
    Bsp. Passwort ist:"Test" , ich gebe "Haus" ein und bin dann eingeloggt, weil die Längen übereinstimmen ^^


    Wenn du den String mit dem Passwort abgleichen möchtest (was ja durchaus sinnvoll ist), dann nutze doch einfach String-Comapre (strcmp).
    Der Code hierfür wäre auch recht simpel:

    if(strcmp(inputtext,dini_Get(Spielerdatei,"Passwort"),false,strlen(dini_Get(Spielerdatei,"Passwort"))) == 0){..}

    Bitte sei doch noch so nett und markiere das Thema als erledigt, damit man eine bessere Übersicht hat, wo noch Bedarf zum Support besteht ;)
    Gruß, FACE.

    du musst BSNessen oben im Script definieren.

    #define BSNessen 255

    die 255 kannst du durch eine beliebige freie Dialog ID ersetzen.
    Das Pickup und der Dialog sind nicht ein und dasselbe.
    Nenn das Pickup doch einfach BSNessenpickup .


    Für den Dialog sieht das dann auch etwas einfacher aus.

    ShowPlayerDialog(playerid,BSNessen,2,"Wähle dein Essen","3 Chicken Nuggets\n6 Chicken Nuggets\n9 Chicken Nuggets\nPommes\nBig Mac\nHappy Meal\nMc Menü\nCola\nFanta","Bestellen","Abbrechen");


    Bitte ändere doch noch den Titel deines Themas..
    Der aktuelle Titel ist absolut nichtssagend.

    Bitte schreib doch die Koordinaten für die Checkpoints in ein Array und lasse dann dieses auslesen, damit sparst du dir gefühlt 90% der Zeilen.
    Auch die auftretenden Fehler sind so schneller zu erkennen und auszumerzen.



    new fCheckpoints[/*Anzahl*/][3/*X,Y,Z*/] =
    {
    {},
    {},
    ..
    {}
    };


    Dann kannst du ganz einfach bei OnPlayerEnterCheckpoint den nächsten CP anzeigen und die Aktionen durchführen lassen.

    if(fcheckpoint[playerid]>0)//Spieler in Farmmission
    {
    if(fcheckpoint[playerid]<sizeof(FCheckpoints))
    {
    fcheckpoint[playerid]++;//Um eins erhöhen..
    SetPlayerCheckpoint(playerid,FCheckpoints[fcheckpoint[playerid][0],FCheckpoints[fcheckpoint[playerid][1],FCheckpoints[fcheckpoint[playerid][2],5.0);//Checkpoint anzeigen lassen (X,Y,Z)
    }
    else
    {
    //Letzter CP; Geld geben..
    }
    }

    Was willst du überhaupt genau abfragen??
    Soll die Aktion ausgelöst werden, wenn der Spieler die beiden Tasten gleichzeitig drückt.
    Eine konkrete Angabe ist da notwendig. Soll eine bestimmte Tastenabfolge beachtet werden, etc.. ;)
    (Steht dann aber auch alles auf der Wiki-Seite )

    Ich erwarte ja nicht die Welt, oder eine Erleuchtung der betreffenden User gefolgt von einem vollkommenen Sinneswandel.
    Kleine Schritte führen auch zum Ziel.
    Ich kann natürlich deine Argumentation nachvollziehen (@ S1mpl3x), jedoch bin ich selber im betreffenden Alter. (18; ok, vielleicht schon ein Stück drüber ;) )
    Aber sinnvoll ist es trotzdem, die Community für einen solchen bestehenden Mangel, beziehungsweise für solch bestehende Mängel zu sensibilisieren.
    Anders als über Selbst-Reflexion wird das wohl kaum gehen.
    Was man selbst tun kann: Mit gutem Beispiel voran gehen und sinnfreie Beiträge nichtmal eines Kommentares würdigen.

    Vorwort:
    Ich muss so langsam mal meiner sich langsam, aber schon seit längerer Zeit, anstauenden Wut Luft machen.
    Nebenbei möchte ich gleich noch etwas Aufklärung für Server-Owner betreiben.
    Ein paar Sachen hemmen oft die Bereitschaft zum Support.
    Mit ein paar einfachen "Umgangsformen", "Themen- bzw. Beitragspflege" und
    ein wenig "Nachdenken und Überlegen", sollten sich viele Probleme auflösen lassen und sich das
    Supporting für euch einfacher gestalten lassen. Ihr wollt ja schließlich etwas von uns, nicht umgekehrt.
    Da ich mir ein besseres Forenklima wünsche, habe die folgenden Kritikpunkte unten aufgelistet
    und jeweils kurz und knapp erläutert.




    Scripting-Angebote:
    Lieber "Antrags-Steller", wenn ihr einen Scripter haben wollt, dann seid doch bitte so lieb
    und verzichtet auf "Versprechungen" wie :

    Zitat

    Der Scripter bekommt natürlich Adminlevel 2000


    Diese Zahl hat absolut keine Bedeutung.
    Mal im Ernst jetzt: Die Levels werden im Script festgesetzt und haben absolut keine Aussage über Funktionen etc.
    In meinem Script ist der Ober-Super-Duper-Admin-Gott der, der Rang 4 sein eigen nennt ^^ .
    Abgesehen davon glaubt ihr doch wohl kaum, dass sich ein Scripter nicht selbst zum Obermotz machen kann, oder ?
    Und wenn ich dann diese Angebote lese, die einem genau dies versprechen, dreht sich mir fast der Magen um!!


    Es gibt ein paar Grundkenntnisse, die ein Server-Owner, oder ein jener, der es plant zu werden, besitzen sollte.
    Setzt euch also bitte im Vorfeld selbst mit ein paar Zeilen PAWN auseinander, um so lästigen Fragen vorzubeugen.
    Das erspart euch Zeit und schont unsere Nerven und Zeit, damit wir uns auf die komplizierteren Probleme konzentrieren können.




    Das Abschließen von Themen:
    Kommen wir gleich zum nächsten Punkt der Tagesordnung.
    Bitte seid doch so engagiert und schließt eure erstellten Themen sachgemäß ab.
    Gerade wenn man euch helfen soll, schaut man nur nach den "unfertigen" Themen.
    Man öffnet natürlich dann immerwieder "kalte" Themen, sprich solche, die bereits fertig bearbeitet sind,
    jedoch nicht vom Threadstarter als beendet markiert wurden.
    Als Folge fühle ich mich dann nach 10 bis 20 Beiträgen leicht hinters Licht geführt und sehe dann die nächsten Stunden
    nichtmehr ein, auch nur in geringster Form Support für User anzubieten.




    Grammatik und Inhalt von Beiträgen:
    Ich weiß, dieses Thema ist hart umstritten, viele sind noch etwas jünger oder leiden unter einer Lese-Rechtschreib-Schwäche.
    Auch behaupte ich von mir ebenfalls keinerlei Perfektion, was die Grammatik hier im Forum angeht, doch trotz alle dem versuche
    ich immernoch meine Beiträge verständlich und sachlich zu halten.
    Ich nehme mir IMMER vor dem absenden eines Beitrages die Zeit, diesen nochmal Korrektur zu lesen und gegebenenfalls diverse Ungereimtheiten
    auszumerzen. Ich bitte euch inständig, dies auch zu tun.
    (Vielleicht ist Selbst-Reflexion ja ein guter Ansatzpunkt für Jeden hier ;) )
    Der Inhalt des Beitrages ist dabei auch von entscheidender Bedeutung.
    Ich hab kein Problem damit, wenn man dem User mal die Meinung geigt,
    jedoch sind absolut nichtssagende Beiträge mit völlig kontextbefreitem, an der Haaren herbeigezogenem Aussagen
    schier unnötig und vermitteln dem Leser einfach nur Inkompetenz des Autors des Beitrages.
    Also, bitte denkt vorher nach und schreibt dann. Im Anschluss nochmal kurz drüberlesen erspart dem Rest dann noch viel Alt-Griechisch.




    Eindeutige Titelvergabe von Themen:
    Es wäre einfach nur zu schön, wenn ihr ein Problem kurz im Titel schildern könntet.
    Thementitel wie "HILFE!" (am besten noch mit einer kleinen Armee Ausrufezeichen dahinter) oder "ERRORS, Was nu?"
    helfen uns Lesern absolut überhaupt nicht.
    Ich werde in Zukunft vermehrt solche Beiträge meiden, wie wahrscheinlich auch andere User.
    Wenn ihr also einen guten Support wünscht, dann seid doch so lieb und gebt euch ein wenig Mühe bei der Titelvergabe.
    Ihr ruft ja auch nicht beim Techniker an und sagt: "Hilfe!, irgendwas ist falsch.."
    Damit kann der Techniker garnichts anfangen.
    Im Forum sind wir die Techniker und sollen aber eure Beiträge interpretieren ^^




    "Ein Dankeschön tut nicht weh.."
    Was kleines noch zum Ende.
    Der Support ist vollkommen freiwillig. Man bekommt nichts dafür und wird hin und wieder sogar
    angeraunzt oder kriegt irgendwelche, an Beleidigung angrenzende, Posts zurück, die einem die Frage
    aufwerfen, warum man überhaupt seine Hilfe zur Verfügung stellt.
    Zeigt doch den Leuten, die sich unentgeltlich Zeit für euch nehmen, die von der Freizeit abgeht,
    dass ihr euch über deren Engagement freut.
    Ein Dankeschön kostet euch nichts und zeigt dem Helfer ein wenig Anerkennung seiner Leistung.




    Gruß, FACE

    Leute, jetzt mal im Ernst.
    Habt ihr euch die Key-Funktionen überhaupt schonmal zu Gemüte geführt?


    http://wiki.sa-mp.com/wiki/OnP…ow_NOT_to_check_for_a_key


    Probiere es doch bitte, wie folgt:

    if ((newkeys & (KEY_SPRINT | KEY_SUBMISSION)) == (KEY_SPRINT | KEY_SUBMISSION) && (oldkeys & (KEY_SPRINT | KEY_SUBMISSION)) != (KEY_SPRINT | KEY_SUBMISSION))
    {
    SendClientMessage(playerid,Grün,"Du hast 2 und Leertaste gedrückt.");
    return 1;
    }


    (Nichtmal gescheit abschreiben könnt ihr ^^
    Wie soll das nur in der Schule weitergehen mit der Jugend :D )