Skin wählen und ihn behalten ;)

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
  • Sry für die Überschrift, jedoch wusste ich keinen geeigneten Namen.
    Bin zwar etwas länger hier, jedoch trotzdem mal: Hallo @all :) , ist schließlich mein 1. Post.


    Also,
    habe ein DeathMatch-Script editiert,
    grundsätzlich soll das zum Lernen dienen,
    werde keinen offiziellen Server etc. machen,
    just4fun bisschen Scripten und testen etc...


    Jedoch möchte ich, dass man einen der 5 Skins
    auswählen kann und damit spawned.
    Bis zur Auswahl bin ich gekommen, jedoch falls ich
    dann Spawn drücke, spawne ich mit dem CJ ( id 0 ) Skin.
    Woran liegt das?



    Eine weiter Frage wäre:
    *Rot makiert im Script*
    Wieso muss ich da 3 Waffen usen?
    Hab als Alternative einfach 2x Waffe mit 500 Muni benutzt, würde mich trotzdem mal interessieren.


    /*



    ||----------------------------------------------------------------------------||
    || ------------------------- Deathmatch by Maercell ------------------------- ||
    || ----------------- Inpiriert von Minigun Madness by Mike ------------------ ||
    ||----------------------------------------------------------------------------||



    */
    #include <a_samp>


    #define grau 0xAAAAAAAA
    #define gelb 0xFFFF00AA


    enum PlayerSpawnInfo {


    Float:PlayerX,


    Float:PlayerY,


    Float:PlayerZ,


    Float:PlayerAngle


    }


    new Float:gRandomSpawns[][PlayerSpawnInfo] =


    {
    {3160.1721,-2241.8125,11.8478},
    {3147.8186,-2315.5481,11.8400},
    {3092.5969,-2306.6519,11.8400},
    {3107.8799,-2224.2534,11.8478},
    {3130.5974,-2262.5276,11.8400}
    };




    main()
    {
    print("\n----------------------------------");
    print(" --- | Deathmatch by Maercell | --- ");
    print("----------------------------------\n");
    }


    new a=0;


    public OnGameModeInit()
    {
    SetGameModeText("Deathmatch by Maercell");


    ShowPlayerMarkers(0);
    ShowNameTags(1);


    AddPlayerClass(0,0,0,0,0,0,0,0,0,0,0);
    AddPlayerClass(19,0,0,0,0,0,0,0,0,0,0);
    AddPlayerClass(120,0,0,0,0,0,0,0,0,0,0);
    AddPlayerClass(124,0,0,0,0,0,0,0,0,0,0);
    AddPlayerClass(125,0,0,0,0,0,0,0,0,0,0);


    CreateObject(5355, 3128.424316, -2262.151123, 15.985685, 0.0000, 0.0000, 348.7500);
    CreateObject(4866, 3129.373779, -2320.726563, 0.225790, 266.3215, 0.0000, 347.9679);
    CreateObject(4866, 3127.996582, -2226.220215, 10.026105, 266.3215, 0.0000, 167.4857);
    CreateObject(4866, 3163.083740, -2280.682861, 52.694927, 266.3215, 0.0000, 78.1045);
    CreateObject(4866, 3097.004395, -2228.373047, 49.455345, 266.3215, 0.0000, 257.7271);
    CreateObject(7416, 3129.764648, -2270.049072, 10.840012, 0.0000, 0.0000, 347.9679);
    CreateObject(967, 3104.626953, -2263.731445, 10.822824, 0.0000, 0.0000, 0.0000);
    CreateObject(14467, 3156.171875, -2237.952881, 13.581617, 0.0000, 0.0000, 325.6225);
    CreateObject(18260, 3127.007324, -2257.795654, 12.413204, 0.0000, 0.0000, 0.0000);
    CreateObject(18260, 3135.412354, -2289.181152, 12.413204, 0.0000, 0.0000, 0.0000);
    CreateObject(18260, 3105.694580, -2290.736816, 12.413204, 0.0000, 0.0000, 99.5907);
    CreateObject(7191, 3122.839600, -2297.263916, 12.814682, 0.0000, 0.0000, 97.1163);
    CreateObject(1452, 3117.084473, -2233.946777, 11.881849, 0.0000, 0.0000, 0.0000);
    CreateObject(14875, 3107.999268, -2242.547852, 11.665575, 0.0000, 0.0000, 0.0000);
    CreateObject(14875, 3147.877197, -2256.568359, 11.657763, 0.0000, 0.0000, 0.0000);
    CreateObject(14875, 3113.797363, -2273.407227, 11.657762, 0.0000, 0.0000, 51.5661);
    CreateObject(11480, 3131.378174, -2239.524170, 13.041529, 0.0000, 0.0000, 0.0000);


    return 1;
    }


    ResetSpawnInfo(playerid)


    {
    new rand = random(sizeof(gRandomSpawns));
    switch (a)
    {
    case 0:
    {
    SetSpawnInfo(playerid, 255, 0,gRandomSpawns[rand][PlayerX],gRandomSpawns[rand][PlayerY],gRandomSpawns[rand][PlayerZ],gRandomSpawns[rand][PlayerAngle],24, 1000, 29, 500, 29, 500);
    }


    case 1:
    {
    SetSpawnInfo(playerid, 255, 0,gRandomSpawns[rand][PlayerX],gRandomSpawns[rand][PlayerY],gRandomSpawns[rand][PlayerZ],gRandomSpawns[rand][PlayerAngle],23, 1000, 30, 500, 30, 500);
    }


    case 2:
    {
    SetSpawnInfo(playerid, 255, 0,gRandomSpawns[rand][PlayerX],gRandomSpawns[rand][PlayerY],gRandomSpawns[rand][PlayerZ],gRandomSpawns[rand][PlayerAngle],22, 1000, 31, 500, 31, 500);
    }


    default:
    {
    SetSpawnInfo(playerid, 255, 0,gRandomSpawns[rand][PlayerX],gRandomSpawns[rand][PlayerY],gRandomSpawns[rand][PlayerZ],gRandomSpawns[rand][PlayerAngle],24, 1000, 29, 500, 29, 500);
    }
    }
    }



    public OnPlayerConnect(playerid)


    {
    new pname[MAX_PLAYER_NAME];
    new string[100];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(string, sizeof(string), "*** %s hat den Server betreten!", pname);
    SendClientMessageToAll(grau, string);
    SendClientMessage(playerid, gelb, "Willkommen zum Deathmatch! Baller was das Zeug hält!");
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {


    new pname[MAX_PLAYER_NAME];
    new string[100];
    GetPlayerName(playerid, pname, sizeof(pname));


    switch(reason)
    {
    case 0: format(string, sizeof(string), "*** %s hat den Server verlassen. (timeout)", pname);
    case 1: format(string, sizeof(string), "*** %s hat den Server verlassen.", pname);
    case 2: format(string, sizeof(string), "*** %s hat den Server verlassen. (Kick/ban)", pname);
    }


    SendClientMessageToAll(grau, string);
    return 1;
    }


    public OnPlayerRequestClass(playerid, classid)
    {
    SetPlayerPos(playerid,3123.690186, -2268.962646, 11.314724);
    SetPlayerCameraPos(playerid,3123.690186, -2264.962646, 13.314724);
    SetPlayerCameraLookAt(playerid,3123.690186, -2268.962646, 11.314724);
    SetPlayerFacingAngle(playerid,0);


    return 1;
    }


    public OnPlayerRequestSpawn(playerid)
    {
    ResetSpawnInfo(playerid);


    return 1;
    }



    public OnPlayerDeath(playerid, killerid, reason)


    {
    SendDeathMessage(killerid, playerid, reason);
    SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
    ResetSpawnInfo(playerid);


    return 1;


    }



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/kill", cmdtext, true) == 0)
    {
    SetPlayerHealth(playerid, 0);
    SendClientMessage(playerid, 0xFF0000FF, "Du hast Selbstmord begangen!");
    }
    if (strcmp("/w1", cmdtext, true) == 0)
    {
    SendClientMessage(playerid, 0xAA3333AA, "Waffenpack 1 wurde ausgewählt.");
    a = 0;
    }
    if (strcmp("/w2", cmdtext, true) == 0)
    {
    SendClientMessage(playerid, 0xAA3333AA, "Waffenpack 2 wurde ausgewählt.");
    a = 1;
    }
    if (strcmp("/w3", cmdtext, true) == 0)
    {
    SendClientMessage(playerid, 0xAA3333AA, "Waffenpack 3 wurde ausgewählt.");
    a = 2;
    }
    return 0;
    }



    Danke im Vorraus,
    MfG,
    TehEbil.



    PS:
    Ich vermute, dass das Spawnen mit ID 0 daran liegt:
    SetSpawnInfo(playerid, 255, 0,gRandomSpawns
    An der 0 nach 255, jedoch bin ich mir nicht sicher, und wie könnte ich es ändern?


    Irgendwie die 0 durch eine Variable setzten?
    Jedoch wüsste ich nicht, wie ich die Variable dann dem Nutzernamen zuordnen kann, er soll ja nicht gespeichert werden, sondern immer neu wählen können beim neuen Einloggen, vlt. ne temporäre Variable? :D Gibt's sowas bei Pawn/o überhaupt..?

    Einmal editiert, zuletzt von TehEbil ()

  • Kenne mich damit nicht so wirklich richtig aus aber musste es den nicht so gehen ?


    if(SelectCharPlace[playerid] == 12) { SetPlayerSkin(playerid, JoinPed[11][0]); SelectCharPlace[playerid] = 12; ChosenSkin[playerid] = JoinPed[11][0]; }
    else if(SelectCharPlace[playerid] == 13) { SetPlayerSkin(playerid, JoinPed[12][0]); SelectCharPlace[playerid] = 13; ChosenSkin[playerid] = JoinPed[12][0]; }
    else if(SelectCharPlace[playerid] == 14) { SetPlayerSkin(playerid, JoinPed[13][0]); SelectCharPlace[playerid] = 14; ChosenSkin[playerid] = JoinPed[13][0]; }


    Und die Skins unter JoinPad abspeichern ?

    /¯¯¯¯¯¯¯¯¯Steam Acc zu Verkaufen¯¯¯¯¯¯¯¯\
    |______Spiel : Counterstrike : Source_____
    _|
    |______Spiel : Day of Defeat : Source _____
    _|
    |__________Spiel : Garry s Mod __________|
    |_________Half-Life 2 : Deatmatch________|
    |_________Half-Life 2 : lost Coast_________|
    \_Preis wird noch besprochen per PN melden_/

  • Datei erstellen > Skin abfragen > In Datei mit Username (am besten ein Login System bauen) > Skin nach erfolgreichen Login mit Benutzername suchen lassen %s.txt/.ini
    > Eine row Skin = X erstellen > Skin eintragen und abfragen, aber soweit ich weiß gibt es dazu sogar ein Tutorial/Erklärung im Forum

    [align=center]
    Mta Script Editor - Work in Progress

  • Sry, ich dachte, pushing innerhalb 24 Stunden wäre erlaubt ;)


    Icq hab ich leider nicht mehr, werde es aber mal so versuchen, wie derjenige über mir es schrieb.


    Danke an alle ;)


    Hatte da im GF script gesucht, aber nicht das passende gefunden,
    nun ja, jetzt weiß ich auch woran das liegen könnte, hatte nur das mainscript
    durchsucht und nicht die filterscripts ;)