TeamSelect
#1
TeamMenu v1.0

[Imagen: sigline.png]

.: Introducción :.

Simple plugin para facilitar el traspaso de players de un team a otro (Especialmente en Mix/PCW).

.: CVARS / Commands :.
  • sm_teammenu (1/2/3) - Abre el menu para transferir al team que hayamos seleccionado (1 Spect / 2 TT / 3 CT)
  • sm_teammenu_all (1/2/3) - Manda a todos los players al team que hayamos seleccionado (1 Spect / 2 TT / 3 CT)

.: .sp :.

Código PHP:
#include <sourcemod>
#include <sdktools>

new select_team;

public 
Plugin:myinfo =
{
    
name "TeamMenu",
    
author "",
    
description "Easy plugin for change client teams.",
    
version "1.0",
    
url "http://www.amxmodx-es.com"
};

public 
OnPluginStart()
{
    
RegAdminCmd("sm_teammenu"Command_TeamADMFLAG_SLAY);
    
RegAdminCmd("sm_teammenu_all"Command_Team_AllADMFLAG_SLAY);
}

public 
Action:Command_Team_All(clientargs)
{
    new 
String:arg1[32];
    new 
select;
    
    
GetCmdArg(1arg1sizeof(arg1));
    
    if (
args >= 1)
    {
        
select StringToInt(arg1);
    }
    
    if((
select != 1) && (select != 2) && (select != 3))
    {
        
PrintToConsole(client"[TeamMenu] Team Erroneo");
        return 
Plugin_Handled;
    }
    else
    {
        for(new 
i=1<= MaxClientsi++) 
        {
            if(
IsClientInGame(i) && !IsClientConnected(i) && (GetClientTeam(i) != select)) 
            {
                
ChangeClientTeam(iselect);
                
            }
        }
    }
    
    return 
Plugin_Handled;
}
public 
Action:Command_Team(clientargs)
{
    new 
String:arg1[32];
    
    
GetCmdArg(1arg1sizeof(arg1));
    
    if (
args >= 1)
    {
        
select_team StringToInt(arg1);
    }
    
    if((
select_team != 1) && (select_team != 2) && (select_team != 3))
    {
        
PrintToConsole(client"[TeamMenu] Team Erroneo");
        return 
Plugin_Handled;
    }
    
    new 
Handle:menu CreateMenu(MenuTeam);
    new 
String:player[32];
    for(new 
i=1<= MaxClientsi++) 
    {
        if(
IsClientInGame(i) && !IsClientConnected(i) && (GetClientTeam(i) != select_team)) 
        {
            
GetClientName(iplayersizeof(player));
            
AddMenuItem(menuplayerplayer);
                
        }
    }
        
    
SetMenuTitle(menu"[TeamMenu] TeamSelect");
    
    
    return 
menu;
}

public 
MenuTeam(Handle:menuMenuAction:actionparam1param2)
{
    if (
action == MenuAction_Select)
    {
        new 
String:info[32];

        
GetMenuItem(menuparam2infosizeof(info));
        
        new 
user FindTarget(0info);
        
ChangeClientTeam(userselect_team);
        
Command_Team(param1select_team);
    }



Archivos adjuntos
.sp   TeamMenu.sp (Tamaño: 1.94 KB / Descargas: 126)
Responder
#2
if((select != 1) && (select != 2) && (select != 3))

cambia los && por ||

lo mismo para el otro.

player[255] 254 caracteres va a tener?

por lo visto eche una mirada rapida y parece estar bien el code.

al pedo queres un automix si tenes los competitivos.
Ingeniero agrónomo y desarrollador de Software.

tutoriales-allied
buscas un zp?

"La imitación es la forma más sincera de admiración con la que puede pagar la mediocridad a la grandeza"

Merci Alliedmodders pour m'introduire dans la programmation.
Responder
#3
Uh bardie. Lo saque de mi MixMaker y me olvidé de cambiarlo.

No se cual es el limite de caracteres, por las dudas...
Responder
#4
digo que es al pedo, si usas 255 arriba y abajo 32.
Ingeniero agrónomo y desarrollador de Software.

tutoriales-allied
buscas un zp?

"La imitación es la forma más sincera de admiración con la que puede pagar la mediocridad a la grandeza"

Merci Alliedmodders pour m'introduire dans la programmation.
Responder
#5
Sí, son cosas que se me pasan por usar la api tal cual del menu.

PD: Vi en internet y arman Mix entre equipos sin usar competitivo, a ksa.
Responder
#6
bueno son unos giles esos jaja.

otra cosa que se me paso por alto, cambia IsFakeClient por IsClientConnected, para darle soporte a los bots e.e
Ingeniero agrónomo y desarrollador de Software.

tutoriales-allied
buscas un zp?

"La imitación es la forma más sincera de admiración con la que puede pagar la mediocridad a la grandeza"

Merci Alliedmodders pour m'introduire dans la programmation.
Responder
#7
No la tenía esa jeje. PD: Chequeate esto, para hacer un fade:

Código PHP:
stock FadeClient(clientduration 0, const color[4])
{
    if(!
duration)
        
duration RoundToNearest(GetConVarFloat(g_hFreezeTime));
    new 
Handle:hFadeClient StartMessageOne("Fade"client);
    
PbSetInt(hFadeClient"duration"duration);
    
PbSetInt(hFadeClient"hold_time"0);
    
PbSetInt(hFadeClient"flags", (FFADE_PURGE|FFADE_IN));
    
PbSetColor(hFadeClient"clr"color);
    
EndMessage();


En la constante color que numeros tendrían que ir? En PbSetColor de la wiki no dice nada acerca de los colroes rgb...
Responder
#8
color[0] = r // int color rojo
color[1] = g // int color verde
color[2] = b // int color azul
color[3] = a // int alpha

edit: calate este stock:

Código PHP:
FadeClient(clientrgba)
{
new 
Handle:hFadeClient StartMessageOne("Fade",client)
if (
GetUserMessageType() == UM_Protobuf)
{
new 
color[4]
color[0] = r
color
[1] = g
color
[2] = b
color
[3] = a
PbSetInt
(hFadeClient"duration"0)
PbSetInt(hFadeClient"hold_time"0)
PbSetInt(hFadeClient"flags", (FFADE_PURGE|FFADE_STAYOUT))
PbSetColor(hFadeClient"clr"color)
}
else
{
BfWriteShort(hFadeClient0)
BfWriteShort(hFadeClient0)
BfWriteShort(hFadeClient, (FFADE_PURGE|FFADE_STAYOUT))
BfWriteByte(hFadeClientr)
BfWriteByte(hFadeClientg)
BfWriteByte(hFadeClientb)
BfWriteByte(hFadeClienta)
}
EndMessage()

Ingeniero agrónomo y desarrollador de Software.

tutoriales-allied
buscas un zp?

"La imitación es la forma más sincera de admiración con la que puede pagar la mediocridad a la grandeza"

Merci Alliedmodders pour m'introduire dans la programmation.
Responder
#9
CSGO no soportaba Byte to write no? Era si o si protobuf?
Responder
#10
claro, creo que estas en lo cierto.

https://wiki.alliedmods.net/Protobuf

PbSetColor(hFadeClient, "clr", {0, 0, 0, 255})

ahi por si no entendias, rgb y el alpha.

me fui a noñar jaja
Ingeniero agrónomo y desarrollador de Software.

tutoriales-allied
buscas un zp?

"La imitación es la forma más sincera de admiración con la que puede pagar la mediocridad a la grandeza"

Merci Alliedmodders pour m'introduire dans la programmation.
Responder
#11
Actualizado. No creo que saque mas versiones, al menos que me den ideas para hacerlo...
Responder
#12
esto es para el go ?
Responder
#13
(24/02/2015, 01:18 AM)cLi escribió: esto es para el go ?

Allied Modders en español / SourceMod / Plugins nuevos / TeamSelect

si
Responder
#14
Porque puede suceder que pongas el comando con el valor y no haga nada, pero el plugin este funcionando e.e
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)