 |
|
 |
|
|
|
Последние Файлы GTA 4 |
Последние Файлы GTA-MP |
Реклама |
|
|
|
|
|
Проблема со скритптом
| |
| Alexcey666 | Дата: Пятница, 01.04.2011, 18:40 | Сообщение # 1 |
|
Новенький
Группа:
Продвинутые
Сообщений: 65
Награды: 0
Город: Киев
Репутация: 0
Замечания: 0%
Статус: 
| ПОМОГИТЕ я скачал скрипт на новую роботу мне она очень понравилась и я решил боротся кароче Когда закончил роботу и хочеш забрать деньги становишся на маркет они тебе даются и сразу же отнемаются потомучто в моде стоит анти чит на деньги как зделать так чтоб зароботаное не отнемалось??? Вот скритп #include <a_samp> #define DIALOG_RAZDEVALKA 5674 #define COLOR_LIGHTBLUE 0x33CCFFFF #define COLOR_ORANGERED 0xFF4500AA #define COLOR_GREEN 0x33AA33AA new cash,clothes; new bool:Works[MAX_PLAYERS]; new bool:Prorab[MAX_PLAYERS]; new JobCP[MAX_PLAYERS]; new JobAmmount[MAX_PLAYERS]; new OldSkin[MAX_PLAYERS]; new JobOffer[MAX_PLAYERS]; new Employer[MAX_PLAYERS]; public OnFilterScriptInit() { print("\n--------------------------------------"); print(" Работа грузчика v_1.0 by denizx"); print("--------------------------------------\n"); cash = CreatePickup(1274, 23, 2127.5701,-2275.1938,20.6719, -1); clothes = CreatePickup(1275, 23, 2137.9661,-2282.2017,20.6719, -1); 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); CreateObject(997,2201.155,-2249.776,12.647,0.0,0.0,135.000); CreateObject(997,2204.432,-2253.012,12.647,0.0,0.0,135.000); CreateObject(997,2207.577,-2256.245,12.655,0.0,0.0,135.000); CreateObject(997,2210.800,-2259.572,12.655,0.0,0.0,135.000); CreateObject(997,2211.736,-2258.889,12.655,0.0,0.0,45.000); return 1; } public OnPlayerConnect(playerid) { Works[playerid] = false; Prorab[playerid] = false; JobCP[playerid] = 0; JobAmmount[playerid] = 0; OldSkin[playerid] = 0; JobOffer[playerid] = 999; Employer[playerid] = 999; return 1; } public OnPlayerDeath(playerid, killerid, reason) { return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { new idx,giveplayerid; new cmd[64],tmp[128],string[128],point[128]; cmd = strtok(cmdtext, idx); if(strcmp(cmd,"/loader",true)==0 || strcmp(cmdtext, "/дщфвук", true) == 0) { point = strtok(cmdtext, idx); if(!strlen(point)) { SendClientMessage(playerid, 0xFFFFFFFF, "/loader [команда]"); SendClientMessage(playerid, 0xFFFFFFFF, "{008000}[ДОСТУПНО]{FFFFFF} contract - предложить контракт | payday - зарплата"); return 1; } if(strcmp(point,"contract",true) == 0) { if(Prorab[playerid] == false) return SendClientMessage(playerid,0xFFFFFFFF,"Недостаточно прав для использования команды."); if(Works[playerid] == false) return SendClientMessage(playerid,0xFFFFFFFF,"Чтобы использвать команду, необходимо выйти на работу."); //if(!IsPlayerInRangeOfPoint(playerid,5.0,2127.5701,-2275.1938,20.6719)) SendClientMessage(playerid,0xFFFFFFFF,"Игрок не возле тебя."); tmp = strtok(cmdtext, idx); if(!strlen(tmp))return SendClientMessage(playerid,0xFFFFFFFF,"/gcontract [id игрока]."); giveplayerid = strval(tmp); if(giveplayerid == playerid) return SendClientMessage(playerid,0xFFFFFFFF,"Ты не можешь заключть контракт с собой."); if(Prorab[giveplayerid] == true) return SendClientMessage(playerid,0xFFFFFFFF,"Ты не можешь заключать контракт с прорабом."); if(Works[giveplayerid] == true) 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; new giveplayer[40],sendername[40]; 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,"/givecontract - подписать контракт (преимущества: $50 за мешок)."); } if(strcmp(point,"accept",true) == 0) { if(JobOffer[playerid] == 999) return SendClientMessage(playerid,0xFFFFFFFF,"Никто не предлагал тебе контракт."); if(Employer[playerid] != 999) return SendClientMessage(playerid,0xFFFFFFFF,"Ты уже заключал контракт."); if(Prorab[JobOffer[playerid]] == true) return SendClientMessage(playerid,0xFFFFFFFF,"Этот игрок не прораб."); if(Works[JobOffer[playerid]] == true) return SendClientMessage(playerid,0xFFFFFFFF,"Этот игрок не на работе."); //if(!IsPlayerInRangeOfPoint(playerid,5.0,2127.5701,-2275.1938,20.6719)) SendClientMessage(playerid,0xFFFFFFFF,"Игрок не возле тебя."); if(!IsPlayerConnected(JobOffer[playerid])) return SendClientMessage(playerid,0xFFFFFFFF,"Этот игрок не в сети."); if(!ProxDetectorS(5.0, playerid, JobOffer[playerid])) return SendClientMessage(playerid,0xFFFFFFFF,"Игрок не возле тебя."); new giveplayer[40],sendername[40]; 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 - выдать зарплату."); } if(strcmp(point,"payday",true) == 0) { if(Prorab[playerid] == false) return SendClientMessage(playerid,0xFFFFFFFF,"Недостаточно прав для использования команды."); if(Works[playerid] == false) return SendClientMessage(playerid,0xFFFFFFFF,"Чтобы использвать команду, необходимо выйти на работу."); 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(Works[giveplayerid] == false) return SendClientMessage(playerid,0xFFFFFFFF,"Этот игрок не на работе."); if(JobAmmount[giveplayerid] == 0) return SendClientMessage(playerid,0xFFFFFFFF,"Этот игрок не перенес ни одного мешка."); if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid,0xFFFFFFFF,"Этот игрок не в сети."); if(!ProxDetectorS(5.0, playerid, giveplayerid)) return SendClientMessage(playerid,0xFFFFFFFF,"Игрок не возле тебя."); new giveplayer[40]; GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GivePlayerMoney(playerid,JobAmmount[playerid]*50); format(string,sizeof(string),"{228B22} Вы получили $%d за свою работу. Приходите еще.",JobAmmount[playerid]*50); SendClientMessage(playerid,0xFFFFFFFF,string); GivePlayerMoney(giveplayerid,JobAmmount[playerid]*25); format(string,sizeof(string),"{228B22} Вы получили $%d от работы %s.",JobAmmount[playerid]*25, giveplayer); SendClientMessage(giveplayerid,0xFFFFFFFF,string); JobAmmount[playerid] = 0; } return 1; } if(strcmp(cmd,"/prorab",true) == 0) { Prorab[playerid] = true; return 1; } return 0; } public OnPlayerEnterCheckpoint(playerid) { if(Works[playerid]) { if(JobCP[playerid] == 1 && IsPlayerInRangeOfPoint(playerid,2.0,2230.3528,-2286.1353,14.3751)) { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,2172.4146,-2255.5405,13.3041,1.5); ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,1,0,0,1,1,1); SetPlayerAttachedObject(playerid, 1 , 2060, 1,0.11,0.36,0.0,0.0,90.0); ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,1,0,0,1,1,1); JobCP[playerid] = 2; } if(JobCP[playerid] == 2 && IsPlayerInRangeOfPoint(playerid,2.0,2172.4146,-2255.5405,13.3041)) { new string[64]; JobAmmount[playerid] ++; format(string,sizeof(string)," Перенесено мешков: %d",JobAmmount[playerid]); SendClientMessage(playerid,0x33AA33AA,string); DisablePlayerCheckpoint(playerid); ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,0,0,0,0,1,0); if(IsPlayerAttachedObjectSlotUsed(playerid,1)) RemovePlayerAttachedObject(playerid,1); SetPlayerCheckpoint(playerid,2230.3528,-2286.1353,14.3751,1.5); JobCP[playerid] = 1; } } return 1; } public OnPlayerPickUpPickup(playerid, pickupid) { new string[128]; if(pickupid == clothes) { if(Prorab[playerid] == true) { ShowPlayerDialog(playerid,DIALOG_RAZDEVALKA,DIALOG_STYLE_LIST,"\ FreePlay: Работа прорабом","Начать\nЗавершить","Ок","Ок"); } else { ShowPlayerDialog(playerid,DIALOG_RAZDEVALKA,DIALOG_STYLE_LIST,"\ FreePlay: Работа грузчиком","Начать\nЗавершить","Ок","Ок"); } } if(pickupid == cash) { if(Works[playerid] == false) return SendClientMessage(playerid,0x33AA33AA,"Вы не брали работу."); if(JobAmmount[playerid] == 0) return SendClientMessage(playerid,0x33AA33AA,"Вы еще ничего не заработали."); GivePlayerMoney(playerid,JobAmmount[playerid]*25); format(string,sizeof(string),"Вы получили $%d за свою работу. Приходите еще.",JobAmmount[playerid]*25); SendClientMessage(playerid,0x33AA33AA,string); JobAmmount[playerid] = 0; } return 1; } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if(newkeys & KEY_FIRE) { if(Works[playerid] == true && JobCP[playerid] == 2) { if(IsPlayerInRangeOfPoint(playerid,2.0,2230.3528,-2286.1353,14.3751)) return 1; SendClientMessage(playerid,0xFF4500AA,"Вы уронили мешок."); DisablePlayerCheckpoint(playerid); ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,0,0,0,0,1,0); if(IsPlayerAttachedObjectSlotUsed(playerid,1)) RemovePlayerAttachedObject(playerid,1); SetPlayerCheckpoint(playerid,2230.3528,-2286.1353,14.3751,1.5); JobCP[playerid] = 1; } } return 1; } public OnRconLoginAttempt(ip[], password[], success) { return 1; } public OnPlayerUpdate(playerid) { if(Works[playerid] == true && JobCP[playerid] == 2) { if(IsPlayerApplyAnimation(playerid, "FALL_back") || IsPlayerApplyAnimation(playerid, "FALL_collapse") || IsPlayerApplyAnimation(playerid, "FALL_fall") || IsPlayerApplyAnimation(playerid, "FALL_front") || IsPlayerApplyAnimation(playerid, "FALL_glide") || IsPlayerApplyAnimation(playerid, "FALL_land") || IsPlayerApplyAnimation(playerid, "FALL_skyDive") || IsPlayerApplyAnimation(playerid, "JUMP_glide") || IsPlayerApplyAnimation(playerid, "JUMP_land") || IsPlayerApplyAnimation(playerid, "JUMP_launch") || IsPlayerApplyAnimation(playerid, "JUMP_launch_R")) { if(IsPlayerInRangeOfPoint(playerid,2.0,2230.3528,-2286.1353,14.3751)) return 1; SendClientMessage(playerid,0xFF4500AA,"Вы уронили мешок."); DisablePlayerCheckpoint(playerid); ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,0,0,0,0,1,0); if(IsPlayerAttachedObjectSlotUsed(playerid,1)) RemovePlayerAttachedObject(playerid,1); SetPlayerCheckpoint(playerid,2230.3528,-2286.1353,14.3751,1.5); JobCP[playerid] = 1; } } return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == DIALOG_RAZDEVALKA) { if(listitem == 0) { if(Works[playerid] == true) return SendClientMessage(playerid,0x33AA33AA,"[Ошибка]Вы уже взяли работу. Чтобы взять мешок, идите на красную метку на радаре."); OldSkin[playerid] = GetPlayerSkin(playerid); Works[playerid] = true; JobAmmount[playerid] = 0; JobCP[playerid] = 1; SetPlayerCheckpoint(playerid,2230.3528,-2286.1353,14.3751,1.5); if(Prorab[playerid] == true) { SetPlayerSkin(playerid,27); SendClientMessage(playerid,0xFF4500AA," Вы можете давать контракты на погрузку и самостоятельно носить мешки."); SendClientMessage(playerid,0xFFFFFFFF,"/gcontract - выдать контракт /gpayday - выдать заработную плату."); } else { new skin = random(2); if(skin == 1) SetPlayerSkin(playerid,260); else SetPlayerSkin(playerid,16); SendClientMessage(playerid,0x33AA33AA," Чтобы взять мешок, идите на красную метку на радаре."); } } else if(listitem == 1) { if(Works[playerid] == false) return SendClientMessage(playerid,0xFFFFFFFF,"Ты не брал работу."); if(JobAmmount[playerid] != 0) return SendClientMessage(playerid,0xFFFFFFFF," Сначала вы должны получить зарплату в офисе."); SendClientMessage(playerid,0x33AA33AA," Вы завершили работу грузчиком."); Works[playerid] = false; JobAmmount[playerid] = 0; JobCP[playerid] = 0; Employer[playerid] = 999; SetPlayerSkin(playerid,OldSkin[playerid]); DisablePlayerCheckpoint(playerid); } else return 1; } return 1; } stock IsPlayerApplyAnimation(playerid, animation[]) { if(!GetPlayerAnimationIndex(playerid)) return 0; else { new animlib[32], animname[32]; GetAnimationName(GetPlayerAnimationIndex(playerid), animlib, sizeof(animlib), animname, sizeof(animname)); if(!strcmp(animname, animation, true)) return 1; } return 0; } strtok(const string[], &index) { new length = strlen(string); while ((index < length) && (string[index] <= ' ')) { index++; } new offset = index; new result[20]; while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; } forward ProxDetectorS(Float:radi, playerid, targetid); public ProxDetectorS(Float:radi, playerid, targetid) { if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid)) { new Float:posx, Float:posy, Float:posz; new Float:oldposx, Float:oldposy, Float:oldposz; new Float:tempposx, Float:tempposy, Float:tempposz; GetPlayerPos(playerid, oldposx, oldposy, oldposz); //radi = 2.0; //Trigger Radius GetPlayerPos(targetid, posx, posy, posz); tempposx = (oldposx -posx); tempposy = (oldposy -posy); tempposz = (oldposz -posz); //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz); if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))) { return 1; } } return 0; }
H@OS
|
| |
|
|
| [krik] | Дата: Пятница, 01.04.2011, 19:12 | Сообщение # 2 |
|
Постоялец
Группа:
I'm V.I.P.
Сообщений: 434
Награды: 20
Город: Самара
Репутация: 438
Замечания: 0%
Статус: 
| есть один нормальный вариант решения этой проблемы вшить в мод и всё.. Ну или вшей свой античит в скрипт
Я не говорю, что я изменю мир, но я обещаю, что найду такие слова, которые действительно изменят мир, так что выше нос! ©2pac
|
| |
|
|
| Basta-_- | Дата: Пятница, 01.04.2011, 19:21 | Сообщение # 3 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 216
Награды: 2
Город: Riga
Репутация: 76
Замечания: 0%
Статус: 
| Alexcey666, Вот [cut noguest=Вот все зделал за тебя ]public OnPlayerConnect(playerid) { Works[playerid] = false; Prorab[playerid] = false; JobCP[playerid] = 0; JobAmmount[playerid] = 0; OldSkin[playerid] = 0; JobOffer[playerid] = 999; Employer[playerid] = 999; return 1; } public OnPlayerDeath(playerid, killerid, reason) { return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { new idx,giveplayerid; new cmd[64],tmp[128],string[128],point[128]; cmd = strtok(cmdtext, idx); if(strcmp(cmd,"/loader",true)==0 || strcmp(cmdtext, "/дщфвук", true) == 0) { point = strtok(cmdtext, idx); if(!strlen(point)) { SendClientMessage(playerid, 0xFFFFFFFF, "/loader [команда]"); SendClientMessage(playerid, 0xFFFFFFFF, "{008000}[ДОСТУПНО]{FFFFFF} contract - предложить контракт | payday - зарплата"); return 1; } if(strcmp(point,"contract",true) == 0) { if(Prorab[playerid] == false) return SendClientMessage(playerid,0xFFFFFFFF,"Недостаточно прав для использования команды."); if(Works[playerid] == false) return SendClientMessage(playerid,0xFFFFFFFF,"Чтобы использвать команду, необходимо выйти на работу."); //if(!IsPlayerInRangeOfPoint(playerid,5.0,2127.5701,-2275.1938,20.6719)) SendClientMessage(playerid,0xFFFFFFFF,"Игрок не возле тебя."); tmp = strtok(cmdtext, idx); if(!strlen(tmp))return SendClientMessage(playerid,0xFFFFFFFF,"/gcontract [id игрока]."); giveplayerid = strval(tmp); if(giveplayerid == playerid) return SendClientMessage(playerid,0xFFFFFFFF,"Ты не можешь заключть контракт с собой."); if(Prorab[giveplayerid] == true) return SendClientMessage(playerid,0xFFFFFFFF,"Ты не можешь заключать контракт с прорабом."); if(Works[giveplayerid] == true) 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; new giveplayer[40],sendername[40]; 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,"/givecontract - подписать контракт (преимущества: $50 за мешок)."); } if(strcmp(point,"accept",true) == 0) { if(JobOffer[playerid] == 999) return SendClientMessage(playerid,0xFFFFFFFF,"Никто не предлагал тебе контракт."); if(Employer[playerid] != 999) return SendClientMessage(playerid,0xFFFFFFFF,"Ты уже заключал контракт."); if(Prorab[JobOffer[playerid]] == true) return SendClientMessage(playerid,0xFFFFFFFF,"Этот игрок не прораб."); if(Works[JobOffer[playerid]] == true) return SendClientMessage(playerid,0xFFFFFFFF,"Этот игрок не на работе."); //if(!IsPlayerInRangeOfPoint(playerid,5.0,2127.5701,-2275.1938,20.6719)) SendClientMessage(playerid,0xFFFFFFFF,"Игрок не возле тебя."); if(!IsPlayerConnected(JobOffer[playerid])) return SendClientMessage(playerid,0xFFFFFFFF,"Этот игрок не в сети."); if(!ProxDetectorS(5.0, playerid, JobOffer[playerid])) return SendClientMessage(playerid,0xFFFFFFFF,"Игрок не возле тебя."); new giveplayer[40],sendername[40]; 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 - выдать зарплату."); } if(strcmp(point,"payday",true) == 0) { if(Prorab[playerid] == false) return SendClientMessage(playerid,0xFFFFFFFF,"Недостаточно прав для использования команды."); if(Works[playerid] == false) return SendClientMessage(playerid,0xFFFFFFFF,"Чтобы использвать команду, необходимо выйти на работу."); 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(Works[giveplayerid] == false) return SendClientMessage(playerid,0xFFFFFFFF,"Этот игрок не на работе."); if(JobAmmount[giveplayerid] == 0) return SendClientMessage(playerid,0xFFFFFFFF,"Этот игрок не перенес ни одного мешка."); if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid,0xFFFFFFFF,"Этот игрок не в сети."); if(!ProxDetectorS(5.0, playerid, giveplayerid)) return SendClientMessage(playerid,0xFFFFFFFF,"Игрок не возле тебя."); new giveplayer[40]; GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); AntiMoney[playerid] +=JobAmmount[playerid]*50; GivePlayerMoney(playerid,JobAmmount[playerid]*50); format(string,sizeof(string),"{228B22} Вы получили $%d за свою работу. Приходите еще.",JobAmmount[playerid]*50); SendClientMessage(playerid,0xFFFFFFFF,string); AntiMoney[playerid] +=JobAmmount[playerid]*25; GivePlayerMoney(giveplayerid,JobAmmount[playerid]*25); format(string,sizeof(string),"{228B22} Вы получили $%d от работы %s.",JobAmmount[playerid]*25, giveplayer); SendClientMessage(giveplayerid,0xFFFFFFFF,string); JobAmmount[playerid] = 0; } return 1; } if(strcmp(cmd,"/prorab",true) == 0) { Prorab[playerid] = true; return 1; } return 0; } public OnPlayerEnterCheckpoint(playerid) { if(Works[playerid]) { if(JobCP[playerid] == 1 && IsPlayerInRangeOfPoint(playerid,2.0,2230.3528,-2286.1353,14.3751)) { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,2172.4146,-2255.5405,13.3041,1.5); ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,1,0,0,1,1,1); SetPlayerAttachedObject(playerid, 1 , 2060, 1,0.11,0.36,0.0,0.0,90.0); ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,1,0,0,1,1,1); JobCP[playerid] = 2; } if(JobCP[playerid] == 2 && IsPlayerInRangeOfPoint(playerid,2.0,2172.4146,-2255.5405,13.3041)) { new string[64]; JobAmmount[playerid] ++; format(string,sizeof(string)," Перенесено мешков: %d",JobAmmount[playerid]); SendClientMessage(playerid,0x33AA33AA,string); DisablePlayerCheckpoint(playerid); ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,0,0,0,0,1,0); if(IsPlayerAttachedObjectSlotUsed(playerid,1)) RemovePlayerAttachedObject(playerid,1); SetPlayerCheckpoint(playerid,2230.3528,-2286.1353,14.3751,1.5); JobCP[playerid] = 1; } } return 1; } public OnPlayerPickUpPickup(playerid, pickupid) { new string[128]; if(pickupid == clothes) { if(Prorab[playerid] == true) { ShowPlayerDialog(playerid,DIALOG_RAZDEVALKA,DIALOG_STYLE_LIST,"\ FreePlay: Работа прорабом","Начать\nЗавершить","Ок","Ок"); } else { ShowPlayerDialog(playerid,DIALOG_RAZDEVALKA,DIALOG_STYLE_LIST,"\ FreePlay: Работа грузчиком","Начать\nЗавершить","Ок","Ок"); } } if(pickupid == cash) { if(Works[playerid] == false) return SendClientMessage(playerid,0x33AA33AA,"Вы не брали работу."); if(JobAmmount[playerid] == 0) return SendClientMessage(playerid,0x33AA33AA,"Вы еще ничего не заработали."); AntiMoney[playerid] +=JobAmmount[playerid]*25; GivePlayerMoney(playerid,JobAmmount[playerid]*25); format(string,sizeof(string),"Вы получили $%d за свою работу. Приходите еще.",JobAmmount[playerid]*25); SendClientMessage(playerid,0x33AA33AA,string); JobAmmount[playerid] = 0; } return 1; } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if(newkeys & KEY_FIRE) { if(Works[playerid] == true && JobCP[playerid] == 2) { if(IsPlayerInRangeOfPoint(playerid,2.0,2230.3528,-2286.1353,14.3751)) return 1; SendClientMessage(playerid,0xFF4500AA,"Вы уронили мешок."); DisablePlayerCheckpoint(playerid); ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,0,0,0,0,1,0); if(IsPlayerAttachedObjectSlotUsed(playerid,1)) RemovePlayerAttachedObject(playerid,1); SetPlayerCheckpoint(playerid,2230.3528,-2286.1353,14.3751,1.5); JobCP[playerid] = 1; } } return 1; } public OnRconLoginAttempt(ip[], password[], success) { return 1; } public OnPlayerUpdate(playerid) { if(Works[playerid] == true && JobCP[playerid] == 2) { if(IsPlayerApplyAnimation(playerid, "FALL_back") || IsPlayerApplyAnimation(playerid, "FALL_collapse") || IsPlayerApplyAnimation(playerid, "FALL_fall") || IsPlayerApplyAnimation(playerid, "FALL_front") || IsPlayerApplyAnimation(playerid, "FALL_glide") || IsPlayerApplyAnimation(playerid, "FALL_land") || IsPlayerApplyAnimation(playerid, "FALL_skyDive") || IsPlayerApplyAnimation(playerid, "JUMP_glide") || IsPlayerApplyAnimation(playerid, "JUMP_land") || IsPlayerApplyAnimation(playerid, "JUMP_launch") || IsPlayerApplyAnimation(playerid, "JUMP_launch_R")) { if(IsPlayerInRangeOfPoint(playerid,2.0,2230.3528,-2286.1353,14.3751)) return 1; SendClientMessage(playerid,0xFF4500AA,"Вы уронили мешок."); DisablePlayerCheckpoint(playerid); ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,0,0,0,0,1,0); if(IsPlayerAttachedObjectSlotUsed(playerid,1)) RemovePlayerAttachedObject(playerid,1); SetPlayerCheckpoint(playerid,2230.3528,-2286.1353,14.3751,1.5); JobCP[playerid] = 1; } } return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == DIALOG_RAZDEVALKA) { if(listitem == 0) { if(Works[playerid] == true) return SendClientMessage(playerid,0x33AA33AA,"[Ошибка]Вы уже взяли работу. Чтобы взять мешок, идите на красную метку на радаре."); OldSkin[playerid] = GetPlayerSkin(playerid); Works[playerid] = true; JobAmmount[playerid] = 0; JobCP[playerid] = 1; SetPlayerCheckpoint(playerid,2230.3528,-2286.1353,14.3751,1.5); if(Prorab[playerid] == true) { SetPlayerSkin(playerid,27); SendClientMessage(playerid,0xFF4500AA," Вы можете давать контракты на погрузку и самостоятельно носить мешки."); SendClientMessage(playerid,0xFFFFFFFF,"/gcontract - выдать контракт /gpayday - выдать заработную плату."); } else { new skin = random(2); if(skin == 1) SetPlayerSkin(playerid,260); else SetPlayerSkin(playerid,16); SendClientMessage(playerid,0x33AA33AA," Чтобы взять мешок, идите на красную метку на радаре."); } } else if(listitem == 1) { if(Works[playerid] == false) return SendClientMessage(playerid,0xFFFFFFFF,"Ты не брал работу."); if(JobAmmount[playerid] != 0) return SendClientMessage(playerid,0xFFFFFFFF," Сначала вы должны получить зарплату в офисе."); SendClientMessage(playerid,0x33AA33AA," Вы завершили работу грузчиком."); Works[playerid] = false; JobAmmount[playerid] = 0; JobCP[playerid] = 0; Employer[playerid] = 999; SetPlayerSkin(playerid,OldSkin[playerid]); DisablePlayerCheckpoint(playerid); } else return 1; } return 1; } stock IsPlayerApplyAnimation(playerid, animation[]) { if(!GetPlayerAnimationIndex(playerid)) return 0; else { new animlib[32], animname[32]; GetAnimationName(GetPlayerAnimationIndex(playerid), animlib, sizeof(animlib), animname, sizeof(animname)); if(!strcmp(animname, animation, true)) return 1; } return 0; } strtok(const string[], &index) { new length = strlen(string); while ((index < length) && (string[index] <= ' ')) { index++; } new offset = index; new result[20]; while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; } forward ProxDetectorS(Float:radi, playerid, targetid); public ProxDetectorS(Float:radi, playerid, targetid) { if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid)) { new Float:posx, Float:posy, Float:posz; new Float:oldposx, Float:oldposy, Float:oldposz; new Float:tempposx, Float:tempposy, Float:tempposz; GetPlayerPos(playerid, oldposx, oldposy, oldposz); //radi = 2.0; //Trigger Radius GetPlayerPos(targetid, posx, posy, posz); tempposx = (oldposx -posx); tempposy = (oldposy -posy); tempposz = (oldposz -posz); //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz); if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))) { return 1; } } return 0; }[/cut]
|
| |
|
|
| Astarion | Дата: Пятница, 01.04.2011, 19:31 | Сообщение # 4 |
|
Уверенный в себе
Группа:
I'm V.I.P.
Сообщений: 173
Награды: 16
Город: Москва
Замечания: 40%
Статус: 
| надо добавить гдето около 25 строк, я такой пример в моде видел, енпомню как называется, он был created by xXx , там на античит надо ограничение поставить к такому выбору действий. Прсти помочь немогу, это надо в мод лазить, у мя мода by xXx нет
|
| |
|
|
| Alexcey666 | Дата: Воскресенье, 30.06.2013, 00:42 | Сообщение # 5 |
|
Новенький
Группа:
Продвинутые
Сообщений: 65
Награды: 0
Город: Киев
Репутация: 0
Замечания: 0%
Статус: 
| Закрыто!
H@OS
|
| |
|
|
|
 |
|
 | |
| |
|