- #define MAX_TRUNK_SLOTS (5)
- forward SaveTrunk();
- forward LoadTrunk();
- new vehTrunkCounter[MAX_VEHICLES] = 1;
- new vehTrunk[MAX_VEHICLES][MAX_TRUNK_SLOTS];
- new vehTrunkAmmo[MAX_VEHICLES][MAX_TRUNK_SLOTS];
- new Float:vehTrunkArmour[MAX_VEHICLES];
- //----------------------------[Trunk Sistem]----------------------------------------------
- if(strcmp(cmd, "/trunk", true) == 0)
- {
- if(IsPlayerConnected(playerid))
- {
- new x_nr[64];
- x_nr = strtok(cmdtext, idx);
- if(!strlen(x_nr))
- {
- SendClientMessage(playerid, COLOR_WHITE, "/trunk [nume]");
- SendClientMessage(playerid, COLOR_WHITE, "Nume disponibile: info, putgun, takegun, putarmour, takearmour, frisk");
- if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 2)
- {
- SendClientMessage(playerid, COLOR_WHITE, "Numai mafiile si politisti au voie /trunk");
- }
- return 1;
- }
- if(strcmp(x_nr,"info",true) == 0)
- {
- new counter = 0;
- new result;
- new plyName[MAX_PLAYER_NAME];
- GetPlayerName(playerid, plyName, MAX_PLAYER_NAME);
- for(new i; i != MAX_VEHICLES; i++)
- {
- new dist = CheckPlayerDistanceToVehicle(3.5, playerid, i);
- if(dist)
- {
- result = i;
- counter++;
- }
- }
- switch(counter)
- {
- case 0:
- {
- SendClientMessage(playerid, COLOR_GREY, " Nu esti langa masina");
- }
- case 1:
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- SendClientMessage(playerid, COLOR_GREY, " Esti in masina nu poti deschide portbagajul");
- return 1;
- }
- if(IsAPlane(result) || IsABike(result))
- {
- SendClientMessage(playerid, COLOR_GREY, " Vehiculul nu are portbagaj !");
- return 1;
- }
- SendClientMessage(playerid, COLOR_LIGHTBLUE, "|_______ Deposit arme _______|");
- for(new slot = 1; slot != MAX_TRUNK_SLOTS; slot++)
- {
- new gunname[100];
- if(vehTrunk[result][slot] != 0)
- {
- GetWeaponName(vehTrunk[result][slot], gunname, sizeof(gunname));
- format(string, sizeof(string), "| Slot %i: %s (Ammo: %i)", slot, gunname, vehTrunkAmmo[result][slot]);
- SendClientMessage(playerid, COLOR_WHITE, string);
- }
- else
- {
- format(string, sizeof(string), "| Slot %i: Empty (Ammo: N/A)", slot);
- SendClientMessage(playerid, COLOR_WHITE, string);
- }
- }
- format(string, sizeof(string), "| Body armour: %f%", vehTrunkArmour[result]);
- SendClientMessage(playerid, COLOR_WHITE, string);
- GetPlayerName(playerid, sendername, sizeof(sendername));
- format(string, sizeof(string), "* %s deschide portbagajul si verifica ce e inauntru.", sendername);
- ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
- return 1;
- }
- default:
- {
- SendClientMessage(playerid, COLOR_GREY, " Apropiete de masina");
- return 1;
- }
- }
- return 1;
- }
- else if(strcmp(x_nr,"putgun",true) == 0)
- {
- new counter = 0;
- new result;
- new plyName[MAX_PLAYER_NAME];
- GetPlayerName(playerid, plyName, MAX_PLAYER_NAME);
- for(new i; i != MAX_VEHICLES; i++)
- {
- new dist = CheckPlayerDistanceToVehicle(3.5, playerid, i);
- if(dist)
- {
- result = i;
- counter++;
- }
- }
- switch(counter)
- {
- case 0:
- {
- SendClientMessage(playerid, COLOR_GREY, " Nu esti langa masina");
- }
- case 1:
- {
- if(vehTrunkCounter[result] != (MAX_TRUNK_SLOTS-1))
- {
- if(ReduceTime[playerid] == 1)
- {
- SendClientMessage(playerid, COLOR_GREY, " Asteapta 3 secunde si vei reusi !");
- return 1;
- }
- if(IsPlayerInAnyVehicle(playerid))
- {
- SendClientMessage(playerid, COLOR_GREY, " Esti in masina nu poti deschide portbagajul");
- return 1;
- }
- if(IsAPlane(result) || IsABike(result))
- {
- SendClientMessage(playerid, COLOR_GREY, " Vehiculul nu are portbagaj !");
- return 1;
- }
- new buffer[512];
- new gunname[100];
- new gunID = GetPlayerWeapon(playerid);
- new gunAmmo = GetPlayerAmmo(playerid);
- if(gunID != 0 && gunAmmo != 0)
- {
- ReduceTime[playerid] = 1;
- SetTimerEx("ReduceTimer", 3000, false, "i", playerid);
- GetWeaponName(gunID, gunname, sizeof(gunname));
- vehTrunkCounter[result]++;
- vehTrunk[result][vehTrunkCounter[result]] = gunID;
- vehTrunkAmmo[result][vehTrunkCounter[result]] = gunAmmo;
- format(buffer, sizeof(buffer), "Ai pus un %s (Ammo: %i) in portbagajul masinii.", gunname, gunAmmo);
- SendClientMessage(playerid, COLOR_WHITE, buffer);
- RemovePlayerWeapon(playerid, gunID);
- GetPlayerName(playerid, sendername, sizeof(sendername));
- format(string, sizeof(string), "* %s deschide portbagajul si pune arma.", sendername);
- ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
- SaveTrunk();
- return 1;
- }
- }
- else
- {
- SendClientMessage(playerid, COLOR_GREY, " Portbagajul este full");
- return 1;
- }
- }
- default:
- {
- SendClientMessage(playerid, COLOR_GREY, " Apropiete de masina");
- return 1;
- }
- }
- return 1;
- }
- else if(strcmp(x_nr,"takegun",true) == 0)
- {
- new counter = 0;
- new result;
- new plyName[MAX_PLAYER_NAME];
- GetPlayerName(playerid, plyName, MAX_PLAYER_NAME);
- for(new i; i != MAX_VEHICLES; i++)
- {
- new dist = CheckPlayerDistanceToVehicle(3.5, playerid, i);
- if(dist)
- {
- result = i;
- counter++;
- }
- }
- switch(counter)
- {
- case 0:
- {
- SendClientMessage(playerid, COLOR_GREY, " Nu esti langa masina");
- return 1;
- }
- case 1:
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- SendClientMessage(playerid, COLOR_GREY, " Esti in masina nu poti deschide portbagajul");
- return 1;
- }
- if(ReduceTime[playerid] == 1)
- {
- SendClientMessage(playerid, COLOR_GREY, " Asteapta 3 secunde si vei reusi !");
- return 1;
- }
- if(IsAPlane(result) || IsABike(result))
- {
- SendClientMessage(playerid, COLOR_GREY, " Vehiculul nu are portbagaj !");
- return 1;
- }
- if(vehTrunkCounter[result] != 0)
- {
- ReduceTime[playerid] = 1;
- SetTimerEx("ReduceTimer", 3000, false, "i", playerid);
- new buffer[512];
- new gunName[100];
- GivePlayerWeapon(playerid, vehTrunk[result][vehTrunkCounter[result]], vehTrunkAmmo[result][vehTrunkCounter[result]]);
- GetWeaponName(vehTrunk[result][vehTrunkCounter[result]], gunName, sizeof(gunName));
- format(buffer, sizeof(buffer), "Ai luat un %s (Ammo: %i) din portbagaj.", gunName, vehTrunkAmmo[result][vehTrunkCounter[result]]);
- SendClientMessage(playerid, COLOR_WHITE, buffer);
- vehTrunk[result][vehTrunkCounter[result]] = '\0';
- vehTrunkAmmo[result][vehTrunkCounter[result]] = '\0';
- vehTrunkCounter[result]--;
- GetPlayerName(playerid, sendername, sizeof(sendername));
- format(string, sizeof(string), "* %s deschide portbagajul si ia o arma.", sendername);
- ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
- SaveTrunk();
- return 1;
- }
- else
- {
- SendClientMessage(playerid, COLOR_GREY, " Portbagajul este gol ! ");
- return 1;
- }
- }
- default:
- {
- SendClientMessage(playerid, COLOR_GREY, " Apropiete de masina");
- return 1;
- }
- }
- return 1;
- }
- else if(strcmp(x_nr,"putarmour",true) == 0)
- {
- new counter = 0;
- new result;
- new plyName[MAX_PLAYER_NAME];
- GetPlayerName(playerid, plyName, MAX_PLAYER_NAME);
- for(new i; i != MAX_VEHICLES; i++)
- {
- new dist = CheckPlayerDistanceToVehicle(3.5, playerid, i);
- if(dist)
- {
- result = i;
- counter++;
- }
- }
- switch(counter)
- {
- case 0:
- {
- SendClientMessage(playerid, COLOR_GREY, " Nu esti langa masina");
- return 1;
- }
- case 1:
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- SendClientMessage(playerid, COLOR_GREY, " Esti in masina nu poti deschide portbagajul");
- return 1;
- }
- if(IsAPlane(result) || IsABike(result))
- {
- SendClientMessage(playerid, COLOR_GREY, " Vehiculul nu are portbagaj !");
- return 1;
- }
- new Float:plyArmour;
- GetPlayerArmour(playerid, plyArmour);
- if(plyArmour != 0)
- {
- SetPlayerArmour(playerid, 0);
- vehTrunkArmour[result] = plyArmour;
- GetPlayerName(playerid, sendername, sizeof(sendername));
- format(string, sizeof(string), "* %s ia armura de pe el si o pune in portbagaj.", sendername);
- ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
- SaveTrunk();
- return 1;
- }
- else
- {
- SendClientMessage(playerid, COLOR_GREY, " Nu ai armura ");
- return 1;
- }
- }
- default:
- {
- SendClientMessage(playerid, COLOR_GREY, " Apropiete de masina");
- return 1;
- }
- }
- return 1;
- }
- else if(strcmp(x_nr,"takearmour",true) == 0)
- {
- new counter = 0;
- new result;
- new plyName[MAX_PLAYER_NAME];
- GetPlayerName(playerid, plyName, MAX_PLAYER_NAME);
- for(new i; i != MAX_VEHICLES; i++)
- {
- new dist = CheckPlayerDistanceToVehicle(3.5, playerid, i);
- if(dist)
- {
- result = i;
- counter++;
- }
- }
- switch(counter)
- {
- case 0:
- {
- SendClientMessage(playerid, COLOR_GREY, " Nu esti langa masina");
- return 1;
- }
- case 1:
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- SendClientMessage(playerid, COLOR_GREY, " Esti in masina nu poti deschide portbagajul");
- return 1;
- }
- if(IsAPlane(result) || IsABike(result))
- {
- SendClientMessage(playerid, COLOR_GREY, " Vehiculul nu are portbagaj !");
- return 1;
- }
- if(vehTrunkArmour[result] != 0)
- {
- SetPlayerArmour(playerid, vehTrunkArmour[result]);
- vehTrunkArmour[result] = 0;
- GetPlayerName(playerid, sendername, sizeof(sendername));
- format(string, sizeof(string), "* %s deschide portbagajul ia armura si o pune pe el.", sendername);
- ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
- SaveTrunk();
- return 1;
- }
- else
- {
- SendClientMessage(playerid, COLOR_GREY, " Nu exista nici o armura in portbagaj ! ");
- return 1;
- }
- }
- default:
- {
- SendClientMessage(playerid, COLOR_GREY, " Apropiete de masina");
- return 1;
- }
- }
- return 1;
- }
- else if(strcmp(x_nr,"frisk",true) == 0)
- {
- if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2)
- {
- new counter = 0;
- new result;
- new plyName[MAX_PLAYER_NAME];
- GetPlayerName(playerid, plyName, MAX_PLAYER_NAME);
- for(new i; i != MAX_VEHICLES; i++)
- {
- new dist = CheckPlayerDistanceToVehicle(3.5, playerid, i);
- if(dist)
- {
- result = i;
- counter++;
- }
- }
- switch(counter)
- {
- case 0:
- {
- SendClientMessage(playerid, COLOR_GREY, " Nu esti langa masina");
- }
- case 1:
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- SendClientMessage(playerid, COLOR_GREY, " Esti in masina nu poti deschide portbagajul");
- return 1;
- }
- if(IsAPlane(result) || IsABike(result))
- {
- SendClientMessage(playerid, COLOR_GREY, " Vehiculul nu are portbagaj !");
- return 1;
- }
- SendClientMessage(playerid, COLOR_LIGHTBLUE, "|_______ Deposit arme _______|");
- for(new slot = 1; slot != MAX_TRUNK_SLOTS; slot++)
- {
- new gunname[100];
- if(vehTrunk[result][slot] != 0)
- {
- GetWeaponName(vehTrunk[result][slot], gunname, sizeof(gunname));
- format(string, sizeof(string), "| Slot %i: %s (Ammo: %i)", slot, gunname, vehTrunkAmmo[result][slot]);
- SendClientMessage(playerid, COLOR_WHITE, string);
- }
- else
- {
- format(string, sizeof(string), "| Slot %i: Empty (Ammo: N/A)", slot);
- SendClientMessage(playerid, COLOR_WHITE, string);
- }
- }
- format(string, sizeof(string), "| Body armour: %f%", vehTrunkArmour[result]);
- SendClientMessage(playerid, COLOR_WHITE, string);
- GetPlayerName(playerid, sendername, sizeof(sendername));
- format(string, sizeof(string), "* %s deschide portbagajul si verifica ce este in el.", sendername);
- ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
- return 1;
- }
- default:
- {
- SendClientMessage(playerid, COLOR_GREY, " Apropiete de masina");
- return 1;
- }
- }
- }
- else
- {
- SendClientMessage(playerid, COLOR_GREY, " Nu esti cop ! ");
- return 1;
- }
- return 1;
- }
- else
- {
- SendClientMessage(playerid, COLOR_WHITE, "/trunk [name]");
- SendClientMessage(playerid, COLOR_WHITE, "Nume disponibile: info, putgun, takegun, putarmour, takearmour, frisk");
- if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 2)
- {
- SendClientMessage(playerid, COLOR_WHITE, "Numai mafiile si politisti au voie /trunk");
- }
- return 1;
- }
- }
- return 1;
- }
- public SaveTrunk()
- {
- new idx;
- new File: file2;
- idx = 1;
- {
- new coordsstring[256];
- format(coordsstring, sizeof(coordsstring), "%i,%i,%i,%i,%i,%i,%i,%i,%i,%f\n",
- vehTrunk[idx][1],
- vehTrunkAmmo[idx][1],
- vehTrunk[idx][2],
- vehTrunkAmmo[idx][2],
- vehTrunk[idx][3],
- vehTrunkAmmo[idx][3],
- vehTrunk[idx][4],
- vehTrunkAmmo[idx][4],
- vehTrunkCounter[idx],
- vehTrunkArmour[idx]);
- if(idx == 1)
- {
- file2 = fopen("trunk.cfg", io_write);
- }
- else
- {
- file2 = fopen("trunk.cfg", io_append);
- }
- fwrite(file2, coordsstring);
- idx++;
- fclose(file2);
- }
- return 1;
- }
- public LoadTrunk()
- {
- new arrCoords[13][64];
- new strFromFile2[256];
- new File: file = fopen("trunk.cfg", io_read);
- if (file)
- {
- new idx = 1;
- {
- fread(file, strFromFile2);
- split(strFromFile2, arrCoords, ',');
- vehTrunk[idx][1] = strval(arrCoords[0]);
- vehTrunkAmmo[idx][1] = strval(arrCoords[1]);
- vehTrunk[idx][2] = strval(arrCoords[2]);
- vehTrunkAmmo[idx][2] = strval(arrCoords[3]);
- vehTrunk[idx][3] = strval(arrCoords[4]);
- vehTrunkAmmo[idx][3] = strval(arrCoords[5]);
- vehTrunk[idx][4] = strval(arrCoords[6]);
- vehTrunkAmmo[idx][4] = strval(arrCoords[7]);
- vehTrunkCounter[idx] = strval(arrCoords[8]);
- vehTrunkArmour[idx] = floatstr(arrCoords[9]);
- idx++;
- }
- }
- return 1;
- }
