#include <amxmodx>
public plugin_init() {
register_plugin("Simple Redirect","1.0","BigBaller")
register_cvar("amx_rd_maxplayers","0")
register_cvar("amx_rd_server","")
register_cvar("amx_rd_serverport","")
register_cvar("amx_rd_serverpw","")
}
public client_authorized(id){
if (get_user_flags(id) & ADMIN_RESERVATION)
return PLUGIN_CONTINUE
new rd_maxplayers = get_cvar_num("amx_rd_maxplayers")
new rd_serverport = get_cvar_num("amx_rd_serverport")
new rd_server[64], rd_serverpw[32]
get_cvar_string("amx_rd_server",rd_server,63)
get_cvar_string("amx_rd_serverpw",rd_serverpw,31)
if ( get_playersnum() >= rd_maxplayers) {
if ( !equal(rd_serverpw,"") )
client_cmd(id,"echo ^"[AMXX] Simple Redirection - Set Password to %s^";password %s",rd_serverpw,rd_serverpw)
client_cmd(id,"echo ^"[AMXX] Simple Redirection - Redirecting to %s:%d^";coNNeCt %s:%d",rd_server,rd_serverport,rd_server,rd_serverport)
}
return PLUGIN_CONTINUE
}
Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Guest Message by DevFuse
csMisieK
Rejestracja: 22.12.2008Aktualnie: Nieaktywny
Poza forum Ostatnio: 07.11.2010 20:09




Statystyki
- Grupa: Użytkownik
- Całość postów: 85
- Odwiedzin: 5 701
- Tytuł: Zaawansowany
- Wiek: 35 lat
- Urodziny: Listopad 24, 1990
-
Płeć
Mężczyzna
-
Lokalizacja
Tomaszów
Kontakt
#101686 Simple_Redirect
Napisane przez naven
w 27.12.2009 17:13
Ile tysięcy razy będą identyczne tematy... Wystarczy poszukać
#100384 Kolorowy Nextmap
Napisane przez Misiaczek ;c
w 21.12.2009 15:42
Sprawdź:
colorchat.inc
Sorry że tak, ale załączników nie mogę dodać
/* AMX Mod X
* NextMap Plugin
*
* by the AMX Mod X Development Team
* originally developed by OLO
*
* This file is part of AMX Mod X.
*
*
* This program 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; either version 2 of the License, or (at
* your option) any later version.
*
* 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 this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* In addition, as a special exception, the author gives permission to
* link the code of this program with the Half-Life Game Engine ("HL
* Engine") and Modified Game Libraries ("MODs") developed by Valve,
* L.L.C ("Valve"). You must obey the GNU General Public License in all
* respects for all of the code used other than the HL Engine and MODs
* from Valve. If you modify this file, you may extend this exception
* to your version of the file, but you are not obligated to do so. If
* you do not wish to do so, delete this exception statement from your
* version.
*/
#include <amxmodx>
#include <colorchat>
// WARNING: If you comment this line make sure
// that in your mapcycle file maps don't repeat.
// However the same map in a row is still valid.
#define OBEY_MAPCYCLE
new g_nextMap[32]
new g_mapCycle[32]
new g_pos
public plugin_init()
{
register_plugin("NextMap", AMXX_VERSION_STR, "AMXX Dev Team")
register_dictionary("nextmap.txt")
register_event("30", "changeMap", "a")
register_clcmd("say nextmap", "sayNextMap", 0, "- displays nextmap")
register_clcmd("say currentmap", "sayCurrentMap", 0, "- display current map")
register_clcmd("say ff", "sayFFStatus", 0, "- display friendly fire status")
register_cvar("amx_nextmap", "", FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_SPONLY)
new szString[32], szString2[32], szString3[8]
get_localinfo("lastmapcycle", szString, 31)
parse(szString, szString2, 31, szString3, 7)
g_pos = str_to_num(szString3)
get_cvar_string("mapcyclefile", g_mapCycle, 31)
if (!equal(g_mapCycle, szString2))
g_pos = 0 // mapcyclefile has been changed - go from first
readMapCycle(g_mapCycle, g_nextMap, 31)
set_cvar_string("amx_nextmap", g_nextMap)
format(szString3, 31, "%s %d", g_mapCycle, g_pos) // save lastmapcycle settings
set_localinfo("lastmapcycle", szString3)
}
getNextMapName(szArg[], iMax)
{
new len = get_cvar_string("amx_nextmap", szArg, iMax)
if (ValidMap(szArg)) return len
len = copy(szArg, iMax, g_nextMap)
set_cvar_string("amx_nextmap", g_nextMap)
return len
}
public sayNextMap()
{
new name[32]
getNextMapName(name, 31)
ColorChat(0,TEAM_COLOR, "%L %s", LANG_PLAYER, "NEXT_MAP", name)
}
public sayCurrentMap()
{
new mapname[32]
get_mapname(mapname, 31)
ColorChat(0,TEAM_COLOR, "%L: %s", LANG_PLAYER, "PLAYED_MAP", mapname)
}
public sayFFStatus()
{
ColorChat(0,TEAM_COLOR, "%L: %L", LANG_PLAYER, "FRIEND_FIRE", LANG_PLAYER, get_cvar_num("mp_friendlyfire") ? "ON" : "OFF")
}
public delayedChange(param[])
{
set_cvar_float("mp_chattime", get_cvar_float("mp_chattime") - 2.0)
server_cmd("changelevel %s", param)
}
public changeMap()
{
new string[32]
new Float:chattime = get_cvar_float("mp_chattime")
set_cvar_float("mp_chattime", chattime + 2.0) // make sure mp_chattime is long
new len = getNextMapName(string, 31) + 1
set_task(chattime, "delayedChange", 0, string, len) // change with 1.5 sec. delay
}
new g_warning[] = "WARNING: Couldn't find a valid map or the file doesn't exist (file ^"%s^")"
stock bool:ValidMap(mapname[])
{
if ( is_map_valid(mapname) )
{
return true;
}
// If the is_map_valid check failed, check the end of the string
new len = strlen(mapname) - 4;
// The mapname was too short to possibly house the .bsp extension
if (len < 0)
{
return false;
}
if ( equali(mapname[len], ".bsp") )
{
// If the ending was .bsp, then cut it off.
// the string is byref'ed, so this copies back to the loaded text.
mapname[len] = '^0';
// recheck
if ( is_map_valid(mapname) )
{
return true;
}
}
return false;
}
#if defined OBEY_MAPCYCLE
readMapCycle(szFileName[], szNext[], iNext)
{
new b, i = 0, iMaps = 0
new szBuffer[32], szFirst[32]
if (file_exists(szFileName))
{
while (read_file(szFileName, i++, szBuffer, 31, <img src='https://amxx.pl/public/style_emoticons/default/cool.gif' class='bbc_emoticon' alt='B)' />)
{
if (!isalnum(szBuffer[0]) || !ValidMap(szBuffer)) continue
if (!iMaps)
copy(szFirst, 31, szBuffer)
if (++iMaps > g_pos)
{
copy(szNext, iNext, szBuffer)
g_pos = iMaps
return
}
}
}
if (!iMaps)
{
log_amx(g_warning, szFileName)
get_mapname(szFirst, 31)
}
copy(szNext, iNext, szFirst)
g_pos = 1
}
#else
readMapCycle(szFileName[], szNext[], iNext)
{
new b, i = 0, iMaps = 0
new szBuffer[32], szFirst[32], szCurrent[32]
get_mapname(szCurrent, 31)
new a = g_pos
if (file_exists(szFileName))
{
while (read_file(szFileName, i++, szBuffer, 31, <img src='https://amxx.pl/public/style_emoticons/default/cool.gif' class='bbc_emoticon' alt='B)' />)
{
if (!isalnum(szBuffer[0]) || !ValidMap(szBuffer)) continue
if (!iMaps)
{
iMaps = 1
copy(szFirst, 31, szBuffer)
}
if (iMaps == 1)
{
if (equali(szCurrent, szBuffer))
{
if (a-- == 0)
iMaps = 2
}
} else {
if (equali(szCurrent, szBuffer))
++g_pos
else
g_pos = 0
copy(szNext, iNext, szBuffer)
return
}
}
}
if (!iMaps)
{
log_amx(g_warning, szFileName)
copy(szNext, iNext, szCurrent)
}
else
copy(szNext, iNext, szFirst)
g_pos = 0
}
#endif
colorchat.inc
//ColorChat(id, GREEN,"[Cosik]^x01 A nic");
#define MAXSLOTS 32
enum Color{
YELLOW = 1, // Yellow
GREEN, // Green Color
TEAM_COLOR, // Red, grey, blue
GREY, // grey
RED, // Red
BLUE, // Blue
}
new TeamName[][] = {
"",
"TERRORIST",
"CT",
"SPECTATOR"
}
public ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
{
static message[256];
switch(type)
{
case YELLOW:{ // Yellow
message[0] = 0x01;
}
case GREEN:{// Green
message[0] = 0x04;
}
default:{ // White, Red, Blue
message[0] = 0x03;
}
}
vformat(message[1], 251, msg, 4);
// Make sure message is not longer than 192 character. Will crash the server.
message[192] = '^0';
new team, ColorChange, index, MSG_Type;
if(!id) {
index = FindPlayer();
MSG_Type = MSG_ALL;
} else {
MSG_Type = MSG_ONE;
index = id;
}
team = get_user_team(index);
ColorChange = ColorSelection(index, MSG_Type, type);
ShowColorMessage(index, MSG_Type, message);
if(ColorChange){
Team_Info(index, MSG_Type, TeamName[team]);
}
}
ShowColorMessage(id, type, message[]){
message_begin(type, 76, _, id);
write_byte(id)
write_string(message);
message_end();
}
Team_Info(id, type, team[]){
message_begin(type, 86, _, id);
write_byte(id);
write_string(team);
message_end();
return 1;
}
ColorSelection(index, type, Color:Type){
switch(Type) {
case RED: {
return Team_Info(index, type, TeamName[1]);
}
case BLUE: {
return Team_Info(index, type, TeamName[2]);
}
case GREY: {
return Team_Info(index, type, TeamName[0]);
}
}
return 0;
}
FindPlayer(){
new i = -1;
while(i <= MAXSLOTS){
if(is_user_connected(++i)){
return i;
}
}
return -1;
}
Sorry że tak, ale załączników nie mogę dodać
- AMXX.pl: Support AMX Mod X i SourceMod
- → Przeglądanie profilu: Reputacja: csMisieK
- Regulamin


Dodatki SourceMod



Moja zawartość

