Beiträge von Tion

    Hey Leute,


    da es mich doch immer wieder wundert, wie... umfangreich einige Booleans ( true / false ) speichern, mache ich hier mal ein Tutorial, wie man in einer Variable speichert, welche von 5 ( oder mehr ) Scheinen man hat.
    Das geht natürlich bei allen anderen Anwendungsgebieten auch, ob ihr nun 85 Gegenstände habt und alle müssen gefunden werden, ihr habt aber keine Lust, 85 Einträge in der Benutzerdatei zu machen, ...


    Vorwissen:

    Spoiler anzeigen

    Ich erkläre euch "schnell und dreckig", wie binär gezählt wird.
    Sicherlich kennt ihr "Zahlen",, die z.B. so aussehen:

    Code
    000100100001001100111000

    Spoiler anzeigen
    und so weiter. Man kann sie in dezimal umrechnen, indem man von rechts nach links immer 2^(Stelle - 1) addiert, wenn der Wert der Stelle 1 ist.
    Als Beispiel:

    Code
    1. Reihe sind die Stellen2. die "Binäre Zahl"8765432100101100Von rechts nach links:Stelle 1 ist 0, nichts machen.Stelle 2 ist 0, nichts machen.Stelle 3 ist 1, 2^(3 - 1) = 4 ( 2 * 2 ). Zwischenstand: 4Stelle 4 ist 1, 2^(4 - 1) = 8 ( 2 * 2 * 2 ). Zwischenstand: 4 + 8 = 12Stelle 5 ist 0, nichts machen.Stelle 6 ist 1, 2^(6 - 1) = 32 ( 2 * 2 * 2 * 2 * 2 ). Zwischenstand: 12 + 32 = 44Stelle 7 ist 0, nichts machen.Stelle 8 ist 0, nichts machen.


    Haubtteil:

    Spoiler anzeigen

    Was ihr sicher nicht gemerkt habt, ist, dass ihr jetzt gerade 8 Werte gespeichert habt / speichern könnt.
    Jeder Stelle in der binären Zahl kann man 1 Wert zuweisen, so ist Wert 1 "false", Wert 2 "false", Wert 3 "true", Wert 4 "true", Wert 5 "false", Wert 6 "true", Wert 7 "false", Wert 8 "false" - das könnt ihr mit der Zahl 44 ausdrücken.
    So wird aus

    Code
    pCarLicense,  pBoatLicense,  pFishingLicense,  pTruckLicense,  pSchlagmichtodLicense,  pMotorbikeLicense,  pPlaneLicense,  pHelikopterLicense

    Spoiler anzeigen
    ein einfaches

    Code
    pLicenses

    Spoiler anzeigen
    Und es müssen keine 8 Zeilen in der Datei ( 8 Rows in der Datenbank ) stehen, sondern nur 1 :O
    Dasbeste daran: Man kann den Inhalt von pLicenses auch einfach in die Datei schreiben und wieder auslesen, man muss dabei nichts beachten - es bleibt in der Datei als einfache Zahl stehen.


    Der Code-Teil:

    Spoiler anzeigen

    Die Abfrage, ob eine Lizens vorhanden ist, eine zu vergeben oder eine wegzunehmen, ist einfach. Dafür brauchen wir nur "+" ( Plus ), "-" ( Minus ) und "&" ( Binäres und ).
    Die Lizensen definieren wir gan oben als Zahl, angefangen mit "1" - die nächste ist der Vorgänger-Wert mal 2 ( oder 2^(Stelle - 1) ).

    Code
    #define LICENSE_CAR         1#define LICENSE_BOAT        2#define LICENSE_PLANE       4#define LICENSE_BIKE        8#define LICENSE_HELI        16#define LICENSE_LKW         32#define LICENSE_FISCHING    64#define LICENSE_KEINEAHNUNG 128

    Spoiler anzeigen
    Wollen wir dem Spieler jetzt eine Lizenz geben, was ja nicht sooo unwarscheinlich ist, addieren wir die Lizens einfach zu seinen Lizensen dazu.

    Code
    PlayerLicenses[playerid] += LICENSE_CAR;PlayerLicenses[playerid] += LICENSE_LKW;

    Spoiler anzeigen
    Ist er jetzt 80 Km/h zu schnell geblitzt worden, ist der Führerscheinlappen erst einmal wieder weg :( 

    Code
    PlayerLicenses[playerid] -= LICENSE_CAR;

    Spoiler anzeigen
    Und wenn er dann noch mit dem LKW angehalten wurde, und seinen Schein vorzeigen soll, lässt sich das auch leicht prüfen:

    Code
    if(PlayerLicenses[playerid] & LICENSE_LKW)    SendClientMessage(playerid, 0xFF00FF, "Du hast eine LKW-Lizens :O");

    Spoiler anzeigen
    .
    Very Very Very important Notiz: Gebt einen Spieler nur dann eine Lizenz, wenn ihr genau wisst, dass er keine hat, und zieht ihm nur dann eine ab, wenn ihr wisst, dass er eine hat.
    Sonst überkreuzt sich das gesammte System ;)


    Voll-funktionierender Code ( mit nur 5 Lizensen, die gegeben, genommen und geprüft werden :(

    Code
    #include <a_samp>#define LICENSE_CAR         1#define LICENSE_BOAT        2#define LICENSE_PLANE       4#define LICENSE_BIKE        8#define LICENSE_HELI        16new licenses = 0;public OnFilterScriptInit(){	print("--- Teste Boolean as Bit ---");	licenses = 0;	// Geben von ein paar Lizensen	licenses += LICENSE_CAR;	licenses += LICENSE_BIKE;	printLicenses();	// Wegnehmen der Bike-Lizens	licenses -= LICENSE_BIKE;	printLicenses();	return 1;}public OnFilterScriptExit(){	return 1;}stock printLicenses(){	print("--- Lizensen ---");	if(licenses & LICENSE_CAR)	    print(" Auto: Vorhanden");	else	    print(" Auto: Nein");	if(licenses & LICENSE_BOAT)	    print(" Boot: Vorhanden");	else	    print(" Boot: Nein");	if(licenses & LICENSE_PLANE)	    print(" Flugzeug: Vorhanden");	else	    print(" Flugzeug: Nein");	if(licenses & LICENSE_BIKE)	    print(" Motorräder: Vorhanden");	else	    print(" Motorräder: Nein");	if(licenses & LICENSE_HELI)	    print(" Helikopter: Vorhanden");	else	    print(" Helikopter: Nein");	print(" ");}


    Tutorial Ende. Feedback, pls :)


    Anmerkung: Das ist kein Copy- und Paste-Tutorial und auch nur Beispieltext, wie ihr Zeilen sparen könnt ;)

    Ich udn mein freund habens getestet nur als er aus lspd raus gegangen ist wurde er gebannt Grund: Flyhack usw...und dann wurde uns das geld abgezogen Grund:Verdacht auf moneyhack


    Ist das LSPD ein "Standart-Interior" ? Oder habt ihr den Eingang gemappt ?
    Woher habt ihr das Geld ? Es muss in jedem Script "dt_anticheat" eingebunden werden...

    Hallo Leute :)


    Da ich wieder Geld brauche, biete ich euch jetzt hier 2x CounterStrike : Source an.
    Das ganze gibt es bei Steam als Gift ;)


    Original-Preis 1 Spiel: 20€
    Original-Preis 2 Spiele: 40€
    Preis Paysafecard: 25€
    Preis Paypal: 20€


    Ich habe keine Ahnung, ob man jemanden ein Gift schenken kann, wenn der das Spiel schon hat, und ob der das dann als Geschenk kriegt, aber vll. möchte jemand das ja für sich und seinen Freund haben ;)


    Hinweis: Da ich keine Lust habe, das beide Spiele ohne Geld weg sind, werde ich einen Mittelsmann nutzen oder ihr gebt first.
    Dazu kommen infrage: Lars_Vegas, Trooper, Markus, TuX, Sniper und mehr fallen mir nicht ein :)


    An die Moderation: Neuer Thread, da 2 Spiele, und FSK 16 Version


    ______
    Unverbindlicher Hinweis: Die Sicherheit einer Transaktion kann am besten durch die Einschaltung eines Mittelsmannes gewährleistet werden. Weitere Informationen dazu gibt es hier.

    Da es mir in letzter Zeit immer mehr auffällt, hier ein Tutorial, wie man ein Thema so erstellt, dass man einem helfen kann.


    Dazu als erstes ein paar Beispiele, wie es nicht aussehen sollte.


    Spoiler anzeigen
    Titel: HHHHHHHIIIIIIIIIILLLLLLLLLFFFFFFFFEEEEEEEEE

    Code
    script.pwn(777) : error 032: array index out of bounds (variable "blub")Helft mir :(

    Spoiler anzeigen
    Titel: Problem

    Code
    Warum geht dieser Code nicht ?[code hier]Helft mir :(

    Spoiler anzeigen
    Titel: Error

    Code
    Ich habe einen Fehler. Helft mir bitte.


    Bei der Suche nach Fehlern sollten immer der Fehler beim compilieren selber und die Zeile +- 10 Zeilen angegeben werden.
    Das könnte zum Beispiel so aussehen:

    Spoiler anzeigen
    Titel: unexpected "}", exspecting Token ","

    Code
    Hallo Leute,ich bekomme seit neuesten den folgenden Fehler:[ code ] Bla bli blub[ /code ]Die Zeilen lauten:[ pwn ]new kaufauto[93];new Buycars[93][AKInfo] = {{400, "Landstalker", "Los Santos Autohaus",10000,1438.4792,-1711.4686,13.5037},//1{401, "Bravura", "Los Santos Autohaus",10000,1438.1323,-1706.5339,13.1872},//2{402, "Buffalo", "Los Santos Autohaus",10000,1438.3303,-1700.9941,13.2397},//3{404, "Perenniel", "Los Santos Autohaus",10000,1438.4144,-1695.9353,13.1385},//4{405, "Sentinel", "Los Santos Autohaus",10000,1438.2153,-1690.9691,13.2835},//5{409, "Stretch", "Los Santos Autohaus",10000,1438.5718,-1683.6737,13.2070},//6{410, "Manana", "Los Santos Autohaus",10000,1437.5748,-1677.4032,13.0595},//7{411, "Infernus", "Los Santos Autohaus",10000,1437.7059,-1672.9615,13.1354},//8{412, "Voodoo", "Los Santos Autohaus",10000,1438.6382,-1668.5061,13.2439}//9{415, "Cheetah", "Los Santos Autohaus",10000,1437.6072,-1663.6442,13.1792},//10 // <- HIER KOMMT DER FEHLER{419, "Esperanto", "Los Santos Autohaus",10000,1438.1946,-1658.7413,13.2052},//11{420, "Taxi", "Los Santos Autohaus",10000,1438.2139,-1653.7999,13.1874},//12{421, "Washington", "Los Santos Autohaus",10000,1438.1765,-1649.2061,13.2902},//13{422, "Bobcat", "Los Santos Autohaus",10000,1438.4707,-1644.4398,13.3918},//14{426, "Premier", "Los Santos Autohaus",10000,1438.6917,-1639.6552,13.1498},//15{429, "Banshee", "Los Santos Autohaus",10000,1438.3137,-1634.8441,13.0872},//16{434, "Hotknife", "Los Santos Autohaus",10000,1437.5048,-1630.3496,13.3754},//17{436, "Previon", "Los Santos Autohaus",10000,1438.5449,-1626.2614,13.1726},//18[ /pwn ]Ich würde mich freuen, könntet ihr mir helfen.[ Dein Name ]

    Wie ihr auch seht, benutze ich in dem Beispiel, die [ code ] - Tags, um den Error zu umhüllen, und die [ pwn ]-Tags, um den Code zu markieren.
    In dem Code selber habe ich die Error-Zeile markiert.


    Sollte man fragen haben, so sollte sich immer genau ausgedrückt werden. Wieder zuerst ein schlechtes Beispiel:

    Spoiler anzeigen
    Title: Wie mache ich das ?

    Code
    Wie mache ich so ein Auto zum kaufen ?

    Mit diesem Beispiel habt ihr die Möglichkeiten, die ihr meint, auf 26 reduziert.
    Anders sieht es zum Beispiel so aus:
    Spoiler anzeigen
    Titel: Kaufbare Autos

    Code
    Hallo Leute,ich wollte einmal fragen, wie es möglich ist, ein kaufbares Auto zu erstellen.Dabei soll nach dem Kauf dem Benutzer das Auto für 1 Stunde gehören und ein neues spawnen.Danke für jede Antwort :)

    So weiß jeder gleich, was gemeint ist - und muss wesentlich weniger nachfragen.


    Allgemein gilt, immer höflich sein und nicht rumpöbeln, wenn jemand 2 mal fragt oder etwas "vergisst" / "überliest". Denn es kann sein, dass er gerade nebenbei jemanden in Skype hilft und vielleicht in Teamspeak mit 2 oder 3 Leuten redet, da "soll man froh sein, dass er überhaubt hilft".


    "Regeln der Fairness", was man nicht nachfragt, ist zum Beispiel folgendes:

    Spoiler anzeigen
    Title: Gangwar-System von Server xxx

    Code
    Hallo Leute,kann mir jemand zeigen, wie man das Gangwar-System von dem Server xxx ( IP: 127.0.0.1:7777 ) macht ?

    Das hat 3 Gründe:

    • Der Serverbetreiber hat sich selber das System ausgedacht - da ist es unverschämt, es einfach zu klauen
    • Nicht jeder kennt den Server
    • So etwas wird gerne als Serverwerbung interpretiert - was es oft auch ist


    Nachfragen tut man auch nicht, ob es sein kann, dass jemand "einen an der Klatsche hat".


    Und für alle Hilfesuchenden und Antworten - die Netiquette gibt es nicht umsonst ;)

    Liegt an deinem Android.
    Musst du in der URL die SOnderzeichen ä, ö, ü, "&", ... manuell ersetzen.
    Oder auf einen anderen Browser, z.B. Opera, wechseln