Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <mxINI05>
- #include <zcmd>
- new ebanuca[112];
- new CountGarages;
- new ChooseGarage[MAX_PLAYERS];
- enum GI
- {
- Float:StartX,
- Float:StartY,
- Float:StartZ,
- Float:StartRX,
- Float:StartRY,
- Float:StartRZ,
- [Àãà, òàê è äàë ñêðèïò],
- Owner[MAX_PLAYER_NAME],
- Cost,
- GaragePickup,
- StatusGate,
- Text3D:GarageText,
- };
- new [Àãà, òàê è äàë ñêðèïò][600][GI];
- new PlayerName[MAX_PLAYERS][MAX_PLAYER_NAME];
- forward split(const strsrc[], strdest[][], delimiter);
- forward LoadGarages();
- forward UpdateGarages();
- public OnFilterScriptInit()
- {
- LoadGarages();
- print("\n--------------------------------------");
- print(" Ãàðàæèêè âêëþ÷åíû");
- print("--------------------------------------\n");
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- for(new i; i<CountGarages; i++)
- {
- if (!strcmp([Àãà, òàê è äàë ñêðèïò][i][Owner], PlayerName[playerid]))
- {
- ????????????[i][StatusGate] = 0;
- ***********([Àãà, òàê è äàë ñêðèïò][i][[Àãà, òàê è äàë ñêðèïò]], [Àãà, òàê è äàë ñêðèïò][i][StartX], [Àãà, òàê è äàë ñêðèïò][i][StartY], [Àãà, òàê è äàë ñêðèïò][i][StartZ], 1.00, [Àãà, òàê è äàë ñêðèïò][i][StartRX], [Àãà, òàê è äàë ñêðèïò][i][StartRY], [Àãà, òàê è äàë ñêðèïò][i][StartRZ]);
- }
- }
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- new gcount;
- for(new i; i< CountGarages; i++)
- {
- if(pickupid == [Àãà, òàê è äàë ñêðèïò][i][GaragePickup])
- {
- if (!strcmp("The State", [Àãà, òàê è äàë ñêðèïò][i][Owner]))
- {
- for(new j; j<CountGarages; j++)
- {
- if (!strcmp([Àãà, òàê è äàë ñêðèïò][j][Owner], PlayerName[playerid])) gcount++;
- }
- if(gcount == 3) return SendClientMessage(playerid,-1,"{00CCFF}Âû èìååòå óæå 3 ãàðàæà!");
- ChooseGarage[playerid] = i;
- new s[128];
- format(s,sizeof(s),"{FFFFFF}Âû õîòèòå êóïèòü ãàðàæ çà $%d?",[Àãà, òàê è äàë ñêðèïò][i][Cost]);
- ShowPlayerDialog(playerid, 100, DIALOG_STYLE_MSGBOX, "{ffff00}Ïîêóïêà ãàðàæà",s, "Îê", "Îòìåíà");
- }
- }
- }
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if(newkeys & KEY_CROUCH && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- {
- for(new i; i<CountGarages; i++)
- {
- if (!strcmp([Àãà, òàê è äàë ñêðèïò][i][Owner], PlayerName[playerid]) && IsPlayerInRangeOfPoint(playerid, 10.0, [Àãà, òàê è äàë ñêðèïò][i][StartX], [Àãà, òàê è äàë ñêðèïò][i][StartY], [Àãà, òàê è äàë ñêðèïò][i][StartZ]))
- {
- if([Àãà, òàê è äàë ñêðèïò][i][StatusGate] == 0)
- {
- MoveObject([Àãà, òàê è äàë ñêðèïò][i][[Àãà, òàê è äàë ñêðèïò]], [Àãà, òàê è äàë ñêðèïò][i][StartX], [Àãà, òàê è äàë ñêðèïò][i][StartY], [Àãà, òàê è äàë ñêðèïò][i][StartZ]+4, 1.00, [Àãà, òàê è äàë ñêðèïò][i][StartRX], [Àãà, òàê è äàë ñêðèïò][i][StartRY], [Àãà, òàê è äàë ñêðèïò][i][StartRZ]);
- [Àãà, òàê è äàë ñêðèïò][i][StatusGate] = 1;
- }
- else
- {
- [Àãà, òàê è äàë ñêðèïò][i][StatusGate] = 0;
- MoveObject([Àãà, òàê è äàë ñêðèïò][i][[Àãà, òàê è äàë ñêðèïò]], [Àãà, òàê è äàë ñêðèïò][i][StartX], [Àãà, òàê è äàë ñêðèïò][i][StartY], [Àãà, òàê è äàë ñêðèïò][i][StartZ], 1.00, [Àãà, òàê è äàë ñêðèïò][i][StartRX], [Àãà, òàê è äàë ñêðèïò][i][StartRY], [Àãà, òàê è äàë ñêðèïò][i][StartRZ]);
- }
- return 1;
- }
- }
- }
- if(newkeys & KEY_YES && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
- {
- for(new i; i<CountGarages; i++)
- {
- if (!strcmp([Àãà, òàê è äàë ñêðèïò][i][Owner], PlayerName[playerid]) && IsPlayerInRangeOfPoint(playerid, 10.0, [Àãà, òàê è äàë ñêðèïò][i][StartX], [Àãà, òàê è äàë ñêðèïò][i][StartY], [Àãà, òàê è äàë ñêðèïò][i][StartZ]))
- {
- if([Àãà, òàê è äàë ñêðèïò][i][StatusGate] == 0)
- {
- MoveObject([Àãà, òàê è äàë ñêðèïò][i][[Àãà, òàê è äàë ñêðèïò]], [Àãà, òàê è äàë ñêðèïò][i][StartX], [Àãà, òàê è äàë ñêðèïò][i][StartY], [Àãà, òàê è äàë ñêðèïò][i][StartZ]+4, 1.00, [Àãà, òàê è äàë ñêðèïò][i][StartRX], [Àãà, òàê è äàë ñêðèïò][i][StartRY], [Àãà, òàê è äàë ñêðèïò][i][StartRZ]);
- [Àãà, òàê è äàë ñêðèïò][i][StatusGate] = 1;
- }
- else
- {
- [Àãà, òàê è äàë ñêðèïò][i][StatusGate] = 0;
- MoveObject([Àãà, òàê è äàë ñêðèïò][i][[Àãà, òàê è äàë ñêðèïò]], [Àãà, òàê è äàë ñêðèïò][i][StartX], [Àãà, òàê è äàë ñêðèïò][i][StartY], [Àãà, òàê è äàë ñêðèïò][i][StartZ], 1.00, [Àãà, òàê è äàë ñêðèïò][i][StartRX], [Àãà, òàê è äàë ñêðèïò][i][StartRY], [Àãà, òàê è äàë ñêðèïò][i][StartRZ]);
- }
- return 1;
- }
- }
- }
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == 100 && response)
- {
- if (!strcmp("The State", [Àãà, òàê è äàë ñêðèïò][ChooseGarage[playerid]][Owner]))
- {
- if(GetPlayerMoney(playerid) <[Àãà, òàê è äàë ñêðèïò][ChooseGarage[playerid]][Cost])
- {
- SendClientMessage(playerid,-1,"{0011FF}[DriftCity]{FFFFFF}:Ó âàñ íåò íåîáõîäèìîé ñóììû!");
- return 1;
- }
- GivePlayerMoney(playerid,-[Àãà, òàê è äàë ñêðèïò][ChooseGarage[playerid]][Cost]);
- SendClientMessage(playerid,-1,"{0011FF}[DriftCity]{FFFFFF}:Ïîçäðàâëÿåì ñ óñïåøíîé ïîêóïêîé ãàðàæà!");
- strmid([Àãà, òàê è äàë ñêðèïò][ChooseGarage[playerid]][Owner], PlayerName[playerid], 0, strlen(PlayerName[playerid]), 112);
- new s[112];
- format(s,sizeof(s),"{00CCFF}Ãàðàæ êóïèë %s",[Àãà, òàê è äàë ñêðèïò][ChooseGarage[playerid]][Owner]);
- Update3DTextLabelText([Àãà, òàê è äàë ñêðèïò][ChooseGarage[playerid]][GarageText], 0xCCFFDDFF, s);
- UpdateGarages();
- }
- }
- return 1;
- }
- 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;
- }
- public LoadGarages()
- {
- new Pos2[19][50];
- new s[128];
- new File: file = fopen("Garages.cfg", io_read);
- if (file)
- {
- fread(file, ebanuca);
- split(ebanuca, Pos2, ',');
- CountGarages = strval(Pos2[0]);
- printf("garages- %d",CountGarages);
- for(new i; i<CountGarages; i++)
- {
- fread(file, ebanuca);
- split(ebanuca, Pos2, ',');
- [Àãà, òàê è äàë ñêðèïò][i][StartX] = floatstr(Pos2[0]);
- [Àãà, òàê è äàë ñêðèïò][i][StartY] = floatstr(Pos2[1]);
- [Àãà, òàê è äàë ñêðèïò][i][StartZ] = floatstr(Pos2[2]);
- [Àãà, òàê è äàë ñêðèïò][i][StartRX] = floatstr(Pos2[3]);
- [Àãà, òàê è äàë ñêðèïò][i][StartRY] = floatstr(Pos2[4]);
- [Àãà, òàê è äàë ñêðèïò][i][StartRZ] = floatstr(Pos2[5]);
- strmid([Àãà, òàê è äàë ñêðèïò][i][Owner], Pos2[6], 0, strlen(Pos2[6]), 255);
- [Àãà, òàê è äàë ñêðèïò][i][Cost] = strval(Pos2[7]);
- [Àãà, òàê è äàë ñêðèïò][i][[Àãà, òàê è äàë ñêðèïò]] = CreateObject(7891,[Àãà, òàê è äàë ñêðèïò][i][StartX],[Àãà, òàê è äàë ñêðèïò][i][StartY],[Àãà, òàê è äàë ñêðèïò][i][StartZ],[Àãà, òàê è äàë ñêðèïò][i][StartRX],[Àãà, òàê è äàë ñêðèïò][i][StartRY],[Àãà, òàê è äàë ñêðèïò][i][StartRZ]);
- [Àãà, òàê è äàë ñêðèïò][i][GaragePickup] = CreatePickup(0, 1, [Àãà, òàê è äàë ñêðèïò][i][StartX],[Àãà, òàê è äàë ñêðèïò][i][StartY],[Àãà, òàê è äàë ñêðèïò][i][StartZ]-0.5, -1);
- if (!strcmp("The State", [Àãà, òàê è äàë ñêðèïò][i][Owner])) format(s,256,"{00CCFF}Ãàðàæ ïðîäàåòñÿ!\nÖåíà:$%d{AA22EE}",[Àãà, òàê è äàë ñêðèïò][i][Cost]);
- else format(s,256,"{00CCFF}Ãàðàæ êóïèë %s",[Àãà, òàê è äàë ñêðèïò][i][Owner]);
- [Àãà, òàê è äàë ñêðèïò][i][GarageText] = Create3DTextLabel(s,1,[Àãà, òàê è äàë ñêðèïò][i][StartX],[Àãà, òàê è äàë ñêðèïò][i][StartY],[Àãà, òàê è äàë ñêðèïò][i][StartZ],50.00,0);
- }
- }
- fclose(file);
- return 1;
- }
- public UpdateGarages()
- {
- new File: file;
- for(new i; i<CountGarages; i++)
- {
- new Pos2[100];
- format(Pos2, sizeof(Pos2), "%f,%f,%f,%f,%f,%f,%s,%d\n",
- [Àãà, òàê è äàë ñêðèïò][i][StartX],[Àãà, òàê è äàë ñêðèïò][i][StartY],[Àãà, òàê è äàë ñêðèïò][i][StartZ],[Àãà, òàê è äàë ñêðèïò][i][StartRX],
- [Àãà, òàê è äàë ñêðèïò][i][StartRY],[Àãà, òàê è äàë ñêðèïò][i][StartRZ],[Àãà, òàê è äàë ñêðèïò][i][Owner],[Àãà, òàê è äàë ñêðèïò][i][Cost]);
- if(i == 0)
- {
- file = fopen("Garages.cfg", io_write);
- new s[512];
- format(s,1024,"%d\n%s",CountGarages,Pos2);
- fwrite(file, s);
- fclose(file);
- }
- else
- {
- file = fopen("Garages.cfg", io_append);
- fwrite(file, Pos2);
- fclose(file);
- }
- }
- return 1;
- }
- COMMAND:sellgarage(playerid)
- {
- for(new i; i<CountGarages; i++)
- {
- if (!strcmp([Àãà, òàê è äàë ñêðèïò][i][Owner], PlayerName[playerid]) && IsPlayerInRangeOfPoint(playerid, 5.0, [Àãà, òàê è äàë ñêðèïò][i][StartX], [Àãà, òàê è äàë ñêðèïò][i][StartY], [Àãà, òàê è äàë ñêðèïò][i][StartZ]))
- {
- strmid([Àãà, òàê è äàë ñêðèïò][i][Owner], "The State", 0, strlen("The State"), 255);
- SendClientMessage(playerid,-1,"{0011FF}[DriftCity]{FFFFFF}:Ïîçäðàâëÿåì ñ óñïåøíîé ïðîäàæåé ãàðàæà!");
- new s[124];
- format(s,124,"{00CCFF}Ãàðàæ ïðîäàåòñÿ!\nÖåíà:$%d{AA22EE}",[Àãà, òàê è äàë ñêðèïò][i][Cost]);
- GivePlayerMoney(playerid,[Àãà, òàê è äàë ñêðèïò][i][Cost]);
- Update3DTextLabelText([Àãà, òàê è äàë ñêðèïò][i][GarageText], 0xCCFFDDFF, s);
- [Àãà, òàê è äàë ñêðèïò][i][StatusGate] = 0;
- MoveObject([Àãà, òàê è äàë ñêðèïò][i][[Àãà, òàê è äàë ñêðèïò]], [Àãà, òàê è äàë ñêðèïò][i][StartX], [Àãà, òàê è äàë ñêðèïò][i][StartY], [Àãà, òàê è äàë ñêðèïò][i][StartZ], 1.00, [Àãà, òàê è äàë ñêðèïò][i][StartRX], [Àãà, òàê è äàë ñêðèïò][i][StartRY], [Àãà, òàê è äàë ñêðèïò][i][StartRZ]);
- UpdateGarages();
- return 1;
- }
- }
- SendClientMessage(playerid,-1,"{0011FF}[DriftCity]{FFFFFF}:Âû ñëèøêîì äàëåêî îò ãàðàæà èëè åãî ó âàñ íåò!");
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment