PI
The world on the edge of reality
ко всем new добавляем:
в public OnGameModeInit вставляем
в public OnPlayerСonnect вставляем
в public OnPlayerDisconnect
в public OnPlayerUpdate вставляем
в public OnPlayerPickUpPickup
public OnPlayerEnterCheckpoint(playerid)
public OnDialogResponse
public OnPlayerCommandText(playerid, cmdtext[])
автор FS: DuMBaSS
PHP:
new PlayerInJob[MAX_PLAYERS];
new Meshki[MAX_PLAYERS];
new Meshok[MAX_PLAYERS];
new gryz1;
new gryz2;
new gryz3;
new Oldskin2[MAX_PLAYERS];
new bool:Works[MAX_PLAYERS];
new JobAmmount[MAX_PLAYERS];
new JobOffer[MAX_PLAYERS];
new Employer[MAX_PLAYERS];
PHP:
CreateObject(2060,2172.89526367,-2256.86108398,12.46142387,0.00000000,0.00000000,44.00000000);
CreateObject(2060,2172.89453125,-2256.86035156,12.46142387,0.00000000,0.00000000,43.99475098);
CreateObject(2060,2172.42309570,-2256.42822266,12.46099281,0.00000000,0.00000000,47.25003052);
CreateObject(2060,2173.31835938,-2257.36694336,12.46148300,0.00000000,0.00000000,43.75000000);
CreateObject(2060,2172.75854492,-2256.49853516,12.77687645,0.00000000,0.00000000,315.24987793);
CreateObject(2060,2172.41381836,-2256.85815430,12.77693558,0.00000000,0.00000000,316.25000000);
CreateObject(2060,2173.61865234,-2257.31201172,12.77693558,0.00000000,0.00000000,136.00000000);
CreateObject(2060,2173.29321289,-2257.70800781,12.77693558,0.00000000,0.00000000,134.00000000);
CreateObject(2060,2173.73193359,-2257.77856445,12.46504116,0.00000000,0.00000000,42.00000000);
CreateObject(2060,2172.61962891,-2256.63281250,13.09232903,0.00000000,0.00000000,0.00000000);
CreateObject(2060,2229.29809570,-2286.05883789,13.53178787,0.00000000,0.00000000,226.00000000);
CreateObject(2060,2229.61987305,-2286.45825195,13.53178787,0.00000000,0.00000000,45.00000000);
CreateObject(2060,2230.00610352,-2286.81738281,13.53178787,0.00000000,0.00000000,44.00000000);
CreateObject(2060,2230.39746094,-2287.23168945,13.53178787,0.00000000,0.00000000,44.00000000);
CreateObject(2060,2229.35400391,-2286.54858398,13.80724049,0.00000000,0.00000000,134.00000000);
CreateObject(2060,2230.20898438,-2286.95312500,13.82723999,0.00000000,0.00000000,102.00000000);
gryz1 = CreatePickup(1275, 23, 2137.8227539063,-2282.4379882813,20.671875, -1);
gryz2 = CreatePickup(1274, 23, 2127.6430664063,-2275.4113769531,20.671875, -1);
Create3DTextLabel("[Раздевалка]",0x0000FFAA,2137.8227539063,-2282.4379882813,20.671875,40.0,0, 1);
Create3DTextLabel("[Касса]",0x0000FFAA,2127.6430664063,-2275.4113769531,20.671875,40.0,0, 1);
PHP:
Works[playerid] = 0;
JobAmmount[playerid] = 0;
JobOffer[playerid] = 999;
Employer[playerid] = 999;
PHP:
PlayerInJob[playerid] = 0;
Meshok[playerid] = 0;
Meshki[playerid] = 0;
Oldskin2[playerid] = 0;
PHP:
new animlib[32];
new animname[32];
if(Meshok[playerid] == 1){
GetAnimationName(GetPlayerAnimationIndex(playerid),animlib,32,animname,32);
if(strcmp(animname, "IDLE_STANCE", true) != 0 && strcmp(animname, "RUN_CIVI", true) != 0 && strcmp(animname, "WALK_CIVI", true) != 0 && strcmp(animname, "crry_prtial", true) != 0 && strcmp(animname, "SPRINT_PANIC", true) != 0){
Meshok[playerid] = 0;
SendClientMessage(playerid, COLOR_RED, "Вы уронили мешок!");
if(IsPlayerAttachedObjectSlotUsed(playerid,2)) RemovePlayerAttachedObject(playerid,2);
ApplyAnimation(playerid,"PED","IDLE_tired",4.1,0,1,1,0,1);
SetPlayerCheckpoint(playerid,2230.8132324219,-2285.7043457031,13.531787872314,2.0);
}
}
PHP:
if(pickupid == gryz1) {
ShowPlayerDialog(playerid,102,DIALOG_STYLE_MSGBOX,"Раздевалка","Вы хотите передется чтоб начать работу?","Да","Нет");
}
if(pickupid == gryz2) {
ShowPlayerDialog(playerid,103,DIALOG_STYLE_MSGBOX,"Касса","Вы хотите получить вашу зарплату и закончить работу?","Да","Нет");
}
PHP:
new string[256];
if(PlayerToPoint(2.0, playerid,2230.8132324219,-2285.7043457031,13.531787872314))
{
Meshok[playerid] = 1;
ApplyAnimation(playerid,"CARRY","crry_prtial",4.1,0,1,1,1,1);
SetPlayerAttachedObject(playerid, 2, 2060, 5, 0.01, 0.1, 0.2, 100, 10, 85);
SetPlayerCheckpoint(playerid,2172.1313476563,-2255.2292480469,12.454199790955,2.0);
}
if(PlayerToPoint(2.0, playerid,2172.1313476563,-2255.2292480469,12.454199790955))
{
Meshok[playerid] = 0;
ApplyAnimation(playerid,"PED","IDLE_tired",4.1,0,1,1,0,1);
Meshki[playerid]++;
if(IsPlayerAttachedObjectSlotUsed(playerid,2)) RemovePlayerAttachedObject(playerid,2);
format(string, sizeof(string), "Мешков перетащено {A52A2A}%d",Meshki[playerid]);
SendClientMessage(playerid, COLOR_SYSTEM, string);
SetPlayerCheckpoint(playerid,2230.8132324219,-2285.7043457031,13.531787872314,2.0);
}
public OnDialogResponse
PHP:
if(dialogid == 103)
{
new string[128];
if(response){
if(!PlayerInJob[playerid]){
SendClientMessage(playerid, COLOR_RED, "Вы не на работе");
SendClientMessage(playerid, COLOR_RED, "Переоденьтесь в раздевалке чтоб начать работу!");
return 1;
}
PlayerInJob[playerid] = 0;
SetPlayerSkin(playerid, Oldskin2[playerid]);
DisablePlayerCheckpoint(playerid);
GivePlayerMoney(playerid, Meshki[playerid]*25); //Внимание замените GivePlayerMoney на передачу вашего мода.
format(string, sizeof(string), "{FFFAFA}Вы получили {228B22}%d$ {FFFAFA}за {A52A2A}%d {FFFAFA}мешка(ов)",Meshki[playerid]*25,Meshki[playerid]);
SendClientMessage(playerid, COLOR_SYSTEM, string);
Meshki[playerid] = 0;
}
if(dialogid == 102)
{
if(response){
if(PlayerInJob[playerid]){
SendClientMessage(playerid, COLOR_RED, "Вы уже на работе");
SendClientMessage(playerid, COLOR_RED, "Если вы хотите закончить работу?иди в кассу");
return 1;
}
PlayerInJob[playerid] = 1;
Oldskin2[playerid] = GetPlayerSkin(playerid);
SetPlayerSkin(playerid, 16);
SetPlayerCheckpoint(playerid,2230.8132324219,-2285.7043457031,13.531787872314,2.0);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "На вашей карточке отмечен чекпоинт");
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Идите к нему чтоб взять мешок");
}
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
PHP:
if(strcmp(cmd,"/contract",true)==0 )
{
if (PlayerInfo[playerid][pJob] == 10)//это ид работы...у меня в моде 10
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))return SendClientMessage(playerid,0xFFFFFFFF,"/contract [id игрока].");
giveplayerid = strval(tmp);
if(giveplayerid == playerid) return SendClientMessage(playerid,0xFFFFFFFF,"Ты не можешь заключть контракт с собой.");
if(PlayerInfo[giveplayerid][pJob] == 10) return SendClientMessage(playerid,0xFFFFFFFF,"Ты не можешь заключать контракт с прорабом.");
if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid,0xFFFFFFFF,"Этот игрок не в сети.");
if(!ProxDetectorS(5.0, playerid, giveplayerid)) return SendClientMessage(playerid,0xFFFFFFFF,"Игрок не возле тебя.");
if(JobOffer[giveplayerid] == playerid) return SendClientMessage(playerid,0xFFFFFFFF,"Ты уже предложил игроку контракт.");
JobOffer[giveplayerid] = playerid;
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* Ты предложил контакт %s.", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* Прораб %s предлагает тебе контракт.", sendername);
SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
SendClientMessage(giveplayerid,0xFFFFFFFF,"/gcontract - подписать контракт (преимущества: $50 за мешок).");
}
return 1;
}
if(strcmp(cmd,"/gcontract",true)==0 )
{
if (PlayerInJob[playerid] == 1)
{
if(JobOffer[playerid] == 999) return SendClientMessage(playerid,0xFFFFFFFF,"Никто не предлагал тебе контракт.");
if(Employer[playerid] != 999) return SendClientMessage(playerid,0xFFFFFFFF,"Ты уже заключал контракт.");
if(!IsPlayerConnected(JobOffer[playerid])) return SendClientMessage(playerid,0xFFFFFFFF,"Этот игрок не в сети.");
if(!ProxDetectorS(5.0, playerid, JobOffer[playerid])) return SendClientMessage(playerid,0xFFFFFFFF,"Игрок не возле тебя.");
GetPlayerName(JobOffer[playerid], giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
Employer[playerid] = JobOffer[playerid]; JobOffer[playerid] = 0;
format(string, sizeof(string), "* Ты заключил контакт с %s.", Employer[playerid]);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* %s заключил с тобой контракт.", sendername);
SendClientMessage(Employer[playerid], COLOR_LIGHTBLUE, string);
SendClientMessage(Employer[playerid],0xFFFFFFFF,"/gpayday - выдать зарплату.");
}
return 1;
}
if(strcmp(cmd,"/gpayday",true)==0 )
{
if (PlayerInfo[playerid][pJob] == 10)//это ид работы...у меня в моде 10
{
if(!IsPlayerInRangeOfPoint(playerid,5.0,2127.5701,-2275.1938,20.6719))return SendClientMessage(playerid,0xFFFFFFFF,"Зарплату выдавать можно только в офисе.");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))return SendClientMessage(playerid,0xFFFFFFFF,"/gpayday [id игрока].");
giveplayerid = strval(tmp);
if(Employer[giveplayerid] != playerid) return SendClientMessage(playerid,0xFFFFFFFF,"Этот игрок не работает на тебя.");
if(Meshki[giveplayerid] == 0) return SendClientMessage(playerid,0xFFFFFFFF,"Этот игрок не перенес ни одного мешка.");
if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid,0xFFFFFFFF,"Этот игрок не в сети.");
if(!ProxDetectorS(5.0, playerid, giveplayerid)) return SendClientMessage(playerid,0xFFFFFFFF,"Игрок не возле тебя.");
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GivePlayerMoney(playerid,Meshki[playerid]*50);
format(string,sizeof(string)," Ты получил {228B22}$%d{FFFFFF} за свою работу. Приходи еще.",Meshki[playerid]*50);
SendClientMessage(playerid,0xFFFFFFFF,string);
GivePlayerMoney(giveplayerid,Meshki[playerid]*25);
format(string,sizeof(string)," Ты получил {228B22}$%d{FFFFFF} от работы %s.",Meshki[playerid]*25, giveplayer);
SendClientMessage(giveplayerid,0xFFFFFFFF,string);
PlayerInJob[playerid] = 0;
SetPlayerSkin(playerid, Oldskin2[playerid]);
DisablePlayerCheckpoint(playerid);
Meshki[playerid] = 0;
}
return 1;
}
