B enum pInfo
pAvtomas, pKolesocar, pPokraska, pSpoiler, pBamper1, pBamper2, pCvet, pNitro, pGidra
B public OnPlayerRegister(playerid, password[])
ini_setInteger(File,"Колёса",PlayerInfo[playerid][pKolesocar]); ini_setInteger(File,"Покраска",PlayerInfo[playerid][pPokraska]); ini_setInteger(File,"Спойлер",PlayerInfo[playerid][pSpoiler]); ini_setInteger(File,"Передний бампер",PlayerInfo[playerid][pBamper1]); ini_setInteger(File,"Задний бампер",PlayerInfo[playerid][pBamper2]); ini_setInteger(File,"Цвет",PlayerInfo[playerid][pCvet]); ini_setInteger(File,"Нитро",PlayerInfo[playerid][pNitro]); ini_setInteger(File,"Гидравлика",PlayerInfo[playerid][pGidra]); ini_setInteger(File,"pAvtomas",PlayerInfo[playerid][pAvtomas]);
B public OnPlayerUpdateRL(playerid)
ini_setInteger(File,"Колёса",PlayerInfo[playerid][pKolesocar]); ini_setInteger(File,"Покраска",PlayerInfo[playerid][pPokraska]); ini_setInteger(File,"Спойлер",PlayerInfo[playerid][pSpoiler]); ini_setInteger(File,"Передний бампер",PlayerInfo[playerid][pBamper1]); ini_setInteger(File,"Задний бампер",PlayerInfo[playerid][pBamper2]); ini_setInteger(File,"Цвет",PlayerInfo[playerid][pCvet]); ini_setInteger(File,"Нитро",PlayerInfo[playerid][pNitro]); ini_setInteger(File,"Гидравлика",PlayerInfo[playerid][pGidra]); ini_setInteger(File,"pAvtomas",PlayerInfo[playerid][pAvtomas]);
B public OnPlayerLogin(playerid,password[])
ini_getInteger(File,"Колёса",PlayerInfo[playerid][pKolesocar]); ini_getInteger(File,"Покраска",PlayerInfo[playerid][pPokraska]); ini_getInteger(File,"Спойлер",PlayerInfo[playerid][pSpoiler]); ini_getInteger(File,"Передний бампер",PlayerInfo[playerid][pBamper1]); ini_getInteger(File,"Задний бампер",PlayerInfo[playerid][pBamper2]); ini_getInteger(File,"Цвет",PlayerInfo[playerid][pCvet]); ini_getInteger(File,"Нитро",PlayerInfo[playerid][pNitro]); ini_getInteger(File,"Гидравлика",PlayerInfo[playerid][pGidra]); ini_getInteger(File,"pAvtomas",PlayerInfo[playerid][pAvtomas]);
new house = PlayerInfo[playerid][pPhousekey]; caridhouse[playerid] = AddStaticVehicleEx(PlayerInfo[playerid][pCar], HouseInfo[house][hCarx], HouseInfo[house][hCary], HouseInfo[house][hCarz], HouseInfo[house][hCarc], PlayerInfo[playerid][pCvet], HouseInfo[house][hVcol2],5600); LockCar(caridhouse[playerid]); createdcar = caridhouse[playerid]; Fuell[caridhouse[createdcar]] = PlayerInfo[playerid][pFuelcar]; createdcar++; format(string,sizeof(string),"%s.ini",sendername); new Filea = ini_openFile(string); ini_getString(Filea,"Numbercar",string); ini_closeFile(Filea); SetVehicleNumberPlate(caridhouse[playerid], string); // CompVeh(caridhouse[playerid]); AddVehicleComponent (caridhouse[playerid], PlayerInfo[playerid][pKolesocar]); AddVehicleComponent (caridhouse[playerid], PlayerInfo[playerid][pNitro]); AddVehicleComponent (caridhouse[playerid], PlayerInfo[playerid][pGidra]); if(PJ(caridhouse[playerid])) { ChangeVehiclePaintjob(caridhouse[playerid], PlayerInfo[playerid][pPokraska]); AddVehicleComponent (caridhouse[playerid], PlayerInfo[playerid][pSpoiler]); AddVehicleComponent (caridhouse[playerid], PlayerInfo[playerid][pBamper1]); AddVehicleComponent (caridhouse[playerid], PlayerInfo[playerid][pBamper2]); } }
Commands
else if (strcmp(cmd, "/tinfo", true) == 0) { if(IsPlayerConnected(playerid)) { new bouse = PlayerInfo[playerid][pAvtomas]; if(bouse == 255) return SendClientMessage(playerid, COLOR_GREY, "У вас нет автомастерской!"); PrintAvtoInfo(playerid,bouse); } return 1; } else if(strcmp(cmd, "/aselltune", true) == 0) { new playername[MAX_PLAYER_NAME]; GetPlayerName(playerid, playername, sizeof(playername)); if(IsPlayerConnected(playerid)) { GetPlayerName(playerid, playername, sizeof(playername)); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD1, "Введите: /aselltune [тюн]"); new biz = strval(tmp); if (PlayerInfo[playerid][pAdmin] >= 5) { format(string, sizeof(string), "%s.ini",AvtoInfo[biz][abOwner]); new File = ini_openFile(string); ini_setInteger(File,"pAvtomas",255); ini_closeFile(File); AvtoInfo[biz][abLocked] = 1; AvtoInfo[biz][abOwned] = 0; AvtoInfo[biz][Poset] = 0; AvtoInfo[biz][Rab] = 0; AvtoInfo[biz][abTill] = 0; AvtoInfo[biz][abArenda] = 0; strmid(AvtoInfo[biz][abOwner], "The State", 0, strlen("The State"), 255); PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0); format(string, sizeof(string), "Мастерская продана"); SendClientMessage(playerid, COLOR_GRAD1,string); format(string, sizeof(string), "Автомастерская: %s\nЦена: %d\nПродаётся",AvtoInfo[biz][abMessage],AvtoInfo[biz][abBuyPrice]); Update3DTextLabelText(AvtoInfo[biz][abLabel], COLOR_YELLOW, string); OnPropUpdate(); return 1; } else { SendClientMessage(playerid, COLOR_WHITE,"Вы не администратор!"); } } return 1; } else if(strcmp(cmd, "/repairdvig", true) == 0) { if(IsPlayerConnected(playerid)) { if(PlayerInfo[playerid][pJob] !=2) return SendClientMessage(playerid, COLOR_GRAD1, "Вы не механик!"); for(new b = 0; b < sizeof(AvtoInfo); b++) { if(!PlayerToPoint(30, playerid,AvtoInfo[b][picX],AvtoInfo[b][picY],AvtoInfo[b][picZ])) return SendClientMessage(playerid, COLOR_GRAD1, "Вы не в мастерской!"); } if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Нельзя использовать в машине"); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "::: Введите: /repairdvig [id]"); giveplayerid = ReturnUser(tmp); if(IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { if (ProxDetectorS(8.0, playerid, giveplayerid)) { if(giveplayerid == playerid) return SendClientMessage(playerid,COLOR_GRAD1,"[Ошибка] Вы указали свой ID"); if(!IsPlayerInAnyVehicle(giveplayerid)) return SendClientMessage(playerid, COLOR_GREY, "Человек не в машине!"); if(repairdvig[giveplayerid] == 0) return SendClientMessage(playerid, COLOR_GREY, "Человек не заказывал ремонт двигателя!"); if(PlayerInfo[giveplayerid][pProz] < 100) { SetVehicleParamsEx(GetPlayerVehicleID(giveplayerid),VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,alarm,doors,VEHICLE_PARAMS_ON,boot,objective); PlayerInfo[giveplayerid][pProz] += 10; SendClientMessage(playerid, COLOR_WHITE, "Двигатель отремонтирован на 10 процентов!"); SendClientMessage(giveplayerid, COLOR_GREEN, "Двигатель отремонтирован на 10 процентов!"); ApplyAnimation(playerid,"GANGS","hndshkba",4.1,0,1,1,1,1,1); //Проваливай! clearanim[playerid] = 7; repairdvig[giveplayerid] = 0; new s; s = MehJob[playerid]; AvtoInfo[s][abTill]+=1000; if(AvtoInfo[s][abTill] < AvtoInfo[s][abZp]) return SendClientMessage(playerid, COLOR_WHITE, "На счету автомастерской нет денег!"); PlayerInfo[playerid][pCash]+=AvtoInfo[s][abZp]; } return 1; } } else { SendClientMessage(playerid, COLOR_GREY, "Человек далеко от Вас"); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, "[Ошибка] Человек не найден!"); return 1; } } return 1; } else if(strcmp(cmd, "/endtune", true) == 0) { if(IsPlayerConnected(playerid)) { if(PlayerInfo[playerid][pJob] !=2) return SendClientMessage(playerid, COLOR_GRAD1, "Вы не механик!"); for(new b = 0; b < sizeof(AvtoInfo); b++) { if(!PlayerToPoint(30, playerid,AvtoInfo[b][picX],AvtoInfo[b][picY],AvtoInfo[b][picZ])) return SendClientMessage(playerid, COLOR_GRAD1, "Вы не в мастерской!"); } if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Нельзя использовать в машине"); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "::: Введите: /endtune [id]"); giveplayerid = ReturnUser(tmp); if(IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { if (ProxDetectorS(10.0, playerid, giveplayerid)) { if(tune[giveplayerid] == 0) return SendClientMessage(playerid, COLOR_WHITE, "Тюнинг еще не был установлен!"); if(repairdvig[giveplayerid] == 1) return SendClientMessage(playerid, COLOR_WHITE, "Человек заказывал ремонт двигателя!"); if(giveplayerid == playerid) return SendClientMessage(playerid,COLOR_GRAD1,"[Ошибка] Вы указали свой ID"); if(!IsPlayerInAnyVehicle(giveplayerid)) return SendClientMessage(playerid, COLOR_GREY, "Человек не в машине!"); SendClientMessage(playerid, COLOR_WHITE, "Тюнинг с данным клиентом завершён!"); SendClientMessage(giveplayerid, COLOR_GREEN, "Тюнинг завершён. Спасибо, что посетили нас!"); SetVehicleVirtualWorld(GetPlayerVehicleID(giveplayerid), 0); tune[giveplayerid] = 0; SetPlayerVirtualWorld(giveplayerid,0); if(MehJob[playerid] == 0) { SetVehiclePos(GetPlayerVehicleID(giveplayerid),1626.6501,2195.7644,10.8203); SetVehicleZAngle(GetPlayerVehicleID(giveplayerid), 180.1691); AvtoInfo[0][Mesto] = 255; } if(MehJob[playerid] == 1) { SetVehiclePos(GetPlayerVehicleID(giveplayerid),-1773.1368,1204.6458,25.1250); SetVehicleZAngle(GetPlayerVehicleID(giveplayerid), 127.5378); AvtoInfo[1][Mesto] = 255; } if(MehJob[playerid] == 2) { SetVehiclePos(GetPlayerVehicleID(giveplayerid),831.0037,-609.1404,16.3359); SetVehicleZAngle(GetPlayerVehicleID(giveplayerid), 352.5133); AvtoInfo[2][Mesto] = 255; } PutPlayerInVehicle(giveplayerid,GetPlayerVehicleID(giveplayerid),0); SetCameraBehindPlayer(giveplayerid); SetPlayerInterior(giveplayerid,0); LinkVehicleToInterior(GetPlayerVehicleID(giveplayerid),0); SetVehicleParamsEx(GetPlayerVehicleID(giveplayerid),VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,alarm,doors,VEHICLE_PARAMS_OFF,boot,objective); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, "Человек далеко от Вас"); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, "[Ошибка] Человек не найден!"); return 1; } } return 1; } else if(strcmp(cmd, "/out", true) == 0) { if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Вы не в машине!"); for(new b = 0; b < sizeof(AvtoInfo); b++) { if(!PlayerToPoint(30, playerid,AvtoInfo[b][picX],AvtoInfo[b][picY],AvtoInfo[b][picZ])) return SendClientMessage(playerid, COLOR_GRAD1, "Вы не в мастерской!"); } SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), 0); tune[playerid] = 0; if(mesto[playerid] == 0) { SetVehiclePos(GetPlayerVehicleID(giveplayerid),1626.6501,2195.7644,10.8203); SetVehicleZAngle(GetPlayerVehicleID(giveplayerid), 180.1691); mesto[playerid] = 999; AvtoInfo[0][Mesto] = 255; } if(mesto[playerid] == 1) { SetVehiclePos(GetPlayerVehicleID(giveplayerid),-1773.1368,1204.6458,25.1250); SetVehicleZAngle(GetPlayerVehicleID(giveplayerid), 127.5378); mesto[playerid] = 999; AvtoInfo[1][Mesto] = 255; } if(mesto[playerid] == 2) { SetVehiclePos(GetPlayerVehicleID(giveplayerid),831.0037,-609.1404,16.3359); SetVehicleZAngle(GetPlayerVehicleID(giveplayerid), 352.5133); mesto[playerid] = 999; AvtoInfo[2][Mesto] = 255; } PutPlayerInVehicle(playerid,GetPlayerVehicleID(playerid),0); SetCameraBehindPlayer(playerid); SetPlayerInterior(playerid,0); LinkVehicleToInterior(GetPlayerVehicleID(playerid),0); } else if(strcmp(cmd, "/next", true) == 0) { if(IsPlayerConnected(playerid)) { if(PlayerInfo[playerid][pJob] !=2) return SendClientMessage(playerid, COLOR_GRAD1, "Вы не механик!"); for(new b = 0; b < sizeof(AvtoInfo); b++) { if(!PlayerToPoint(30, playerid,AvtoInfo[b][picX],AvtoInfo[b][picY],AvtoInfo[b][picZ])) return SendClientMessage(playerid, COLOR_GRAD1, "Вы не в мастерской!"); } if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Нельзя использовать в машине"); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "::: Введите: /next [id]"); giveplayerid = ReturnUser(tmp); if(IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { if (ProxDetectorS(10.0, playerid, giveplayerid)) { if(repairdvig[giveplayerid] == 1) return SendClientMessage(playerid, COLOR_WHITE, "Человек заказывал ремонт двигателя!"); if(giveplayerid == playerid) return SendClientMessage(playerid,COLOR_GRAD1,"[Ошибка] Вы указали свой ID"); if(!IsPlayerInAnyVehicle(giveplayerid)) return SendClientMessage(playerid, COLOR_GREY, "Человек не в машине!"); SendClientMessage(playerid, COLOR_WHITE, "Тюнинг с данным клиентом завершён!"); SendClientMessage(giveplayerid, COLOR_WHITE, "Тюнинг завершён. Спасибо, что посетили нас!"); SetVehicleVirtualWorld(GetPlayerVehicleID(giveplayerid), 0); tune[giveplayerid] = 0; SetPlayerVirtualWorld(giveplayerid,0); if(MehJob[playerid] == 0) { SetVehiclePos(GetPlayerVehicleID(giveplayerid),1626.6501,2195.7644,10.8203); SetVehicleZAngle(GetPlayerVehicleID(giveplayerid), 180.1691); AvtoInfo[0][Mesto] = 255; } if(MehJob[playerid] == 1) { SetVehiclePos(GetPlayerVehicleID(giveplayerid),-1773.1368,1204.6458,25.1250); SetVehicleZAngle(GetPlayerVehicleID(giveplayerid), 127.5378); AvtoInfo[1][Mesto] = 255; } if(MehJob[playerid] == 2) { SetVehiclePos(GetPlayerVehicleID(giveplayerid),831.0037,-609.1404,16.3359); SetVehicleZAngle(GetPlayerVehicleID(giveplayerid), 352.5133); AvtoInfo[2][Mesto] = 255; } PutPlayerInVehicle(giveplayerid,GetPlayerVehicleID(giveplayerid),0); SetCameraBehindPlayer(giveplayerid); SetPlayerInterior(giveplayerid,0); LinkVehicleToInterior(GetPlayerVehicleID(giveplayerid),0); SetVehicleParamsEx(GetPlayerVehicleID(giveplayerid),VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,alarm,doors,VEHICLE_PARAMS_OFF,boot,objective); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, "Человек далеко от Вас"); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, "[Ошибка] Человек не найден!"); return 1; } } return 1; } else if(strcmp(cmd, "/tupdate", true) == 0) { if(IsPlayerConnected(playerid)) { if(PlayerInfo[playerid][pJob] !=2) return SendClientMessage(playerid, COLOR_GRAD1, "Вы не механик!"); for(new b = 0; b < sizeof(AvtoInfo); b++) { if(!PlayerToPoint(30, playerid,AvtoInfo[b][picX],AvtoInfo[b][picY],AvtoInfo[b][picZ])) return SendClientMessage(playerid, COLOR_GRAD1, "Вы не в мастерской!"); } if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Нельзя использовать в машине"); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "::: Введите: /tupdate [id]"); giveplayerid = ReturnUser(tmp); if(IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { if (ProxDetectorS(10.0, playerid, giveplayerid)) { if(giveplayerid == playerid) return SendClientMessage(playerid,COLOR_GRAD1,"[Ошибка] Вы указали свой ID"); if(zakaz[giveplayerid] == 0) return SendClientMessage(playerid, COLOR_GREY, "Человек ни чего не заказывал!"); if(!IsPlayerInAnyVehicle(giveplayerid)) return SendClientMessage(playerid, COLOR_GREY, "Человек не в машине!"); ApplyAnimation(playerid,"GANGS","hndshkba",4.1,0,1,1,1,1,1); clearanim[playerid] = 7; if(Kolesa[giveplayerid] > 0) { PlayerInfo[giveplayerid][pKolesocar] = Kolesa[giveplayerid]; SendClientMessage(playerid, COLOR_WHITE, "Колёса установлены!"); } if(Spoiler[giveplayerid] > 0) { PlayerInfo[giveplayerid][pSpoiler] = Spoiler[giveplayerid]; SendClientMessage(playerid, COLOR_WHITE, "Spoiler установлен!"); } if(Bamper[giveplayerid] > 0) { PlayerInfo[giveplayerid][pBamper1] = Bamper[giveplayerid]; SendClientMessage(playerid, COLOR_WHITE, "Передний бампер установлен!"); } if(Bamper2[giveplayerid] > 0) { PlayerInfo[giveplayerid][pBamper2] = Bamper2[giveplayerid]; SendClientMessage(playerid, COLOR_WHITE, "Задний бампер установлен!"); } if(Cvet[giveplayerid] < 255) { PlayerInfo[giveplayerid][pCvet] = Cvet[giveplayerid]; SendClientMessage(playerid, COLOR_WHITE, "Цвет установлен!"); } if(nitro[giveplayerid] > 0) { PlayerInfo[giveplayerid][pNitro] = nitro[giveplayerid]; SendClientMessage(playerid, COLOR_WHITE, "Нитро установлено!"); } if(gidra[giveplayerid] > 0) { PlayerInfo[giveplayerid][pGidra] = gidra[giveplayerid]; SendClientMessage(playerid, COLOR_WHITE, "Гидравлика установлена!"); } if(repairdvig[giveplayerid] > 0) { SendClientMessage(playerid, COLOR_WHITE, "Данный клиент еще заказывал ремонт двигателя, введите /repairdvig!"); } tune[giveplayerid] = 1; Cvet[giveplayerid] = 255; Spoiler[giveplayerid] = 0; Kolesa[giveplayerid] = 0; Bamper[giveplayerid] = 0; Bamper2[giveplayerid] = 0; nitro[giveplayerid]= 0; gidra[giveplayerid]= 0; SetVehicleToRespawn(GetPlayerVehicleID(giveplayerid)); SetVehiclePos(GetPlayerVehicleID(giveplayerid),608.9133,-14.4088,1000.5442); SetVehicleZAngle(GetPlayerVehicleID(giveplayerid), 335.0551); PutPlayerInVehicle(giveplayerid,GetPlayerVehicleID(giveplayerid),0); ChangeVehicleColor(GetPlayerVehicleID(giveplayerid), PlayerInfo[giveplayerid][pCvet], 1); SendClientMessage(giveplayerid, COLOR_GREEN, "Тюнинг установлен!"); SetPlayerFacingAngle(giveplayerid, 182.338348); SetPlayerCameraPos(giveplayerid,607.4187,-9.2344,1000.9146); // SetPlayerCameraLookAt(giveplayerid,608.4196,-14.1343,1000.5436); zakaz[giveplayerid] = 0; if(Pokraska[giveplayerid] < 255) { PlayerInfo[giveplayerid][pPokraska] = Pokraska[giveplayerid]; SendClientMessage(playerid, COLOR_WHITE, "Покраска установлена!"); ChangeVehiclePaintjob(caridhouse[giveplayerid], Pokraska[giveplayerid]); Pokraska[giveplayerid] = 255; } new s; s = MehJob[playerid]; AvtoInfo[s][abTill]+=1000; if(AvtoInfo[s][abTill] < AvtoInfo[s][abZp]) return SendClientMessage(playerid, COLOR_WHITE, "На счету автомастерской нет денег!"); PlayerInfo[playerid][pCash]+=AvtoInfo[s][abZp]; OnPropUpdate(); OnPlayerUpdateRL(giveplayerid); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, "Человек далеко от Вас"); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, "[Ошибка] Человек не найден!"); return 1; } } return 1; } else if (strcmp(cmd, "/tpanel", true) == 0) { if(IsPlayerConnected(playerid)) { if( PlayerInfo[playerid][pAvtomas] == 255) return SendClientMessage(playerid, COLOR_WHITE, "У вас нет автомастерской!"); new bouse = PlayerInfo[playerid][pAvtomas]; if(!PlayerToPoint(15, playerid,AvtoInfo[bouse][abEntranceX],AvtoInfo[bouse][abEntranceY],AvtoInfo[bouse][abEntranceZ])) { SendClientMessage(playerid, COLOR_WHITE, "Вы слишком далеко от вашей мастерской!"); return 1; } if(bouse == 255) return SendClientMessage(playerid, COLOR_GREY, "У вас нет автомастерской!"); new listitems[] = "{D1DBD0}[1] Перевести на счёт аренды\n{FEBC41}[2] Пополнить счёт автомастерской\n{D1DBD0}[3] Снять деньги с мастерской\n{D1DBD0}[4] Установить зар. плату"; ShowPlayerDialog(playerid, 9592, DIALOG_STYLE_LIST, "Панель управления", listitems, "Выбрать", "Отмена"); } return 1; } else if(strcmp(cmd, "/fixcar", true) == 0) { if(PlayerInfo[playerid][pCash] < 1000) return SendClientMessage(playerid, COLOR_WHITE, "Не достаточно денег!"); if(PlayerInfo[playerid][pPhousekey] !=255) { new house = PlayerInfo[playerid][pPhousekey]; DestroyVehicle(caridhouse[playerid]); caridhouse[playerid] = CreateVehicle(PlayerInfo[playerid][pCar], HouseInfo[house][hCarx], HouseInfo[house][hCary], HouseInfo[house][hCarz], HouseInfo[house][hCarc] , PlayerInfo[playerid][pCvet] , HouseInfo[house][hVcol2],5600); LockCar(caridhouse[playerid]); createdcar = caridhouse[playerid]; Fuell[caridhouse[playerid]] = PlayerInfo[playerid][pFuelcar]; createdcar ++; GameTextForPlayer(playerid, "~r~$-1000", 5000, 1); PlayerInfo[playerid][pCash] -= 1000; PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0); new playername[MAX_PLAYER_NAME]; GetPlayerName(playerid,playername,sizeof(playername)); format(string,sizeof(string),"%s.ini",playername); new File = ini_openFile(string); ini_getString(File,"Numbercar",string); //CompVeh(caridhouse[playerid]); ini_closeFile(File); SetVehicleNumberPlate(caridhouse[playerid], string); AddVehicleComponent (caridhouse[playerid], PlayerInfo[playerid][pKolesocar]); AddVehicleComponent (caridhouse[playerid], PlayerInfo[playerid][pNitro]); AddVehicleComponent (caridhouse[playerid], PlayerInfo[playerid][pGidra]); if(PJ(caridhouse[playerid])) { ChangeVehiclePaintjob(caridhouse[playerid], PlayerInfo[playerid][pPokraska]); AddVehicleComponent (caridhouse[playerid], PlayerInfo[playerid][pSpoiler]); AddVehicleComponent (caridhouse[playerid], PlayerInfo[playerid][pBamper1]); AddVehicleComponent (caridhouse[playerid], PlayerInfo[playerid][pBamper2]); } } return 1; } else if(strcmp(cmd, "/selltune", true) == 0) { if(IsPlayerConnected(playerid)) { new playername[MAX_PLAYER_NAME]; GetPlayerName(playerid, playername, sizeof(playername)); if(PlayerInfo[playerid][pAvtomas] == 255) return SendClientMessage(playerid, COLOR_GREY, "Вы не владелец автомастерской!"); ShowPlayerDialog(playerid,9830,DIALOG_STYLE_MSGBOX,"Продажа автомастерской","Вы уверены что хотите продать автомастерскую?\nОт продажи деньги вернутся только со счета аренды!","Да","Нет");//салон 1 } return 1; }
Создаем паблики
public CompVehDel(playerid) { PlayerInfo[playerid][pKolesocar] = 0; PlayerInfo[playerid][pSpoiler] = 0; PlayerInfo[playerid][pBamper1] = 0; PlayerInfo[playerid][pBamper2] = 0; PlayerInfo[playerid][pPokraska] = 255; PlayerInfo[playerid][pNitro] = 0; PlayerInfo[playerid][pGidra] = 0; return 1; } public CompVeh(vehicleid) { for(new i = 0; i < MAX_PLAYERS; i++) { AddVehicleComponent (vehicleid, PlayerInfo[i][pKolesocar]); AddVehicleComponent (vehicleid, PlayerInfo[i][pNitro]); AddVehicleComponent (vehicleid, PlayerInfo[i][pGidra]); if(PJ(vehicleid)) { ChangeVehiclePaintjob(vehicleid, PlayerInfo[i][pPokraska]); AddVehicleComponent (vehicleid, PlayerInfo[i][pSpoiler]); AddVehicleComponent (vehicleid, PlayerInfo[i][pBamper1]); AddVehicleComponent (vehicleid, PlayerInfo[i][pBamper2]); } } return 1; } public OnVehicleSpawn(vehicleid) { for(new i = 0; i < MAX_PLAYERS; i++) { Fuell[vehicleid] = 50; DestroyPickup(avtopick[vehicleid]); startjob[vehicleid] = 0; //Delete3DTextLabel(Meh3d[vehicleid]); Delete3DTextLabel(JobText1[vehicleid]); Delete3DTextLabel(fare3dtext[vehicleid]); //Delete3DTextLabel(taxi3d[vehicleid]); if(vehicleid == caridhouse[i]) { AddVehicleComponent (caridhouse[i], PlayerInfo[i][pKolesocar]); AddVehicleComponent (caridhouse[i], PlayerInfo[i][pNitro]); AddVehicleComponent (caridhouse[i], PlayerInfo[i][pGidra]); if(PJ(caridhouse[i])) { ChangeVehiclePaintjob(caridhouse[i], PlayerInfo[i][pPokraska]); AddVehicleComponent (caridhouse[i], PlayerInfo[i][pSpoiler]); AddVehicleComponent (caridhouse[i], PlayerInfo[i][pBamper1]); AddVehicleComponent (caridhouse[i], PlayerInfo[i][pBamper2]); } } } return true; } public PrintAvtoInfo(playerid,targetid) { if(IsPlayerConnected(playerid)) { for(new h = 0; h < sizeof(AvtoInfo); h++) { new text1[20]; if(AvtoInfo[targetid][abLocked]) { text1 = "Закрыта"; } else { text1 = "Открыта"; } new bizinfo[250]; format(bizinfo,sizeof(bizinfo),"Автомастерская: %s\nНа счету: %d вирт\nПлата за аренду помещения [в час]: 500 вирт\n\nСостояние открытия: %s\nНа счету аренды: %d вирт\n\n{FA7A1E}Зар. плата рабочим: %d вирт\nРабочих: %d человек(а)\nПосетителей: %d человек(а)", AvtoInfo[targetid][abMessage],AvtoInfo[targetid][abTill],text1,AvtoInfo[targetid][abArenda],AvtoInfo[ targetid][abZp],AvtoInfo[targetid][Rab],AvtoInfo[targetid][Poset]); ShowPlayerDialog(playerid,10349,DIALOG_STYLE_MSGBOX,"Cостояние автомастерской",bizinfo,"Ок",""); } } }
B public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
case 9592: { if(response) { if(listitem == 0) { format(string,sizeof(string), " Введите сумму "); ShowPlayerDialog(playerid,6000,DIALOG_STYLE_INPUT,"Перевод на счёт аренды",string,"Ок","Отмена"); return 1; } else if(listitem == 1) { format(string,sizeof(string), " Введите сумму "); ShowPlayerDialog(playerid,6001,DIALOG_STYLE_INPUT,"Пополнить счёт автомастерской",string,"Ок","Отмена"); return 1; } else if(listitem == 2) { format(string,sizeof(string), " Введите сумму "); ShowPlayerDialog(playerid,6002,DIALOG_STYLE_INPUT,"Снять деньги с автомастерской",string,"Ок","Отмена"); return 1; } else if(listitem == 3) { format(string,sizeof(string), " Введите сумму "); ShowPlayerDialog(playerid,6003,DIALOG_STYLE_INPUT,"Зар. плата рабочим",string,"Ок","Отмена"); return 1; } } else { return 1; } } case 6000: { if(response) { new bouse = PlayerInfo[playerid][pAvtomas]; if(!strlen(inputtext))// если оставляет пустую строку, выводим ему опять окно { format(string,sizeof(string), " Введите сумму "); ShowPlayerDialog(playerid,6000,DIALOG_STYLE_INPUT,"Перевод на счёт аренды",string,"Ок","Отмена"); } new moneys; moneys = strval(inputtext); if(moneys < 1 || moneys > 50000) { SendClientMessage(playerid, COLOR_GREY, "Минимальная сумма перевода - 1, максимальная - 100000!"); format(string,sizeof(string), " Введите сумму "); ShowPlayerDialog(playerid,6000,DIALOG_STYLE_INPUT,"Перевод на счёт аренды",string,"Ок","Отмена"); return 1; } if(AvtoInfo[bouse][abArenda] >= 50000) return SendClientMessage(playerid, COLOR_GRAD1, "Пополнение счёта аренды больше не возможно!"); if(PlayerInfo[playerid][pBank] < moneys) return SendClientMessage(playerid, COLOR_GRAD1, "У вас нет столько денег на вашем банковском счету!"); PlayerInfo[playerid][pBank] -= moneys; AvtoInfo[bouse][abArenda] +=moneys; format(string, sizeof(string), "Вы положили на счёт аренды %d вирт. На счету аренды: %d вирт", moneys,AvtoInfo[bouse][abArenda]); SendClientMessage(playerid, 0x6495EDFF, string); return 1; } else { return 1; } } case 6001: { if(response) { new bouse = PlayerInfo[playerid][pAvtomas]; if(!strlen(inputtext))// если оставляет пустую строку, выводим ему опять окно { format(string,sizeof(string), " Введите сумму "); ShowPlayerDialog(playerid,6001,DIALOG_STYLE_INPUT,"Перевод на счёт мастерской",string,"Ок","Отмена"); } new moneys; moneys = strval(inputtext); if(moneys < 1 || moneys > 100000) { SendClientMessage(playerid, COLOR_GREY, "Минимальная сумма перевода - 1, максимальная - 100000!"); format(string,sizeof(string), " Введите сумму "); ShowPlayerDialog(playerid,6001,DIALOG_STYLE_INPUT,"Перевод на счёт мастерской",string,"Ок","Отмена"); return 1; } if(PlayerInfo[playerid][pBank] < moneys) return SendClientMessage(playerid, COLOR_GRAD1, "У вас нет столько денег на вашем банковском счету!"); PlayerInfo[playerid][pBank] -= moneys; AvtoInfo[bouse][abTill] +=moneys; format(string, sizeof(string), "Вы положили на счёт автомастерской %d вирт. На счету: %d вирт", moneys,AvtoInfo[bouse][abTill]); SendClientMessage(playerid, 0x6495EDFF, string); return 1; } else { return 1; } } case 6002: { if(response) { new bouse = PlayerInfo[playerid][pAvtomas]; if(!strlen(inputtext))// если оставляет пустую строку, выводим ему опять окно { format(string,sizeof(string), " Введите сумму "); ShowPlayerDialog(playerid,6002,DIALOG_STYLE_INPUT,"Снять деньги с мастерской",string,"Ок","Отмена"); } new moneys; moneys = strval(inputtext); if(moneys < 1 || moneys > 100000) { SendClientMessage(playerid, COLOR_GREY, "Минимальная сумма перевода - 1, максимальная - 100000!"); format(string,sizeof(string), " Введите сумму "); ShowPlayerDialog(playerid,6002,DIALOG_STYLE_INPUT,"Снять деньги с мастерской",string,"Ок","Отмена"); return 1; } if(AvtoInfo[bouse][abTill] < moneys) return SendClientMessage(playerid, COLOR_GRAD1, "Не достаточно денег!"); PlayerInfo[playerid][pCash] += moneys; AvtoInfo[bouse][abTill] -=moneys; format(string, sizeof(string), "Вы сняли со счёта автомастерской %d вирт. На счету: %d вирт", moneys,AvtoInfo[bouse][abTill]); SendClientMessage(playerid, 0x6495EDFF, string); return 1; } else { return 1; } } case 6003: { if(response) { new bouse = PlayerInfo[playerid][pAvtomas]; if(!strlen(inputtext))// если оставляет пустую строку, выводим ему опять окно { format(string,sizeof(string), " Введите сумму "); ShowPlayerDialog(playerid,6003,DIALOG_STYLE_INPUT,"Зар. плата рабочим",string,"Ок","Отмена"); } new moneys; moneys = strval(inputtext); if(moneys < 1 || moneys > 5000) { SendClientMessage(playerid, COLOR_GREY, "Не более 5000!"); format(string,sizeof(string), " Введите сумму "); ShowPlayerDialog(playerid,6003,DIALOG_STYLE_INPUT,"Зар. плата рабочим",string,"Ок","Отмена"); return 1; } AvtoInfo[bouse][abZp] =moneys; format(string, sizeof(string), "Зар. плата рабочим %d вирт. На счету: %d вирт", moneys,AvtoInfo[bouse][abTill]); SendClientMessage(playerid, 0x6495EDFF, string); return 1; } else { return 1; } } case 9830: { if(response) { new sendername[MAX_PLAYER_NAME]; GetPlayerName(playerid, sendername, sizeof(sendername)); if(strcmp(playername, AvtoInfo[PlayerInfo[playerid][pAvtomas]][abOwner], true) == 0) { new bouse = PlayerInfo[playerid][pAvtomas]; if (!PlayerToPoint(3, playerid,AvtoInfo[bouse][abEntranceX], AvtoInfo[bouse][abEntranceY], AvtoInfo[bouse][abEntranceZ])) return SendClientMessage(playerid, COLOR_GREY, "Вы не у своей автомастерской!"); AvtoInfo[bouse][abLocked] = 1; AvtoInfo[bouse][abOwned] = 0; AvtoInfo[bouse][abTill] = 0; AvtoInfo[bouse][abZp] = 100; AvtoInfo[bouse][Rab] = 0; GetPlayerName(playerid, sendername, sizeof(sendername)); strmid(AvtoInfo[bouse][abOwner], "The State", 0, strlen("The State"), 255); PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0); SendClientMessage(playerid, COLOR_YELLOW2, "::: Автомастерская успешно продана :::"); PlayerInfo[playerid][pAvtomas] = 255; PlayerInfo[playerid][pCash] += AvtoInfo[bouse][abArenda]; format(string, sizeof(string), "Автомастерская: %s\nЦена: %d\nПродаётся",AvtoInfo[bouse][abMessage],AvtoInfo[bouse][abBuyPrice]); Update3DTextLabelText(AvtoInfo[bouse][abLabel], COLOR_YELLOW, string); AvtoInfo[bouse][abArenda] = 0; OnPropUpdate(); OnPlayerUpdateRL(playerid); return 1; } else { SendClientMessage(playerid, COLOR_GREY, "Вы не владелец автомастерской!"); } } else { return 1; } } case 9829: { if(response) { new sendername[MAX_PLAYER_NAME]; new Float:oldposx, Float:oldposy, Float:oldposz; GetPlayerName(playerid, playername, sizeof(playername)); GetPlayerPos(playerid, oldposx, oldposy, oldposz); if(PlayerInfo[playerid][pPbiskey] != 255) return SendClientMessage(playerid, COLOR_WHITE, "Вы бизнесмен!"); if(PlayerInfo[playerid][pMember] != 0) return SendClientMessage(playerid, COLOR_WHITE, "Автомастерские могут покупать только граждане"); if(PlayerInfo[playerid][pAvtomas] != 255)return SendClientMessage(playerid, COLOR_WHITE, "У вас уже есть автомастерская!"); for(new b = 0; b < sizeof(AvtoInfo); b++) { if(PlayerToPoint(2.0, playerid, AvtoInfo[b][abEntranceX], AvtoInfo[b][abEntranceY], AvtoInfo[b][abEntranceZ]) && AvtoInfo[b][abOwned] == 0) { if(PlayerInfo[playerid][pBank] > AvtoInfo[b][abBuyPrice]) { PlayerInfo[playerid][pAvtomas] = b; AvtoInfo[b][abOwned] = 1; AvtoInfo[b][abLocked] = 0; PlayerInfo[playerid][pJob] = 0; GetPlayerName(playerid, sendername, sizeof(sendername)); strmid(AvtoInfo[b][abOwner], sendername, 0, strlen(sendername), 255); PlayerInfo[playerid][pBank] -=AvtoInfo[b][abBuyPrice]; //SetPlayerInterior(playerid,AvtoInfo[b][abInterior]); //PlayerInfo[playerid][pInt] = BizzInfo[b][bInterior]; // SetPlayerPos(playerid,BizzInfo[b][bExitX],BizzInfo[b][bExitY],BizzInfo[b][bExitZ]); // SetPlayerVirtualWorld(playerid, 0); // PlayerInfo[playerid][pInt] = BizzInfo[b][bInterior]; // PlayerInfo[playerid][pLocal] = b+99; SendClientMessage(playerid, COLOR_GREEN, "::: Автомастерская приобретёна ::::"); SendClientMessage(playerid, COLOR_WHITE, "::: Помощь: /mm - Команды сервера - Автомастерские ::::"); format(string,sizeof(string), "Автомастерская:%s\nВладелец:\n %s", AvtoInfo[b][abMessage], AvtoInfo[b][abOwner]); Update3DTextLabelText(AvtoInfo[b][abLabel], TEAM_GROVE_COLOR, string); OnPropUpdate(); OnPlayerUpdateRL(playerid); return 1; } else { SendClientMessage(playerid, COLOR_WHITE, "На Вашем счету в банке нет столько денег!"); return 1; } } } } else { return 1; } }
B public OnGameModeInit()
for(new h = 0; h < sizeof(AvtoInfo); h ++) { CreateDynamicObject(18728, AvtoInfo[h][picX],AvtoInfo[h][picY],AvtoInfo[h][picZ], 0.0000, 0.0000, 100.000); AvtoInfo[h][abLabel] = Create3DTextLabel("~~~~~~~~~~~~~~~~~\nЗаказ\nтюнинга\n/buytune\n~~~~~~~~~~~~~~~~~",COLOR_YELLOW,AvtoInfo[ h][picX],AvtoInfo[h][picY],AvtoInfo[h][picZ],20.0,AvtoInfo[h][abWorld],1); /* for(new i = 0; i < MAX_PLAYERS; i++) { apic[i] = CreateDynamicCP(AvtoInfo[h][picX],AvtoInfo[h][picY],AvtoInfo[h][picZ],1.5, AvtoInfo[h][abWorld], AvtoInfo[h][abInterior], i,10.0); }*/ AvtoInfo[h][Rab] = 0; AvtoInfo[h][Mesto] = 255; if(AvtoInfo[h][abOwned] == 0) { AddStaticPickup(1318, 23, AvtoInfo[h][abEntranceX], AvtoInfo[h][abEntranceY], AvtoInfo[h][abEntranceZ]); format(string2, sizeof(string2), "Автомастерская: %s\nЦена: %d\nПродаётся",AvtoInfo[h][abMessage],AvtoInfo[h][abBuyPrice]); AvtoInfo[h][abLocked] = 1; AvtoInfo[h][abLabel] = Create3DTextLabel(string2,COLOR_YELLOW,AvtoInfo[h][abEntranceX], AvtoInfo[h][abEntranceY], AvtoInfo[h][abEntranceZ],20.0,0,1); } if(AvtoInfo[h][abOwned] == 1) { AddStaticPickup(1318, 23, AvtoInfo[h][abEntranceX], AvtoInfo[h][abEntranceY], AvtoInfo[h][abEntranceZ]); format(string2,sizeof(string2), "Автомастерская:%s\nВладелец:\n %s", AvtoInfo[h][abMessage], AvtoInfo[h][abOwner]); AvtoInfo[h][abLabel] = Create3DTextLabel(string2,TEAM_GROVE_COLOR,AvtoInfo[h][abEntranceX], AvtoInfo[h][abEntranceY], AvtoInfo[h][abEntranceZ],20.0,0,1); } CreateDynamicMapIcon(AvtoInfo[h][abEntranceX], AvtoInfo[h][abEntranceY], AvtoInfo[h][abEntranceZ],27,0); }
B public PayDay()
if(PlayerInfo[i][pAvtomas] != 255) { new avtos = PlayerInfo[i][pAvtomas]; SendClientMessage(i, COLOR_WHITE, "- Плата за аренду помещения мастерской: 500 вирт"); AvtoInfo[avtos][abArenda] -=500; if(AvtoInfo[avtos][abArenda] <=0) { SendClientMessage(i, COLOR_REDD, "- Ваша мастерская была продана, за неуплату аренды помещения, деньги со счёта переведены в банк"); AvtoInfo[avtos][abLocked] = 1; PlayerInfo[i][pBank] += AvtoInfo[avtos][abTill]; AvtoInfo[avtos][abOwned] = 0; AvtoInfo[avtos][abTill] = 0; AvtoInfo[avtos][abZp] = 100; AvtoInfo[avtos][Rab] = 0; if(MehJob[i] == avtos) { MehJob[i] = 999; } GetPlayerName(i, sendername, sizeof(sendername)); strmid(AvtoInfo[avtos][abOwner], "The State", 0, strlen("The State"), 255); PlayerPlaySound(i, 1052, 0.0, 0.0, 0.0); PlayerInfo[i][pAvtomas] = 255; PlayerInfo[i][pBank] += 255; PlayerInfo[i][pCash] += AvtoInfo[avtos][abArenda]; format(string, sizeof(string), "Автомастерская: %s\nЦена: %d\nПродаётся",AvtoInfo[avtos][abMessage],AvtoInfo[avtos][abBuyPrice]); Update3DTextLabelText(AvtoInfo[avtos][abLabel], COLOR_YELLOW, string); OnPropUpdate(); OnPlayerUpdateRL(i); } }
B public CustomPickups()
GetPlayerPos(i, oldposx, oldposy, oldposz); if(oldposx!=0.0 && oldposy!=0.0 && oldposz!=0.0) { for(new b = 0; b < sizeof(AvtoInfo); b++) { if (PlayerToPoint(1, i,AvtoInfo[b][abEntranceX], AvtoInfo[b][abEntranceY], AvtoInfo[b][abEntranceZ])) { if(AvtoInfo[b][abOwned] == 0) { format(enters,sizeof(enters), "Желаете купить автомастерскую?"); ShowPlayerDialog(i,9829,DIALOG_STYLE_MSGBOX,"Автомастерская продаётся", enters, "Да", "Нет"); return 1; } if(AvtoInfo[b][abLocked] == 1) return SendClientMessage(i, COLOR_GRAD1, "Мастерская закрыта"); if(PlayerInfo[i][pAvtomas] == { SetPlayerInterior(i,AvtoInfo[b][abInterior]); SetPlayerPos(i,AvtoInfo[b][aExitX],AvtoInfo[b][aExitY],AvtoInfo[b][aExitZ]); PlayerInfo[i][pInt] = AvtoInfo[b][abInterior]; SetPlayerVirtualWorld(i,AvtoInfo[b][abWorld]); SetPlayerFacingAngle(i, 172.8032); return 1; } if(PlayerInfo[i][pJob] == 2) { AvtoInfo[b][Rab] +=1; SetPlayerSkin(i,50); SetPlayerInterior(i,AvtoInfo[b][abInterior]); SetPlayerPos(i,AvtoInfo[b][aExitX],AvtoInfo[b][aExitY],AvtoInfo[b][aExitZ]); PlayerInfo[i][pInt] = AvtoInfo[b][abInterior]; SetPlayerVirtualWorld(i,AvtoInfo[b][abWorld]); SetPlayerFacingAngle(i, 172.8032); MehJob[i] = b; format(enters,sizeof(enters), "::: Вы успешно устроились рабочим в автомастерскую %s :::",AvtoInfo[b][abMessage]); SendClientMessage(i, COLOR_GREEN, enters); SendClientMessage(i, COLOR_WHITE, "Ознакомиться с командами можно в личном меню /mm - Команды сервера"); SetPlayerAttachedObject( i, 0, 18635, 13, 0.304796, -0.039264, -0.031113, 68.492210, 5.960988, 348.503082, 0.935466, 0.962277, 0.779303 ); // return 1; } } }
Пикапы
mast[0] = CreatePickup(1318,23,613.4505,3.7427,1000.9219);// mast[1] = CreatePickup(1318,23,613.4505,3.7427,1000.9219,1);// mast[2] = CreatePickup(1318,23,613.4505,3.7427,1000.9219,2);//
Вырезал: Slim