Beiträge von Drebin

    Mit "normalen" Objekten bzw. mit der "CreateObject" Funktion klappt das nicht da sie keinen interior oder world Parameter hat.
    Würde dir raten dass du einen Objectstreamer benutz, z.B. Incognito's Streamer Plugin, die Funktion besitzt solche Parameter:
    native CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 100.0);

    Machts euch doch nicht so schwer...


    public IstEsSonntag(day, month, year);
    public IstEsSonntag(day, month, year)
    {
    if(GetWeekDay(day, month, year) == 7) return 1;
    else return 0;
    }


    GetWeekDay(day=0, month=0, year=0)
    {
    if(!day) getdate(year, month, day);
    new weekday, j, e;
    if(month <= 2)
    {
    month += 12;
    --year;
    }
    j = year % 100;
    e = year / 100;
    new int = (day + (month+1)*26/10 + j + j/4 + e/4 - 2*e) % 7;
    switch(int)
    {
    case 0: weekday = 6; //Samstag
    case 1: weekday = 7; //Sonntag
    case 2: weekday = 1; //Montag
    case 3: weekday = 2; //Dienstag
    case 4: weekday = 3; //Mittwoch
    case 5: weekday = 4; //Donnerstag
    case 6: weekday = 5; //Freitag
    }
    return weekday;
    }


    if(strcmp(cmd, "/enter", true) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid,3.0,1791.7289,-1163.3762,23.8281))//Waffenladen
    {
    new Year, Month, Day;
    getdate(Year, Month, Day);
    if(IstEsSonntag(Day, Month, Year)) return SendClientMessage(playerid, -1, "Heute ist Sonntag, alle Läden haben zu.");
    else
    {
    SetPlayerPos(playerid,833.7824,7.3484,1004.1797);
    SetPlayerInterior(playerid,3);
    SetPlayerVirtualWorld(playerid,3);
    }
    }
    }

    Naja,
    if(!strcmp(cmdtext, "/schildändern", true))
    {
    new meintext[10];
    if(sscanf(params, "s", meintext))return SendClientMessage(playerid, 0xFFFFFFFF, "/schildändern [Text]");
    else
    {
    SetObjectMaterialText(myobject, meintext, 0, 140, "Arial", 255, 1, -32256, 0, 1);
    }
    return 1;
    }
    ?

    Ja, indem du unter OnRconCommand return 0; eingibst, wenn du das ausführen eines Befehls verhindern willst.

    Die meisten Werte ab 127 sind nicht Synchronisiert, weswegen einige Farb IDs für unterschiedliche Spieler unterschiedliche Farben haben (für die einen Rot, für die anderen Grün, ...), deswegen hab ich diese bewusst ausgelassen.


    Kaliber - für einen Server-sided Farbpaletten-Textdraw (wie ihn die Tuning Shops haben) zum Beispiel.

    GTA: SA Fahrzeugfarben als Hexadezimal Werte
    Für die Benutzung in Chatnachrichten, Labels und Textdraws


    Werte
    http://www.pastebin.com/UmUKgVKi
    Die Pastebin Datei enthält ausserdem die RGB Werte der Farben (jedoch auskommentiert).


    Rohe Zahlen:
    new CarColHex[127] = {
    0x000000FF,0xF5F5F5FF,0x2A77A1FF,0x840410FF,0x263739FF,0x86446EFF,0xD78E10FF,0x4C75B7FF,
    0xBDBEC6FF,0x5E7072FF,0x46597AFF,0x656A79FF,0x5D7E8DFF,0x58595AFF,0xD6DAD6FF,0x9CA1A3FF,
    0x335F3FFF,0x730E1AFF,0x7B0A2AFF,0x9F9D94FF,0x3B4E78FF,0x732E3EFF,0x691E3BFF,0x96918CFF,
    0x515459FF,0x3F3E45FF,0xA5A9A7FF,0x635C5AFF,0x3D4A68FF,0x979592FF,0x421F21FF,0x5F272BFF,
    0x8494ABFF,0x767B7CFF,0x646464FF,0x5A5752FF,0x252527FF,0x2D3A35FF,0x93A396FF,0x6D7A88FF,
    0x221918FF,0x6F675FFF,0x7C1C2AFF,0x5F0A15FF,0x193826FF,0x5D1B20FF,0x9D9872FF,0x7A7560FF,
    0x989586FF,0xADB0B0FF,0x848988FF,0x304F45FF,0x4D6268FF,0x162248FF,0x272F4BFF,0x7D6256FF,
    0x9EA4ABFF,0x9C8D71FF,0x6D1822FF,0x4E6881FF,0x9C9C98FF,0x917347FF,0x661C26FF,0x949D9FFF,
    0xA4A7A5FF,0x8E8C46FF,0x341A1EFF,0x6A7A8CFF,0xAAAD8EFF,0xAB988FFF,0x851F2EFF,0x6F8297FF,
    0x585853FF,0x9AA790FF,0x601A23FF,0x20202CFF,0xA4A096FF,0xAA9D84FF,0x78222BFF,0x0E316DFF,
    0x722A3FFF,0x7B715EFF,0x741D28FF,0x1E2E32FF,0x4D322FFF,0x7C1B44FF,0x2E5B20FF,0x395A83FF,
    0x6D2837FF,0xA7A28FFF,0xAFB1B1FF,0x364155FF,0x6D6C6EFF,0x0F6A89FF,0x204B6BFF,0x2B3E57FF,
    0x9B9F9DFF,0x6C8495FF,0x4D5D60FF,0xAE9B7FFF,0x406C8FFF,0x1F253BFF,0xAB9276FF,0x134573FF,
    0x96816CFF,0x64686AFF,0x105082FF,0xA19983FF,0x385694FF,0x525661FF,0x7F6956FF,0x8C929AFF,
    0x596E87FF,0x473532FF,0x44624FFF,0x730A27FF,0x223457FF,0x640D1BFF,0xA3ADC6FF,0x695853FF,
    0x9B8B80FF,0x620B1CFF,0x5B5D5EFF,0x624428FF,0x731827FF,0x1B376DFF,0xEC6AAEFF};


    How-to


    Die Benutzung ist einfach. Alle Daten sind in ein Array eingegeben so dass man sie einfach abfragen kann.
    Beispiel:


    if(!strcmp(cmdtext, "/changecolour", true))
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    ChangeVehicleColor(GetPlayerVehicleID(playerid), 5, 5);
    SendClientMessage(playerid, CarColHex[5], "Die Farbe deines Fahrzeug wurde auf ID 5 gesetzt.");
    }
    return 1;
    }


    Also, einfach CarColHex. abrufen. Die Zahl in den eckigen Klammern ist immer die ID der Farbe.



    Einbetten:


    if(!strcmp(cmdtext, "/changecolour", true))
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    ChangeVehicleColor(GetPlayerVehicleID(playerid), 5, 5);
    new msg[300];
    format(msg, sizeof(msg), "FARBE GEÄNDERT!%s Dies ist deine neue Farbe (ID 5).", HexToEmbed(CarColHex[5]));
    // ^ Der gesamte Text ab hier hat die Farbe
    // von ID 5.
    SendClientMessage(playerid, 0xFFFFFFFF, msg);
    {
    return 1;
    }


    Benutze HexToEmbed(); (in Pastebin Datei enthalten) um eine Farbe aus dem 0xRRGGBBAA Format in "{RRGGBB}" umzuwandeln und setze sie mit der format(); Funktion und %s in die Nachricht/das Label/den Textdraw ein.


    Have fun.

    Du müsstest alle GTA:VC Objekte konvertieren, in die CUSTOM.img einfügen, die Objekt auf dem Server erstellen und anderen Spielern sagen sie sollen sich die CUSTOM:img runterladen (ansonsten sehen sie die Objekte nicht).

    Hier mal eine andere Version:


    if(!strcmp(cmdtext, "/respawncars", true))
    {
    for(new i=0; i < MAX_VEHICLES; i++) //Ein loop durch alle Autos
    {
    if(IsVehicleOccupied(i) == 0) //Ruft Stock "IsVehicleOccupied"
    {
    SetVehicleToRespawn(i); //Wenn Fahrzeug nicht besetzt ist, Fahrzeug respawnen
    }
    }
    return 1;
    }


    stock IsVehicleOccupied(vehicleid) //Falls jemand in dem Fahrzeug sitzt (vehicleid), wird "1" zurückgegeben
    {
    for(new i = 0; i < MAX_PLAYERS; i++) //Ein loop durch alle Spieler
    {
    if(IsPlayerInAnyVehicle(i)) //Aktueller Spieler sitzt in einem Fahrzeug
    {
    if(GetPlayerVehicleID(i)==vehicleid) //Spieler sitzt in dem Auto das respawnt werden soll
    return 1;
    else //Spieler sitzt nicht in dem Auto das respawnt werden soll
    return 0;
    }
    }
    }

    Open im Script:
    new Text:Anzeige[MAX_PLAYERS];


    OnPlayerConnect:
    Anzeige[playerid] = TextDrawCreate(630.0,410.0,"_");
    "_" ist ein Symbol welches von Textdraws nicht angezeigt wird, also is das Textdraw leer (kein Text).


    Ausserdem: http://wiki.sa-mp.com/wiki/TextDrawCreate

    Zitat

    Important Note: text[] must NOT be empty or the server will crash! If you need a textdraw that shows nothing, use " " (a space) or _ (underscore)

    In der Zeile mit dem Error ist dein Array dreidimensional:

    Zitat

    PrivatCar[playerid][CarKey[playerid]][pcX[CarKey[playerid]]] = 553.5764;


    Aber sonst sind die anderen Arrays mit gleichem Namen zweidimensional

    Zitat

    PrivatCar[playerid][CarName] = SellCar[CarName];
    PrivatCar[playerid][PlayerName] = GetName(playerid);
    PrivatCar[playerid][modelid] = SellCar[playerid][modelid];


    Und hier liegt der Fehler.

    Da es einige anscheinend nicht kapieren (wollen):


    Der Server ist auf ENGLISCH - das heißt es wird auch englisch gesprochen!
    Wenn ihr unbedingt deutsch sprechen wollt setzt euren IRC Channel auf 999 (/setirc) und benutzt dann /i um zu sprechen. Im Hauptchat wird NUR englisch gesprochen.
    Wenn ihr trotzdem diese Regel brecht werdet ihr sofort für 15 Minuten gemutet.