Raised This Month: $ Target: $400
 0% 

Acomodar IDs, Re ordenar todo en una variable


  
 
 
Thread Tools Display Modes
Author Message
LeeanAndNeka
Senior Member
Join Date: Feb 2012
Location: Argentina ♥
Old 03-26-2013 , 12:21   Acomodar IDs, Re ordenar todo en una variable
#1

Buenas tardes para mi, lo que sea para ustedes me chupa 3 huevos (?. Bueno hoy vengo a preguntarles s i me podrian ayudar con esto que no le encuentro la forma.. Quiza sea algo facil o no, quiza sea una sola cosita que me confundi o no pero mi ojo y mi mente no lo pueden decifrar con el poco tiempo que tengo. Al final del post les voy a dejar la codificacion. Mi idea es que en "AcomodarSpecs" se acomoden las IDs de los espectadores (Esta seria la primera instancia, por lo tanto estaria todo en 0). Luego en "SlotDisconnet" se acomodarian se le asignaria en 0 al que se ha ido (Esta "subrutina" es llamada desde client_disconnect). Y luego en "Spects" acomodar nuevamente los espectadores pero no seria la primera instancia, sino que los "baje" de posicion si una posicion mas chica esta libre. Por ejemplo
PHP Code:
g_SpecStatus] = 12
g_SpecStatus
] = 8
g_SpecStatus
] = //VACIA
g_SpecStatus] = //MOVER ESTE ID (2) A LA POSICION 2 QUE ESTA VACIA (VACIA PORQUE ESTA EN 0, EL ID 0 NO EXISTE)
g_SpecStatus] = // LO MISMO
g_SpecStatus] = // CON ESTOS DOS ULTIMOS

// DEBERIA QUEDAR ASI

g_SpecStatus] = 12
g_SpecStatus
] = 8
g_SpecStatus
] = 2
g_SpecStatus
] = 
g_SpecStatus
] = 
g_SpecStatus
] = 
CODIFICACION OBTENIDA HASTA EL PUTO MOMENTO:
PHP Code:
public Spects()
{
    new 
tempslot
    
new bool:SlotDisponible false
    
for( new 0<= charsmaxg_SpecStatus ); i++ )
    {
        if( 
SlotDisponible )
        {
            if( 
g_SpecStatus] != 
            {
                
g_SpecStatustempslot ] = g_SpecStatus]
                
tempslot 0
                SlotDisponible 
false
            
}    
        }
        else
        {
            if( 
g_SpecStatus] == 
            {
                
tempslot i
                SlotDisponible 
true
            
}
        }
        
    }
            
}

/* ----------------------------------------------------------------------------------*/

public AcomodarSlots()
{
    for( new 
0<= charsmaxg_SpecStatus ); j++)
        
g_SpecStatus] = 0
        
    
new iPlayers[32],iNumber;
    new 
isOnThere;
    static 
id
    
    get_players
(iPlayersiNumber"che""SPECTATOR");
    new 
random(iNumber)
    
    for( new 
0<= charsmaxg_SpecStatus ); i++)
    {    
        
log_to_file("Automix.txt""Antes del while")
        while ( !
is_user_connectediPlayers] ) || get_user_team2iPlayers] ) == )
        {
            
log_to_file("Automix.txt""EN el while. CONNECTED?: %i - USERID[ z ]: %i - TEAM: %i"is_user_connectedget_user_useridiPlayers] ) ), get_user_useridiPlayers] ), get_user_team2iPlayers] ) )
            
random(iNumber)
        }
        
        
id get_user_useridiPlayers] )
        
        
log_to_file("Automix.txt""Despues del while. iPlayers[ z ]: %i - z: %i - USERID[ z ]: %i - TEAM: %i"iPlayers], zget_user_useridid ), get_user_team2id ) )
        for( new 
0<= charsmaxg_SpecStatus ); p++)
        {
            if( 
g_SpecStatus] == id  )
            {
                
isOnThere 1
                
break;
            }
            else if( 
g_SpecStatus] != id && g_SpecStatus] == )
                
isOnThere 0
            
else
                
isOnThere 2
        
}
        
        if( 
isOnThere == )
        {
            
g_SpecStatus] = id
            g_NumSpec
id ] = i
        
}
        
    }
    
    
}

/* ----------------------------------------------------------------------------------*/

public SlotDisconnet(id)
{
    for( new 
0<= charsmaxg_SpecStatus ); i++)
    {
        if( 
g_SpecStatus] == id 
        {
            
g_SpecStatus] = 0
            Spects
()
        }
        
    }

Aveces queda haciendo loops infinitos y demas. Si gente que se que sabe necesita que le muestre que codigo le puse cuando se conecta o se desconecta un usuario aviseme
LeeanAndNeka is offline
Send a message via MSN to LeeanAndNeka Send a message via Skype™ to LeeanAndNeka
XINLEI
me too
Join Date: Jun 2011
Location: Colombian Coffee storage
Old 03-26-2013 , 12:25   Re: Acomodar IDs, Re ordenar todo en una variable
#2

Se a lo que refieres. Esto se hablo en module coding.

Muestranos como estas llenando g_SpecStatus

Last edited by XINLEI; 03-26-2013 at 12:26.
XINLEI is offline
LeeanAndNeka
Senior Member
Join Date: Feb 2012
Location: Argentina ♥
Old 03-26-2013 , 12:33   Re: Acomodar IDs, Re ordenar todo en una variable
#3

Creacion de la variable por si alguien lo pide xD
PHP Code:
 new g_SpecStatus
Cuando se llena en que momento xinlei? Al principio o a medida que se van conectando y desconectado?
LeeanAndNeka is offline
Send a message via MSN to LeeanAndNeka Send a message via Skype™ to LeeanAndNeka
XINLEI
me too
Join Date: Jun 2011
Location: Colombian Coffee storage
Old 03-26-2013 , 12:39   Re: Acomodar IDs, Re ordenar todo en una variable
#4

Quote:
Originally Posted by LeeanAndNeka View Post
Creacion de la variable por si alguien lo pide xD
PHP Code:
 new g_SpecStatus
Cuando se llena en que momento xinlei? Al principio o a medida que se van conectando y desconectado?
En todo si es posible.
XINLEI is offline
LeeanAndNeka
Senior Member
Join Date: Feb 2012
Location: Argentina ♥
Old 03-26-2013 , 12:42   Re: Acomodar IDs, Re ordenar todo en una variable
#5

Quote:
Originally Posted by XINLEI View Post
En todo si es posible.
Puedo enviartela por mensaje privado asi no pongo todo aca.. Luego ya saben que sucede (?
Si alguno tiene otra idea o algo puede contactarme mediante este thread. Espero sus amables ayudas

Last edited by LeeanAndNeka; 03-26-2013 at 12:47.
LeeanAndNeka is offline
Send a message via MSN to LeeanAndNeka Send a message via Skype™ to LeeanAndNeka
XINLEI
me too
Join Date: Jun 2011
Location: Colombian Coffee storage
Old 03-26-2013 , 13:02   Re: Acomodar IDs, Re ordenar todo en una variable
#6

Acabo de mirar el code y sobreescribir datos con loops se volvera un enredo del carajo si empieza a cambiar algo, use get_players. O puede usar 2 arrays y/o hacer una condicion en el momento de separar los datos.

Last edited by XINLEI; 03-26-2013 at 13:09.
XINLEI is offline
LeeanAndNeka
Senior Member
Join Date: Feb 2012
Location: Argentina ♥
Old 03-26-2013 , 13:06   Re: Acomodar IDs, Re ordenar todo en una variable
#7

Quote:
Originally Posted by XINLEI View Post
Acabo de mirar el code y sobreescribir datos con loops se volvera un enredo del carajo si le cambia algo.

Puede cambiar varios de esos loops por get_players? Get_players asigna las celdas como quiere si cumplen con la condicion.
Un ejemplo claro?
LeeanAndNeka is offline
Send a message via MSN to LeeanAndNeka Send a message via Skype™ to LeeanAndNeka
rak
Veteran Member
Join Date: Oct 2011
Location: banned country
Old 03-26-2013 , 20:23   Re: Acomodar IDs, Re ordenar todo en una variable
#8

(?

PHP Code:
#include <amxmodx>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "[R]ak"


public plugin_init() {
    
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
set_task(3.0"test")
    
}

public 
test() {
    
    new 
SuperID[6] = {
        
7,
        
5,
        
0,
        
1,
        
27,
        
0
    
}
    
    
server_print("ID 0 = %d"SuperID[0])
    
    
server_print("ID 1 = %d"SuperID[1])
    
    
server_print("ID 2 = %d"SuperID[2])
    
    
server_print("ID 3 = %d"SuperID[3])
    
    
server_print("ID 4 = %d"SuperID[4])
    
    
server_print("ID 5 = %d"SuperID[5])
    
    for(new 
isizeof(SuperID); i++) {
        
        if(!
SuperID[i] && != sizeof(SuperID) -1) {
            
            for(new 
i+1sizeof(SuperID); z++) {
                
                if(
SuperID[z]) {
                    
                    
SuperID[i] = SuperID[z]
                    
                    
SuperID[z] = 0
                    
                    
break;
                    
                }
            }
        }
    }
    
    
server_print("*-----------------------------------------------*")
    
    
server_print("*-----------------------------------------------*")
    
    
server_print("ID 0 = %d"SuperID[0])
    
    
server_print("ID 1 = %d"SuperID[1])
    
    
server_print("ID 2 = %d"SuperID[2])
    
    
server_print("ID 3 = %d"SuperID[3])
    
    
server_print("ID 4 = %d"SuperID[4])
    
    
server_print("ID 5 = %d"SuperID[5])
    

__________________

www.amxmodx-es.com

Steam: Luchokoldo
rak is offline
Send a message via MSN to rak Send a message via Skype™ to rak
shinoda
Spanish Moderator
Join Date: Nov 2009
Location: ag_crossfire
Old 03-26-2013 , 20:34   Re: Acomodar IDs, Re ordenar todo en una variable
#9

PHP Code:
SortIntegersg_SpecStatussizeof g_SpecStatusSort_Descending 
__________________
Oh hell no this shit is awesome !!!
shinoda is offline
Send a message via MSN to shinoda Send a message via Skype™ to shinoda
rak
Veteran Member
Join Date: Oct 2011
Location: banned country
Old 03-26-2013 , 20:35   Re: Acomodar IDs, Re ordenar todo en una variable
#10

Quote:
Originally Posted by shinoda View Post
PHP Code:
SortIntegersg_SpecStatussizeof g_SpecStatusSort_Descending 
native? para que ? e.e
__________________

www.amxmodx-es.com

Steam: Luchokoldo
rak is offline
Send a message via MSN to rak Send a message via Skype™ to rak
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 20:09.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode