yuras0401
Умник
Попрошу админов не удалять тему, и пользователей не задавать глупых вопросов и не получать глупых ответов)) и так начнём
Добавляем
Добавляем enum
В паблик OnGameModeInit
В паблик CarEnter()
Далее делаем новый паблик
Делаем еще паблики
Далее делаем новый сток
))И еще паблик)))
Теперь команда парк
Компилируем Вам выдаст примерно такое
Тогда добавим в верх мода после инклудов
Комманду /addveh пока добавлять не будем, потому-что я еще не знаю как убрать ошибки, кому помог ставим +
Добавляем
PHP:
#include <streamer>
new Float:kilom[MAX_VEHICLES];
new CAR_PROD=600;
new Text3D:nomer[MAX_VEHICLES];
new RightBlink[MAX_VEHICLES]; new LeftBlink[MAX_VEHICLES];
new lockedcar[MAX_VEHICLES];
new windowcar[MAX_VEHICLES];
new engine[MAX_VEHICLES];
new Turn[MAX_VEHICLES][4];
#define SPAWN_CARS 600
#define COLOR_GREY 0xAFAFAFAA
forward LoadAuto();
forward SaveAuto();
forward TuneCar();
forward CarEnter(playerid,carid);
forward split(const strsrc[], strdest[][], delimiter);
PHP:
enum pInfo
{
pKey[128],
pLevel,
pAdmin,
pHelper,
pDonateRank,
gPupgrade,
pConnectTime,
pReg,
pSex,
pAge,
pOrigin,
pBanned,
pMute,
pMuteTime,
pExp,
pMoney,
pAccount,
pCrimes,
pDeaths,
pArrested,
pWantedDeaths,
pPhoneBook,
pLottoNr,
pFishes,
pKills,
pBiggestFish,
pJob,
pPayCheck,
pHeadValue,
pJailed,
pJailTime,
pMats,
pDrugs,
pLeader,
pMember,
pRank,
pChar,
pContractTime,
pDetSkill,
pSexSkill,
pBoxSkill,
pLawSkill,
pMechSkill,
pJackSkill,
pCarSkill,
pNewsSkill,
pDrugsSkill,
pCookSkill,
pFishSkill,
pCourierSkill,
pRDrugsSkill,
Float:pHealth,
Float:pSHealth,
pInt,
pLocal,
pTeam,
pPnumber,
pPhousekey,
pPbiskey,
Float:pPos_x,
Float:pPos_y,
Float:pPos_z,
pCarLic,
pFlyLic,
pBoatLic,
pFishLic,
pGunLic,
pMotoLic,
pGun1,
pGun2,
pGun3,
pGun4,
pAmmo1,
pAmmo2,
pAmmo3,
pAmmo4,
pCarTime,
pPayDay,
pPayDayHad,
pCDPlayer,
pWins,
pLoses,
pAlcoholPerk,
pDrugPerk,
pMiserPerk,
pPainPerk,
pTraderPerk,
pTut,
pRent,
pWarns,
ptMoney,
ptDrugs,
ptMats,
pAdjustable,
pFuel,
pMarried,
pMarriedTo[256],
pWanted,
pChest,
pFWarns,
pPlant,
pTrava,
pMedicaments,
pFlatKey, // Êâàðòèðà
pRadio, // Ðàöèÿ
pTestTime, // Ïåðåñäà÷à òåñòà
pCarKey,
pCarKey2,
pCarKey3,
};
new PlayerInfo[MAX_PLAYERS][pInfo];
enum aInfo
{
aStats,//êóïëåíà èëè íåò
aModel,// ìîäåëü
Float:aAutoX,
Float:aAutoY,
Float:aAutoZ,
Float:aAutoAngle,
aColor1,
aColor2,
aOwner[MAX_PLAYER_NAME],//âëàäåëåö
aPrice,//öåíà
aKey,//ëâë
aLock,//øòðàô
a0,
a1,
a2,
a3,
a4,
a5,
a6,
a7,
a8,
a9,
a10,
a11,
a12,
a13,
aPaintJob,
};
new AutoInfo[MAX_VEHICLES][aInfo];
enum eCars
{
model_id,
Float:pos_x,
Float:pos_y,
Float:pos_z,
Float:z_angle,
};
new CarSpawns[1][eCars] = {
{562,2787.79980469,-1672.00000000,9.60000038,0.00000000}
};// кординаты свои, [1] - кол-во машин(кординат)
PHP:
for(new c=0;c<MAX_VEHICLES;c++)
{
AutoInfo[c][aStats] = -1;
lockedcar[c] = 0;
windowcar[c] = 1;
engine[c] = 0;
}
LoadAuto();
for(new h = 0; h < 330; h++)
{
CreateVehicle(AutoInfo[h][aModel], AutoInfo[h][aAutoX], AutoInfo[h][aAutoY], AutoInfo[h][aAutoZ], AutoInfo[h][aAutoAngle], AutoInfo[h][aColor1], AutoInfo[h][aColor2],SPAWN_CARS);
if(AutoInfo[h][aStats] == 0)
{
new strings[256];
format(strings,sizeof(strings),"Транспорт продаётся\nУровень: %d\nЦена: %d",AutoInfo[h][aKey],AutoInfo[h][aPrice]);
nomer[h] = CreateDynamic3DTextLabel(strings, 0xBFF600FF, AutoInfo[h][aAutoX], AutoInfo[h][aAutoY], AutoInfo[h][aAutoZ], 15.0, INVALID_PLAYER_ID,h,0,-1,-1,-1,15.0);
}
else
{
new strings[256];
format(strings,sizeof(strings),"ID: %d\nВладелец: %s",h,AutoInfo[h][aOwner]);
nomer[h] = CreateDynamic3DTextLabel(strings, 0xBFF600FF, AutoInfo[h][aAutoX], AutoInfo[h][aAutoY], AutoInfo[h][aAutoZ], 15.0, INVALID_PLAYER_ID,h,0,-1,-1,-1,15.0);
}
}
PHP:
public CarEnter(playerid,carid)
{
if(AutoInfo[carid][aStats]==0)
{
new string[512];
format(string,sizeof(string),"Óðîâåíü: %d\nÑòîèìîñòü: %d\nÎáúåì áàêà: %d ëèòðîâ\nÏðîáåã: %.4f êì\nÂâåäèòå 2 öâåòà ÷åðåç çàïÿòóþ â îêîøêî\nÏðèìåð: [2,6] áåç êâàäðàòíûõ ñêîáîê è ïðîáåëîâ!\nÅñëè íå ââåäåòå, òî öâåò îñòàíåòñÿ òàêèì, êàêîé óñòàíîâëåí ñåé÷àñ",
AutoInfo[carid][aKey], AutoInfo[carid][aPrice],GetVehicleGasType(carid),kilom[carid]);
ShowPlayerDialog(playerid,920,DIALOG_STYLE_INPUT,"Àâòîðûíîê",string,"Ïðèíÿòü","Îòìåíà");
}
return 1;
}
PHP:
public OnVehicleSpawn(vehicleid)
{
new carid;
carid = vehicleid;
DestroyObject(Turn[carid][0]);
DestroyObject(Turn[carid][1]);
RightBlink[carid] = 0;
DestroyObject(Turn[carid][2]);
DestroyObject(Turn[carid][3]);
LeftBlink[carid] = 0;
if(AutoInfo[vehicleid][a0] != 0)
{
AddVehicleComponent(vehicleid, AutoInfo[vehicleid][a0]);
}
if(AutoInfo[vehicleid][a1] != 0)
{
AddVehicleComponent(vehicleid, AutoInfo[vehicleid][a1]);
}
if(AutoInfo[vehicleid][a2] != 0)
{
AddVehicleComponent(vehicleid, AutoInfo[vehicleid][a2]);
}
if(AutoInfo[vehicleid][a3] != 0)
{
AddVehicleComponent(vehicleid, AutoInfo[vehicleid][a3]);
}
if(AutoInfo[vehicleid][a4] != 0)
{
AddVehicleComponent(vehicleid, AutoInfo[vehicleid][a4]);
}
if(AutoInfo[vehicleid][a5] != 0)
{
AddVehicleComponent(vehicleid, AutoInfo[vehicleid][a5]);
}
if(AutoInfo[vehicleid][a6] != 0)
{
AddVehicleComponent(vehicleid, AutoInfo[vehicleid][a6]);
}
if(AutoInfo[vehicleid][a7] != 0)
{
AddVehicleComponent(vehicleid, AutoInfo[vehicleid][a7]);
}
if(AutoInfo[vehicleid][a8] != 0)
{
AddVehicleComponent(vehicleid, AutoInfo[vehicleid][a8]);
}
if(AutoInfo[vehicleid][a9] != 0)
{
AddVehicleComponent(vehicleid, AutoInfo[vehicleid][a9]);
}
if(AutoInfo[vehicleid][a10] != 0)
{
AddVehicleComponent(vehicleid, AutoInfo[vehicleid][a10]);
}
if(AutoInfo[vehicleid][a11] != 0)
{
AddVehicleComponent(vehicleid, AutoInfo[vehicleid][a11]);
}
if(AutoInfo[vehicleid][a12] != 0)
{
AddVehicleComponent(vehicleid, AutoInfo[vehicleid][a12]);
}
if(AutoInfo[vehicleid][a13] != 0)
{
AddVehicleComponent(vehicleid, AutoInfo[vehicleid][a13]);
}
if(AutoInfo[vehicleid][aPaintJob] != 0)
{
ChangeVehiclePaintjob(vehicleid,AutoInfo[vehicleid][aPaintJob]);
}
return 1;
}
PHP:
public LoadAuto()
{
new arrCoords[26][64];
new strFromFile2[256];
new File: file = fopen("auto.cfg", io_read);
if (file)
{
new idx;
while (idx < CAR_PROD)
{
fread(file, strFromFile2);
split(strFromFile2, arrCoords, ',');
AutoInfo[idx+1][aStats] = strval(arrCoords[0]);
AutoInfo[idx+1][aModel] = strval(arrCoords[1]);
AutoInfo[idx+1][aAutoX] = floatstr(arrCoords[2]);
AutoInfo[idx+1][aAutoY] = floatstr(arrCoords[3]);
AutoInfo[idx+1][aAutoZ] = floatstr(arrCoords[4]);
AutoInfo[idx+1][aAutoAngle] = floatstr(arrCoords[5]);
AutoInfo[idx+1][aColor1] = strval(arrCoords[6]);
AutoInfo[idx+1][aColor2] = strval(arrCoords[7]);
strmid(AutoInfo[idx+1][aOwner], arrCoords[8], 0, strlen(arrCoords[8]), 255);
AutoInfo[idx+1][aPrice] = strval(arrCoords[9]);
AutoInfo[idx+1][aKey] = strval(arrCoords[10]);
AutoInfo[idx+1][a0] = strval(arrCoords[11]);
AutoInfo[idx+1][a1] = strval(arrCoords[12]);
AutoInfo[idx+1][a2] = strval(arrCoords[13]);
AutoInfo[idx+1][a3] = strval(arrCoords[14]);
AutoInfo[idx+1][a4] = strval(arrCoords[15]);
AutoInfo[idx+1][a5] = strval(arrCoords[16]);
AutoInfo[idx+1][a6] = strval(arrCoords[17]);
AutoInfo[idx+1][a7] = strval(arrCoords[18]);
AutoInfo[idx+1][a8] = strval(arrCoords[19]);
AutoInfo[idx+1][a9] = strval(arrCoords[20]);
AutoInfo[idx+1][a10] = strval(arrCoords[21]);
AutoInfo[idx+1][a11] = strval(arrCoords[22]);
AutoInfo[idx+1][a12] = strval(arrCoords[23]);
AutoInfo[idx+1][a13] = strval(arrCoords[24]);
AutoInfo[idx+1][aPaintJob] = strval(arrCoords[25]);
idx++;
}
fclose(file);
}
return 1;
}
public SaveAuto()
{
new idx;
new File: file2;
while (idx < CAR_PROD)
{
new coordsstring[256];
format(coordsstring, sizeof(coordsstring), "%d,%d,%f,%f,%f,%f,%d,%d,%s,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",
AutoInfo[idx+1][aStats],
AutoInfo[idx+1][aModel],
AutoInfo[idx+1][aAutoX],
AutoInfo[idx+1][aAutoY],
AutoInfo[idx+1][aAutoZ],
AutoInfo[idx+1][aAutoAngle],
AutoInfo[idx+1][aColor1],
AutoInfo[idx+1][aColor2],
AutoInfo[idx+1][aOwner],
AutoInfo[idx+1][aPrice],
AutoInfo[idx+1][aKey],
AutoInfo[idx+1][aLock],
AutoInfo[idx+1][a0],
AutoInfo[idx+1][a1],
AutoInfo[idx+1][a2],
AutoInfo[idx+1][a3],
AutoInfo[idx+1][a4],
AutoInfo[idx+1][a5],
AutoInfo[idx+1][a6],
AutoInfo[idx+1][a7],
AutoInfo[idx+1][a8],
AutoInfo[idx+1][a9],
AutoInfo[idx+1][a10],
AutoInfo[idx+1][a11],
AutoInfo[idx+1][a12],
AutoInfo[idx+1][a13],
AutoInfo[idx+1][aPaintJob]);
if(idx == 0)
{
file2 = fopen("auto.cfg", io_write);
}
else
{
file2 = fopen("auto.cfg", io_append);
}
fwrite(file2, coordsstring);
idx++;
fclose(file2);
}
return 1;
}
public TuneCar()
{
for(new i = 0; i < CAR_PROD; i++)
{
if(AutoInfo[i][a0] != 0)
{
AddVehicleComponent(i, AutoInfo[i][a0]);
}
if(AutoInfo[i][a1] != 0)
{
AddVehicleComponent(i, AutoInfo[i][a1]);
}
if(AutoInfo[i][a2] != 0)
{
AddVehicleComponent(i, AutoInfo[i][a2]);
}
if(AutoInfo[i][a3] != 0)
{
AddVehicleComponent(i, AutoInfo[i][a3]);
}
if(AutoInfo[i][a4] != 0)
{
AddVehicleComponent(i, AutoInfo[i][a4]);
}
if(AutoInfo[i][a5] != 0)
{
AddVehicleComponent(i, AutoInfo[i][a5]);
}
if(AutoInfo[i][a6] != 0)
{
AddVehicleComponent(i, AutoInfo[i][a6]);
}
if(AutoInfo[i][a7] != 0)
{
AddVehicleComponent(i, AutoInfo[i][a7]);
}
if(AutoInfo[i][a8] != 0)
{
AddVehicleComponent(i, AutoInfo[i][a8]);
}
if(AutoInfo[i][a9] != 0)
{
AddVehicleComponent(i, AutoInfo[i][a9]);
}
if(AutoInfo[i][a10] != 0)
{
AddVehicleComponent(i, AutoInfo[i][a10]);
}
if(AutoInfo[i][a11] != 0)
{
AddVehicleComponent(i, AutoInfo[i][a11]);
}
if(AutoInfo[i][a12] != 0)
{
AddVehicleComponent(i, AutoInfo[i][a12]);
}
if(AutoInfo[i][a13] != 0)
{
AddVehicleComponent(i, AutoInfo[i][a13]);
}
if(AutoInfo[i][aPaintJob] != 0)
{
ChangeVehiclePaintjob(i,AutoInfo[i][aPaintJob]);
}
}
return 1;
}
PHP:
stock GetVehicleGasType(carid)
{
new model = GetVehicleModel(carid);
switch(model)
{
case 400:return 70;
case 401:return 70;
case 402:return 70;
case 403:return 100;
case 404:return 50;
case 405:return 60;
case 406..408:return 100;
case 409:return 60;
case 410:return 45;
case 411:return 80;
case 412:return 50;
case 413:return 80;
case 414:return 70;
case 415:return 60;
case 416:return 80;
case 417:return 250;
case 418:return 50;
case 419:return 55;
case 420:return 60;
case 421:return 60;
case 422:return 50;
case 423:return 51;
case 424:return 60;
case 425:return 250;
case 426:return 60;
case 427..428:return 80;
case 429:return 60;
case 430:return 150;
case 431:return 80;
case 432:return 50;
case 433:return 80;
case 434:return 55;
case 436:return 50;
case 437:return 80;
case 438:return 60;
case 439:return 60;
case 440:return 65;
case 442:return 50;
case 443:return 80;
case 444:return 50;
case 445:return 60;
case 446:return 150;
case 447:return 250;
case 448:return 35;
case 451:return 80;
case 452..454:return 150;
case 455..456:return 80;
case 457:return 40;
case 458:return 50;
case 459:return 80;
case 460:return 1;
case 461..463:return 70;
case 466..467: return 50;
case 468:return 70;
case 469:return 250;
case 470:return 80;
case 471:return 40;
case 472..473:return 150;
case 474..475:return 55;
case 476:return 250;
case 477:return 60;
case 478:return 55;
case 479:return 49;
case 480:return 60;
case 482..483:return 70;
case 484:return 150;
case 485:return 50;
case 486:return 80;
case 487..488:return 250;
case 489..490:return 60;
case 491..492:return 50;
case 493:return 150;
case 494..495:return 75;
case 496:return 70;
case 497:return 250;
case 498..499:return 60;
case 500:return 60;
case 502..504:return 70;
case 505:return 65;
case 506:return 80;
case 507:return 50;
case 508:return 75;
case 511..513:return 250;
case 514..515:return 80;
case 516..518:return 50;
case 519..520:return 250;
case 521..523:return 60;
case 524:return 80;
case 525:return 80;
case 526..527:return 50;
case 528:return 70;
case 529:return 50;
case 530:return 45;
case 531:return 70;
case 532:return 90;
case 533:return 60;
case 534:return 50;
case 535..536:return 60;
case 539:return 55;
case 540:return 50;
case 541:return 70;
case 542:return 60;
case 543:return 50;
case 544:return 80;
case 545:return 70;
case 546:return 50;
case 547:return 50;
case 548:return 250;
case 549..551:return 50;
case 552:return 60;
case 553:return 250;
case 554:return 60;
case 555:return 70;
case 556..557:return 80;
case 558:return 50;
case 559..560:return 70;
case 561:return 50;
case 562:return 70;
case 563:return 250;
case 565:return 70;
case 566:return 45;
case 567:return 53;
case 568:return 62;
case 571:return 40;
case 572:return 50;
case 573:return 80;
case 574:return 43;
case 575:return 60;
case 576:return 51;
case 577:return 250;
case 578:return 70;
case 579:return 70;
case 580:return 60;
case 581:return 40;
case 582:return 55;
case 583:return 40;
case 585:return 50;
case 586:return 40;
case 587:return 66;
case 588:return 50;
case 589:return 50;
case 592..593:return 250;
case 595:return 150;
case 596..599:return 61;
case 600:return 43;
case 601:return 80;
case 602..603:return 60;
case 604..605:return 50;
case 609:return 65;
default:return 50;
}
return 0;
}
PHP:
public split(const strsrc[], strdest[][], delimiter)
{
new i, li;
new aNum;
new len;
while(i <= strlen(strsrc)){
if(strsrc[i]==delimiter || i==strlen(strsrc)){
len = strmid(strdest[aNum], strsrc, li, i, 128);
strdest[aNum][len] = 0;
li = i+1;
aNum++;
}
i++;
}
return 1;
}
PHP:
if (strcmp(cmdtext, "/park", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pCarKey3] == 0 && PlayerInfo[playerid][pCarKey2] == 0 && PlayerInfo[playerid][pCarKey] == 0)
{
SendClientMessage(playerid,COLOR_GREY,"Ó âàñ íåò òà÷êè");
return 1;
}
if(IsPlayerInAnyVehicle(playerid))
{
new cari = GetPlayerVehicleID(playerid);
if(cari == PlayerInfo[playerid][pCarKey3] || cari == PlayerInfo[playerid][pCarKey2] || cari == PlayerInfo[playerid][pCarKey])
{
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1);
new Float:xcar, Float:ycar, Float:zcar, Float:ancar;
new mods = GetVehicleModel(cari);
GetVehicleZAngle(cari, ancar);
GetVehiclePos(cari,xcar,ycar,zcar);
DestroyVehicle(cari);
CreateVehicle(mods,xcar,ycar,zcar,ancar,AutoInfo[cari][aColor1],AutoInfo[cari][aColor2],SPAWN_CARS);
AutoInfo[cari][aAutoX] = xcar;
AutoInfo[cari][aAutoY] = ycar;
AutoInfo[cari][aAutoZ] = zcar;
AutoInfo[cari][aAutoAngle] = ancar;
SaveAuto();
if(AutoInfo[cari][a0] != 0)
{
AddVehicleComponent(cari, AutoInfo[cari][a0]);
}
if(AutoInfo[cari][a1] != 0)
{
AddVehicleComponent(cari, AutoInfo[cari][a1]);
}
if(AutoInfo[cari][a2] != 0)
{
AddVehicleComponent(cari, AutoInfo[cari][a2]);
}
if(AutoInfo[cari][a3] != 0)
{
AddVehicleComponent(cari, AutoInfo[cari][a3]);
}
if(AutoInfo[cari][a4] != 0)
{
AddVehicleComponent(cari, AutoInfo[cari][a4]);
}
if(AutoInfo[cari][a5] != 0)
{
AddVehicleComponent(cari, AutoInfo[cari][a5]);
}
if(AutoInfo[cari][a6] != 0)
{
AddVehicleComponent(cari, AutoInfo[cari][a6]);
}
if(AutoInfo[cari][a7] != 0)
{
AddVehicleComponent(cari, AutoInfo[cari][a7]);
}
if(AutoInfo[cari][a8] != 0)
{
AddVehicleComponent(cari, AutoInfo[cari][a8]);
}
if(AutoInfo[cari][a9] != 0)
{
AddVehicleComponent(cari, AutoInfo[cari][a9]);
}
if(AutoInfo[cari][a10] != 0)
{
AddVehicleComponent(cari, AutoInfo[cari][a10]);
}
if(AutoInfo[cari][a11] != 0)
{
AddVehicleComponent(cari, AutoInfo[cari][a11]);
}
if(AutoInfo[cari][a12] != 0)
{
AddVehicleComponent(cari, AutoInfo[cari][a12]);
}
if(AutoInfo[cari][a13] != 0)
{
AddVehicleComponent(cari, AutoInfo[cari][a13]);
}
if(AutoInfo[cari][aPaintJob] != 0)
{
ChangeVehiclePaintjob(cari,AutoInfo[cari][aPaintJob]);
}
SendClientMessage(playerid,COLOR_GREY,"Òðàíñïîðò ïðèïàðêîâàí!");
}
else
{
SendClientMessage(playerid,COLOR_GREY,"Âû íå â ñâîåé êóïëåííîé òà÷êå");
}
}
else
{
SendClientMessage(playerid,COLOR_GREY,"Âû íå â òà÷êå");
}
}
return 1;
}
PHP:
warning 203: symbol is never used: "CarSpawns"
PHP:
#pragma unused CarSpawns
Комманду /addveh пока добавлять не будем, потому-что я еще не знаю как убрать ошибки, кому помог ставим +
Последнее редактирование:
