Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

Голосование за мод HS (HSMode Vote)

, Помогите довести до ума
Статус пользователя xSav
сообщение 2.6.2011, 8:32
Сообщение #1
Стаж: 16 лет

Сообщений: 1131
Благодарностей: 174
Полезность: 126

Нашел плагин но он до ума не доведенный.
Выскакивает голосование, но если ты ничего не нажимаешь то меню не закрывается. Т.е. где-то функцию закрытия до ума не довели. Я сам не кодер посему поправить не могу.. прошу помощи. Да и в логах вываливается ошибка
Код
L 06/02/2011 - 07:57:55: Start of error session.
L 06/02/2011 - 07:57:55: Info (map "de_dust2_2x2") (file "addons/amxmodx/logs/error_20110602.log")
L 06/02/2011 - 07:57:55: Invalid menu id 14(15)
L 06/02/2011 - 07:57:55: [AMXX] Displaying debug trace (plugin "hsv.amxx")
L 06/02/2011 - 07:57:55: [AMXX] Run time error 10: native error (native "menu_destroy")
L 06/02/2011 - 07:57:55: [AMXX]    [0] hsv.sma::EndVote (line 188)

код
#include <amxmodx>
#include <fun>
#include <fakemeta_util>
#include <hamsandwich>

#define PLUGIN "HSMode vote"
#define VERSION "2.0"
#define AUTHOR "[gm-project.net] #Staff / Lt.RAT"

new g_VoteMenu
new g_Votes[2]
new g_Voting

new g_VoteVote[33]
new gHeadShot

new CvarRatio

new HamHook: fwd_TraceAttack, CvarKnife
new g_iMsgTeamInfo, g_iMsgSayText

new g_msgScreenFade
new g_MaxPlayers

enum Color {
NORMAL = 1,
GREEN,
RED,
BLUE
};

new TeamName[][] = {
"",
"TERRORIST",
"CT",
"SPECTATOR"
};

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_dictionary("hsv.txt")
register_cvar("hsv_version", VERSION, FCVAR_SERVER|FCVAR_SPONLY);

CvarKnife = register_cvar ( "hsv_knife", "0")
CvarRatio = register_cvar ( "hsv_cratio", "0.6" )
g_MaxPlayers = global_get(glb_maxClients)

g_iMsgSayText = get_user_msgid( "SayText" );
g_iMsgTeamInfo = get_user_msgid( "TeamInfo" );
g_msgScreenFade = get_user_msgid("ScreenFade")

set_task(30.0,"StartVote")
}

public client_connect(id) {
if(gHeadShot) {
set_task(15.0,"DispInfo", id)
}
}

public cmd_startvote(id) {
g_VoteVote[id]=1

new name [32]
get_user_name(id, name, 31)

new VoteYes, VoteNo
for( new i = 1; i <= g_MaxPlayers; i++ )
{
if( is_user_connected(i) )
{
if (g_VoteVote[i]) {
VoteYes++
} else {
VoteNo++
}
}
}
ColorChat(0, RED, "[HsV]^1 %L", id, "HSV_PLVOTED", name)

if (VoteYes > get_pcvar_float(CvarRatio)*(VoteYes+VoteNo)) {
ColorChat(0, RED, "[HsV]^1 %L", id, "HSV_STNEWVOTE")
set_task(5.0,"StartVote")
}
}

public client_disconnect(id) {
g_VoteVote[id]=0
}

public DispInfo(id) {
ColorChat(0, RED, "[HsV] ^1 %L", id, "HSV_CONMSG")
}

public StartVote() {
static s_MenuHeader[64]
static s_MenuItem1[64]
static s_MenuItem2[64]

formatex(s_MenuHeader, charsmax(s_MenuHeader), "%L", LANG_PLAYER, "HSV_MHEADER")
formatex(s_MenuItem1, charsmax(s_MenuItem1), "%L", LANG_PLAYER, "HSV_MCLASSIC")
formatex(s_MenuItem2, charsmax(s_MenuItem2), "%L", LANG_PLAYER, "HSV_MHSONLY")

for( new plr = 1; plr <= g_MaxPlayers; plr++ ) {
if (is_user_alive(plr) && is_user_connected(plr)) {
set_pev(plr, pev_flags, pev(plr, pev_flags) | FL_FROZEN)
}
}

set_task ( 0.1, "ScreenFade", 0)
client_cmd (0,"spk cccp_sounds/vote/startvote")
g_VoteMenu = menu_create(s_MenuHeader, "menu_handler")

menu_additem(g_VoteMenu, s_MenuItem1, "0", 0)
menu_additem(g_VoteMenu, s_MenuItem2, "1", 0)

new s_Players[32], i_Num, i_Player
get_players(s_Players, i_Num)

for (new i; i < i_Num; i++)
{
i_Player = s_Players[i]

menu_display(i_Player, g_VoteMenu, 0)

g_Voting++
}

set_task(10.0, "EndVote")

g_Votes[0] = g_Votes[1] = 0
return PLUGIN_HANDLED
}

public menu_handler(id, menu, item) {
if (item == MENU_EXIT)
return PLUGIN_HANDLED

new s_Data[6], s_Name[64], i_Access, i_Callback
new name[32]
get_user_name(id, name, 31)
menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)

new i_Vote = str_to_num(s_Data)

ColorChat(0, RED, "[HsV]^1 %L", id, "HSV_VOTED", name, (item ? "HS mode" : "Classic game"))
g_Votes[i_Vote]++

return PLUGIN_HANDLED
}

public EndVote() {
if ( fwd_TraceAttack == HamHook:0 ) {
register_clcmd ( "say /hsv", "cmd_startvote", 0, "- start vote for HSMode" )
register_clcmd ( "say_team /hsv", "cmd_startvote", 0, "- start vote for HSMode" )
}

if (g_Votes[0] > g_Votes[1]) {
gHeadShot = false
ColorChat(0, RED, "[HsV]^1 %L", LANG_PLAYER, "HSV_PLAYCL")

if ( fwd_TraceAttack != HamHook:0 )
{
DisableHamForward(fwd_TraceAttack)
}

server_cmd("sv_restart 1")
server_exec ()
}
else if (g_Votes[1] > g_Votes[0]) {
gHeadShot = true
ColorChat(0, RED, "[HsV]^1 %L", LANG_PLAYER, "HSV_PLAYHS")

if ( fwd_TraceAttack == HamHook:0 ) {
fwd_TraceAttack = RegisterHam(Ham_TraceAttack, "player", "Forward_TraceAttack")
}
else {
EnableHamForward(fwd_TraceAttack)
}

server_cmd("sv_restart 1")
server_exec ()
}
else if (g_Votes[1] >= g_Votes[0]) {
ColorChat(0, RED, "[HsV]^1 %L", LANG_PLAYER, "HSV_PLAYNT")
}

menu_destroy(g_VoteMenu)

for( new plr = 1; plr <= g_MaxPlayers; plr++ ) {
if (is_user_alive(plr) && is_user_connected(plr)) {
set_pev(plr, pev_flags, pev(plr, pev_flags) & ~FL_FROZEN)
}
}

set_task(0.1, "DelScreenFade", 0)
client_cmd (0,"spk cccp_sounds/vote/endvote")

g_Voting = 0
return PLUGIN_CONTINUE
}

public Forward_TraceAttack(id, attacker, Float:dmg, Float:dir[3], tr, dmgbit) {
if(id != attacker && get_tr2(tr, TR_iHitgroup) != HIT_HEAD) {
if(1 <= attacker <= g_MaxPlayers) {
if(!get_pcvar_num(CvarKnife) && get_user_weapon(attacker) == CSW_KNIFE) {
return HAM_IGNORED
}
return HAM_SUPERCEDE
}
}

return HAM_IGNORED;
}

public ScreenFade() {
message_begin(MSG_ALL, g_msgScreenFade, _, 0)
write_short(1<<0)
write_short(1<<0)
write_short(1<<2)
write_byte(0)
write_byte(0)
write_byte(0)
write_byte(255)
message_end()
}

public DelScreenFade() {
message_begin(MSG_ALL, g_msgScreenFade, _, 0)
write_short(1<<0)
write_short(1<<0)
write_short(1<<0)
write_byte(0)
write_byte(0)
write_byte(0)
write_byte(0)
message_end()
}

public plugin_precache()
{
precache_sound("cccp_sounds/vote/startvote.wav")
precache_sound("cccp_sounds/vote/endvote.wav")
}
// COLORCHAT, hello xPaw ^^,

ColorChat( id, Color:type, const szMessage[], {Float,Sql,Result,_}:... ) {
if( !get_playersnum() ) return;

new message[256];

switch( type ) {
case NORMAL: message[0] = 0x01;
case GREEN: message[0] = 0x04;
default: message[0] = 0x03;
}

vformat(message[1], 251, szMessage, 4);

message[192] = '^0';

replace_all( message, 191, "\YEL", "^1" );
replace_all( message, 191, "\GRN", "^4" );
replace_all( message, 191, "\TEM", "^3" );

new iTeam, ColorChange, index, MSG_Type;

if( id ) {
MSG_Type = MSG_ONE_UNRELIABLE;
index = id;
} else {
index = CC_FindPlayer();
MSG_Type = MSG_BROADCAST;
}

iTeam = get_user_team( index );
ColorChange = CC_ColorSelection(index, MSG_Type, type);

CC_ShowColorMessage(index, MSG_Type, message);

if( ColorChange )
CC_Team_Info(index, MSG_Type, TeamName[iTeam]);
}

CC_ShowColorMessage( id, type, message[] ) {
message_begin( type, g_iMsgSayText, _, id );
write_byte( id );
write_string( message );
message_end();
}

CC_Team_Info( id, type, team[] ) {
message_begin( type, g_iMsgTeamInfo, _, id );
write_byte( id );
write_string( team );
message_end( );

return 1;
}

CC_ColorSelection( index, type, Color:Type ) {
switch( Type ) {
case RED: return CC_Team_Info(index, type, TeamName[1]);
case BLUE: return CC_Team_Info(index, type, TeamName[2]);
}

return 0;
}

CC_FindPlayer() {
for( new i = 1; i <= g_MaxPlayers; i++ )
if( is_user_connected(i) )
return i;

return -1;
}

Писал на сайте разработчика про это - молчит собака

Отредактировал: xSav, - 2.6.2011, 8:32
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя xSav
сообщение 3.6.2011, 8:29
Сообщение #2
Стаж: 16 лет

Сообщений: 1131
Благодарностей: 174
Полезность: 126

Неужели никто не может помочь ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя theaqua
сообщение 3.6.2011, 21:09
Сообщение #3


Стаж: 15 лет

Сообщений: 549
Благодарностей: 392
Полезность: 287

Я на аллиеде не был много времени, не надо меня собакой называть >:
На днях исправлю все недочеты в своих плагинах.


!
Аккаунт пользователя заблокирован до: 18.10.29390, 20:39
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя xSav
сообщение 4.6.2011, 6:07
Сообщение #4
Стаж: 16 лет

Сообщений: 1131
Благодарностей: 174
Полезность: 126

Вообще-то я на amx-x.ru писал.. хотя на аллед там другой человек писал но о том же о чем и я
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя theaqua
сообщение 4.6.2011, 12:05
Сообщение #5


Стаж: 15 лет

Сообщений: 549
Благодарностей: 392
Полезность: 287

Цитата(xSav @ 4.6.2011, 6:07) *
Вообще-то я на amx-x.ru писал.. хотя на аллед там другой человек писал но о том же о чем и я

А. Ну там я вообще забанен.


!
Аккаунт пользователя заблокирован до: 18.10.29390, 20:39
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя xSav
сообщение 4.6.2011, 12:48
Сообщение #6
Стаж: 16 лет

Сообщений: 1131
Благодарностей: 174
Полезность: 126

ну ты не только там забанен :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: