Spawn richtig umlegen | Skinauswahl entfernen [Anfänger Like]

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Spawn richtig umlegen | Skinauswahl entfernen [Anfänger Like]

    Guten Tag.
    Heute möchte ich euch erklären, wie ihr den Spawn via "AddPlayerClass" umlegen oder ihr die komplette Skinauswahl umgehen könnt! Dazu braucht es nicht viel, ausser:
    • Etwas Geduld
    • Grundwissen
    • Samp Debug
    ---
    Der Anfang
    Als erstes öffnen wir "SAMP Debug", welches wir in unserem original Grand Theft Auto San Andreas Verzeichnis finden. Dort suchen wir uns nun einen Platz aus, wo wir anschließend "/save [Kommentar]" eingeben & abschicken. Danach bewegen wir uns ein, zwei Schritte vor & tippen wieder "/save [Kommentar]" ein. Nun können wir SAMP Debug schliessen & suchen nach "User Files" - Normalerweise dürfte nach kurzer Zeit "San Andreas User Files" als Suchergebniss auftauchen - Darin finden wir den Ordner "SAMP", diesen öffnen wir & sehen eine .txt Datei namens "savepositions". Nachdem wir diese geöffnet haben, finden wir nun zwei Zeilen namens "AddPlayerClass" auf. Doch bevor es nun ins Script geht, sehen wir uns das genauer an!

    AddPlayerClass
    [pwn] AddPlayerClass(SkinID,XCoord,YCoord,ZCoord,Rotation,Waffe1,Muni1,Waffe2,Muni2,Waffe3,Muni3);[/pwn]
    SkinID steht für den Skin den der Spieler haben soll. Dort können wir eine "0" hineinschreiben, dann hat der Spieler den normalen CJ Skin.
    XCoord,YCoord,ZCoord stehen für die X,Y & Z Koordinaten. Dort ist die Position, in Koordinaten, wo der Spieler Spawn'd.
    Rotation steht für den Blinkwinkel des Spieler. Wohin der Spieler schaut.
    Waffe1, Muni1, .. steht jeweils für die Waffe & die Munition der Waffe. Fügen wir nun eine WaffenID bei Waffe1 ein, bekommt der Spieler diese Waffe. Bei Muni1 tragen wir nun eine Zahl, zb. 500, ein, dann bekommt der Spieler zu der ersten Waffe auch 500 Munition.
    Nun wissen wir, was es mit "AddPlayerClass" auf sich hat & können es richtig anwenden - AddPlayerClass setzen wir unter "OnGameModeInit" ein!

    Unter "OnPlayerRequestClass"

    [pwn]public OnPlayerRequestClass(playerid, classid)//Der Callback
    {
    SetPlayerPos(playerid,2183.8657,1285.4403,43.0423);//Wir setzen die Position des Spieler
    SetPlayerCameraPos(playerid,2179.5769,1285.4784,42.5980);//Wir setzen die Kamera Position
    SetPlayerCameraLookAt(playerid,2179.5769,1285.4784,42.5980);//Wir setzen fest, wo die Kamera hinzeigt
    SetPlayerFacingAngle(playerid,89.7983);//Wir setzen fest, in welche Richtung der Kopf des Spielers zeigt
    return 1;
    }[/pwn]
    Nun geht es ans eigentliche Scripten! Am ende sollte es wie folgt aussehen - Doch wie bekommen wir den Spawn richtig verlegt?
    Erstmal legen wir fest, wo der Spieler gespawn'd werden soll - Hierfür nehmen wir die X,Y & Z Koordinaten aus der Funktion "AddPlayerClass", die ich zuvor erklärt hatte.
    [pwn]public OnPlayerRequestClass(playerid, classid)//Der Callback
    {
    SetPlayerPos(playerid,2183.8657,1285.4403,43.0423);//Wir setzen die Position des Spieler

    return 1;
    }[/pwn]
    Danach setzen wir die Position der Kamera fest. Hierzu nehmen wir die X,Y & Z Koordinaten aus der Zeile in der saveposition.txt als wir ein o. zwei Schritte vor gegangen sind (!).
    [pwn]public OnPlayerRequestClass(playerid, classid)//Der Callback
    {
    SetPlayerPos(playerid,2183.8657,1285.4403,43.0423);//Wir setzen die Position des Spieler
    SetPlayerCameraPos(playerid,2179.5769,1285.4784,42.5980);//Wir setzen die Kamera Position

    return 1;
    }[/pwn]
    Nun legen wir fest, wohin die Kamera zeigt (Damit wir den Spieler auch sehen). Dazu nehmen wir die gleichen Koordinaten wie bei "SetPlayerCameraPos".
    [pwn]public OnPlayerRequestClass(playerid, classid)//Der Callback
    {
    SetPlayerPos(playerid,2183.8657,1285.4403,43.0423);//Wir setzen die Position des Spieler
    SetPlayerCameraPos(playerid,2179.5769,1285.4784,42.5980);//Wir setzen die Kamera Position
    SetPlayerCameraLookAt(playerid,2179.5769,1285.4784,42.5980);//Wir setzen fest, wo die Kamera hinzeigt

    return 1;
    }[/pwn]
    Zum schluss setzen wir noch fest, wohin der Kopf des Spielers zeigt. Dazu einfach die Rotation aus "AddPlayerClass" nehmen.
    [pwn]public OnPlayerRequestClass(playerid, classid)//Der Callback
    {
    SetPlayerPos(playerid,2183.8657,1285.4403,43.0423);//Wir setzen die Position des Spieler
    SetPlayerCameraPos(playerid,2179.5769,1285.4784,42.5980);//Wir setzen die Kamera Position
    SetPlayerCameraLookAt(playerid,2179.5769,1285.4784,42.5980);//Wir setzen fest, wo die Kamera hinzeigt
    SetPlayerFacingAngle(playerid,89.7983);//Wir setzen fest, in welche Richtung der Kopf des Spielers zeigt
    return 1;
    }[/pwn]
    Nun könntet ihr euch natürlich noch Fragen, was "playerid" bedeutet (?) - Ganz einfach! "playerid" steht dafür, das es nur für den Spieler ausgeführt wird, der gerade diese Aktion durchführt! Das werdet ihr aber später noch besser Lernen. Nun haben wir den Spawn (+Skinauswahl) erfolgreich verlegt!
    ---
    Skinauswahl überspringen/ Entfernen
    "AddPlayerClass" ist aber nicht für jedes Gamemode erfreulich & geeignet. Weshalb man die Skinauswahl Überspringen & man den Spieler direkt Spawnen kann.[pwn] SetSpawnInfo(playerid,Gruppe,SkinID,XCoord,YCoord,ZCoord,Rotation,Waffe1,Muni1,Waffe2,Muni2,Waffe3,Muni3);
    SpawnPlayer(playerid);[/pwn]
    & so sollte das ganze Aussehen. Nun erkläre ich euch diese Funktion noch etwas genauer!
    "SetSpawnInfo" steht dafür, das ihr die SpawnInformationen speichert & später durch "SpawnPlayer(playerid);" durchführen könnt.
    SkinID steht für den Skin den der Spieler haben soll. Dort können wir eine "0" hineinschreiben, dann hat der Spieler den normalen CJ Skin.
    "Gruppe" steht für die Fraktion, die der Spieler beim Spawn haben soll. Dies müsst ihr an euer Script anpassen (FraktionsID einfügen).
    XCoord,YCoord,ZCoord stehen für die X,Y & Z Koordinaten. Dort ist die Position, in Koordinaten, wo der Spieler Spawn'd.
    Rotation steht für den Blinkwinkel des Spieler. Wohin der Spieler schaut.
    Waffe1, Muni1, .. steht jeweils für die Waffe & die Munition der Waffe. Fügen wir nun eine WaffenID bei Waffe1 ein, bekommt der Spieler diese Waffe. Bei Muni1 tragen wir nun eine Zahl, zb. 500, ein, dann bekommt der Spieler zu der ersten Waffe auch 500 Munition.
    Fügen wir diesen Code also unter "OnPlayerRequestClass" ein, überspringen wir die Skinauswahl & Spawnen den Spieler mit allen wichtigen Informationen.
    ---
    So das war mein kleines Tutorial zum Spawnen der Spieler. Ich hoffe ihr konntet es Verstehen & ich habe es für Anfänger gut erklärt.

    MfG
    Orientiert in HTML (PHP + CSS), Pawn & C#
    #nur echt mit dem Zombieschädel!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Blackbook ()

  • Skinchange
    Funktioniert auch mit den Daten aus "OnPlayerRequestClass". Du gehst wieder ins SAMP Debug -> Binco -> an der gewünschten Stelle "/save [Kommentar]" -> zwei Schritte davor nochmals "/save [Kommentar]" & fügst dies wie folgt in deinem Command ein:
    [pwn]public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/skaufen", cmdtext, true, 7) == 0)//Erstellt den Befehl /skaufen (s=Skin Kaufen)
    {
    if(PlayerInRangeOfPoint(playerid,X,Y,Z)//Wir definieren, das sich der Spieler im Binco befinden muss, um den Befehl ausführen zu können
    {
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Willkommen im Binco! Suchen sie sich nun ihre Kleidung aus (<< | >>), um sie zu kaufen drücken sie auf Spawn!");//Wir senden dem Spieler eine Nachricht
    SetPlayerPos(playerid,2183.8657,1285.4403,43.0423);//Setzen die Position des Spielers im Binco, zb. vor dem Garderrobenspiegel
    SetPlayerCameraPos(playerid,2179.5769,1285.4784,42.5980);//Setzen die Kameraposition vor den Spieler
    SetPlayerCameraLookAt(playerid,2179.5769,1285.4784,42.5980);//Setzen die Blickrichtung der Kamera fest, in dem falle also zum Spieler
    SetPlayerFacingAngle(playerid,89.7983);//Legen fest, wohin der Spieler schaut
    //Nun fügen wir die einzelnen AddPlayerClasses, mit den Koordinaten aus "SetPlayerPos" - Damit der Spieler beim wechseln der Skins auf der selben Stelle stehen bleibt wie wir es bestimmt haben - & den gewünschten Skins ein
    AddPlayerClass(107,2021.0140,1342.9785,10.8130,276.6682,0,0,0,0,0,0);
    AddPlayerClass(254,2021.0140,1342.9785,10.8130,276.6682,0,0,0,0,0,0);
    AddPlayerClass(106,2021.0140,1342.9785,10.8130,276.6682,0,0,0,0,0,0);
    AddPlayerClass(107,2021.0140,1342.9785,10.8130,276.6682,0,0,0,0,0,0);
    AddPlayerClass(102,2021.0140,1342.9785,10.8130,276.6682,0,0,0,0,0,0);
    AddPlayerClass(103,2021.0140,1342.9785,10.8130,276.6682,0,0,0,0,0,0);
    AddPlayerClass(104,2021.0140,1342.9785,10.8130,276.6682,0,0,0,0,0,0);
    AddPlayerClass(114,2021.0140,1342.9785,10.8130,276.6682,0,0,0,0,0,0);
    AddPlayerClass(115,2021.0140,1342.9785,10.8130,276.6682,0,0,0,0,0,0);
    AddPlayerClass(116,2021.0140,1342.9785,10.8130,276.6682,0,0,0,0,0,0);
    AddPlayerClass(108,2021.0140,1342.9785,10.8130,276.6682,0,0,0,0,0,0);
    AddPlayerClass(109,2021.0140,1342.9785,10.8130,276.6682,0,0,0,0,0,0);
    AddPlayerClass(110,2021.0140,1342.9785,10.8130,276.6682,0,0,0,0,0,0);
    AddPlayerClass(173,2021.0140,1342.9785,10.8130,276.6682,0,0,0,0,0,0);
    AddPlayerClass(174,2021.0140,1342.9785,10.8130,276.6682,0,0,0,0,0,0);
    AddPlayerClass(175,2021.0140,1342.9785,10.8130,276.6682,0,0,0,0,0,0);
    AddPlayerClass(247,2021.0140,1342.9785,10.8130,276.6682,0,0,0,0,0,0);
    AddPlayerClass(248,2021.0140,1342.9785,10.8130,276.6682,0,0,0,0,0,0);
    AddPlayerClass(6,2021.0140,1342.9785,10.8130,276.6682,0,0,0,0,0,0);
    AddPlayerClass(124,2021.0140,1342.9785,10.8130,276.6682,0,0,0,0,0,0);
    AddPlayerClass(126,2021.0140,1342.9785,10.8130,276.6682,0,0,0,0,0,0);
    //Nun müssen wir das ganze nur noch Speichern!
    //Ein weiteres Tutorial, wo ich genauer auf dieses Thema eingehe (Skinchange System) werde ich noch schreiben!
    return 1;
    }
    }
    return 0;
    }
    [/pwn]

    MfG

    //Edit: Wobei du natürlich den ausgewählten Skin dann auch Speichern musst.
    //Edit2: Code komplett Überarbeitet, so funktioniert das Skinchangesystem richtig! + Text entfernt/ bearbeitet
    //Edit3: Hoffe zumindestens das dass nun funktioniert. Habs nicht getestet/ ist nurn Codeschnipsel.
    Orientiert in HTML (PHP + CSS), Pawn & C#
    #nur echt mit dem Zombieschädel!

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Blackbook ()