Ошибка в коде
|
|
xPew | Дата: Вторник, 04.08.2009, 12:45:01 | Сообщение # 1 |
Рядовой
Группа: Пользователи
Сообщений: 4
Статус: Не в сети
| Привет всем! Не могу понять где именно ошибка в hamsandwich, при убийстве игрок не перекидывается в другую команду, идея такова что играют 3х5, если Т убивает СТ и Теры берут раунд то тот террор который убил переходит за СТ а все СТ идут за Терров , если СТ берут раунд то игра продолжается и никто никуда не переходит. вот код : Code #include <amxmodx> #include <amxmisc> #include <fakemeta_util> #include <cstrike> #include <hamsandwich>
#pragma semicolon 1
new PLUG[] = "Test vers" new VERS[] = "0.1"; new AUTH[] = "Test";
new gGame = 0; new gNewCtIds[3]; new gCtsDied = 0; new gReason[20];
new bool:gbGameInProgress = false;
public plugin_init() { register_plugin(PLUG, VERS, AUTH); register_cvar(PLUG, VERS, FCVAR_SERVER); register_clcmd("say /go", "start_game", -1); RegisterHam(Ham_DeathNotice, "player", "player_death"); }
====START========
public start_game() { if(gbGameInProgress) { client_print(0, print_chat, "There is allready a game in progress!"); } else { gbGameInProgress = true; restart_round(); } }
========= Там где ошибка ========
public player_death(victim) { switch(gGame) { case 0: // No Game { return HAM_SUPERCEDE; } case 1: // Knife round { if(cs_get_user_team(victim) == CS_TEAM_CT) { gNewCtIds[gCtsDied] = victim; gCtsDied++; } if(gCtsDied == 4) { for(new i = 0; i < 8; i++) { cs_set_user_team(i, CS_TEAM_T); make_cts(); } } } case 2: // Start game { if(cs_get_user_team(victim) == CS_TEAM_CT) { gNewCtIds[gCtsDied] = victim; gCtsDied++; } if(gCtsDied == 4) { for(new i = 0; i < 8; i++) { cs_set_user_team(i, CS_TEAM_T); make_cts(); } } } } return HAM_SUPERCEDE; }
============================================
public make_cts() { switch(gGame) { case 0: { return PLUGIN_CONTINUE; } default: { cs_set_user_team(gNewCtIds[0], CS_TEAM_CT); cs_set_user_team(gNewCtIds[1], CS_TEAM_CT); cs_set_user_team(gNewCtIds[2], CS_TEAM_CT); gGame = 2; } } restart_round(); return PLUGIN_CONTINUE; }
public restart_round() { server_cmd("sv_restartround 1"); }
public block() { return PLUGIN_HANDLED; } Буду очень признателен кто сможет помочь!
Сообщение отредактировал xPew - Вторник, 04.08.2009, 12:56:30 |
|
| |
PomanoB | Дата: Вторник, 04.08.2009, 13:11:23 | Сообщение # 2 |
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Статус: Не в сети
| Для убийства следует использовать RegisterHam(Ham_Killed, "player", "player_death") И надо обнулять gCtsDied при старте раунда
http://romanov4400.mybrute.com
|
|
| |
xPew | Дата: Вторник, 04.08.2009, 13:56:15 | Сообщение # 3 |
Рядовой
Группа: Пользователи
Сообщений: 4
Статус: Не в сети
| эм и как его обнулять подсскажи пожалуйста?
Сообщение отредактировал xPew - Вторник, 04.08.2009, 14:04:07 |
|
| |
PomanoB | Дата: Вторник, 04.08.2009, 14:12:10 | Сообщение # 4 |
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Статус: Не в сети
| gCtsDied = 0
http://romanov4400.mybrute.com
|
|
| |
xPew | Дата: Вторник, 04.08.2009, 14:29:09 | Сообщение # 5 |
Рядовой
Группа: Пользователи
Сообщений: 4
Статус: Не в сети
| хм поставил RegisterHam(Ham_Killed, "player", "player_death") , теперь когда убиваешь кого либо или тебя убивают то ты не умираешь просто остаешься стоять с 0хп.
|
|
| |
PomanoB | Дата: Вторник, 04.08.2009, 17:02:22 | Сообщение # 6 |
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Статус: Не в сети
| return HAM_SUPERCEDE; убери
http://romanov4400.mybrute.com
|
|
| |
xPew | Дата: Вторник, 04.08.2009, 20:06:54 | Сообщение # 7 |
Рядовой
Группа: Пользователи
Сообщений: 4
Статус: Не в сети
| пробовал, и без него и с return PLUGIN_CONTINUE, теперь игроки и сам умираешь нормально только ничего не происходит никто никуда не переходит
|
|
| |
defaultNick8433 | Дата: Вторник, 04.08.2009, 20:12:41 | Сообщение # 8 |
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Статус: Не в сети
| Вот,регулируй Code cs_set_user_team(id,CS_TEAM_CT) Перевести одно игрка Code cs_set_user_team2(id,CS_TEAM_T) Перевести всю команду
Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
|
|
| |