pawno урок Counter Strike игра
admin Дата: Среда, 21.09.2011, 18:49:22 | Сообщение # 1
Группа: Администраторы
Сообщений: 3869
верху мода: Code
#include <streamer> //если есть этот уже инклуд то можно не добавлять 2 раз #include <sscanf2> //если есть этот уже инклуд то можно не добавлять 2 раз forward Defuse(); forward Spawn(); forward Bomb(); #define TEAM_RED 1 #define TEAM_BLUE 2 #define COLOR_RED 0xAA3333AA #define COLOR_BLUE 0x33CCFFAA #define COLOR_ERROR 0xFF6A6AFF #define COLOR_BOMB 0x96BD6AFF new gTeam[MAX_PLAYERS]; new IsPlanted[MAX_PLAYERS]; new BombTimer; new DefuseTimer; new BombC;
После этого ищем public OnGameModeInit() и туда вставляем: Code
CreateDynamicObject(4843, 3788.556640625, -1007, 22.800483703613, 2.4224853515625, 14.26025390625, 359.37927246094); CreateDynamicObject(18450, 3788.0417480469, -1074.3570556641, 28.603553771973, 271.82019042969, 105.94512939453, 105.95275878906); CreateDynamicObject(18450, 3752.2565917969, -1034.466796875, 30.965980529785, 271.81823730469, 105.94110107422, 9.951904296875); CreateDynamicObject(18450, 3795.3010253906, -994.7861328125, 30.988925933838, 87.696228027344, 130.62664794922, 229.35363769531); CreateDynamicObject(18450, 3829.0361328125, -1033.736328125, 28.466419219971, 87.698364257813, 40.512084960938, 223.51135253906); CreateDynamicObject(5836, 3762.46875, -1060.9654541016, 33.749580383301, 0, 0, 0); CreateDynamicObject(3244, 3817.2033691406, -1006.7029418945, 23.351663589478, 0, 0, 0); CreateDynamicObject(11426, 3763.2980957031, -1048.7274169922, 22.138051986694, 0, 0, 0); CreateDynamicObject(11440, 3763.1037597656, -1040.1733398438, 22.192417144775, 0, 0, 0); CreateDynamicObject(11444, 3761.8654785156, -1023.9291381836, 23.29563331604, 0, 0, 87); CreateDynamicObject(11447, 3763.8076171875, -1014.5645751953, 23.725009918213, 0.25, 0, 83.5); CreateDynamicObject(11459, 3809.7502441406, -1006.7024536133, 22.369380950928, 0, 0, 0); CreateDynamicObject(11425, 3788.8916015625, -1063.1005859375, 23.222801208496, 0, 0, 0); CreateDynamicObject(2892, 3763.8696289063, -1039.8968505859, 25.301792144775, 0, 0, 0); CreateDynamicObject(3277, 3814.0671386719, -1065.7998046875, 20.544910430908, 0, 0, 0); CreateDynamicObject(3279, 3762.6506347656, -1003.1516723633, 24.117984771729, 0, 0, 0); CreateDynamicObject(16093, 3787.5080566406, -1004.9901733398, 24.341495513916, 0, 0, 0); CreateDynamicObject(3884, 3813.9548339844, -1065.9423828125, 20.519918441772, 0, 0, 0); CreateDynamicObject(2977, 3788.9877929688, -1066.1768798828, 21.319984436035, 0, 0, 0); CreateDynamicObject(4882, 3796.8549804688, -1037.2819824219, 26.579437255859, 0, 0, 0); CreateDynamicObject(1637, 3770.4956054688, -1067.5883789063, 22.887557983398, 0, 0, 0); CreateDynamicObject(13637, 3816.90234375, -1040.4141845703, 21.758207321167, 0, 0, 0); CreateDynamicObject(1454, 3800.2314453125, -1005.2055053711, 24.239179611206, 0, 0, 0); CreateDynamicObject(1457, 3778.3935546875, -1004.3561401367, 25.944948196411, 0, 0, 0); CreateDynamicObject(1458, 3771.2314453125, -1033.5455322266, 23.3118724823, 0, 0, 0); CreateDynamicObject(1483, 3788.2023925781, -1066.6140136719, 23.287937164307, 0, 0, 0); CreateDynamicObject(3252, 3797.9787597656, -1058.7006835938, 21.185646057129, 0, 0, 0); CreateDynamicObject(14875, 3780.8703613281, -1051.8704833984, 22.676380157471, 0, 0, 0); CreateDynamicObject(16405, 3782.0483398438, -1067.8461914063, 23.358337402344, 0, 0, 0); CreateDynamicObject(16406, 3826.7817382813, -1021.5054931641, 26.651744842529, 0, 0, 0); CreateDynamicObject(1452, 3791.9660644531, -1000.9810791016, 25.533332824707, 0, 0, 0); CreateDynamicObject(1463, 3770.9719238281, -1052.3360595703, 22.586893081665, 0, 0, 0); CreateDynamicObject(615, 3776.9450683594, -1056.181640625, 21.17707824707, 0, 0, 0); CreateDynamicObject(654, 3788.8693847656, -1031.6385498047, 22.414892196655, 0, 0, 0); CreateDynamicObject(654, 3798.4265136719, -1001.9503173828, 23.328159332275, 0, 0, 0); CreateDynamicObject(660, 3820.4982910156, -1064.2631835938, 20.781923294067, 0, 0, 0); CreateDynamicObject(671, 3774.3537597656, -1013.5877075195, 23.751955032349, 0, 0, 0); CreateDynamicObject(672, 3770.8112792969, -997.68231201172, 24.484878540039, 0, 0, 0); CreateDynamicObject(700, 3769.8898925781, -1025.9455566406, 23.43603515625, 0, 0, 0); CreateDynamicObject(703, 3779.4379882813, -1019.9229736328, 23.190059661865, 0, 0, 0); CreateDynamicObject(706, 3805.1826171875, -1018.3567504883, 22.39249420166, 0, 0, 0); CreateDynamicObject(726, 3813.5812988281, -1057.4226074219, 20.876085281372, 0, 0, 0); CreateDynamicObject(729, 3758.0971679688, -1049.3806152344, 22.193546295166, 0, 0, 0); CreateDynamicObject(763, 3782.6611328125, -1027.328125, 23.002702713013, 0, 0, 0); CreateDynamicObject(744, 3783.7329101563, -1038.345703125, 22.306625366211, 0, 0, 0); CreateDynamicObject(749, 3803.3459472656, -1055.2156982422, 20.71215057373, 0, 0, 0); CreateDynamicObject(748, 3782.2346191406, -1040.9794921875, 23.45666885376, 0, 0, 0); CreateDynamicObject(750, 3808.3913574219, -1032.6060791016, 21.548503875732, 0, 0, 0); CreateDynamicObject(744, 3802.9118652344, -1048.4647216797, 21.382221221924, 0, 0, 0);
После этого ищем public OnPlayerRequestClass и туда вставляем: Code
SetPlayerTeamFromClass(playerid);
Примерно так должен быть public: Code
public OnPlayerRequestClass(playerid, classid) { SetPlayerTeamFromClass(playerid); return 1; }
Потом добавим функцию в любое место: Code
SetPlayerTeamFromClass(playerid) { gTeam[playerid] = TEAM_RED; gTeam[playerid] = TEAM_BLUE; }
После этого ищем public OnPlayerSpawn и туда вставляем: Code
SetPlayerTeam(playerid, 0); TogglePlayerControllable(playerid,1); SetPlayerArmour(playerid, 0); SetPlayerHealth(playerid, 100);
Примерно так должен быть public: Code
public OnPlayerSpawn(playerid) { SetPlayerTeam(playerid, 0); TogglePlayerControllable(playerid,1); SetPlayerArmour(playerid, 0); SetPlayerHealth(playerid, 100); return 1; }
После этого ищем public OnPlayerCommandText и туда вставляем: Code
new id; if (strcmp(cmdtext, "/Terrorist", true) == 0) { new name[MAX_PLAYER_NAME], string[44]; GetPlayerName(playerid, name, sizeof(name)); format(string, sizeof(string), "%s присоединился к Terroristй.",name); SendClientMessageToAll(0xFFFF00AA, string); SetPlayerPos(playerid, 3811.0046,-1040.1082,22.4528); SendClientMessage(playerid, COLOR_RED, "Ваша команда Команда Красные или террористических"); SetPlayerTeam(playerid, TEAM_RED); SetPlayerColor(playerid, COLOR_RED); SetPlayerHealth(playerid, 100); SetPlayerArmour(playerid, 100); SetPlayerSkin(playerid, 179); GivePlayerWeapon(playerid, 24, 10000); GivePlayerWeapon(playerid, 25, 10000); GivePlayerWeapon(playerid, 32, 10000); GivePlayerWeapon(playerid, 33, 10000); GivePlayerWeapon(playerid, 30, 10000); GivePlayerMoney(playerid, -100); return 1; } if (strcmp(cmdtext, "/CT", true) == 0) { new name[MAX_PLAYER_NAME], string[44]; GetPlayerName(playerid, name, sizeof(name)); format(string, sizeof(string), "%s has joined the Counter-Terrorist.",name); SendClientMessageToAll(0xFFFF00AA, string); SetPlayerPos(playerid, 3756.1958,-1022.8865,24.7479); SendClientMessage(playerid, COLOR_BLUE, "Ваша команда синия или Counter-Terrorist"); SetPlayerTeam(playerid, TEAM_BLUE); SetPlayerColor(playerid, COLOR_BLUE); SetPlayerHealth(playerid, 100); SetPlayerArmour(playerid, 100); SetPlayerSkin(playerid, 285); GivePlayerWeapon(playerid, 22, 10000); GivePlayerWeapon(playerid, 27, 10000); GivePlayerWeapon(playerid, 29, 10000); GivePlayerWeapon(playerid, 31, 10000); GivePlayerWeapon(playerid, 34, 10000); GivePlayerMoney(playerid, -100); return 1; } if (strcmp(cmdtext, "/plant", true) == 0) { if(IsPlanted[id] == 0) { if(GetPlayerTeam(playerid) == TEAM_RED) { if(IsPlayerInRangeOfPoint(playerid, 7.0, 3787.4651,-1002.8569,25.4665)) { IsPlanted[id] = 1; BombTimer = SetTimer("Bomb",30000,false); SendClientMessageToAll(COLOR_BLUE, "Заложили бомбу замедленного действия"); BombC = CreateDynamicCP(3787.4651,-1002.8569,25.4665, 1.5, -1, -1, -1, 100.0); return 1; } else return SendClientMessage(playerid, COLOR_ERROR, "(Ошибка) Вы должны в зале генератор CT"); } else return SendClientMessage(playerid, COLOR_ERROR, "(Ошибка) Только Terrorist можете использовать эту команду"); } else return SendClientMessage(playerid, COLOR_ERROR, "(Ошибка) Заложили бомбу замедленного действия"); }
Примерно так должен быть public: Code
public OnPlayerCommandText(playerid, cmdtext[]) { new id; if (strcmp(cmdtext, "/Terrorist", true) == 0) { new name[MAX_PLAYER_NAME], string[44]; GetPlayerName(playerid, name, sizeof(name)); format(string, sizeof(string), "%s присоединился к Terroristй.",name); SendClientMessageToAll(0xFFFF00AA, string); SetPlayerPos(playerid, 3811.0046,-1040.1082,22.4528); SendClientMessage(playerid, COLOR_RED, "Ваша команда Команда Красные или террористических"); SetPlayerTeam(playerid, TEAM_RED); SetPlayerColor(playerid, COLOR_RED); SetPlayerHealth(playerid, 100); SetPlayerArmour(playerid, 100); SetPlayerSkin(playerid, 179); GivePlayerWeapon(playerid, 24, 10000); GivePlayerWeapon(playerid, 25, 10000); GivePlayerWeapon(playerid, 32, 10000); GivePlayerWeapon(playerid, 33, 10000); GivePlayerWeapon(playerid, 30, 10000); GivePlayerMoney(playerid, -100); return 1; } if (strcmp(cmdtext, "/CT", true) == 0) { new name[MAX_PLAYER_NAME], string[44]; GetPlayerName(playerid, name, sizeof(name)); format(string, sizeof(string), "%s has joined the Counter-Terrorist.",name); SendClientMessageToAll(0xFFFF00AA, string); SetPlayerPos(playerid, 3756.1958,-1022.8865,24.7479); SendClientMessage(playerid, COLOR_BLUE, "Ваша команда синия или Counter-Terrorist"); SetPlayerTeam(playerid, TEAM_BLUE); SetPlayerColor(playerid, COLOR_BLUE); SetPlayerHealth(playerid, 100); SetPlayerArmour(playerid, 100); SetPlayerSkin(playerid, 285); GivePlayerWeapon(playerid, 22, 10000); GivePlayerWeapon(playerid, 27, 10000); GivePlayerWeapon(playerid, 29, 10000); GivePlayerWeapon(playerid, 31, 10000); GivePlayerWeapon(playerid, 34, 10000); GivePlayerMoney(playerid, -100); return 1; } if (strcmp(cmdtext, "/plant", true) == 0) { if(IsPlanted[id] == 0) { if(GetPlayerTeam(playerid) == TEAM_RED) { if(IsPlayerInRangeOfPoint(playerid, 7.0, 3787.4651,-1002.8569,25.4665)) { IsPlanted[id] = 1; BombTimer = SetTimer("Bomb",30000,false); SendClientMessageToAll(COLOR_BLUE, "Заложили бомбу замедленного действия"); BombC = CreateDynamicCP(3787.4651,-1002.8569,25.4665, 1.5, -1, -1, -1, 100.0); return 1; } else return SendClientMessage(playerid, COLOR_ERROR, "(Ошибка) Вы должны в зале генератор CT"); } else return SendClientMessage(playerid, COLOR_ERROR, "(Ошибка) Только Terrorist можете использовать эту команду"); } else return SendClientMessage(playerid, COLOR_ERROR, "(Ошибка) Заложили бомбу замедленного действия"); } return 0; }
После этого в любое место вставляем функции: Code
public Bomb() { new playerid, id; CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); IsPlanted[id] = 0; SendClientMessageToAll(COLOR_BOMB, "бомба взорвалась. Terrorist выграл"); GameTextForPlayer(playerid,"~r~Terrorist Win",3000,5); TogglePlayerControllable(playerid,0); KillTimer(DefuseTimer); SetTimer("Spawn",3000,false); if(GetPlayerTeam(playerid) == TEAM_RED) { GivePlayerMoney(playerid, 5000); } if(GetPlayerTeam(playerid) == TEAM_BLUE) { GivePlayerMoney(playerid, 2500); } DestroyDynamicCP(BombC); } public Spawn() { new playerid; for(new i = 0; i < MAX_PLAYERS; i++) { if(GetPlayerTeam(playerid) == TEAM_RED) { SpawnPlayer(i); } if(GetPlayerTeam(playerid) == TEAM_BLUE) { SpawnPlayer(i); } } } public Defuse() { new playerid; new id; SendClientMessageToAll(COLOR_BOMB, "Бомба была разряжена"); GameTextForPlayer(playerid,"~b~Counter-Terrorist VIGRAL",3000,5); TogglePlayerControllable(playerid,0); KillTimer(BombTimer); SetTimer("Spawn",3000,false); IsPlanted[id] = 0; if(GetPlayerTeam(playerid) == TEAM_RED) { GivePlayerMoney(playerid, 2500); } if(GetPlayerTeam(playerid) == TEAM_BLUE) { GivePlayerMoney(playerid, 5000); } DestroyDynamicCP(BombC); } public OnPlayerEnterDynamicCP(playerid, checkpointid) { if(checkpointid == BombC) { if(GetPlayerTeam(playerid) == TEAM_BLUE) { if(IsPlayerInRangeOfPoint(playerid, 7.0, 3787.4651,-1002.8569,25.4665)) { if(IsPlanted[playerid] == 1) { SendClientMessage(playerid, COLOR_RED, "Бомба быть обезврежена"); DefuseTimer = SetTimer("Defuse",10000,false); if(IsPlanted[playerid] == 0) { SendClientMessageToAll(COLOR_BOMB, "разминировано не удалось"); } return 1; } else return SendClientMessage(playerid, COLOR_ERROR, "(Ошибка) Бомбы не были установлены"); } else return SendClientMessage(playerid, COLOR_ERROR, "(Ошибка) Вы должны в генератор"); } else return SendClientMessage(playerid, COLOR_ERROR, "(Ошибка) Только КТ может обезвредить бомбу"); } return 1; } public OnPlayerLeaveDynamicCP(playerid, checkpointid) { if(GetPlayerTeam(playerid) == TEAM_BLUE) { KillTimer(DefuseTimer); SendClientMessage(playerid, COLOR_ERROR, "(Ошибка) Разминировать не удалось, вы должны в контрольно-пропускном пункте, чтобы разрядить бомбу"); } }
Урок by - 26_RUSSS
zm-jail.ru Разработка сайта samp-pawno.ru
Сообщение верху мода: Code
#include <streamer> //если есть этот уже инклуд то можно не добавлять 2 раз #include <sscanf2> //если есть этот уже инклуд то можно не добавлять 2 раз forward Defuse(); forward Spawn(); forward Bomb(); #define TEAM_RED 1 #define TEAM_BLUE 2 #define COLOR_RED 0xAA3333AA #define COLOR_BLUE 0x33CCFFAA #define COLOR_ERROR 0xFF6A6AFF #define COLOR_BOMB 0x96BD6AFF new gTeam[MAX_PLAYERS]; new IsPlanted[MAX_PLAYERS]; new BombTimer; new DefuseTimer; new BombC;
После этого ищем public OnGameModeInit() и туда вставляем: Code
CreateDynamicObject(4843, 3788.556640625, -1007, 22.800483703613, 2.4224853515625, 14.26025390625, 359.37927246094); CreateDynamicObject(18450, 3788.0417480469, -1074.3570556641, 28.603553771973, 271.82019042969, 105.94512939453, 105.95275878906); CreateDynamicObject(18450, 3752.2565917969, -1034.466796875, 30.965980529785, 271.81823730469, 105.94110107422, 9.951904296875); CreateDynamicObject(18450, 3795.3010253906, -994.7861328125, 30.988925933838, 87.696228027344, 130.62664794922, 229.35363769531); CreateDynamicObject(18450, 3829.0361328125, -1033.736328125, 28.466419219971, 87.698364257813, 40.512084960938, 223.51135253906); CreateDynamicObject(5836, 3762.46875, -1060.9654541016, 33.749580383301, 0, 0, 0); CreateDynamicObject(3244, 3817.2033691406, -1006.7029418945, 23.351663589478, 0, 0, 0); CreateDynamicObject(11426, 3763.2980957031, -1048.7274169922, 22.138051986694, 0, 0, 0); CreateDynamicObject(11440, 3763.1037597656, -1040.1733398438, 22.192417144775, 0, 0, 0); CreateDynamicObject(11444, 3761.8654785156, -1023.9291381836, 23.29563331604, 0, 0, 87); CreateDynamicObject(11447, 3763.8076171875, -1014.5645751953, 23.725009918213, 0.25, 0, 83.5); CreateDynamicObject(11459, 3809.7502441406, -1006.7024536133, 22.369380950928, 0, 0, 0); CreateDynamicObject(11425, 3788.8916015625, -1063.1005859375, 23.222801208496, 0, 0, 0); CreateDynamicObject(2892, 3763.8696289063, -1039.8968505859, 25.301792144775, 0, 0, 0); CreateDynamicObject(3277, 3814.0671386719, -1065.7998046875, 20.544910430908, 0, 0, 0); CreateDynamicObject(3279, 3762.6506347656, -1003.1516723633, 24.117984771729, 0, 0, 0); CreateDynamicObject(16093, 3787.5080566406, -1004.9901733398, 24.341495513916, 0, 0, 0); CreateDynamicObject(3884, 3813.9548339844, -1065.9423828125, 20.519918441772, 0, 0, 0); CreateDynamicObject(2977, 3788.9877929688, -1066.1768798828, 21.319984436035, 0, 0, 0); CreateDynamicObject(4882, 3796.8549804688, -1037.2819824219, 26.579437255859, 0, 0, 0); CreateDynamicObject(1637, 3770.4956054688, -1067.5883789063, 22.887557983398, 0, 0, 0); CreateDynamicObject(13637, 3816.90234375, -1040.4141845703, 21.758207321167, 0, 0, 0); CreateDynamicObject(1454, 3800.2314453125, -1005.2055053711, 24.239179611206, 0, 0, 0); CreateDynamicObject(1457, 3778.3935546875, -1004.3561401367, 25.944948196411, 0, 0, 0); CreateDynamicObject(1458, 3771.2314453125, -1033.5455322266, 23.3118724823, 0, 0, 0); CreateDynamicObject(1483, 3788.2023925781, -1066.6140136719, 23.287937164307, 0, 0, 0); CreateDynamicObject(3252, 3797.9787597656, -1058.7006835938, 21.185646057129, 0, 0, 0); CreateDynamicObject(14875, 3780.8703613281, -1051.8704833984, 22.676380157471, 0, 0, 0); CreateDynamicObject(16405, 3782.0483398438, -1067.8461914063, 23.358337402344, 0, 0, 0); CreateDynamicObject(16406, 3826.7817382813, -1021.5054931641, 26.651744842529, 0, 0, 0); CreateDynamicObject(1452, 3791.9660644531, -1000.9810791016, 25.533332824707, 0, 0, 0); CreateDynamicObject(1463, 3770.9719238281, -1052.3360595703, 22.586893081665, 0, 0, 0); CreateDynamicObject(615, 3776.9450683594, -1056.181640625, 21.17707824707, 0, 0, 0); CreateDynamicObject(654, 3788.8693847656, -1031.6385498047, 22.414892196655, 0, 0, 0); CreateDynamicObject(654, 3798.4265136719, -1001.9503173828, 23.328159332275, 0, 0, 0); CreateDynamicObject(660, 3820.4982910156, -1064.2631835938, 20.781923294067, 0, 0, 0); CreateDynamicObject(671, 3774.3537597656, -1013.5877075195, 23.751955032349, 0, 0, 0); CreateDynamicObject(672, 3770.8112792969, -997.68231201172, 24.484878540039, 0, 0, 0); CreateDynamicObject(700, 3769.8898925781, -1025.9455566406, 23.43603515625, 0, 0, 0); CreateDynamicObject(703, 3779.4379882813, -1019.9229736328, 23.190059661865, 0, 0, 0); CreateDynamicObject(706, 3805.1826171875, -1018.3567504883, 22.39249420166, 0, 0, 0); CreateDynamicObject(726, 3813.5812988281, -1057.4226074219, 20.876085281372, 0, 0, 0); CreateDynamicObject(729, 3758.0971679688, -1049.3806152344, 22.193546295166, 0, 0, 0); CreateDynamicObject(763, 3782.6611328125, -1027.328125, 23.002702713013, 0, 0, 0); CreateDynamicObject(744, 3783.7329101563, -1038.345703125, 22.306625366211, 0, 0, 0); CreateDynamicObject(749, 3803.3459472656, -1055.2156982422, 20.71215057373, 0, 0, 0); CreateDynamicObject(748, 3782.2346191406, -1040.9794921875, 23.45666885376, 0, 0, 0); CreateDynamicObject(750, 3808.3913574219, -1032.6060791016, 21.548503875732, 0, 0, 0); CreateDynamicObject(744, 3802.9118652344, -1048.4647216797, 21.382221221924, 0, 0, 0);
После этого ищем public OnPlayerRequestClass и туда вставляем: Code
SetPlayerTeamFromClass(playerid);
Примерно так должен быть public: Code
public OnPlayerRequestClass(playerid, classid) { SetPlayerTeamFromClass(playerid); return 1; }
Потом добавим функцию в любое место: Code
SetPlayerTeamFromClass(playerid) { gTeam[playerid] = TEAM_RED; gTeam[playerid] = TEAM_BLUE; }
После этого ищем public OnPlayerSpawn и туда вставляем: Code
SetPlayerTeam(playerid, 0); TogglePlayerControllable(playerid,1); SetPlayerArmour(playerid, 0); SetPlayerHealth(playerid, 100);
Примерно так должен быть public: Code
public OnPlayerSpawn(playerid) { SetPlayerTeam(playerid, 0); TogglePlayerControllable(playerid,1); SetPlayerArmour(playerid, 0); SetPlayerHealth(playerid, 100); return 1; }
После этого ищем public OnPlayerCommandText и туда вставляем: Code
new id; if (strcmp(cmdtext, "/Terrorist", true) == 0) { new name[MAX_PLAYER_NAME], string[44]; GetPlayerName(playerid, name, sizeof(name)); format(string, sizeof(string), "%s присоединился к Terroristй.",name); SendClientMessageToAll(0xFFFF00AA, string); SetPlayerPos(playerid, 3811.0046,-1040.1082,22.4528); SendClientMessage(playerid, COLOR_RED, "Ваша команда Команда Красные или террористических"); SetPlayerTeam(playerid, TEAM_RED); SetPlayerColor(playerid, COLOR_RED); SetPlayerHealth(playerid, 100); SetPlayerArmour(playerid, 100); SetPlayerSkin(playerid, 179); GivePlayerWeapon(playerid, 24, 10000); GivePlayerWeapon(playerid, 25, 10000); GivePlayerWeapon(playerid, 32, 10000); GivePlayerWeapon(playerid, 33, 10000); GivePlayerWeapon(playerid, 30, 10000); GivePlayerMoney(playerid, -100); return 1; } if (strcmp(cmdtext, "/CT", true) == 0) { new name[MAX_PLAYER_NAME], string[44]; GetPlayerName(playerid, name, sizeof(name)); format(string, sizeof(string), "%s has joined the Counter-Terrorist.",name); SendClientMessageToAll(0xFFFF00AA, string); SetPlayerPos(playerid, 3756.1958,-1022.8865,24.7479); SendClientMessage(playerid, COLOR_BLUE, "Ваша команда синия или Counter-Terrorist"); SetPlayerTeam(playerid, TEAM_BLUE); SetPlayerColor(playerid, COLOR_BLUE); SetPlayerHealth(playerid, 100); SetPlayerArmour(playerid, 100); SetPlayerSkin(playerid, 285); GivePlayerWeapon(playerid, 22, 10000); GivePlayerWeapon(playerid, 27, 10000); GivePlayerWeapon(playerid, 29, 10000); GivePlayerWeapon(playerid, 31, 10000); GivePlayerWeapon(playerid, 34, 10000); GivePlayerMoney(playerid, -100); return 1; } if (strcmp(cmdtext, "/plant", true) == 0) { if(IsPlanted[id] == 0) { if(GetPlayerTeam(playerid) == TEAM_RED) { if(IsPlayerInRangeOfPoint(playerid, 7.0, 3787.4651,-1002.8569,25.4665)) { IsPlanted[id] = 1; BombTimer = SetTimer("Bomb",30000,false); SendClientMessageToAll(COLOR_BLUE, "Заложили бомбу замедленного действия"); BombC = CreateDynamicCP(3787.4651,-1002.8569,25.4665, 1.5, -1, -1, -1, 100.0); return 1; } else return SendClientMessage(playerid, COLOR_ERROR, "(Ошибка) Вы должны в зале генератор CT"); } else return SendClientMessage(playerid, COLOR_ERROR, "(Ошибка) Только Terrorist можете использовать эту команду"); } else return SendClientMessage(playerid, COLOR_ERROR, "(Ошибка) Заложили бомбу замедленного действия"); }
Примерно так должен быть public: Code
public OnPlayerCommandText(playerid, cmdtext[]) { new id; if (strcmp(cmdtext, "/Terrorist", true) == 0) { new name[MAX_PLAYER_NAME], string[44]; GetPlayerName(playerid, name, sizeof(name)); format(string, sizeof(string), "%s присоединился к Terroristй.",name); SendClientMessageToAll(0xFFFF00AA, string); SetPlayerPos(playerid, 3811.0046,-1040.1082,22.4528); SendClientMessage(playerid, COLOR_RED, "Ваша команда Команда Красные или террористических"); SetPlayerTeam(playerid, TEAM_RED); SetPlayerColor(playerid, COLOR_RED); SetPlayerHealth(playerid, 100); SetPlayerArmour(playerid, 100); SetPlayerSkin(playerid, 179); GivePlayerWeapon(playerid, 24, 10000); GivePlayerWeapon(playerid, 25, 10000); GivePlayerWeapon(playerid, 32, 10000); GivePlayerWeapon(playerid, 33, 10000); GivePlayerWeapon(playerid, 30, 10000); GivePlayerMoney(playerid, -100); return 1; } if (strcmp(cmdtext, "/CT", true) == 0) { new name[MAX_PLAYER_NAME], string[44]; GetPlayerName(playerid, name, sizeof(name)); format(string, sizeof(string), "%s has joined the Counter-Terrorist.",name); SendClientMessageToAll(0xFFFF00AA, string); SetPlayerPos(playerid, 3756.1958,-1022.8865,24.7479); SendClientMessage(playerid, COLOR_BLUE, "Ваша команда синия или Counter-Terrorist"); SetPlayerTeam(playerid, TEAM_BLUE); SetPlayerColor(playerid, COLOR_BLUE); SetPlayerHealth(playerid, 100); SetPlayerArmour(playerid, 100); SetPlayerSkin(playerid, 285); GivePlayerWeapon(playerid, 22, 10000); GivePlayerWeapon(playerid, 27, 10000); GivePlayerWeapon(playerid, 29, 10000); GivePlayerWeapon(playerid, 31, 10000); GivePlayerWeapon(playerid, 34, 10000); GivePlayerMoney(playerid, -100); return 1; } if (strcmp(cmdtext, "/plant", true) == 0) { if(IsPlanted[id] == 0) { if(GetPlayerTeam(playerid) == TEAM_RED) { if(IsPlayerInRangeOfPoint(playerid, 7.0, 3787.4651,-1002.8569,25.4665)) { IsPlanted[id] = 1; BombTimer = SetTimer("Bomb",30000,false); SendClientMessageToAll(COLOR_BLUE, "Заложили бомбу замедленного действия"); BombC = CreateDynamicCP(3787.4651,-1002.8569,25.4665, 1.5, -1, -1, -1, 100.0); return 1; } else return SendClientMessage(playerid, COLOR_ERROR, "(Ошибка) Вы должны в зале генератор CT"); } else return SendClientMessage(playerid, COLOR_ERROR, "(Ошибка) Только Terrorist можете использовать эту команду"); } else return SendClientMessage(playerid, COLOR_ERROR, "(Ошибка) Заложили бомбу замедленного действия"); } return 0; }
После этого в любое место вставляем функции: Code
public Bomb() { new playerid, id; CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); CreateExplosion(3787.4651,-1002.8569,25.4665, 6, 150.0); IsPlanted[id] = 0; SendClientMessageToAll(COLOR_BOMB, "бомба взорвалась. Terrorist выграл"); GameTextForPlayer(playerid,"~r~Terrorist Win",3000,5); TogglePlayerControllable(playerid,0); KillTimer(DefuseTimer); SetTimer("Spawn",3000,false); if(GetPlayerTeam(playerid) == TEAM_RED) { GivePlayerMoney(playerid, 5000); } if(GetPlayerTeam(playerid) == TEAM_BLUE) { GivePlayerMoney(playerid, 2500); } DestroyDynamicCP(BombC); } public Spawn() { new playerid; for(new i = 0; i < MAX_PLAYERS; i++) { if(GetPlayerTeam(playerid) == TEAM_RED) { SpawnPlayer(i); } if(GetPlayerTeam(playerid) == TEAM_BLUE) { SpawnPlayer(i); } } } public Defuse() { new playerid; new id; SendClientMessageToAll(COLOR_BOMB, "Бомба была разряжена"); GameTextForPlayer(playerid,"~b~Counter-Terrorist VIGRAL",3000,5); TogglePlayerControllable(playerid,0); KillTimer(BombTimer); SetTimer("Spawn",3000,false); IsPlanted[id] = 0; if(GetPlayerTeam(playerid) == TEAM_RED) { GivePlayerMoney(playerid, 2500); } if(GetPlayerTeam(playerid) == TEAM_BLUE) { GivePlayerMoney(playerid, 5000); } DestroyDynamicCP(BombC); } public OnPlayerEnterDynamicCP(playerid, checkpointid) { if(checkpointid == BombC) { if(GetPlayerTeam(playerid) == TEAM_BLUE) { if(IsPlayerInRangeOfPoint(playerid, 7.0, 3787.4651,-1002.8569,25.4665)) { if(IsPlanted[playerid] == 1) { SendClientMessage(playerid, COLOR_RED, "Бомба быть обезврежена"); DefuseTimer = SetTimer("Defuse",10000,false); if(IsPlanted[playerid] == 0) { SendClientMessageToAll(COLOR_BOMB, "разминировано не удалось"); } return 1; } else return SendClientMessage(playerid, COLOR_ERROR, "(Ошибка) Бомбы не были установлены"); } else return SendClientMessage(playerid, COLOR_ERROR, "(Ошибка) Вы должны в генератор"); } else return SendClientMessage(playerid, COLOR_ERROR, "(Ошибка) Только КТ может обезвредить бомбу"); } return 1; } public OnPlayerLeaveDynamicCP(playerid, checkpointid) { if(GetPlayerTeam(playerid) == TEAM_BLUE) { KillTimer(DefuseTimer); SendClientMessage(playerid, COLOR_ERROR, "(Ошибка) Разминировать не удалось, вы должны в контрольно-пропускном пункте, чтобы разрядить бомбу"); } }
Урок by - 26_RUSSS Автор - admin Дата добавления - 21.09.2011 в 18:49:22
temprid Дата: Вторник, 08.11.2011, 16:17:12 | Сообщение # 2
Группа: Пользователи
Сообщений: 22
как сделать,чтоб команду можно было ввести с 1 места,а не со всего сервера?
Сообщение как сделать,чтоб команду можно было ввести с 1 места,а не со всего сервера? Автор - temprid Дата добавления - 08.11.2011 в 16:17:12
danik_rok Дата: Вторник, 08.11.2011, 19:34:56 | Сообщение # 3
Группа: Проверенные
Сообщений: 317
Code
if (strcmp(cmdtext, "/Terrorist", true) == 0) { if(PlayerToPoint(5.0,playerid,-2054.1584,413.3217,38.4519))//твои коардинаты { new name[MAX_PLAYER_NAME], string[44]; GetPlayerName(playerid, name, sizeof(name)); format(string, sizeof(string), "%s ïðèñîåäèíèëñÿ ê Terroristé.",name); SendClientMessageToAll(0xFFFF00AA, string); SetPlayerPos(playerid, 3811.0046,-1040.1082,22.4528); SendClientMessage(playerid, COLOR_RED, "Âàøà êîìàíäà Êîìàíäà Êðàñíûå èëè òåððîðèñòè÷åñêèõ"); SetPlayerTeam(playerid, TEAM_RED); SetPlayerColor(playerid, COLOR_RED); SetPlayerHealth(playerid, 100); SetPlayerArmour(playerid, 100); SetPlayerSkin(playerid, 179); GivePlayerWeapon(playerid, 24, 10000); GivePlayerWeapon(playerid, 25, 10000); GivePlayerWeapon(playerid, 32, 10000); GivePlayerWeapon(playerid, 33, 10000); GivePlayerWeapon(playerid, 30, 10000); GivePlayerMoney(playerid, -100); return 1; } } if (strcmp(cmdtext, "/CT", true) == 0) { if(PlayerToPoint(5.0,playerid,-2054.1584,413.3217,38.4519))//твои коардинаты { new name[MAX_PLAYER_NAME], string[44]; GetPlayerName(playerid, name, sizeof(name)); format(string, sizeof(string), "%s has joined the Counter-Terrorist.",name); SendClientMessageToAll(0xFFFF00AA, string); SetPlayerPos(playerid, 3756.1958,-1022.8865,24.7479); SendClientMessage(playerid, COLOR_BLUE, "Âàøà êîìàíäà ñèíèÿ èëè Counter-Terrorist"); SetPlayerTeam(playerid, TEAM_BLUE); SetPlayerColor(playerid, COLOR_BLUE); SetPlayerHealth(playerid, 100); SetPlayerArmour(playerid, 100); SetPlayerSkin(playerid, 285); GivePlayerWeapon(playerid, 22, 10000); GivePlayerWeapon(playerid, 27, 10000); GivePlayerWeapon(playerid, 29, 10000); GivePlayerWeapon(playerid, 31, 10000); GivePlayerWeapon(playerid, 34, 10000); GivePlayerMoney(playerid, -100); return 1; } }
вот можеш сразу менять команду или внимательно 3 строки добавтиь:) Я просто копировал так тут тексты не разшифрованы
1. Вы сейчас в интернете. 2. Вы на сайте www.forum-pawno.net.ru. 3. Вы читаете это. 5. Вы не заметили что отсутствует пункт 4. 6. Вы сейчас это проверили. 7. Вы улыбаетесь.
Сообщение Code
if (strcmp(cmdtext, "/Terrorist", true) == 0) { if(PlayerToPoint(5.0,playerid,-2054.1584,413.3217,38.4519))//твои коардинаты { new name[MAX_PLAYER_NAME], string[44]; GetPlayerName(playerid, name, sizeof(name)); format(string, sizeof(string), "%s ïðèñîåäèíèëñÿ ê Terroristé.",name); SendClientMessageToAll(0xFFFF00AA, string); SetPlayerPos(playerid, 3811.0046,-1040.1082,22.4528); SendClientMessage(playerid, COLOR_RED, "Âàøà êîìàíäà Êîìàíäà Êðàñíûå èëè òåððîðèñòè÷åñêèõ"); SetPlayerTeam(playerid, TEAM_RED); SetPlayerColor(playerid, COLOR_RED); SetPlayerHealth(playerid, 100); SetPlayerArmour(playerid, 100); SetPlayerSkin(playerid, 179); GivePlayerWeapon(playerid, 24, 10000); GivePlayerWeapon(playerid, 25, 10000); GivePlayerWeapon(playerid, 32, 10000); GivePlayerWeapon(playerid, 33, 10000); GivePlayerWeapon(playerid, 30, 10000); GivePlayerMoney(playerid, -100); return 1; } } if (strcmp(cmdtext, "/CT", true) == 0) { if(PlayerToPoint(5.0,playerid,-2054.1584,413.3217,38.4519))//твои коардинаты { new name[MAX_PLAYER_NAME], string[44]; GetPlayerName(playerid, name, sizeof(name)); format(string, sizeof(string), "%s has joined the Counter-Terrorist.",name); SendClientMessageToAll(0xFFFF00AA, string); SetPlayerPos(playerid, 3756.1958,-1022.8865,24.7479); SendClientMessage(playerid, COLOR_BLUE, "Âàøà êîìàíäà ñèíèÿ èëè Counter-Terrorist"); SetPlayerTeam(playerid, TEAM_BLUE); SetPlayerColor(playerid, COLOR_BLUE); SetPlayerHealth(playerid, 100); SetPlayerArmour(playerid, 100); SetPlayerSkin(playerid, 285); GivePlayerWeapon(playerid, 22, 10000); GivePlayerWeapon(playerid, 27, 10000); GivePlayerWeapon(playerid, 29, 10000); GivePlayerWeapon(playerid, 31, 10000); GivePlayerWeapon(playerid, 34, 10000); GivePlayerMoney(playerid, -100); return 1; } }
вот можеш сразу менять команду или внимательно 3 строки добавтиь:) Я просто копировал так тут тексты не разшифрованыАвтор - danik_rok Дата добавления - 08.11.2011 в 19:34:56
temprid Дата: Среда, 09.11.2011, 20:13:31 | Сообщение # 4
Группа: Пользователи
Сообщений: 22
я не в мод делал) а в ФС,а PlayerToPoint-ошибка,вот и незнаю,что делать)
Сообщение я не в мод делал) а в ФС,а PlayerToPoint-ошибка,вот и незнаю,что делать) Автор - temprid Дата добавления - 09.11.2011 в 20:13:31
danik_rok Дата: Среда, 09.11.2011, 21:59:42 | Сообщение # 5
Группа: Проверенные
Сообщений: 317
я не уверен но вроде нужно инклуд прописать просто
1. Вы сейчас в интернете. 2. Вы на сайте www.forum-pawno.net.ru. 3. Вы читаете это. 5. Вы не заметили что отсутствует пункт 4. 6. Вы сейчас это проверили. 7. Вы улыбаетесь.
Сообщение я не уверен но вроде нужно инклуд прописать просто Автор - danik_rok Дата добавления - 09.11.2011 в 21:59:42
temprid Дата: Четверг, 10.11.2011, 18:44:13 | Сообщение # 6
Группа: Пользователи
Сообщений: 22
есть конечно,но не робит(
Сообщение есть конечно,но не робит( Автор - temprid Дата добавления - 10.11.2011 в 18:44:13
admin Дата: Пятница, 11.11.2011, 05:38:11 | Сообщение # 7
Группа: Администраторы
Сообщений: 3869
temprid , верху мода: Code
forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
После этого в любое в место вставляем public: Code
public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z) { if(IsPlayerConnected(playerid)) { new Float:oldposx, Float:oldposy, Float:oldposz; new Float:tempposx, Float:tempposy, Float:tempposz; GetPlayerPos(playerid, oldposx, oldposy, oldposz); tempposx = (oldposx -x); tempposy = (oldposy -y); tempposz = (oldposz -z); if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))) { return 1; } } return 0; }
и все :(
zm-jail.ru Разработка сайта samp-pawno.ru
Сообщение temprid , верху мода: Code
forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
После этого в любое в место вставляем public: Code
public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z) { if(IsPlayerConnected(playerid)) { new Float:oldposx, Float:oldposy, Float:oldposz; new Float:tempposx, Float:tempposy, Float:tempposz; GetPlayerPos(playerid, oldposx, oldposy, oldposz); tempposx = (oldposx -x); tempposy = (oldposy -y); tempposz = (oldposz -z); if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))) { return 1; } } return 0; }
и все :(Автор - admin Дата добавления - 11.11.2011 в 05:38:11
temprid Дата: Пятница, 11.11.2011, 18:07:39 | Сообщение # 8
Группа: Пользователи
Сообщений: 22
Фак,точно,паблик!!!!!!!!!! забыл)
Сообщение Фак,точно,паблик!!!!!!!!!! забыл) Автор - temprid Дата добавления - 11.11.2011 в 18:07:39
valych Дата: Суббота, 12.11.2011, 20:03:20 | Сообщение # 9
Группа: Проверенные
Сообщений: 501
temprid , Лучше использовать функцию IsPlayerInRangeOfPoint(playerid, radius,x,y,z) Она самповская поэтому будет срабатывать быстрее Короче выбирай)
Видео-уроки по pawn: https://www.youtube.com/channel/UCizhZElk8rxIPEcP4BHwdxg
Сообщение temprid , Лучше использовать функцию IsPlayerInRangeOfPoint(playerid, radius,x,y,z) Она самповская поэтому будет срабатывать быстрее Короче выбирай)Автор - valych Дата добавления - 12.11.2011 в 20:03:20
Загрузка страницы, займет меньше минуты...
Статистика Форума
Последнии темы
Читаемые темы
Лучшие пользователи
Новые пользователи