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

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

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

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

> Правила раздела

Перед созданием новой темы убедитесь, не искал ли кто-нибудь подобный плагин до вас, для этого следует воспользоваться поиском.

Все вновь созданные темы, с названием типа "Помогите найти", "А что это за плагин", "Ищу плагин", "Нужен плагин", "Подскажите пожалуйста название плагина" - будут удалены.
При создании темы постарайтесь максимально понятно сформулировать её заголовок так, чтобы он соответствовал функциям плагина который Вы ищите. В том случае, если Вам не удается сформулировать мысль и правильно расписать всё в теме, воспользуйтесь графическим редактором, к примеру Paint, что бы примерно изобразить функции нужного Вам плагина.

Плагин для запрета возрождения после реконнекта

Safety1st
сообщение 30.4.2014, 13:33
Сообщение #1
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Выкладывался у нас точно, автор, кажется, или Surf, или Andrei. Не могу найти поиском.

Особенности плагина: при отключении игрока запоминается его SteamID до следующего раунда, при коннекте, если ID найден в 'базе', игроку выставляется m_iNumRespawns 1, чтобы игра поняла, что его возрождать не нужно.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
trollface
сообщение 30.4.2014, 13:34
Сообщение #2
Стаж: 12 лет

Сообщений: 1970
Благодарностей: 2423
Полезность: 0

Developer,
есть другой...
не со стим ид..
если надо кину в лс.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя C4acTbe
сообщение 30.4.2014, 13:35
Сообщение #3


Стаж: 13 лет

Сообщений: 880
Благодарностей: 408
Полезность: 706

Этот?
Код:
#include < amxmodx >
#include < fakemeta >

new const PLUGIN_NAME[ ] = "Block Spawn For Reconnect";
new const PLUGIN_VERSION[ ] = "0.1";
new const PLUGIN_AUTHOR[ ] = "Bos93";

const m_iSpawnCount = 365;

new Trie:g_pSteam;

public plugin_init( )
{
register_plugin( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR );
register_event("HLTV", "EventRoundStart", "a", "1=0", "2=0");

g_pSteam = TrieCreate( );

}

public client_disconnect( pPlayer )
{
new szSteam[ 32 ];

get_user_authid( pPlayer, szSteam, charsmax( szSteam ) );

TrieSetCell( g_pSteam, szSteam, 1 );
}


public client_putinserver( pPlayer )
{
new szSteam[ 32 ];
get_user_authid( pPlayer, szSteam, charsmax( szSteam ) );

if ( TrieKeyExists( g_pSteam, szSteam ) )
{
set_pdata_int( pPlayer, m_iSpawnCount, 1);
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
trollface
сообщение 30.4.2014, 13:36
Сообщение #4
Стаж: 12 лет

Сообщений: 1970
Благодарностей: 2423
Полезность: 0

C4acTbe,
он не полностью у тебя=)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 30.4.2014, 14:01
Сообщение #5
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Цитата(C4acTbe @ 30.4.2014, 15:35) *
Этот?

Ага, он. Только ты чуток не докопировал)
Ну, ничего: напоминалка, что Andrei подписывает плагины как Bos93, помогла: вот полная версия.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Surf
сообщение 13.5.2014, 11:01
Сообщение #6


Стаж: 14 лет

Сообщений: 1089
Благодарностей: 501
Полезность: 583

По IP запоминать круче :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Safety1st
сообщение 13.5.2014, 14:02
Сообщение #7
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196


У IP свои минусы.
Да и опять же - смотря какой сервер, вернее, какие клиенты туда пускаются.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 13.5.2014, 14:35
Сообщение #8


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

reconnect_features.sma

Скрытый текст
Код:
/*	Copyright © 2008, ConnorMcLeod

Reconnect Features is free software;
you can redistribute it and/or modify it under the terms of the
GNU General Public License as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Reconnect Features; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

/****** Customization Area ******/
// Flag to allow admin to reconnect without hudmessage
// This is usefull when you reconnect with another nick to watch a suspected cheater
// This will still set back your score/money/...
#define ADMIN_SILENT ADMIN_KICK

// Color for hud message
#define RED 0
#define GREEN 100
#define BLUE 200
/********************************/

#define PLUGIN "Reconnect Features"
#define AUTHOR "ConnorMcLeod"
#define VERSION "0.2.4 BETA"

#define MAX_PLAYERS 32
#define MAX_STORED 64

#define OFFSET_CSMONEY 115
#define OFFSET_CSDEATHS 444

#define TASK_KILL 1946573517
#define TASK_CLEAR 2946573517
#define TASK_PLAYER 3946573517


enum Storage {
StoreSteamId[20],
StoreFrags,
StoreDeaths,
StoreMoney,
StoreRound
}

new g_CurInfos[MAX_PLAYERS+1][Storage]
new g_StoredInfos[MAX_STORED][Storage]

new bool:g_bPlayerNonSpawnEvent[MAX_PLAYERS + 1]
new g_iFwFmClientCommandPost

new g_iRoundNum

new g_pcvarTime, g_pcvarScore, g_pcvarMoney, g_pcvarSpawn, g_pcvarStartMoney, g_pcvarNotify
new mp_startmoney
new g_msgidDeathMsg
new g_iMaxPlayers

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_dictionary("reconnect.txt")

register_cvar("reconnect_features", VERSION, FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_SPONLY)
g_pcvarTime = register_cvar("amx_noreconnect_time", "45")
g_pcvarScore = register_cvar("amx_noreconnect_score", "1")
g_pcvarMoney = register_cvar("amx_noreconnect_money", "1")
g_pcvarSpawn = register_cvar("amx_noreconnect_spawn", "1")
g_pcvarStartMoney = register_cvar("amx_noreconnect_startmoney", "0")
g_pcvarNotify = register_cvar("amx_noreconnect_notify", "1")

register_event("HLTV", "eNewRound", "a", "1=0", "2=0")

register_event("TextMsg", "eRestart", "a", "2&#Game_C", "2&#Game_w")

register_event("ResetHUD", "Event_ResetHUD", "b")
// RegisterHam(Ham_CS_RoundRespawn, "player", "Event_ResetHUD")
register_event("TextMsg", "Event_TextMsg_GameWillRestartIn", "a", "2=#Game_will_restart_in")
register_clcmd("fullupdate", "ClientCommand_fullupdate")

register_event("Money", "eMoney", "be")
register_event("ScoreInfo", "eScoreInfo", "a")
}

public plugin_cfg()
{
mp_startmoney = get_cvar_pointer("mp_startmoney")
g_msgidDeathMsg = get_user_msgid("DeathMsg")
g_iMaxPlayers = global_get(glb_maxClients)
}

public Event_TextMsg_GameWillRestartIn()
{
static id
for(id = 1; id <= g_iMaxPlayers; ++id)
if( is_user_alive(id) )
g_bPlayerNonSpawnEvent[id] = true
}

public ClientCommand_fullupdate(id)
{
g_bPlayerNonSpawnEvent[id] = true
static const szClientCommandPost[] = "Forward_ClientCommand_Post"
g_iFwFmClientCommandPost = register_forward(FM_ClientCommand, szClientCommandPost, 1)
return PLUGIN_CONTINUE
}

public Forward_ClientCommand_Post(id)
{
unregister_forward(FM_ClientCommand, g_iFwFmClientCommandPost, 1)
g_bPlayerNonSpawnEvent[id] = false
return FMRES_HANDLED
}

public Event_ResetHUD(id)
{
if (!is_user_alive(id))
return

if (g_bPlayerNonSpawnEvent[id])
{
g_bPlayerNonSpawnEvent[id] = false
return
}

Forward_PlayerSpawn(id)
}

Forward_PlayerSpawn(id)
{
if(g_CurInfos[id][StoreRound] == g_iRoundNum)
{
g_CurInfos[id][StoreRound] = 0
set_task(0.1, "task_delay_kill", id+TASK_KILL)
}
}

public task_delay_kill(id)
{
id -= TASK_KILL

new Float:fFrags
pev(id, pev_frags, fFrags)
set_pev(id, pev_frags, ++fFrags)

set_pdata_int(id, OFFSET_CSDEATHS, get_pdata_int(id, OFFSET_CSDEATHS) - 1)

new msgblock = get_msg_block(g_msgidDeathMsg)
set_msg_block(g_msgidDeathMsg, BLOCK_ONCE)
dllfunc(DLLFunc_ClientKill, id)
set_msg_block(g_msgidDeathMsg, msgblock)

client_print(id, print_chat, " %L", id, "RF_SPAWN")
}

public eMoney(id)
{
g_CurInfos[id][StoreMoney] = read_data(1)
}

public eScoreInfo()
{
new id = read_data(1)
if(!(1<= id <= g_iMaxPlayers))
return

g_CurInfos[id][StoreFrags] = read_data(2)
g_CurInfos[id][StoreDeaths] = read_data(3)
}

public eRestart()
{
for(new i; i < MAX_STORED; i++)
{
remove_task(i+TASK_CLEAR)
remove_task(i+TASK_PLAYER)
g_StoredInfos[i][StoreSteamId][0] = 0
}
}

public eNewRound()
{
g_iRoundNum++
}

public client_disconnect(id)
{
if(is_user_bot(id) || is_user_hltv(id))
{
return
}

new Float:fTaskTime = get_pcvar_float(g_pcvarTime)
if(!fTaskTime)
return

static iFree
for(iFree = 0; iFree <= MAX_STORED; iFree++)
{
if(iFree == MAX_STORED)
{
return
}
if(!g_StoredInfos[iFree][StoreSteamId][0])
break
}

copy(g_StoredInfos[iFree][StoreSteamId], 19, g_CurInfos[id][StoreSteamId])
g_StoredInfos[iFree][StoreFrags] = g_CurInfos[id][StoreFrags]
g_StoredInfos[iFree][StoreDeaths] = g_CurInfos[id][StoreDeaths]
g_StoredInfos[iFree][StoreMoney] = g_CurInfos[id][StoreMoney]
g_StoredInfos[iFree][StoreRound] = g_iRoundNum

g_CurInfos[id][StoreSteamId][0] = 0
g_CurInfos[id][StoreFrags] = 0
g_CurInfos[id][StoreDeaths] = 0
g_CurInfos[id][StoreMoney] = 0
g_CurInfos[id][StoreRound] = 0

set_task(fTaskTime, "task_clear", iFree+TASK_CLEAR)
}

public task_clear(iTaskId)
{
iTaskId -= TASK_CLEAR
g_StoredInfos[iTaskId][StoreSteamId][0] = 0
}

public client_putinserver(id)
{
if(is_user_bot(id) || is_user_hltv(id))
return

g_bPlayerNonSpawnEvent[id] = false

static szSteamId[20]
get_user_authid(id, szSteamId, 19)
copy(g_CurInfos[id][StoreSteamId], 19, szSteamId)

for(new i; i < MAX_STORED; i++)
{
if(!g_StoredInfos[i][StoreSteamId][0])
continue

if( equal(g_StoredInfos[i][StoreSteamId], szSteamId, strlen(szSteamId)) )
{
if(get_pcvar_num(g_pcvarScore))
{
set_pev(id, pev_frags, float(g_StoredInfos[i][StoreFrags]))
set_pdata_int(id, OFFSET_CSDEATHS, g_StoredInfos[i][StoreDeaths])
g_CurInfos[id][StoreFrags] = g_StoredInfos[i][StoreFrags]
g_CurInfos[id][StoreDeaths] = g_StoredInfos[i][StoreDeaths]
}
if(get_pcvar_num(g_pcvarMoney))
{
new iMoney = g_StoredInfos[i][StoreMoney]
new iStartMoney = get_pcvar_num(mp_startmoney)
if(get_pcvar_num(g_pcvarStartMoney) && iMoney > iStartMoney)
{
set_pdata_int(id, OFFSET_CSMONEY, iStartMoney)
g_CurInfos[id][StoreMoney] = iStartMoney
}
else
{
set_pdata_int(id, OFFSET_CSMONEY, iMoney)
g_CurInfos[id][StoreMoney] = iMoney
}
}
if(get_pcvar_num(g_pcvarSpawn))
{
g_CurInfos[id][StoreRound] = g_StoredInfos[i][StoreRound]
}

remove_task(id+TASK_PLAYER)
set_task(10.0, "task_print_player", id+TASK_PLAYER)

g_StoredInfos[i][StoreSteamId][0] = 0

new iNotifyType = get_pcvar_num(g_pcvarNotify)
if(iNotifyType && !(get_user_flags(id)&ADMIN_SILENT) )
{
static szName[32]
get_user_name(id, szName, 31)
if( iNotifyType == 1 )
{
set_hudmessage(RED, GREEN, BLUE, -1.0, 0.35, 2, 3.0, 10.0, 0.1, 0.2, -1)
show_hudmessage(0, "%L", LANG_PLAYER, "RF_ALL", szName)
}
else
{
client_print(0, print_chat, " %L", LANG_PLAYER, "RF_ALL", szName)
}
}
return
}
}
g_CurInfos[id][StoreRound] = -1
}

public task_print_player(id)
{
if(is_user_connected(id -= TASK_PLAYER))
{
static szText[128]
new n = formatex(szText, 127, " %L", id, "RF_PLAYER_PRINT")
if(get_pcvar_num(g_pcvarScore))
n += formatex(szText[n], 127 - n, " %L", id, "RF_SCORE")
if(get_pcvar_num(g_pcvarMoney))
n += formatex(szText[n], 127 - n, " %L", id, "RF_MONEY")
client_print(id, print_chat, szText)
}
}


Отлично работает.

Конфиг на паблике:
amx_noreconnect_time 90
amx_noreconnect_score 1
amx_noreconnect_money 1
amx_noreconnect_startmoney 0
amx_noreconnect_spawn 1
amx_noreconnect_notify 0

Отредактировал: ssx, - 13.5.2014, 14:35


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Surf
сообщение 13.5.2014, 15:12
Сообщение #9


Стаж: 14 лет

Сообщений: 1089
Благодарностей: 501
Полезность: 583

Цитата(Developer @ 13.5.2014, 18:02) *
У IP свои минусы.
Да и опять же - смотря какой сервер, вернее, какие клиенты туда пускаются.

Нет минусов :)

Цитата(ssx @ 13.5.2014, 18:35) *
reconnect_features.sma

Скрытый текст
Код:
/*	Copyright © 2008, ConnorMcLeod

Reconnect Features is free software;
you can redistribute it and/or modify it under the terms of the
GNU General Public License as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Reconnect Features; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

/****** Customization Area ******/
// Flag to allow admin to reconnect without hudmessage
// This is usefull when you reconnect with another nick to watch a suspected cheater
// This will still set back your score/money/...
#define ADMIN_SILENT ADMIN_KICK

// Color for hud message
#define RED 0
#define GREEN 100
#define BLUE 200
/********************************/

#define PLUGIN "Reconnect Features"
#define AUTHOR "ConnorMcLeod"
#define VERSION "0.2.4 BETA"

#define MAX_PLAYERS 32
#define MAX_STORED 64

#define OFFSET_CSMONEY 115
#define OFFSET_CSDEATHS 444

#define TASK_KILL 1946573517
#define TASK_CLEAR 2946573517
#define TASK_PLAYER 3946573517


enum Storage {
StoreSteamId[20],
StoreFrags,
StoreDeaths,
StoreMoney,
StoreRound
}

new g_CurInfos[MAX_PLAYERS+1][Storage]
new g_StoredInfos[MAX_STORED][Storage]

new bool:g_bPlayerNonSpawnEvent[MAX_PLAYERS + 1]
new g_iFwFmClientCommandPost

new g_iRoundNum

new g_pcvarTime, g_pcvarScore, g_pcvarMoney, g_pcvarSpawn, g_pcvarStartMoney, g_pcvarNotify
new mp_startmoney
new g_msgidDeathMsg
new g_iMaxPlayers

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_dictionary("reconnect.txt")

register_cvar("reconnect_features", VERSION, FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_SPONLY)
g_pcvarTime = register_cvar("amx_noreconnect_time", "45")
g_pcvarScore = register_cvar("amx_noreconnect_score", "1")
g_pcvarMoney = register_cvar("amx_noreconnect_money", "1")
g_pcvarSpawn = register_cvar("amx_noreconnect_spawn", "1")
g_pcvarStartMoney = register_cvar("amx_noreconnect_startmoney", "0")
g_pcvarNotify = register_cvar("amx_noreconnect_notify", "1")

register_event("HLTV", "eNewRound", "a", "1=0", "2=0")

register_event("TextMsg", "eRestart", "a", "2&#Game_C", "2&#Game_w")

register_event("ResetHUD", "Event_ResetHUD", "b")
// RegisterHam(Ham_CS_RoundRespawn, "player", "Event_ResetHUD")
register_event("TextMsg", "Event_TextMsg_GameWillRestartIn", "a", "2=#Game_will_restart_in")
register_clcmd("fullupdate", "ClientCommand_fullupdate")

register_event("Money", "eMoney", "be")
register_event("ScoreInfo", "eScoreInfo", "a")
}

public plugin_cfg()
{
mp_startmoney = get_cvar_pointer("mp_startmoney")
g_msgidDeathMsg = get_user_msgid("DeathMsg")
g_iMaxPlayers = global_get(glb_maxClients)
}

public Event_TextMsg_GameWillRestartIn()
{
static id
for(id = 1; id <= g_iMaxPlayers; ++id)
if( is_user_alive(id) )
g_bPlayerNonSpawnEvent[id] = true
}

public ClientCommand_fullupdate(id)
{
g_bPlayerNonSpawnEvent[id] = true
static const szClientCommandPost[] = "Forward_ClientCommand_Post"
g_iFwFmClientCommandPost = register_forward(FM_ClientCommand, szClientCommandPost, 1)
return PLUGIN_CONTINUE
}

public Forward_ClientCommand_Post(id)
{
unregister_forward(FM_ClientCommand, g_iFwFmClientCommandPost, 1)
g_bPlayerNonSpawnEvent[id] = false
return FMRES_HANDLED
}

public Event_ResetHUD(id)
{
if (!is_user_alive(id))
return

if (g_bPlayerNonSpawnEvent[id])
{
g_bPlayerNonSpawnEvent[id] = false
return
}

Forward_PlayerSpawn(id)
}

Forward_PlayerSpawn(id)
{
if(g_CurInfos[id][StoreRound] == g_iRoundNum)
{
g_CurInfos[id][StoreRound] = 0
set_task(0.1, "task_delay_kill", id+TASK_KILL)
}
}

public task_delay_kill(id)
{
id -= TASK_KILL

new Float:fFrags
pev(id, pev_frags, fFrags)
set_pev(id, pev_frags, ++fFrags)

set_pdata_int(id, OFFSET_CSDEATHS, get_pdata_int(id, OFFSET_CSDEATHS) - 1)

new msgblock = get_msg_block(g_msgidDeathMsg)
set_msg_block(g_msgidDeathMsg, BLOCK_ONCE)
dllfunc(DLLFunc_ClientKill, id)
set_msg_block(g_msgidDeathMsg, msgblock)

client_print(id, print_chat, " %L", id, "RF_SPAWN")
}

public eMoney(id)
{
g_CurInfos[id][StoreMoney] = read_data(1)
}

public eScoreInfo()
{
new id = read_data(1)
if(!(1<= id <= g_iMaxPlayers))
return

g_CurInfos[id][StoreFrags] = read_data(2)
g_CurInfos[id][StoreDeaths] = read_data(3)
}

public eRestart()
{
for(new i; i < MAX_STORED; i++)
{
remove_task(i+TASK_CLEAR)
remove_task(i+TASK_PLAYER)
g_StoredInfos[i][StoreSteamId][0] = 0
}
}

public eNewRound()
{
g_iRoundNum++
}

public client_disconnect(id)
{
if(is_user_bot(id) || is_user_hltv(id))
{
return
}

new Float:fTaskTime = get_pcvar_float(g_pcvarTime)
if(!fTaskTime)
return

static iFree
for(iFree = 0; iFree <= MAX_STORED; iFree++)
{
if(iFree == MAX_STORED)
{
return
}
if(!g_StoredInfos[iFree][StoreSteamId][0])
break
}

copy(g_StoredInfos[iFree][StoreSteamId], 19, g_CurInfos[id][StoreSteamId])
g_StoredInfos[iFree][StoreFrags] = g_CurInfos[id][StoreFrags]
g_StoredInfos[iFree][StoreDeaths] = g_CurInfos[id][StoreDeaths]
g_StoredInfos[iFree][StoreMoney] = g_CurInfos[id][StoreMoney]
g_StoredInfos[iFree][StoreRound] = g_iRoundNum

g_CurInfos[id][StoreSteamId][0] = 0
g_CurInfos[id][StoreFrags] = 0
g_CurInfos[id][StoreDeaths] = 0
g_CurInfos[id][StoreMoney] = 0
g_CurInfos[id][StoreRound] = 0

set_task(fTaskTime, "task_clear", iFree+TASK_CLEAR)
}

public task_clear(iTaskId)
{
iTaskId -= TASK_CLEAR
g_StoredInfos[iTaskId][StoreSteamId][0] = 0
}

public client_putinserver(id)
{
if(is_user_bot(id) || is_user_hltv(id))
return

g_bPlayerNonSpawnEvent[id] = false

static szSteamId[20]
get_user_authid(id, szSteamId, 19)
copy(g_CurInfos[id][StoreSteamId], 19, szSteamId)

for(new i; i < MAX_STORED; i++)
{
if(!g_StoredInfos[i][StoreSteamId][0])
continue

if( equal(g_StoredInfos[i][StoreSteamId], szSteamId, strlen(szSteamId)) )
{
if(get_pcvar_num(g_pcvarScore))
{
set_pev(id, pev_frags, float(g_StoredInfos[i][StoreFrags]))
set_pdata_int(id, OFFSET_CSDEATHS, g_StoredInfos[i][StoreDeaths])
g_CurInfos[id][StoreFrags] = g_StoredInfos[i][StoreFrags]
g_CurInfos[id][StoreDeaths] = g_StoredInfos[i][StoreDeaths]
}
if(get_pcvar_num(g_pcvarMoney))
{
new iMoney = g_StoredInfos[i][StoreMoney]
new iStartMoney = get_pcvar_num(mp_startmoney)
if(get_pcvar_num(g_pcvarStartMoney) && iMoney > iStartMoney)
{
set_pdata_int(id, OFFSET_CSMONEY, iStartMoney)
g_CurInfos[id][StoreMoney] = iStartMoney
}
else
{
set_pdata_int(id, OFFSET_CSMONEY, iMoney)
g_CurInfos[id][StoreMoney] = iMoney
}
}
if(get_pcvar_num(g_pcvarSpawn))
{
g_CurInfos[id][StoreRound] = g_StoredInfos[i][StoreRound]
}

remove_task(id+TASK_PLAYER)
set_task(10.0, "task_print_player", id+TASK_PLAYER)

g_StoredInfos[i][StoreSteamId][0] = 0

new iNotifyType = get_pcvar_num(g_pcvarNotify)
if(iNotifyType && !(get_user_flags(id)&ADMIN_SILENT) )
{
static szName[32]
get_user_name(id, szName, 31)
if( iNotifyType == 1 )
{
set_hudmessage(RED, GREEN, BLUE, -1.0, 0.35, 2, 3.0, 10.0, 0.1, 0.2, -1)
show_hudmessage(0, "%L", LANG_PLAYER, "RF_ALL", szName)
}
else
{
client_print(0, print_chat, " %L", LANG_PLAYER, "RF_ALL", szName)
}
}
return
}
}
g_CurInfos[id][StoreRound] = -1
}

public task_print_player(id)
{
if(is_user_connected(id -= TASK_PLAYER))
{
static szText[128]
new n = formatex(szText, 127, " %L", id, "RF_PLAYER_PRINT")
if(get_pcvar_num(g_pcvarScore))
n += formatex(szText[n], 127 - n, " %L", id, "RF_SCORE")
if(get_pcvar_num(g_pcvarMoney))
n += formatex(szText[n], 127 - n, " %L", id, "RF_MONEY")
client_print(id, print_chat, szText)
}
}


Отлично работает.

Конфиг на паблике:
amx_noreconnect_time 90
amx_noreconnect_score 1
amx_noreconnect_money 1
amx_noreconnect_startmoney 0
amx_noreconnect_spawn 1
amx_noreconnect_notify 0

Выше способ по-лучше будет)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 13.5.2014, 15:30
Сообщение #10
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Цитата(Surf @ 13.5.2014, 17:12) *
Нет минусов :)

А какие у SteamID минусы? Помня о том, что плагин не предназначен для применения на серверах с STEAM_ID_LAN?

Цитата(ssx @ 13.5.2014, 16:35) *
Код:
#define PLUGIN "Reconnect Features"
#define AUTHOR "ConnorMcLeod"
#define VERSION "0.2.4 BETA"

Ага, работает отлично. Как раз он и стоял, пока не отказался, потому что из всех функций плагина мне по сути нужен только запрет на возрождение после reconnect'а.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя TarikYuzkiv
сообщение 13.5.2014, 15:33
Сообщение #11
Стаж: 13 лет

Сообщений: 509
Благодарностей: 196
Полезность: 635

Цитата(Developer @ 13.5.2014, 17:30) *
А какие у SteamID минусы? Помня о том, что плагин не предназначен для применения на серверах с STEAM_ID_LAN?

Changer же есть...)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 13.5.2014, 16:02
Сообщение #12
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Цитата(TarikYuzkiv @ 13.5.2014, 17:33) *
Changer же есть...)

Для IP changer почти у всех есть, встроенный rofl.gif
Surf, я думаю, что-то другое имеет ввиду...

Цитата
Выше способ по-лучше будет)

Согласен. ssx, в плагине ConnorMrLeod заспавнившийся 'невовремя' игрок убивается, а в плагине Bos93 игра изначально не спавнит переподключившихся.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя adva
сообщение 14.5.2014, 9:52
Сообщение #13


Иконка группы

Стаж: 12 лет

Сообщений: 2543
Благодарностей: 1676
Полезность: 819

Меценат Меценат

Привет, если понравится, выложу исходник. Проще некуда код)
Прикрепленные файлы:
Прикрепленный файл  no_auto_spawn.rar ( 1,28 килобайт ) Кол-во скачиваний: 30
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ViP.Predator
сообщение 15.5.2014, 1:55
Сообщение #14


Стаж: 16 лет

Сообщений: 127
Благодарностей: 89
Полезность: 516

Цитата(adva @ 14.5.2014, 11:52) *
Привет, если понравится, выложу исходник. Проще некуда код)


Код:

#include <amxmodx>
#include <fakemeta>

public plugin_init() register_plugin("No Spawn","0.1","ill")

public client_putinserver( id ) if( !is_user_bot( id ) ) set_pdata_int( id, 365, 1, 5 )



Отредактировал: ViP.Predator, - 15.5.2014, 12:16
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: