Beiträge von 8D

    Guten Morgen SA:MP'Ler,


    erneut möchte ich gerne mit euch eine Include von mir teilen.


    Diese Include stellt euch Methoden zur Verfügung, mit welchen ihr ganz leicht, ein Buddy-System wie im Battle.net aufbauen könnt.


    Features der Include:


    • Hinzufügen von Freunden.
    • Löschen von Freunden.
    • Freundesliste mit Online / Offline Anzeige
    • Leichte Editierung der Maximalen Freundesanzahl (per #define in der include)
    • Löschen der kompletten Freundesliste.
    • Nachrichten an die Freundesliste schicken. (aka. BuddySystem-Battle.net Style)
    • Off- und Online Benachrichtung an die Freunde


    Hört sich doch garnicht mal so schlecht an oder?


    Nun zu den Funktionen:


    AddFriend(playerid,name[])


    Fügt der Freundesliste des Spielers(playerid) einen weiteren Freund hinzu, per Name des Spielers(name[]).
    Nur Möglich, wenn das Ziel online ist.


    DeleteFriend(playerid,name[])


    Löscht den angegeben Namen(name[]), falls vorhanden, von der Freundesliste.
    Auch Möglich, wenn das Ziel offline ist.


    DeleteAllFriends(playerid)


    Löscht die komplette Freundesliste des Spielers(playerid).


    ShowFriendListForPlayer(playerid)


    Zeigt dem Spieler(playerid) seine Freundesliste an.


    SendFriendMessage(playerid,message[])


    Schickt eine Nachricht(message[]) an alle Freunde, die online sind, des Spielers(playerid).


    IsPlayerAlreadyAFriend(playerid,name[])


    Prüft, ob das Ziel(name[]) bereits auf der Freundesliste des Spielers(playerid) ist.
    Wenn ja - 1
    Wenn nein - 0


    GetFriendBySlot(playerid,slot)


    Prüft ob auf dem angegeben Slot ein Freund vorhanden ist.
    Wenn ja wird der Name des Freundes zurückgegeben.
    Wenn nicht, dann wird der String -1 zurückgegeben. (Kein Integer-Wert!!).
    Ideal zum Speichern und Laden.


    Die Restlichen Methoden sind nicht allzu interessant.




    Wie ihr die Include benutzt:


    • #include <8d-friendsystem> oben ins Script.
    • Freund_Connect(playerid) unter OnPlayerConnect.
    • Freund_Login(playerid) dort, wo die Freundesliste, bzw. der Account des Spielers geladen wird.
    • Freund_Logout(playerid) unter OnPlayerDisconnect.


    Vorschläge und Feedback sind erwünscht!


    Liebe Grüße


    8D.



    Download



    P.S Copyright in der Include darf NICHT entfernt werden.

    Zitat

    Naja nur ne Variable die sich als Geld ausgibt :>

    Ein Beispiel ist gegeben, wie man diese "Variable" auch in Form von Geld benutzt ;)


    Wer will kann auch gerne noch folgendes ändern:


    stock GivePlayerCash(playerid,dollars,cents)


    in


    stock GivePlayerCash(playerid,dollars,cents = 0)


    und ganz unten in die include folgendes reinschreiben.


    #define GivePlayerMoney GivePlayerCash



    Dann braucht ihr euren GM nicht komplett ändern, sondern könnt, wenn ihr die anderen Funktionen auch so umschreibt, die alten Funktionsnamen verwenden.



    Zitat

    Aber den textdraw machste noch mal in Schick,oder??

    Vorschläge?

    Guten Tag SA:MP'Ler,


    hiermit möchte ich euch das 8D. Cashsystem vorstellen.


    Dieses Cashsystem ersetzt das normale Geldsystem aus SA:MP.


    Dies hat mehrere Vorteile, unter anderem:


    • Automaten werden automatisch deaktivert, wenn kein "normales Geld" vorhanden ist.
    • Leicht erkennbares Cheating, sofern Casino & Stuntbonus deaktiviert sind.
    • Dollar & Cent System.


    Wie gesagt, arbeitet dieses System mit richtigem Geldformat, also Dollar und Cents.


    Nun zu den Funktionen:


    GivePlayerCash(playerid,dollars,cents)


    Mit dieser Funktion, gebt ihr dem Spieler(playerid) Geld in Form von Dollar & Cents. (dollars,cents);


    EnoughCash(playerid,dollars,cents)


    Hiermit fragt ihr ab, ob der Spieler(playerid) genügend Geld in Form von Dollar (dollars) & Cents (cents) hat.
    Wenn ja, wird 1 zurückgegeben, wenn nicht 0.


    ResetPlayerCash(playerid)


    Hiermit setzt ihr das Geld des Spielers auf 0. Beides - Dollar und Cents.


    GetPlayerDollars(playerid)


    Gibt den Dollar-Wert des Spielers(playerid) zurück.


    GetPlayerCents(playerid)


    Gibt den Cent-Wert des Spielers(playerid) zurück.


    SetPlayerCash(playerid,dollars,cents)


    Setzt das Geld des Spielers(playerid), in Form von Dollar(dollars) & Cents(cents).



    Das ganze sieht dann im Spiel so aus.



    Nun fragen sich bestimmt Leute, wie man denn dann /pay Befehl benutzt.
    Bestimmt denkt ihr an /pay [playerid] [dollar] [cents]. Geht dann zwar auch, aber warum die Lücke zwischen Dollar und Cents.


    Anhand von dcmd & sscanf, geht das ganze auch so.



    dcmd_zahlen(playerid,params[])
    {
    new giveplayerid,dollars,cents;
    if(sscanf(params, "up.dd",giveplayerid,dollars,cents)) {
    SendClientMessage(playerid,COLOR_RED,"Verwendung: /zahlen [playerid] [Dollars.Cents]");
    SendClientMessage(playerid,COLOR_RED,"Beispiel: /zahlen 0 4.50 (Es ist wichtig, dass ihr den Cent-Betrag genau ausschreibt. Bsp: 4.50 (50Cent) und nicht 4.5 (5 Cent).");
    return 1;
    }
    if(!IsPlayerConnected(giveplayerid)) {
    return SendClientMessage(playerid,COLOR_RED,"Kein Spieler mit angegebener ID Online");
    }
    if(giveplayerid == playerid) {
    return SendClientMessage(playerid,COLOR_RED,"Du kannst dir nicht selber Geld zahlen.");
    }
    if(!EnoughCash(playerid,dollars,cents))
    {
    return SendClientMessage(playerid,COLOR_RED,"Du hast nicht genügend Geld.");
    }

    GivePlayerCash(giveplayerid,dollars,cents);
    GivePlayerCash(playerid,-dollars,-cents);
    return 1;
    }


    Wie im Command zu sehen ist es wichtig, dass ihr den vollen Cent-Betrag ausschreibt. Also nicht /zahlen [playerid] 4.5 für 4.50$, sondern /zahlen [playerid] 4.50


    Damit könnt ihr dann ganz einfach den Dollar-Wert von dem Cent-Wert durch einen "." im Command und nicht durch die Leertaste trennen.
    Geht aber auch beides.


    Des weiteren möchte ich noch erwähnen, dass das / der TXD nicht per Timer (Ressourcenlast) up to date gehalten wird, sondern durch den GivePlayerCash befehl. (Ressourcenschonend).


    Wie ihr die include benutzt:


    Oben im Script:


    #include <8d-geldsystem>


    Bei OnPlayerConnect:


    GS_Connect(playerid);



    Bei OnPlayerDisconnect:


    GS_Disconnect(playerid)



    Copyrightsmerkmale:


    • In der Include per Kommentar (KEIN ENTFERNEN ERLAUBT)
    • Bei OnPlayerConnect per SendClientMessage (ENTFERNEN ERLAUBT, aber würde mich freuen, wenn es drinnen bleibt).


    Download:



    P.S. Fehler & Vorschläge und Bugs können gerne geäußert werden.

    Das hat nichts mit dem Threadstarter zu tun beim WBB.


    Dedi hat seinen Post danach noch bearbeitet, und somit wurde die erstellungszeit neu berechnet (auf Grund des "als neu nach bearbeitung markieren" Plugins).
    Somit lagen unsere Posts von der neu errechneten Zeit her, weiter zurück, und wurden an erster Stelle gesetzt.
    Ist beim WBB + dem Plugin so.

    Mein gedächtnis ist gut :) auch wenn ich den Post nicht mehr einsehen kann, weiß ich worum es ging.


    Du hast gefragt, wie der Domain-Name lautet, (wahrscheinlich, weil er nur im Threadnamen steht), und ich hatte halt mit dem Domain namen geantwortet.


    Daraufhin, hast du deinen Post gelöscht und ich auch.

    Folgendes Problem:


    In einem SetTimerEx-Timer möchte ich gerne eine Animation abspielen lassen.


    Der Code sieht wie folgt aus:


    if(GetPVarInt(playerid,"TutStep") == 2)
    {
    RegTime[playerid]++;
    if(RegTime[playerid] == 2)
    {
    TextDrawFont(RegStep1[playerid],2);
    TextDrawShowForPlayer(playerid,RegStep1[playerid]);
    TextDrawHideForPlayer(playerid,DUNKEL);
    ApplyAnimation(playerid,"SWEET", "Sweet_injuredloop", 4.0, 1, 0, 0, 0, 0);
    //.....
    //.....
    //.....

    }


    Pawno schmeißt keinen Fehler raus, aber die animation wird nicht ausgeführt (Rest schon).
    Wenn ich die Anim per Command starte, geht sie aber.
    Wenn ich eine Special Action setze, dann geht diese auch, nur keine Animation.



    Vielen Dank für eure Hilfe.

    Tja *N!cK ein Taschentuch geb*, dann mach mal deine Nase sauber.
    Ich finde, dass Bloody & Co. hier recht behalten.
    Ein Off-Topic Bereich mit der Beschreibung: "alles weitere, was sonst nicht reingehört", ziemlich offen.
    Und das ist auch gut so.
    BTW: Psychologie ist ein nettes Off-Topic Thema.

    Bei der Textformatierung rede ich nicht von Sprache und Formulierung...


    Jo, du kannst dir ja gerne was gedacht haben, aber denken und etwas durchdenken, sind zwei verschiedene Dinge, und Letzteres trifft auf dieses Thema nicht zu.
    Ich sage ja nicht, dass jedes Thema offen bleiben muss, im Smalltalk bereich, aber genauso wenig muss jedes geschlossen werden.


    Zitat

    Ich habe nicht erwähnt große Ahnung zu haben, dieser Thread wurde nur aufgemacht, weil viele in die falschen Bereiche posten.

    Dann würde ich nächste mal die vorhandenen Regeln lernen, und diese nicht einfach so entkräftigen.

    Ich bin gerade auf dieses Thema aufmerksam geworden.


    Erstellen von Themen in den richtigen Sektionen!


    Um ehrlich zu sein, musste ich mir beim Lesen das Lachen verkneifen.
    Erstens finde ich, dass eine solche Textformatierung es nicht wert ist, gepinned zu werden, auch wenn der Inhalt wichtig ist.
    Zweitens sieht man ja wieder, dass manche gerne denjenigen spielen, der die große Ahnung hat und anderen vorschreiben will sich an Regeln zu halten, welche derjenige selbst nichtmal kennt.


    Ich möchte gerne aus diesem Thema folgendes von DaNNy zitieren.



    Zitat

    Selbstverständlich sind auch Jobaufträge (Biete / Suche) stets erwünscht. ;) Wichtig dabei ist, nur gegen Bezahlung (in Euro, nix anderes).


    Da dieser Post immernoch existiert und es ihn seit Oktober 2009 gibt, denke ich, dass diese Regel eher zutreffen sollte, als eine eben ausgedachte. Dafür möchte folgendes zitieren:


    Zitat

    Immer wieder sind "[Suche]Scripter, Mapper, Designer...", "[Biete]Scripter, Mapper, Designer..." Themen zu finden. Solche Themen haben in diesem Bereich nichts verloren, somit bitten wir euch Themen dieser Art in dieser Sektion zu unterlassen. Im Marktplatz Bereich dürfen nur Kauf-/Verkaufsanträge für Scripte, Maps, sowie Tools erstellt werden.

    Nunja einer liegt jetzt falsch, und da sich gegen DaNNys' Regel keiner ausgesprochen hat, und diese auch noch zu breaddys' Zeiten akzeptiert worden ist, denke ich dass eher [R]eaL falsch liegt.


    Auch Aussagen wie:


    Zitat

    Themen wie "Suche Lieder", "Welche Haustiere habt ihr?" und Themen die über die Probleme aussagen, haben in diesem Bereich nichts verloren.

    finde ich ziemlich doof. Dann sollte man den Smalltalk bereich abschaffen und nurnoch den Small-Talk Thread irgendwo anders hinverschieben.


    Ich finde das Thema, gegen welches ich Kritik äussere, nicht durchdacht.


    8D.

    Solange man nicht in den Markt eingreift, dazu zählt u.a auch werbung auf dem space, brauch man kein Impressum.
    Sollte man aber Werbung, etc. geschaltet haben, oder Verlinkungen, auf eine Seite, die in den Markt eingreift geschaltet haben, ist man Impressumspflichtig.

    Nein ich möchte nicht wissen, wie man Dollar in Euro umrechnet.
    Mich würde interessieren, wo der Spieler bei GTA: SA:MP Geld automatisch abgezogen / aufgerechnet bekommt.
    Sprich z.B durch Stunts, oder Drink Automaten.


    Möchte nämlich dies in mein Anti Cheat miteinbeziehen.


    Danke.


    P.S: Es betrifft den Client, daher sollte es der richtige Bereich sein, wenn nicht, dann bitte verschieben :)


    EDIT: Mich interessiert es eher, woher der Spieler Geld aufgerechnet bekommt.


    Bis jetzt ist mir nur "Stunts" eingefallen, da das Casion durch DisableInteriorEnterExits deaktiviert ist, und die Spieleautomaten nicht benutzbar sind.