Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <float>
- /*
- Credits to Ping ( Autohaus ersteller)
- Credits to Tratulla (2 Ini Functions.)
- Credits to SA-MP Wiki (strtok Funktion)
- Credits to RFT ( Edit)
- */
- #define RESETCARS
- #define CARSELL
- #define COLOR_GRAD1 0xB4B5B7FF
- #define COLOR_GRAD2 0xBFC0C2FF
- #define COLOR_GRAD3 0xCBCCCEFF
- #define COLOR_GRAD4 0xD8D8D8FF
- #define COLOR_GRAD5 0xE3E3E3FF
- #define COLOR_GRAD6 0xF0F0F0FF
- #define COLOR_GREY 0xAFAFAFAA
- #define COLOR_GREEN 0x33AA33AA
- #define COLOR_RED 0xAA3333AA
- #define COLOR_LIGHTRED 0xFF6347AA
- #define COLOR_LIGHTBLUE 0x33CCFFAA
- #define COLOR_LIGHTGREEN 0x9ACD32AA
- #define COLOR_YELLOW 0xFFFF00AA
- #define COLOR_YELLOW2 0xF5DEB3AA
- #define COLOR_WHITE 0xFFFFFFAA
- #define Max_Player_Cars 2
- forward SetVehicleParamsForAll(carid,objective,doorslocked);
- forward CreateTunedCar(playerid, i);
- forward DelayDestroyCar(playerid);
- forward DelaySetVehicleParams(playerid);
- forward ResetAutohausSpawns();
- enum ahCar
- {
- Typ,
- Float:X,
- Float:Y,
- Float:Z,
- Float:Rotation,
- Status,
- Lock,
- Carid,
- Paintjob,
- Farbe1,
- Farbe2,
- mod1,
- mod2,
- mod3,
- mod4,
- mod5,
- mod6,
- mod7,
- mod8,
- mod9,
- mod10,
- mod11,
- mod12,
- mod13,
- mod14,
- mod15,
- mod16,
- mod17,
- };
- new Carlist[MAX_PLAYERS][Max_Player_Cars][ahCar];
- enum ahSpawn
- {
- Float:X,
- Float:Y,
- Float:Z,
- Float:Rotation,
- };
- new Autospawns[3][ahSpawn] = {
- {739.7457,-1343.8668,13.2828,270.2592},
- {-1639.3599,1198.1665,6.9527,269.9673},
- {960.0655,-909.5033,45.2856,150.2366}
- };
- enum ahModell
- {
- Name[128],
- Autohaus,
- Modelid,
- Carid,
- Preis,
- Reparatur,
- Float:X,
- Float:Y,
- Float:Z,
- Float:Rotation,
- };
- new Kaufliste[40][ahModell] = {
- {"Stallion",0,439,-1,750000,5000,783.0,-1335.0,13.2,121.1},
- {"Feltzer",0,533,-1,500000,3000,783.0,-1340.0,13.2,121.1},
- {"Windsor",0,555,-1,450000,3400,783.0,-1345.0,13.2,121.1},
- {"Blade",0,536,-1,350000,3000,783.0,-1350.0,13.2,121.1},
- {"Remington",0,534,-1,500000,3000,783.0,-1355.0,13.2,121.1},
- {"Savanna",0,567,-1,350000,3000,783.0,-1360.0,13.2,121.1},
- {"Slamvan",0,535,-1,500000,3000,783.0,-1365.0,13.2,121.1},
- {"Voodoo",0,412,-1,500000,3000,783.0,-1370.0,13.2,121.1},
- {"Huntley",0,579,-1,200000,1000,783.0,-1375.0,13.2,121.1},
- {"Buccaneer",0,518,-1,120000,1000,783.0,-1380.0,13.2,121.1},
- {"Clover",0,542,-1,35000,500,765.0,-1360.0,13.4,301.1},
- {"Elegant",0,507,-1,40000,650,765.0,-1365.0,13.4,301.1},
- {"Elegy",0,562,-1,1500000,10000,765.0,-1370.0,13.4,301.1},
- {"Esperanto",0,419,-1,65000,650,765.0,-1375.0,13.4,301.1},
- {"Fortune",0,526,-1,35000,500,765.0,-1380.0,13.4,301.1},
- {"Sultan",0,560,-1,1500000,10000,766.0,-1333.0,13.3,211.1},
- {"Sunrise",0,550,-1,300000,2000,761.0,-1333.0,13.3,211.1},
- {"Vincent",0,540,-1,280000,2000,756.0,-1333.0,13.3,211.1},
- {"Alpha",0,602,-1,230000,2000,751.0,-1333.0,13.3,211.1},
- {"Banshee",0,429,-1,1000000,5500,746.0,-1333.0,13.3,211.1},
- {"Blista Compact",1,496,-1,350000,2500,-1668.6447,1207.0372,7.0249,309.5959},
- {"Buffalo",1,402,-1,500000,3000,-1663.6709,1215.2883,7.0234,274.9868},
- {"Bullet",1,541,-1,7500000,17500,-1651.3892,1210.3469,7.0208,281.3321},
- {"Cheetah",1,415,-1,4000000,10000,-1677.3560,1207.8099,13.4461,208.2602},
- {"Club",1,589,-1,70000,750,-1665.7789,1222.4406,13.4485,279.6459},
- {"Euros",1,587,-1,650000,7000,-1660.7256,1217.6407,13.4444,283.1553},
- {"Infernus",1,411,-1,1500000,7000,-1653.2462,1210.7842,13.4460,266.7211},
- {"Jester",1,559,-1,1500000,10000,-1676.0128,1207.1641,20.9248,261.5029},
- {"Phoenix",1,603,-1,600000,4000,-1664.4386,1206.8241,20.9289,332.5978},
- {"Super GT",1,506,-1,12500000,20000,-1651.6372,1208.2538,20.9231,305.1015},
- {"Turismo",1,451,-1,13000000,20000,-1665.1248,1222.7113,20.9265,267.4103},
- {"Uranus",1,558,-1,850000,10000,-1661.1943,1217.9629,20.9268,286.1662},
- {"ZR-350",1,477,-1,6500000,7000,-1654.3116,1214.8097,20.9267,173.5712},
- {"Faggio",0,462,-1,10000,500,750.7272,-1358.3872,13.0996,273.7736},
- {"Wayfarer",3,586,-1,600000,4000,974.7485,-927.0700,45.2858,67.0699},
- {"NRG-500",3,522,-1,12500000,20000,971.1738,-912.8298,45.3292,116.7014},
- {"FCR-900",3,521,-1,13000000,20000,976.1575,-925.9587,45.3364,63.6570},
- {"Sanchez",3,468,-1,850000,10000,977.1465,-925.1230,45.4507,60.6580},
- {"Freeway",3,463,-1,6500000,7000,975.9243,-912.8625,45.3052,120.8392},
- {"PCJ-600",3,461,-1,10000,500,973.7593,-912.7722,45.3397,118.7830}
- };
- new Spectating[MAX_PLAYERS][1];
- // Anfang der Tuningkomponentenliste
- new spoiler[20][0] = {
- {1000},
- {1001},
- {1002},
- {1003},
- {1014},
- {1015},
- {1016},
- {1023},
- {1058},
- {1060},
- {1049},
- {1050},
- {1138},
- {1139},
- {1146},
- {1147},
- {1158},
- {1162},
- {1163},
- {1164}
- };
- new nitro[3][0] = {
- {1008},
- {1009},
- {1010}
- };
- new fbumper[23][0] = {
- {1117},
- {1152},
- {1153},
- {1155},
- {1157},
- {1160},
- {1165},
- {1167},
- {1169},
- {1170},
- {1171},
- {1172},
- {1173},
- {1174},
- {1175},
- {1179},
- {1181},
- {1182},
- {1185},
- {1188},
- {1189},
- {1192},
- {1193}
- };
- new rbumper[22][0] = {
- {1140},
- {1141},
- {1148},
- {1149},
- {1150},
- {1151},
- {1154},
- {1156},
- {1159},
- {1161},
- {1166},
- {1168},
- {1176},
- {1177},
- {1178},
- {1180},
- {1183},
- {1184},
- {1186},
- {1187},
- {1190},
- {1191}
- };
- new exhaust[28][0] = {
- {1018},
- {1019},
- {1020},
- {1021},
- {1022},
- {1028},
- {1029},
- {1037},
- {1043},
- {1044},
- {1045},
- {1046},
- {1059},
- {1064},
- {1065},
- {1066},
- {1089},
- {1092},
- {1104},
- {1105},
- {1113},
- {1114},
- {1126},
- {1127},
- {1129},
- {1132},
- {1135},
- {1136}
- };
- new bventr[2][0] = {
- {1042},
- {1044}
- };
- new bventl[2][0] = {
- {1043},
- {1045}
- };
- new bscoop[4][0] = {
- {1004},
- {1005},
- {1011},
- {1012}
- };
- new rscoop[13][0] = {
- {1006},
- {1032},
- {1033},
- {1035},
- {1038},
- {1053},
- {1054},
- {1055},
- {1061},
- {1067},
- {1068},
- {1088},
- {1091}
- };
- new lskirt[21][0] = {
- {1007},
- {1026},
- {1031},
- {1036},
- {1039},
- {1042},
- {1047},
- {1048},
- {1056},
- {1057},
- {1069},
- {1070},
- {1090},
- {1093},
- {1106},
- {1108},
- {1118},
- {1119},
- {1133},
- {1122},
- {1134}
- };
- new rskirt[21][0] = {
- {1017},
- {1027},
- {1030},
- {1040},
- {1041},
- {1051},
- {1052},
- {1062},
- {1063},
- {1071},
- {1072},
- {1094},
- {1095},
- {1099},
- {1101},
- {1102},
- {1107},
- {1120},
- {1121},
- {1124},
- {1137}
- };
- new hydraulics[1][0] = {
- {1087}
- };
- new base[1][0] = {
- {1086}
- };
- new rbbars[2][0] = {
- {1109},
- {1110}
- };
- new fbbars[2][0] = {
- {1115},
- {1116}
- };
- new wheels[17][0] = {
- {1025},
- {1073},
- {1074},
- {1075},
- {1076},
- {1077},
- {1078},
- {1079},
- {1080},
- {1081},
- {1082},
- {1083},
- {1084},
- {1085},
- {1096},
- {1097},
- {1098}
- };
- new lights[2][0] = {
- {1013},
- {1024}
- };
- // Ende der Tuningkomponentenliste
- #if defined CARSELL
- new bietetAn[MAX_PLAYERS][2];
- #endif
- ini_GetKey( line[] )
- {
- new keyRes[256];
- keyRes[0] = 0;
- if ( strfind( line , "=" , true ) == -1 ) return keyRes;
- strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) );
- return keyRes;
- }
- ini_GetValue( line[] )
- {
- new valRes[256];
- valRes[0]=0;
- if ( strfind( line , "=" , true ) == -1 ) return valRes;
- strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) );
- return valRes;
- }
- strtok(const string[], &index)
- {
- new length = strlen(string);
- while ((index < length) && (string[index] <= ' '))
- {
- index++;
- }
- new offset = index;
- new result[20];
- while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
- {
- result[index - offset] = string[index];
- index++;
- }
- result[index - offset] = EOS;
- return result;
- }
- IsAutohausCar(carid)
- {
- new i;
- for(i=0; i<sizeof(Kaufliste); i++)
- {
- if(Kaufliste[i][Carid]==carid) { return i; }
- }
- return -1;
- }
- GetPlayerFromCarlistCar(carid)
- {
- new i;
- for(i=0; i<sizeof(Carlist); i++)
- {
- for(new Car = 0; Car < Max_Player_Cars; Car++)
- {
- if(Carlist[i][Car][Carid]==carid) { return i; }
- }
- }
- return -1;
- }
- GetModType(componentid)
- {
- new i;
- for(i=0; i<20; i++)
- {
- if(spoiler[i][0]==componentid) { return 1; }
- }
- for(i=0; i<3; i++)
- {
- if(nitro[i][0]==componentid) { return 2; }
- }
- for(i=0; i<23; i++)
- {
- if(fbumper[i][0]==componentid) { return 3; }
- }
- for(i=0; i<22; i++)
- {
- if(rbumper[i][0]==componentid) { return 4; }
- }
- for(i=0; i<28; i++)
- {
- if(exhaust[i][0]==componentid) { return 5; }
- }
- for(i=0; i<2; i++)
- {
- if(bventr[i][0]==componentid) { return 6; }
- }
- for(i=0; i<2; i++)
- {
- if(bventl[i][0]==componentid) { return 7; }
- }
- for(i=0; i<4; i++)
- {
- if(bscoop[i][0]==componentid) { return 8; }
- }
- for(i=0; i<13; i++)
- {
- if(rscoop[i][0]==componentid) { return 9; }
- }
- for(i=0; i<21; i++)
- {
- if(lskirt[i][0]==componentid) { return 10; }
- }
- for(i=0; i<21; i++)
- {
- if(rskirt[i][0]==componentid) { return 11; }
- }
- if(hydraulics[0][0]==componentid) { return 12; }
- if(base[0][0]==componentid) { return 13; }
- for(i=0; i<2; i++)
- {
- if(rbbars[i][0]==componentid) { return 14; }
- }
- for(i=0; i<2; i++)
- {
- if(fbbars[i][0]==componentid) { return 15; }
- }
- for(i=0; i<17; i++)
- {
- if(wheels[i][0]==componentid) { return 16; }
- }
- for(i=0; i<2; i++)
- {
- if(lights[i][0]==componentid) { return 17; }
- }
- return 0;
- }
- public OnFilterScriptInit()
- {
- print("------------------------------");
- print(" ~*~ Mobiles Autohaus 1.4 ~*~");
- print(" ~*~ (c) 2009 by ping ~*~");
- print("------------------------------\n");
- new i;
- for(i=0; i<sizeof(Kaufliste); i++)
- {
- Kaufliste[i][Carid]=CreateVehicle(Kaufliste[i][Modelid],Kaufliste[i][X],Kaufliste[i][Y],Kaufliste[i][Z],Kaufliste[i][Rotation],-1,-1,-1);
- }
- for(i=0; i<MAX_PLAYERS; i++)
- {
- Spectating[i][0]=-1;
- }
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- for(new i = 0; i < Max_Player_Cars; i++)
- {
- new dateiname[MAX_PLAYER_NAME+4];
- new playername[MAX_PLAYER_NAME];
- Carlist[playerid][i][Typ]=-1; Carlist[playerid][i][X]=0.0; Carlist[playerid][i][Y]=0.0; Carlist[playerid][i][Z]=0.0;
- Carlist[playerid][i][Rotation]=0.0; Carlist[playerid][i][Status]=0; Carlist[playerid][i][Lock]=0; Carlist[playerid][i][Carid]=-1;
- Carlist[playerid][i][Farbe1]=-1; Carlist[playerid][i][Farbe2]=-1; Carlist[playerid][i][mod1]=-1; Carlist[playerid][i][mod2]=-1;
- Carlist[playerid][i][mod3]=-1; Carlist[playerid][i][mod4]=-1; Carlist[playerid][i][mod5]=-1; Carlist[playerid][i][mod6]=-1;
- Carlist[playerid][i][mod7]=-1; Carlist[playerid][i][mod8]=-1; Carlist[playerid][i][mod9]=-1; Carlist[playerid][i][mod10]=-1;
- Carlist[playerid][i][mod11]=-1; Carlist[playerid][i][mod12]=-1; Carlist[playerid][i][mod13]=-1; Carlist[playerid][i][mod14]=-1;
- Carlist[playerid][i][mod15]=-1; Carlist[playerid][i][mod16]=-1; Carlist[playerid][i][mod17]=-1; Carlist[playerid][i][Paintjob]=-1;
- Spectating[playerid][0]=-1;
- #if defined CARSELL
- bietetAn[playerid]={-1,0};
- #endif
- GetPlayerName(playerid, playername, sizeof(playername));
- format(dateiname, sizeof(dateiname), "%s%d.car", playername, i);
- if (fexist(dateiname))
- {
- new File: CarFile = fopen(dateiname, io_read);
- if ( CarFile )
- {
- new key[ 256 ];
- new Data[ 256 ];
- while ( fread( CarFile , Data , sizeof( Data ) ) )
- {
- key = ini_GetKey(Data);
- if(strcmp(key,"AH_Typ",true)==0) { Carlist[playerid][i][Typ]=strval(ini_GetValue(Data)); }
- else if(strcmp(key,"AH_X",true)==0) { Carlist[playerid][i][X]=floatstr(ini_GetValue(Data)); }
- else if(strcmp(key,"AH_Y",true)==0) { Carlist[playerid][i][Y]=floatstr(ini_GetValue(Data)); }
- else if(strcmp(key,"AH_Z",true)==0) { Carlist[playerid][i][Z]=floatstr(ini_GetValue(Data)); }
- else if(strcmp(key,"AH_Rot",true)==0) { Carlist[playerid][i][Rotation]=floatstr(ini_GetValue(Data)); }
- else if(strcmp(key,"AH_Status",true)==0) { Carlist[playerid][i][Status]=strval(ini_GetValue(Data)); }
- else if(strcmp(key,"AH_Lock",true)==0) { Carlist[playerid][i][Lock]=strval(ini_GetValue(Data)); }
- else if(strcmp(key,"AH_Paintjob",true)==0) { Carlist[playerid][i][Paintjob]=strval(ini_GetValue(Data)); }
- else if(strcmp(key,"AH_Farbe1",true)==0) { Carlist[playerid][i][Farbe1]=strval(ini_GetValue(Data)); }
- else if(strcmp(key,"AH_Farbe2",true)==0) { Carlist[playerid][i][Farbe2]=strval(ini_GetValue(Data)); }
- else if(strcmp(key,"AH_mod1",true)==0) { Carlist[playerid][i][mod1]=strval(ini_GetValue(Data)); }
- else if(strcmp(key,"AH_mod2",true)==0) { Carlist[playerid][i][mod2]=strval(ini_GetValue(Data)); }
- else if(strcmp(key,"AH_mod3",true)==0) { Carlist[playerid][i][mod3]=strval(ini_GetValue(Data)); }
- else if(strcmp(key,"AH_mod4",true)==0) { Carlist[playerid][i][mod4]=strval(ini_GetValue(Data)); }
- else if(strcmp(key,"AH_mod5",true)==0) { Carlist[playerid][i][mod5]=strval(ini_GetValue(Data)); }
- else if(strcmp(key,"AH_mod6",true)==0) { Carlist[playerid][i][mod6]=strval(ini_GetValue(Data)); }
- else if(strcmp(key,"AH_mod7",true)==0) { Carlist[playerid][i][mod7]=strval(ini_GetValue(Data)); }
- else if(strcmp(key,"AH_mod8",true)==0) { Carlist[playerid][i][mod8]=strval(ini_GetValue(Data)); }
- else if(strcmp(key,"AH_mod9",true)==0) { Carlist[playerid][i][mod9]=strval(ini_GetValue(Data)); }
- else if(strcmp(key,"AH_mod10",true)==0) { Carlist[playerid][i][mod10]=strval(ini_GetValue(Data)); }
- else if(strcmp(key,"AH_mod11",true)==0) { Carlist[playerid][i][mod11]=strval(ini_GetValue(Data)); }
- else if(strcmp(key,"AH_mod12",true)==0) { Carlist[playerid][i][mod12]=strval(ini_GetValue(Data)); }
- else if(strcmp(key,"AH_mod13",true)==0) { Carlist[playerid][i][mod13]=strval(ini_GetValue(Data)); }
- else if(strcmp(key,"AH_mod14",true)==0) { Carlist[playerid][i][mod14]=strval(ini_GetValue(Data)); }
- else if(strcmp(key,"AH_mod15",true)==0) { Carlist[playerid][i][mod15]=strval(ini_GetValue(Data)); }
- else if(strcmp(key,"AH_mod16",true)==0) { Carlist[playerid][i][mod16]=strval(ini_GetValue(Data)); }
- else if(strcmp(key,"AH_mod17",true)==0) { Carlist[playerid][i][mod17]=strval(ini_GetValue(Data)); }
- }
- }
- fclose(CarFile);
- if(Carlist[playerid][i][Typ]!=-1 && Carlist[playerid][i][Status]==1)
- {
- Carlist[playerid][i][Carid]=CreateTunedCar(playerid, i);
- }
- }
- SetTimerEx("DelaySetVehicleParams",10000,0,"i",playerid);
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid)
- {
- for( new i = 0; i < Max_Player_Cars; i++)
- {
- new dateiname[MAX_PLAYER_NAME+4];
- new playername[MAX_PLAYER_NAME];
- new var[256];
- GetPlayerName(playerid, playername, sizeof(playername));
- format(dateiname, sizeof(dateiname), "%s%d.car", playername, i);
- new File: CarFile = fopen(dateiname, io_write);
- format(var, 256, "AH_Typ=%i\n", Carlist[playerid][i][Typ]); fwrite(CarFile, var);
- format(var, 256, "AH_X=%f\n", Carlist[playerid][i][X]); fwrite(CarFile, var);
- format(var, 256, "AH_Y=%f\n", Carlist[playerid][i][Y]); fwrite(CarFile, var);
- format(var, 256, "AH_Z=%f\n", Carlist[playerid][i][Z]); fwrite(CarFile, var);
- format(var, 256, "AH_Rot=%f\n", Carlist[playerid][i][Rotation]); fwrite(CarFile, var);
- format(var, 256, "AH_Status=%i\n", Carlist[playerid][i][Status]); fwrite(CarFile, var);
- format(var, 256, "AH_Lock=%i\n", Carlist[playerid][i][Lock]); fwrite(CarFile, var);
- format(var, 256, "AH_Paintjob=%i\n", Carlist[playerid][i][Paintjob]); fwrite(CarFile, var);
- format(var, 256, "AH_Farbe1=%i\n", Carlist[playerid][i][Farbe1]); fwrite(CarFile, var);
- format(var, 256, "AH_Farbe2=%i\n", Carlist[playerid][i][Farbe2]); fwrite(CarFile, var);
- format(var, 256, "AH_mod1=%i\n", Carlist[playerid][i][mod1]); fwrite(CarFile, var);
- format(var, 256, "AH_mod2=%i\n", Carlist[playerid][i][mod2]); fwrite(CarFile, var);
- format(var, 256, "AH_mod3=%i\n", Carlist[playerid][i][mod3]); fwrite(CarFile, var);
- format(var, 256, "AH_mod4=%i\n", Carlist[playerid][i][mod4]); fwrite(CarFile, var);
- format(var, 256, "AH_mod5=%i\n", Carlist[playerid][i][mod5]); fwrite(CarFile, var);
- format(var, 256, "AH_mod6=%i\n", Carlist[playerid][i][mod6]); fwrite(CarFile, var);
- format(var, 256, "AH_mod7=%i\n", Carlist[playerid][i][mod7]); fwrite(CarFile, var);
- format(var, 256, "AH_mod8=%i\n", Carlist[playerid][i][mod8]); fwrite(CarFile, var);
- format(var, 256, "AH_mod9=%i\n", Carlist[playerid][i][mod9]); fwrite(CarFile, var);
- format(var, 256, "AH_mod10=%i\n", Carlist[playerid][i][mod10]); fwrite(CarFile, var);
- format(var, 256, "AH_mod11=%i\n", Carlist[playerid][i][mod11]); fwrite(CarFile, var);
- format(var, 256, "AH_mod12=%i\n", Carlist[playerid][i][mod12]); fwrite(CarFile, var);
- format(var, 256, "AH_mod13=%i\n", Carlist[playerid][i][mod13]); fwrite(CarFile, var);
- format(var, 256, "AH_mod14=%i\n", Carlist[playerid][i][mod14]); fwrite(CarFile, var);
- format(var, 256, "AH_mod15=%i\n", Carlist[playerid][i][mod15]); fwrite(CarFile, var);
- format(var, 256, "AH_mod16=%i\n", Carlist[playerid][i][mod16]); fwrite(CarFile, var);
- format(var, 256, "AH_mod17=%i\n", Carlist[playerid][i][mod17]); fwrite(CarFile, var);
- fclose(CarFile);
- if(Carlist[playerid][i][Carid]!=-1)
- {
- SetVehicleParamsForAll(Carlist[playerid][i][Carid],0,0);
- DestroyVehicle(Carlist[playerid][i][Carid]);
- Carlist[playerid][i][Carid]=-1;
- }
- if (Spectating[playerid][0]!=-1)
- {
- SetVehicleParamsForAll(Kaufliste[Spectating[playerid][0]][Carid],0,0);
- Spectating[playerid][0]=-1;
- }
- }
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- new i;
- for(i=0; i<MAX_PLAYERS; i++)
- {
- for(new i2 = 0; i2 < Max_Player_Cars; i2++)
- {
- if(Carlist[i][i2][Carid]==vehicleid)
- {
- SetTimerEx("DelayDestroyCar",3000,0,"i",i);
- return 1;
- }
- }
- }
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new cmd[128], idx, string[128];
- new tmp[128];
- cmd = strtok(cmdtext, idx);
- if (strcmp("/carhelp", cmd, true, 10) == 0)
- {
- if(IsPlayerConnected(playerid))
- {
- SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
- SendClientMessage(playerid, COLOR_WHITE,"*** AUTO HILFE *** gib einen Befehl ein für mehr Hilfe");
- SendClientMessage(playerid, COLOR_GRAD3,"*** AUTO *** /park /fixcar /carlock /respraycar");
- SendClientMessage(playerid, COLOR_GRAD3,"*** AUTO *** /repaintcar /buycar /carsell /exitcar");
- #if defined CARSELL
- SendClientMessage(playerid, COLOR_GRAD3,"*** AUTO *** /pcarsell /cancelsell /acceptsell");
- #endif
- }
- return 1;
- }
- else if (strcmp("/park", cmd, true, 10) == 0)
- {
- for(new i = 0; i < Max_Player_Cars; i++)
- {
- if (IsPlayerInVehicle(playerid,Carlist[playerid][i][Carid]))
- {
- GetVehiclePos(Carlist[playerid][i][Carid],Carlist[playerid][i][X],Carlist[playerid][i][Y],Carlist[playerid][i][Z]);
- GetVehicleZAngle(Carlist[playerid][i][Carid],Carlist[playerid][i][Rotation]);
- SendClientMessage(playerid, COLOR_GREEN, "Fahrzeug geparkt!");
- return true;
- }
- }
- SendClientMessage(playerid, COLOR_GREY, "Du sitzt nicht in deinem eigenen Auto!");
- return 1;
- }
- else if (strcmp("/fixcar", cmd, true, 10) == 0)
- {
- tmp = strtok(cmdtext, idx);
- if(!tmp[0])
- {
- format(tmp, 128, "Verwendung: /repaintcar [1 - %d]", Max_Player_Cars);
- SendClientMessage(playerid, COLOR_WHITE, tmp);
- return true;
- }
- new i = strval(tmp);
- if (Carlist[playerid][i][Typ]!=-1)
- {
- if (Carlist[playerid][i][Status]==0)
- {
- new reparatur = Kaufliste[Carlist[playerid][i][Typ]][Reparatur];
- if (reparatur <= GetPlayerMoney(playerid))
- {
- Carlist[playerid][i][Status]=1;
- Carlist[playerid][i][Carid]=CreateTunedCar(playerid, i);
- GivePlayerMoney(playerid, - reparatur);
- format(string, 128, "Du hast dein Auto für $%i reparieren lassen! Es steht nun am letzten Parkpunkt für dich bereit.", reparatur);
- SendClientMessage(playerid, COLOR_RED, string);
- }
- else { format(string, 128, "Du hast nicht genug Geld für die Reparatur (benötigt: $%i)!", reparatur); SendClientMessage(playerid, COLOR_LIGHTRED, string); }
- }
- else { SendClientMessage(playerid, COLOR_GREY, "Dein Auto benötigt keine Reparatur!"); }
- }
- else { SendClientMessage(playerid, COLOR_GREY, "Du besitzt kein Auto auf diesen Slot!"); }
- return 1;
- }
- else if (strcmp("/carlock", cmd, true, 10) == 0)
- {
- tmp = strtok(cmdtext, idx);
- if(!tmp[0])
- {
- format(tmp, 128, "Verwendung: /repaintcar [1 - %d]", Max_Player_Cars);
- SendClientMessage(playerid, COLOR_WHITE, tmp);
- return true;
- }
- new i = strval(tmp);
- if (Carlist[playerid][i][Typ]!=-1)
- {
- if (Carlist[playerid][i][Carid]!=-1)
- {
- if (Carlist[playerid][i][Lock]==0)
- {
- Carlist[playerid][i][Lock]=1;
- SetVehicleParamsForAll(Carlist[playerid][i][Carid],0,1);
- SetVehicleParamsForPlayer(Carlist[playerid][i][Carid],playerid,0,0);
- SendClientMessage(playerid, COLOR_RED, "Du hast dein Auto für andere Spieler abgeschlossen!");
- }
- else
- {
- Carlist[playerid][i][Lock]=0;
- SetVehicleParamsForAll(Carlist[playerid][i][Carid],0,0);
- SendClientMessage(playerid, COLOR_RED, "Du hast dein Auto für andere Spieler aufgeschlossen!");
- }
- }
- else { SendClientMessage(playerid, COLOR_GREY, "Du besitzt zur Zeit kein Auto auf diesen Slot!"); }
- }
- else { SendClientMessage(playerid, COLOR_GREY, "Du besitzt kein Auto auf diesen Slot!"); }
- return 1;
- }
- else if (strcmp("/respraycar", cmd, true, 10) == 0)
- {
- tmp = strtok(cmdtext, idx);
- if(!tmp[0])
- {
- format(tmp, 128, "Verwendung: /repaintcar [1 - %d]", Max_Player_Cars);
- SendClientMessage(playerid, COLOR_WHITE, tmp);
- return true;
- }
- new i = strval(tmp);
- if (Carlist[playerid][i][Typ]!=-1)
- {
- if (Carlist[playerid][i][Carid]!=-1)
- {
- ChangeVehicleColor(Carlist[playerid][i][Carid],Carlist[playerid][i][Farbe1],Carlist[playerid][i][Farbe2]);
- SendClientMessage(playerid, COLOR_RED, "Dein Auto wurde neu lackiert!");
- }
- else { SendClientMessage(playerid, COLOR_GREY, "Du besitzt zur Zeit kein Auto auf diesen Slot!"); }
- }
- else { SendClientMessage(playerid, COLOR_GREY, "Du besitzt kein Auto auf diesen Slot!"); }
- return 1;
- }
- else if (strcmp("/repaintcar", cmd, true, 10) == 0)
- {
- tmp = strtok(cmdtext, idx);
- if(!tmp[0])
- {
- format(tmp, 128, "Verwendung: /repaintcar [1 - %d]", Max_Player_Cars);
- SendClientMessage(playerid, COLOR_WHITE, tmp);
- return true;
- }
- new i = strval(tmp);
- if (Carlist[playerid][i][Typ]!=-1)
- {
- if (Carlist[playerid][i][Carid]!=-1)
- {
- if (Carlist[playerid][i][Paintjob]!=-1)
- {
- ChangeVehiclePaintjob(Carlist[playerid][i][Carid],Carlist[playerid][i][Paintjob]);
- SendClientMessage(playerid, COLOR_RED, "Dein Auto wurde neu lackiert!");
- }
- else { SendClientMessage(playerid, COLOR_GREY, "Du hast keinen Paintjob für dein Auto!"); }
- }
- else { SendClientMessage(playerid, COLOR_GREY, "Du besitzt zur Zeit kein Auto auf diesen Slot!"); }
- }
- else { SendClientMessage(playerid, COLOR_GREY, "Du besitzt kein Auto auf diesen Slot!"); }
- return 1;
- }
- else if (strcmp("/exitcar", cmd, true, 10) == 0)
- {
- if (Spectating[playerid][0]!=-1)
- {
- TogglePlayerControllable(playerid,1);
- SetVehicleParamsForAll(Kaufliste[Spectating[playerid][0]][Carid],0,0);
- Spectating[playerid][0]=-1;
- RemovePlayerFromVehicle(playerid);
- }
- else { SendClientMessage(playerid, COLOR_GREY, "Du besichtigst kein Auto!"); }
- return 1;
- }
- else if(strcmp("/carsell", cmd, true, 10) == 0)
- {
- for(new i = 0; i < Max_Player_Cars; i++)
- {
- if (Carlist[playerid][i][Carid] == GetPlayerVehicleID(playerid))
- {
- new preis = (Kaufliste[Carlist[playerid][i][Typ]][Preis]/5)*4;
- if (IsPlayerInVehicle(playerid,Carlist[playerid][i][Carid])) { RemovePlayerFromVehicle(playerid); }
- GivePlayerMoney(playerid, preis);
- DestroyVehicle(Carlist[playerid][i][Carid]);
- Carlist[playerid][i][Typ]=-1; Carlist[playerid][i][X]=0.0; Carlist[playerid][i][Y]=0.0; Carlist[playerid][i][Z]=0.0;
- Carlist[playerid][i][Rotation]=0.0; Carlist[playerid][i][Status]=0; Carlist[playerid][i][Lock]=0; Carlist[playerid][i][Carid]=-1;
- Carlist[playerid][i][Farbe1]=-1; Carlist[playerid][i][Farbe2]=-1; Carlist[playerid][i][mod1]=-1; Carlist[playerid][i][mod2]=-1;
- Carlist[playerid][i][mod3]=-1; Carlist[playerid][i][mod4]=-1; Carlist[playerid][i][mod5]=-1; Carlist[playerid][i][mod6]=-1;
- Carlist[playerid][i][mod7]=-1; Carlist[playerid][i][mod8]=-1; Carlist[playerid][i][mod9]=-1; Carlist[playerid][i][mod10]=-1;
- Carlist[playerid][i][mod11]=-1; Carlist[playerid][i][mod12]=-1; Carlist[playerid][i][mod13]=-1; Carlist[playerid][i][mod14]=-1;
- Carlist[playerid][i][mod15]=-1; Carlist[playerid][i][mod16]=-1; Carlist[playerid][i][mod17]=-1; Carlist[playerid][i][Paintjob]=-1;
- format(string,128,"Du hast erfolgreich dein Auto für $%i verkauft!",preis);
- SendClientMessage(playerid, COLOR_RED, string);
- return true;
- }
- }
- SendClientMessage(playerid, COLOR_GREY, "Du besitzt kein Auto!");
- return 1;
- }
- else if (strcmp("/buycar", cmd, true, 10) == 0)
- {
- if (Spectating[playerid][0]!=-1)
- {
- for(new i = 0; i < Max_Player_Cars; i++)
- {
- if (Carlist[playerid][i][Typ]==-1)
- {
- new preis = Kaufliste[Spectating[playerid][0]][Preis];
- if (preis > GetPlayerMoney(playerid)){ format(string, 128, "Du hast nicht genug Geld für das Auto (benötigt: $%i)!", preis); SendClientMessage(playerid, COLOR_LIGHTRED, string); }
- {
- new autohaus=Kaufliste[Spectating[playerid][0]][Autohaus];
- GivePlayerMoney(playerid, - preis);
- Carlist[playerid][i][Typ]=Spectating[playerid][0]; Carlist[playerid][i][X]=Autospawns[autohaus][X]; Carlist[playerid][i][Y]=Autospawns[autohaus][Y];
- Carlist[playerid][i][Z]=Autospawns[autohaus][Z]; Carlist[playerid][i][Rotation]=Autospawns[autohaus][Rotation]; Carlist[playerid][i][Status]=1; Carlist[playerid][i][Lock]=0;
- Carlist[playerid][i][Carid]=CreateVehicle(Kaufliste[Spectating[playerid][0]][Modelid],Carlist[playerid][i][X],Carlist[playerid][i][Y],Carlist[playerid][i][Z],Carlist[playerid][i][Rotation],-1,-1,-1);
- SetVehicleParamsForAll(Kaufliste[Spectating[playerid][0]][Carid],0,0);
- TogglePlayerControllable(playerid,1);
- Spectating[playerid][0]=-1;
- RemovePlayerFromVehicle(playerid);
- format(string,128,"Du hast dir erfolgreich für $%i ein/einen %s gekauft!",preis,Kaufliste[Carlist[playerid][i][Typ]][Name]);
- SendClientMessage(playerid, COLOR_RED, string);
- SendClientMessage(playerid, COLOR_GREEN, "Wenn du dein Fahrzeug zerstörst, gib /fixcar ein.");
- SendClientMessage(playerid, COLOR_GREEN, "Mit /carlock kannst du dein Fahrzeug für andere Leute freigeben oder abschließen.");
- SendClientMessage(playerid, COLOR_GREEN, "Mehr Befehle kannst du unter /carhelp sehen.");
- SendClientMessage(playerid, COLOR_YELLOW, "Dein Auto steht am Ausgabepunkt bereit! Viel Spaß beim Fahren!");
- }
- }
- }
- format(tmp, 128, "Du besitzt bereits %d Autos", Max_Player_Cars);
- SendClientMessage(playerid, COLOR_GREY, tmp);
- }
- else SendClientMessage(playerid, COLOR_GREY, "Du besichtigst kein Auto!");
- return true;
- }
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- if(newstate == PLAYER_STATE_DRIVER)
- {
- new vehicleid = GetPlayerVehicleID(playerid);
- new typ;
- typ=IsAutohausCar(vehicleid);
- if(typ!=-1)
- {
- new string[128];
- TogglePlayerControllable(playerid,0);
- Spectating[playerid][0]=typ;
- SetVehicleParamsForAll(vehicleid,0,1);
- SendClientMessage(playerid, COLOR_YELLOW, "~*~ Autohaus ~*~");
- format(string,128,"Name: %s",Kaufliste[typ][Name]);
- SendClientMessage(playerid, COLOR_YELLOW, string);
- format(string,128,"Preis: $%i",Kaufliste[typ][Preis]);
- SendClientMessage(playerid, COLOR_YELLOW, string);
- format(string,128,"Reparaturkosten: $%i",Kaufliste[typ][Reparatur]);
- SendClientMessage(playerid, COLOR_YELLOW, string);
- SendClientMessage(playerid, COLOR_GREEN, "Dieses Fahrzeug ist zu verkaufen. Um es zu kaufen, benutze: /buycar");
- SendClientMessage(playerid, COLOR_GREEN, "Um das Fahrzeug zu verlassen, benutze: /exitcar");
- }
- }
- return 1;
- }
- public OnVehicleMod(playerid,vehicleid,componentid)
- {
- for(new i = 0; i < Max_Player_Cars; i++)
- {
- if (playerid!=GetPlayerFromCarlistCar(vehicleid)) {return 1;}
- if(playerid!=-1)
- {
- new mod=GetModType(componentid);
- switch (mod)
- {
- case 1: { Carlist[playerid][i][mod1]=componentid; }
- case 2: { Carlist[playerid][i][mod2]=componentid; }
- case 3: { Carlist[playerid][i][mod3]=componentid; }
- case 4: { Carlist[playerid][i][mod4]=componentid; }
- case 5: { Carlist[playerid][i][mod5]=componentid; }
- case 6: { Carlist[playerid][i][mod6]=componentid; }
- case 7: { Carlist[playerid][i][mod7]=componentid; }
- case 8: { Carlist[playerid][i][mod8]=componentid; }
- case 9: { Carlist[playerid][i][mod9]=componentid; }
- case 10: { Carlist[playerid][i][mod10]=componentid; }
- case 11: { Carlist[playerid][i][mod11]=componentid; }
- case 12: { Carlist[playerid][i][mod12]=componentid; }
- case 13: { Carlist[playerid][i][mod13]=componentid; }
- case 14: { Carlist[playerid][i][mod14]=componentid; }
- case 15: { Carlist[playerid][i][mod15]=componentid; }
- case 16: { Carlist[playerid][i][mod16]=componentid; }
- case 17: { Carlist[playerid][i][mod17]=componentid; }
- default: { new string[128]; format(string,128,"Unbekannte Komponentenid: %i",componentid); print(string); }
- }
- }
- }
- return 1;
- }
- public OnVehiclePaintjob(playerid,vehicleid, paintjobid)
- {
- for(new i = 0; i < Max_Player_Cars; i++)
- {
- if (playerid!=GetPlayerFromCarlistCar(vehicleid)) {return 1;}
- if(playerid!=-1)
- {
- Carlist[playerid][i][Paintjob]=paintjobid;
- }
- }
- return 1;
- }
- public OnVehicleRespray(playerid,vehicleid, color1, color2)
- {
- for(new i= 0; i < Max_Player_Cars; i++)
- {
- if (playerid!=GetPlayerFromCarlistCar(vehicleid)) {return 1;}
- if(playerid!=-1)
- {
- Carlist[playerid][i][Farbe1]=color1;
- Carlist[playerid][i][Farbe2]=color2;
- }
- }
- return 1;
- }
- public SetVehicleParamsForAll(carid,objective,doorslocked)
- {
- new i;
- for(i=0; i<MAX_PLAYERS; i++) { SetVehicleParamsForPlayer(carid,i,objective,doorslocked); }
- }
- public CreateTunedCar(playerid, i)
- {
- if(IsPlayerConnected(playerid) && Carlist[playerid][i][Typ]!=-1)
- {
- new carid=CreateVehicle(Kaufliste[Carlist[playerid][i][Typ]][Modelid],Carlist[playerid][i][X],Carlist[playerid][i][Y],Carlist[playerid][i][Z],Carlist[playerid][i][Rotation],-1,-1,-1);
- if(Carlist[playerid][i][Lock]==1)
- {
- SetVehicleParamsForAll(carid,0,1);
- SetVehicleParamsForPlayer(carid,playerid,0,0);
- }
- if(Carlist[playerid][i][mod1]!=-1) { AddVehicleComponent(carid,Carlist[playerid][i][mod1]); }
- if(Carlist[playerid][i][mod2]!=-1) { AddVehicleComponent(carid,Carlist[playerid][i][mod2]); }
- if(Carlist[playerid][i][mod3]!=-1) { AddVehicleComponent(carid,Carlist[playerid][i][mod3]); }
- if(Carlist[playerid][i][mod4]!=-1) { AddVehicleComponent(carid,Carlist[playerid][i][mod4]); }
- if(Carlist[playerid][i][mod5]!=-1) { AddVehicleComponent(carid,Carlist[playerid][i][mod5]); }
- if(Carlist[playerid][i][mod6]!=-1) { AddVehicleComponent(carid,Carlist[playerid][i][mod6]); }
- if(Carlist[playerid][i][mod7]!=-1) { AddVehicleComponent(carid,Carlist[playerid][i][mod7]); }
- if(Carlist[playerid][i][mod8]!=-1) { AddVehicleComponent(carid,Carlist[playerid][i][mod8]); }
- if(Carlist[playerid][i][mod9]!=-1) { AddVehicleComponent(carid,Carlist[playerid][i][mod9]); }
- if(Carlist[playerid][i][mod10]!=-1) { AddVehicleComponent(carid,Carlist[playerid][i][mod10]); }
- if(Carlist[playerid][i][mod11]!=-1) { AddVehicleComponent(carid,Carlist[playerid][i][mod11]); }
- if(Carlist[playerid][i][mod12]!=-1) { AddVehicleComponent(carid,Carlist[playerid][i][mod12]); }
- if(Carlist[playerid][i][mod13]!=-1) { AddVehicleComponent(carid,Carlist[playerid][i][mod13]); }
- if(Carlist[playerid][i][mod14]!=-1) { AddVehicleComponent(carid,Carlist[playerid][i][mod14]); }
- if(Carlist[playerid][i][mod15]!=-1) { AddVehicleComponent(carid,Carlist[playerid][i][mod15]); }
- if(Carlist[playerid][i][mod16]!=-1) { AddVehicleComponent(carid,Carlist[playerid][i][mod16]); }
- if(Carlist[playerid][i][mod17]!=-1) { AddVehicleComponent(carid,Carlist[playerid][i][mod17]); }
- if(Carlist[playerid][i][Paintjob]!=-1) { ChangeVehiclePaintjob(carid,Carlist[playerid][i][Paintjob]); }
- if(Carlist[playerid][i][Farbe1]!=-1) { ChangeVehicleColor(carid,Carlist[playerid][i][Farbe1],Carlist[playerid][i][Farbe2]); }
- return carid;
- }
- return -1;
- }
- public DelayDestroyCar(playerid)
- {
- for(new i= 0; i< Max_Player_Cars; i++)
- {
- SetVehicleParamsForAll(Carlist[playerid][i][Carid],0,0);
- DestroyVehicle(Carlist[playerid][i][Carid]);
- Carlist[playerid][i][Status]=0;
- Carlist[playerid][i][Carid]=-1;
- }
- return 1;
- }
- public DelaySetVehicleParams(playerid)
- {
- if(!IsPlayerConnected(playerid)) { return 0; }
- new i;
- for(i=0; i<MAX_PLAYERS; i++)
- {
- for(new i2 = 0; i2 < Max_Player_Cars; i2++)
- {
- if(Carlist[i][i2][Carid]!=-1 && Carlist[i][i2][Lock]==1) { SetVehicleParamsForPlayer(Carlist[i][i2][Carid],playerid,0,1); }
- if(Spectating[i][0]!=-1) { SetVehicleParamsForPlayer(Kaufliste[Spectating[i][0]][Carid],playerid,0,1); }
- }
- }
- return 1;
- }
- public ResetAutohausSpawns()
- {
- new i;
- for(i=0; i<sizeof(Kaufliste); i++) { SetVehicleToRespawn(Kaufliste[i][Carid]); }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement