problem mit carsystem

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
  • Hi
    ich hab ein Porblem mit meinem Carsystem....
    wenn sich der Spieler ein Auto im Auohaus kauft wird das auch gespawnt und alles nur das problem ist mit dem auto kann dann jeder fahren wie mach ich das, dass nur der der es gekauft hat benützen kann??


    muss ich da was vor das CreateVehicle schreiben (hatte vor den Spielername zu nehmen und es dann darüber aufzurufen und abzufragen ob er der spieler ist oder nicht)


    aber iwie versteh ich das nicht ganz


    kann mir bitte jemand helfen.....



    mfg The_OTTO

  • Ein Ansatz: Du brauchst eine Variable für dein Auto (vgl. Player Variable), die den Besitzer des Autos speichert, oder umgekehrt, eine Playervariable muss das Auto, dass des player besitzt speichern.


    In einer der Funktionen OnPlayerStateChange oder auch OnPlayerEnterVehicle vegleichst du dann die Variable und handelst je nach Ergebnis.

    GameMode / Filterscript / Plugin Development via
    - PAWN / C/C++
    - Database (mySQL) & Filebased - Systems


    Webdevelopment / Interfaces Webapplications - SA:MP Server via
    - HTML & CSS
    - PHP, JavaScript, Ajax

  • So sollte es eigentlich funktionieren.
    Ungetestet!
    Kann fehler enthalten!


    // ...
    new Name[24],i;
    for(; i < MAX_PLAYERS; i++)
    {
    GetPlayerName(i,name,sizeof(name));
    if(!strcmp(name,"AdnaN",true))
    {
    SetVehicleParamsForPlayer(vehicleid,i,1,1)
    }
    }
    // ...

  • ok thx aber was mach ich wenn der spieler sein auto z.b. verkaufen will....


    kann ich dem auto iwie sagen dass es z.b. den playername hat und es darüber ansprechen oder wie mach ich das am besten???



    mfg The_OTTO

  • Verwendest du ne unique ID für deine Player?


    -> in die Variable für das Auto diese ID speichern


    oder: VehicleID des Autos in die playervariable speichern


    oder Name in nen Array für das Auto speichern


    oder ...


    Gibt genug Möglichkeiten ;)

    GameMode / Filterscript / Plugin Development via
    - PAWN / C/C++
    - Database (mySQL) & Filebased - Systems


    Webdevelopment / Interfaces Webapplications - SA:MP Server via
    - HTML & CSS
    - PHP, JavaScript, Ajax

  • kansch du bitte mal nen cod für deine beispiele angeben...


    das hab ich schon verstanden aber die frage ist wie schreib ich das????
    und wie ruf ich das wieder ab wenn ich das auto zerstören oder verkaufen will....


    mfg The_OTTO

  • Ist schwer zu sagen, wenn ich absolut nicht weiß wie dein script aussieht.


    Hast du ne unique ID für jedes Auto bzw. wie lädst du Autos?

    GameMode / Filterscript / Plugin Development via
    - PAWN / C/C++
    - Database (mySQL) & Filebased - Systems


    Webdevelopment / Interfaces Webapplications - SA:MP Server via
    - HTML & CSS
    - PHP, JavaScript, Ajax

  • was ist ne unique id???



    script:



    enum carinfo
    {
    cName[128],
    cAutohaus[150],
    cModelid,
    cPreis,
    cReparatur,
    Float:cPosX,
    Float:cPosY,
    Float:cPosZ,
    Float:cRotAngel,
    cFarbe1,
    cFarbe2,



    }




    new KauflisteAutohaus [] [carinfo] =
    {
    {"Stallion","LS",439,75000,5000,1649.6732,-1111.6636,23.6206,90.6530,1,1},
    {"Feltzer","LS",533,50000,3000,1649.7563,-1107.1086,23.8023,89.8677,1,1},
    {"Windsor","LS",555,450000,3400,1649.7461,-1102.5474,23.8019,90.2495,1,1},
    {"Blade","LS",536,350000,3000,1649.7561,-1098.0959,23.8019,90.4449,1,1},
    {"Remington","LS",534,500000,3000,1649.0194,-1093.7126,23.8018,89.7144,1,1},
    {"Savanna","LS",567,350000,3000,1649.1135,-1089.2246,23.8019,89.9799,1,1},
    {"Slamvan","LS",535,500000,3000,1648.7183,-1084.7681,23.8019,90.3341,1,1},
    {"Voodoo","LS",412,500000,3000,1649.5095,-1080.2069,23.6319,87.9835,1,1},
    {"Huntley","LS",579,200000,1000,1629.6415,-1107.4124,23.8017,269.0821,1,1},
    {"Buccaneer","LS",518,120000,1000,1629.8267,-1103.0590,23.8019,269.3376,1,1},
    {"Clover","LS",542,35000,500,1629.7751,-1098.2681,23.8023,268.6791,1,1},
    {"Elegant","LS",507,40000,650,1629.8992,-1093.9038,23.8056,269.7453,1,1},
    {"Elegy","LS",562,1500000,10000,1630.0809,-1089.3556,23.8020,269.1883,1,1},
    {"Patriot","LS",470,450000,650,1629.8757,-1085.0244,23.8020,269.3394,1,1},
    {"Fortune","LS",526,35000,500,1620.6897,-1084.9204,23.8022,88.9987,1,1},
    {"Sultan","LS",560,1500000,10000,1620.6096,-1089.4504,23.8019,90.3676,1,1},
    {"Sunrise","LS",550,300000,2000,1620.8348,-1094.1292,23.8057,89.6435,1,1},
    {"Vincent","LS",540,280000,2000,1620.5828,-1098.5782,23.8020,89.4645,1,1},
    {"Alpha","LS",602,230000,2000,1620.5520,-1103.0590,23.8020,89.4902,1,1},
    {"Banshee","LS",429,1000000,5500,1620.8467,-1107.4093,23.8022,91.3893,1,1},
    {"Blista Compact","LS",496,350000,2500,1616.8423,-1119.1971,23.8020,268.9453,1,1},
    {"Buffalo","LS",402,500000,3000,1617.0719,-1123.5328,23.8019,269.8058,1,1},
    {"Bullet","LS",541,7500000,17500,1616.9014,-1128.2705,23.8019,270.0352,1,1},
    {"Cheetah","LS",415,4000000,10000,1617.0294,-1137.2218,23.8019,271.3143,1,1},
    {"Club","LS",589,70000,750,1658.2823,-1111.4570,23.8021,269.4366,1,1},
    {"Euros","LS",587,650000,7000,1658.3822,-1106.9960,23.8020,270.6874,1,1},
    {"Infernus","LS",411,1500000,7000,1617.1554,-1132.7693,23.6129,272.4321,1,1},
    {"Jester","LS",559,1500000,10000,1658.1725,-1098.0532,23.8018,272.3062,1,1},
    {"Phoenix","LS",603,600000,4000,1658.6005,-1093.5337,23.8022,269.5082,1,1},
    {"Super GT","LS",506,12500000,20000,1658.0624,-1088.9802,23.8023,270.6591,1,1},
    {"Turismo","LS",451,13000000,20000,1658.3372,-1084.5144,23.8019,271.4035,1,1},
    {"Uranus","LS",558,850000,10000,1658.5685,-1079.9893,23.7981,270.7414,1,1},
    {"ZR-350","LS",477,6500000,7000,1648.2014,-1135.5050,23.8019,0.1996,1,1},
    {"Sachez","LS",468,10000,500,1652.7126,-1135.2866,23.8018,1.2803,1,1},
    {"NRG-500","LS",522,9500000,500,1657.3914,-1135.6124,23.8020,1.6397,1,1},
    {"FCR-900","LS",521,45000,7000,1661.9552,-1136.0287,23.8014,1.2625,1,1}


    };


    public OnGameModeInit()
    {
    new car, Auto[256];
    for(car = 0; car < sizeof(KauflisteAutohaus); car++)
    {
    Auto[car] = CreateVehicle(KauflisteAutohaus[car][cModelid], KauflisteAutohaus[car][cPosX], KauflisteAutohaus[car][cPosY], KauflisteAutohaus[car][cPosZ], KauflisteAutohaus[car][cRotAngel],KauflisteAutohaus[car][cFarbe1],KauflisteAutohaus[car][cFarbe2],-1);
    print(KauflisteAutohaus[car][cName]);
    }
    }




    if(strcmp(strget(cmdtext,0),"/exitcar",true) == 0)
    {
    TogglePlayerControllable(playerid,1);
    RemovePlayerFromVehicle(playerid);
    return 1;
    }

    if(strcmp(strget(cmdtext,0),"/buycar",true) == 0)
    {
    new car,Anzahl_Autos_old, Anzahl_Autos_new;
    GetPlayerName(playerid, name, sizeof(name));
    format(save, sizeof(save), "Spieler/%s.ini", name);
    Anzahl_Autos_old = dini_Int(save,"Anzahl_Autos");
    for(car = 0; car < sizeof(KauflisteAutohaus); car++ )
    {
    new vehid = GetPlayerVehicleID(playerid);
    if(car == vehid)
    {
    if(Anzahl_Autos_old < 3)
    {
    car--;
    SendClientMessage(playerid, yellow, ausgabetext);



    CreateVehicle(KauflisteAutohaus[car][cModelid],1673.7443,-1084.9971,23.4692,85.0202,1,1,-1);
    RemovePlayerFromVehicle(playerid);
    TogglePlayerControllable(playerid,1);
    GivePlayerMoney(playerid,-KauflisteAutohaus[car][cPreis]);
    Anzahl_Autos_new = Anzahl_Autos_old + 1;
    dini_IntSet(save,"Anzahl_Autos", Anzahl_Autos_new);
    return 1;


    }
    else
    {
    SendClientMessage(playerid, yellow, "Du kannst nur maximal 3 Autos besitzen");
    }
    }
    }
    return 1;
    }





    public OnPlayerStateChange(playerid, newstate, oldstate)
    {


    if(newstate == PLAYER_STATE_DRIVER)
    {
    new vehid = GetPlayerVehicleID(playerid);
    if(vehid <37)
    {


    new car;
    for(car = 1; car < sizeof(KauflisteAutohaus); car++)
    {

    if (car==vehid)
    {
    car++;
    SendClientMessage(playerid, yellow, "******Autohaus Los Santos******");
    format(ausgabetext, sizeof(ausgabetext), "Name: %s", KauflisteAutohaus[car][cName]);
    SendClientMessage(playerid, yellow, ausgabetext);
    format(ausgabetext, sizeof(ausgabetext), "Preis: %d", KauflisteAutohaus[car][cPreis]);
    SendClientMessage(playerid, yellow, ausgabetext);
    format(ausgabetext, sizeof(ausgabetext), "Reperaturkosten %d", KauflisteAutohaus[car][cReparatur]);
    SendClientMessage(playerid, yellow, ausgabetext);
    SendClientMessage(playerid, yellow, "Mit /buycar kannst du das Auto kaufen");
    SendClientMessage(playerid, yellow, "Mit /exitcar kannst du aus dem Auto aussteigen");
    TogglePlayerControllable(playerid,0);

    }
    }
    }
    }


    return 1;
    }




    ich hoff das hilft euch
    mfg The_OTTO