Geschlecht und Skinauswahl kombinieren

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo liebe Brotfische,


    ich bin neu in der "Szene" und versuche mich mal auf einem ganz neuen Gebiet, dem Pawn Scripting.

    Möchte nicht wie viele hier, ohne diese zu verurteilen, mit einem Reallife Gamemode beginnen. Ich bastel mir derzeit ein Gamemode mit der Ein oder Anderen Funktion, um das ganze auch zu verstehen und in ferner es mal aus Freien Stücken zu können.


    Ich würde mich freuen wenn ich auf Euch, die Brotfische, zählen kann und mich bei meinen Fragen, soweit es geht, unterstützt.



    ZUR FRAGE:
    Folgendes soll passieren wenn der Spieler das erste mal auf den Server connected.


    Player connected --> Dialog basierende Registration (Passwort, Alter, Geschlecht, Herkunft) --> OnPlayerRequestClass
    --> Wenn Spieler männlich soll eine Auswahl von männlichen Skins zur Verfügung gestellt werden, wenn weiblich, dann weibliche.



    Das connecten und die Registration klappt hervorragend, allerdings bin ich bei der Skinauswahl überfordert.


    INFO
    Nutze das GUI Login /Register System von ehemals BlackFoxX (DINI)



    Ich würde mich über hilfreiche Beiträge freuen! :thumbup:

  • Hey,


    über die normale Skinauswahl on SAMP ist das schwer hinzubekommen.
    Du könntest männliche und weibliche Skins via AddPlayerClass hinzufügen und dann bei der Auswahl ("Spawn Taste") überprüfen ob der Skin männlich oder weiblich ist und einen Fehler ausgeben.
    Besser (etwas schwerer) ist es seine eigene Skinauswahl mit anklickbaren textdraws zu erstellen.

  • Das ganze über die Skinauswahl laufen zu lassen wäre nicht möglich, da du die Skins nur über OnGameModeInit festlegen kannst.
    Das einzige was du in diesem Bereich tun könntest wäre abzufragen ob der Skin männlich oder weiblich wäre und je nach geschlecht des spielers zurück gibst ob er diesen skin nehmen darf oder nicht, wenn er auf spawn klickt.


    Wenn du das ganze jedoch genau so machen möchtest wie du es hier beschrieben hast musst du eine eigene skinauswahl machen.
    Das bedeutet du setzt dem spieler seine spawninformationen (SetSpawnInfo) danach portest du den spieler an eine position änderst seine virtuelle welt (SetPlayerVirtualWorld)
    und je nach wunsch kannst du drei Befehle machen um den nächsten oder vorherigen skin zu wählen und den skin auszuwählen oder das ganze über die tasten (OnPlayerKeyState oder OnPlayerUpdate und GetPlayerKey) oder du benutzt anklickbare Textdraws.


    Um die skins zu unterteilen in männlich und weiblich kannst du ein 2 dimensionales array erstellen wo einmal die skins und das dazugehörige geschlecht als eintrag
    vorhanden ist.
    Beispiel:
    new Array[10][2] = {
    {0,0},
    {1,0}
    ...
    };


    Ich selbst habe das ganze auch mal gemacht und könnte dir dieses array auch posten jedoch bezweifel ich das du damit überhaupt was anfangen kannst, daher solltest du
    das ganze besser selbst erstellen.

  • Danke für die schnellen Antworten!


    @|Prototype|
    Soweit habe ich es verstanden, werde es auch mal versuchen, ABER! Was bedeutet bei deinem Array die [10] und die [2]


    Die 10 gibt doch glaube ich die maximale Angabe der Skins sprich 10 Skinids's werden darin deklariert oder? Aber die 2?






    edit: Rechtschreibfehler korrigiert

  • Danke für die schnellen Antworten!


    @|Prototype|
    Soweit habe ich es verstanden, werde es auch mal versuchen, ABER! Was bedeutet bei deinem Array die [10] und die [2]


    Die 10 gibt doch glaube ich die maximale Angabe der Skins sprich 10 Skinids's werden darin deklariet oder? Aber die 2?


    Arrays bis zu 2 dimensionen kannst du dir wie tabellen vorstellen:


    Array[10][2]


    10 Einträge und zwei Spalten:


    Bedeutet das du 10 Zellen erstellen kannst mit jeweils 2 werten das kann man jedoch noch ausweiten


    //edit es reicht auch wenn du googelst normal sollte es schon solch ein array geben jedoch sind die nicht ganz vollständig


    oder du machst dir die mühe und nimmst mein skin-array auseinander in einem hexdezimal code sind 3 skins


    stock const static SkinArray[76]={
    0x80200,0x180A04,0x3C1C08,0x4C240C,
    0x5C2C10,0x6C3414,0x803C18,0x90461C,0xB05620,
    0xC05E24,0xD06628,0xF4782C,0x1108630,0x1249034,
    0x144A038,0x158A83C,0x184C040,0x194C844,0x1A4D048,
    0x1B4D84C,0x1C4E050,0x1D4E854,0x1E4F058,0x1F8FA5C,
    0x2150860,0x2251064,0x2492068,0x269326C,0x27D3C70,
    0x28D4474,0x29D4C78,0x2B5567C,0x2C56080,0x2D96A84,
    0x2E97288,0x3217A8C,0x3399890,0x365A494,0x37DBA98,
    0x399CA9C,0x3BE00A0,0x3DDE4A4,0x3F1F4A8,0x409FEAC,
    0x41A0AB0,0x43216B4,0x4421EB8,0x45226BC,0x4622EC0,
    0x47236C4,0x4823EC8,0x49246CC,0x4A24ED0,0xD4,
    /////////////////////Männer//////////////////////
    0x2C1409,0x983E0D,
    0xD45228,0xE47037,0x1148240,0x1549A4C,0x168B258,
    0x1E8BA5C,0x2290682,0x2451A8C,0x2612E96,0x2C958A9,
    0x30580BF,0x31588C3,0x33592C7,0x355A8D3,0x369B0D7,
    0x389C2E0,0x3B1D2E8,0x3D1E6EE,0x405F6F6,0x2550A,
    /////////////////////Frauen//////////////////////
    };