TiShA | Дата: Пятница, 18.03.2011, 15:18 | Сообщение # 1 |
Освоившийся
Группа:
Продвинутые
Сообщений: 96
| Всем привет сейчас я расскажу как создать багажник и так приступим добавляем forward Code forward SafeResetPlayerWeapons(plyid); forward RemovePlayerWeapon(playerid, weaponid); forward SafeGivePlayerWeapon(plyid, weaponid, ammo);//сохранение оружия дале Code enum tTrunkInfo { tMoney, tDrugs, tGun1, tGun2, tGun3, tGun4, tGun5, tAmmo1, tAmmo2, tAmmo3, tAmmo4, tAmmo5, tOpened, } ; new TrunkInfo[MAX_VEHICLES][tTrunkInfo]; добавляем в public OnPlayerCommandText Code if(strcmp(cmd, "/trunkdrop", true) == 0) { if(IsPlayerConnected(playerid)) {
new x_job[256]; x_job = strtok(cmdtext, idx); if(!strlen(x_job)) { SendClientMessage(playerid, COLOR_WHITE, "|__________________ Положить в Багажник __________________|"); SendClientMessage(playerid, COLOR_WHITE, "*Используйте: /trunkdrop [имя] [кол-во] (для оружия кол-во = 1)"); SendClientMessage(playerid, COLOR_GREY, "*Имена: money, drugs"); SendClientMessage(playerid, COLOR_GREY, "*Имена: Gun1, Gun2, Gun3, Gun4, Gun5"); SendClientMessage(playerid, COLOR_WHITE, "|____________________________________________|"); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "*Используйте: /trunkdrop [имя] [кол-во] (для оружия кол-во = 1)"); return 1; } new kolvo = strval(tmp); for(new i = 0; i < MAX_VEHICLES; i++) { new Float:x,Float:y,Float:z; GetVehiclePos(i,x,y,z); if (PlayerToPoint(4, playerid,x,y,z)) { if(IsPlayerInAnyVehicle(playerid)) { SendClientMessage(playerid,COLOR_GREY," Сначала вылези из своего транспорта!"); return 1; } if(TrunkInfo[i][tOpened] == 0) { SendClientMessage(playerid,COLOR_GREY," Багажник этого транспорта закрыт!"); return 1; } if(kolvo > 0) { new gunid = GetPlayerWeapon(playerid); new ammo = GetPlayerAmmo(playerid); if(strcmp(x_job,"money",true) == 0) { if(kolvo > PlayerInfo[playerid][pCash]) { SendClientMessage(playerid,COLOR_GREY," У тебя нет такой суммы!"); return 1; } TrunkInfo[i][tMoney] += kolvo; GivePlayerMoney(playerid,-kolvo); SendClientMessage(playerid,COLOR_WHITE," Ты положил деньги в багажник"); } else if(strcmp(x_job,"drugs",true) == 0) { if(kolvo > PlayerInfo[playerid][pDrugs]) { SendClientMessage(playerid,COLOR_GREY," У тебя нет столько наркотиков!"); return 1; } TrunkInfo[i][tDrugs] += kolvo; PlayerInfo[playerid][pDrugs] -= kolvo; SendClientMessage(playerid,COLOR_WHITE," Ты положил наркотики в багажник"); } else if(strcmp(x_job,"Gun1",true) == 0) { if(TrunkInfo[i][tGun1] != 0) { SendClientMessage(playerid,COLOR_GREY," В этом слоте уже лежит оружие!"); return 1; } if(gunid == 0) { SendClientMessage(playerid,COLOR_GREY," В твоих руках нет оружия!"); return 1; } TrunkInfo[i][tGun1] = gunid; TrunkInfo[i][tAmmo1] = ammo; SendClientMessage(playerid,COLOR_WHITE," Ты положил это оружие в багажник"); RemovePlayerWeapon(playerid,gunid); } else if(strcmp(x_job,"Gun2",true) == 0) { if(TrunkInfo[i][tGun2] != 0) { SendClientMessage(playerid,COLOR_GREY," В этом слоте уже лежит оружие!"); return 1; } if(gunid == 0) { SendClientMessage(playerid,COLOR_GREY," В твоих руках нет оружия!"); return 1; } TrunkInfo[i][tGun2] = gunid; TrunkInfo[i][tAmmo2] = ammo; SendClientMessage(playerid,COLOR_WHITE," Ты положил это оружие в багажник"); RemovePlayerWeapon(playerid,gunid); } else if(strcmp(x_job,"Gun3",true) == 0) { if(TrunkInfo[i][tGun3] != 0) { SendClientMessage(playerid,COLOR_GREY," В этом слоте уже лежит оружие!"); return 1; } if(gunid == 0) { SendClientMessage(playerid,COLOR_GREY," В твоих руках нет оружия!"); return 1; } TrunkInfo[i][tGun3] = gunid; TrunkInfo[i][tAmmo3] = ammo; SendClientMessage(playerid,COLOR_WHITE," Ты положил это оружие в багажник"); RemovePlayerWeapon(playerid,gunid); } else if(strcmp(x_job,"Gun4",true) == 0) { if(TrunkInfo[i][tGun4] != 0) { SendClientMessage(playerid,COLOR_GREY," В этом слоте уже лежит оружие!"); return 1; } if(gunid == 0) { SendClientMessage(playerid,COLOR_GREY," В твоих руках нет оружия!"); return 1; } TrunkInfo[i][tGun4] = gunid; TrunkInfo[i][tAmmo4] = ammo; SendClientMessage(playerid,COLOR_WHITE," Ты положил это оружие в багажник"); RemovePlayerWeapon(playerid,gunid); } else if(strcmp(x_job,"Gun5",true) == 0) { if(TrunkInfo[i][tGun5] != 0) { SendClientMessage(playerid,COLOR_GREY," В этом слоте уже лежит оружие!"); return 1; } if(gunid == 0) { SendClientMessage(playerid,COLOR_GREY," В твоих руках нет оружия!"); return 1; } TrunkInfo[i][tGun5] = gunid; TrunkInfo[i][tAmmo5] = ammo; SendClientMessage(playerid,COLOR_WHITE," Ты положил это оружие в багажник"); RemovePlayerWeapon(playerid,gunid); } } } } } return 1; } if(strcmp(cmd, "/trunktake", true) == 0) { if(IsPlayerConnected(playerid)) {
new x_job[256]; x_job = strtok(cmdtext, idx); if(!strlen(x_job)) { SendClientMessage(playerid, COLOR_WHITE, "|__________________ Взять из багажника __________________|"); SendClientMessage(playerid, COLOR_WHITE, "*Используйте: /trunktake [имя] [кол-во] (для оружия кол-во = 1)"); SendClientMessage(playerid, COLOR_GREY, "*Имена: money, drugs"); SendClientMessage(playerid, COLOR_GREY, "*Имена: Gun1, Gun2, Gun3, Gun4, Gun5"); SendClientMessage(playerid, COLOR_WHITE, "|____________________________________________|"); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "*Используйте: /trunktake [имя] [кол-во] (для оружия кол-во = 1)"); return 1; } new kolvo = strval(tmp); for(new i = 0; i < MAX_VEHICLES; i++) { new Float:x,Float:y,Float:z; GetVehiclePos(i,x,y,z); if (PlayerToPoint(4, playerid,x,y,z)) { if(IsPlayerInAnyVehicle(playerid)) { SendClientMessage(playerid,COLOR_GREY," Сначала вылези из своего транспорта!"); return 1; } if(TrunkInfo[i][tOpened] == 0) { SendClientMessage(playerid,COLOR_GREY," Багажник этого транспорта закрыт!"); return 1; } if(kolvo > 0) { if(strcmp(x_job,"money",true) == 0) { if(kolvo > TrunkInfo[i][tMoney]) { SendClientMessage(playerid,COLOR_GREY," У тебя в багажнике нет такой суммы!"); return 1; } TrunkInfo[i][tMoney] -= kolvo; GivePlayerMoney(playerid,kolvo); SendClientMessage(playerid,COLOR_WHITE," Ты берешь деньги из багажника"); } else if(strcmp(x_job,"drugs",true) == 0) { if(kolvo >TrunkInfo[i][tDrugs]) { SendClientMessage(playerid,COLOR_GREY," У тебя в багажнике нет столько наркотиков!"); return 1; } TrunkInfo[i][tDrugs] -= kolvo; PlayerInfo[playerid][pDrugs] += kolvo; SendClientMessage(playerid,COLOR_WHITE," Ты берешь наркотики из багажника"); } else if(strcmp(x_job,"Gun1",true) == 0) { if(TrunkInfo[i][tGun1] == 0) { SendClientMessage(playerid,COLOR_GREY," Этот слот твоего багажника пустой!"); return 1; } GivePlayerWeapon(playerid,TrunkInfo[i][tGun1],TrunkInfo[i][tAmmo1]); TrunkInfo[i][tGun1] = 0; TrunkInfo[i][tAmmo1] = 0; SendClientMessage(playerid,COLOR_WHITE," Ты взял оружие из багажника"); } else if(strcmp(x_job,"Gun2",true) == 0) { if(TrunkInfo[i][tGun2] == 0) { SendClientMessage(playerid,COLOR_GREY," Этот слот твоего багажника пустой!"); return 1; } GivePlayerWeapon(playerid,TrunkInfo[i][tGun2],TrunkInfo[i][tAmmo2]); TrunkInfo[i][tGun2] = 0; TrunkInfo[i][tAmmo2] = 0; SendClientMessage(playerid,COLOR_WHITE," Ты взял оружие из багажника"); } else if(strcmp(x_job,"Gun3",true) == 0) { if(TrunkInfo[i][tGun3] == 0) { SendClientMessage(playerid,COLOR_GREY," Этот слот твоего багажника пустой!"); return 1; } GivePlayerWeapon(playerid,TrunkInfo[i][tGun3],TrunkInfo[i][tAmmo3]); TrunkInfo[i][tGun3] = 0; TrunkInfo[i][tAmmo3] = 0; SendClientMessage(playerid,COLOR_WHITE," Ты взял оружие из багажника"); } else if(strcmp(x_job,"Gun4",true) == 0) { if(TrunkInfo[i][tGun4] == 0) { SendClientMessage(playerid,COLOR_GREY," Этот слот твоего багажника пустой!"); return 1; } GivePlayerWeapon(playerid,TrunkInfo[i][tGun4],TrunkInfo[i][tAmmo4]); TrunkInfo[i][tGun4] = 0; TrunkInfo[i][tAmmo4] = 0; SendClientMessage(playerid,COLOR_WHITE," Ты взял оружие из багажника"); } else if(strcmp(x_job,"Gun5",true) == 0) { if(TrunkInfo[i][tGun5] == 0) { SendClientMessage(playerid,COLOR_GREY," Этот слот твоего багажника пустой!"); return 1; } GivePlayerWeapon(playerid,TrunkInfo[i][tGun5],TrunkInfo[i][tAmmo5]); TrunkInfo[i][tGun5] = 0; TrunkInfo[i][tAmmo5] = 0; SendClientMessage(playerid,COLOR_WHITE," Ты взял оружие из багажника"); } } } } } return 1; } if(strcmp(cmd, "/trunkinfo", true) == 0) { if(IsPlayerConnected(playerid)) { for(new i = 0; i < MAX_VEHICLES; i++) { new Float:x,Float:y,Float:z; GetVehiclePos(i,x,y,z); if (PlayerToPoint(4, playerid,x,y,z)) { if(IsPlayerInAnyVehicle(playerid)) { SendClientMessage(playerid,COLOR_GREY," Сначала вылези из своего транспорта!"); return 1; } if(TrunkInfo[i][tOpened] == 0) { SendClientMessage(playerid,COLOR_GREY," Багажник этого транспорта закрыт!"); return 1; } new gunname[32]; SendClientMessage(playerid,COLOR_YELLOW,"*** Багажник ***"); format(string,sizeof(string)," Деньги: $%d ",TrunkInfo[i][tMoney]); SendClientMessage(playerid,COLOR_WHITE,string); format(string,sizeof(string)," Наркотики: $%d ",TrunkInfo[i][tDrugs]); SendClientMessage(playerid,COLOR_WHITE,string); if(TrunkInfo[i][tGun1] != 0) { GetWeaponName(TrunkInfo[i][tGun1],gunname,sizeof(gunname)); format(string,sizeof(string)," Слот 1: %s, патроны: %d", gunname,TrunkInfo[i][tAmmo1]); SendClientMessage(playerid,COLOR_WHITE,string); } if(TrunkInfo[i][tGun2] != 0) { GetWeaponName(TrunkInfo[i][tGun2],gunname,sizeof(gunname)); format(string,sizeof(string)," Слот 2: %s, патроны: %d", gunname,TrunkInfo[i][tAmmo2]); SendClientMessage(playerid,COLOR_WHITE,string); } if(TrunkInfo[i][tGun3] != 0) { GetWeaponName(TrunkInfo[i][tGun3],gunname,sizeof(gunname)); format(string,sizeof(string)," Слот 3: %s, патроны: %d", gunname,TrunkInfo[i][tAmmo3]); SendClientMessage(playerid,COLOR_WHITE,string); } if(TrunkInfo[i][tGun4] != 0) { GetWeaponName(TrunkInfo[i][tGun4],gunname,sizeof(gunname)); format(string,sizeof(string)," Слот 4: %s, патроны: %d", gunname,TrunkInfo[i][tAmmo4]); SendClientMessage(playerid,COLOR_WHITE,string); } if(TrunkInfo[i][tGun5] != 0) { GetWeaponName(TrunkInfo[i][tGun5],gunname,sizeof(gunname)); format(string,sizeof(string)," Слот 5: %s, патроны: %d", gunname,TrunkInfo[i][tAmmo5]); SendClientMessage(playerid,COLOR_WHITE,string); } } } } return 1; }[code]
--------------------------------------------- [code]if(strcmp(cmd, "/trunkfrisk", true) == 0)//Команда для копов { if(IsPlayerConnected(playerid)) { for(new i = 0; i < MAX_VEHICLES; i++) { new Float:x,Float:y,Float:z; GetVehiclePos(i,x,y,z); if (PlayerToPoint(4, playerid,x,y,z)) { if(IsPlayerInAnyVehicle(playerid)) { SendClientMessage(playerid,COLOR_GREY," Сначала вылези из своего транспорта!"); return 1; } if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1) { new gunname[32]; SendClientMessage(playerid,COLOR_YELLOW,"*** Багажник ***"); format(string,sizeof(string)," Деньги: $%d ",TrunkInfo[i][tMoney]); SendClientMessage(playerid,COLOR_WHITE,string); format(string,sizeof(string)," Наркотики: $%d ",TrunkInfo[i][tDrugs]); SendClientMessage(playerid,COLOR_WHITE,string); if(TrunkInfo[i][tGun1] != 0) { GetWeaponName(TrunkInfo[i][tGun1],gunname,sizeof(gunname)); format(string,sizeof(string)," Слот 1: %s, патроны: %d", gunname,TrunkInfo[i][tAmmo1]); SendClientMessage(playerid,COLOR_WHITE,string); } if(TrunkInfo[i][tGun2] != 0) { GetWeaponName(TrunkInfo[i][tGun2],gunname,sizeof(gunname)); format(string,sizeof(string)," Слот 2: %s, патроны: %d", gunname,TrunkInfo[i][tAmmo2]); SendClientMessage(playerid,COLOR_WHITE,string); } if(TrunkInfo[i][tGun3] != 0) { GetWeaponName(TrunkInfo[i][tGun3],gunname,sizeof(gunname)); format(string,sizeof(string)," Слот 3: %s, патроны: %d", gunname,TrunkInfo[i][tAmmo3]); SendClientMessage(playerid,COLOR_WHITE,string); } if(TrunkInfo[i][tGun4] != 0) { GetWeaponName(TrunkInfo[i][tGun4],gunname,sizeof(gunname)); format(string,sizeof(string)," Слот 4: %s, патроны: %d", gunname,TrunkInfo[i][tAmmo4]); SendClientMessage(playerid,COLOR_WHITE,string); } if(TrunkInfo[i][tGun5] != 0) { GetWeaponName(TrunkInfo[i][tGun5],gunname,sizeof(gunname)); format(string,sizeof(string)," Слот 5: %s, патроны: %d", gunname,TrunkInfo[i][tAmmo5]); SendClientMessage(playerid,COLOR_WHITE,string); } } else { SendClientMessage(playerid,COLOR_GREY," Ты не полицейский!"); } } } } return 1; } if(strcmp(cmd, "/trunkopen", true) == 0)//Открыть багажник { if(IsPlayerConnected(playerid)) { for(new i = 0; i < MAX_VEHICLES; i++) { new Float:x,Float:y,Float:z; GetVehiclePos(i,x,y,z); if (PlayerToPoint(4, playerid,x,y,z)) { if(!IsPlayerInAnyVehicle(playerid)) { SendClientMessage(playerid,COLOR_GREY," Ты не в транспорте!"); return 1; } if(TrunkInfo[i][tOpened] == 1) { SendClientMessage(playerid,COLOR_GREY," Ты закрыл багажник!"); TrunkInfo[i][tOpened] = 0; return 1; } if(TrunkInfo[i][tOpened] == 0) { SendClientMessage(playerid,COLOR_GREY," Ты открыл багажник!"); TrunkInfo[i][tOpened] = 1; return 1; } } } } return 1; } ну и последние создаем в конце мода public 1 Code public RemovePlayerWeapon(playerid, weaponid) { new plyWeapons[12] = 0; new plyAmmo[12] = 0; for(new slot = 0; slot != 12; slot++) { new wep, ammo; GetPlayerWeaponData(playerid, slot, wep, ammo);
if(wep != weaponid && ammo != 0) { GetPlayerWeaponData(playerid, slot, plyWeapons[slot], plyAmmo[slot]); } }
SafeResetPlayerWeapons(playerid); for(new slot = 0; slot != 12; slot++) { if(plyAmmo[slot] != 0) { SafeGivePlayerWeapon(playerid, plyWeapons[slot], plyAmmo[slot]); } } return 1; } 2 Code public SafeGivePlayerWeapon(plyid, weaponid, ammo) { /* new curHour, curMinute, curSecond; gettime(curHour, curMinute, curSecond); ScriptWeaponsUpdated[plyid] = curSecond;*/ GivePlayerWeapon(plyid, weaponid, ammo); //UpdateWeaponSlots(plyid); return 1; } 3 Code public SafeResetPlayerWeapons(plyid) { /* new curHour, curMinute, curSecond; gettime(curHour, curMinute, curSecond); ScriptWeaponsUpdated[plyid] = curSecond;*/ ResetPlayerWeapons(plyid); //UpdateWeaponSlots(plyid); return 1; }
Сообщение отредактировал TiShA - Пятница, 18.03.2011, 15:20 |
|
|
|