[FilterScript] CG_AD El Minijuego [Versiуn: 0.6]
#1

[FilterScript] CG_AD El Minijuego



Introduccion:

Hola Amigos bueno esto es un pequeсo y simple minijuego de Ataque y Defensa con CheckPoint
Es Muy Simple Asi Que No Hay Muchos Detalles.
El Comando Es /Partida para ello debes ser administrador Rcon claro lo puedes cambiar.




Descarga Paste Bin:
Reply
#2

Muy bueno para servidores FreeRoam y DM.

Buen trabajo
Reply
#3

simple y bonito
Reply
#4

Le peguй una ojeada al cуdigo, como dijo arriba mнo el seсor adrianxd, simple y bonito!
Reply
#5

La idea es buena pero debes corregir algunos errores con los bucles.
pawn Code:
public OnPlayerDeath(playerid, killerid, reason)
{
    for ( new i = 0; i < MAX_PLAYERS; i++)
    {
               
        if ( AD [ killerid ] == attackers )
    {
    Kills_attackers++;
por ejemplo eso hace que si un atacante mate a un defesor la variable Kills_attackers se ponga en 500 el for esta demas ahi.
Reply
#6

En realidad no, Daniel, ese for no harнa nada ya que "i" no es utilizado. Solamente estб ocupando lineas en el script.
Reply
#7

buen en realidad tiene una funcion y es que Spawnea a todos los jugadores y destruye la checkpoint
PHP Code:
public OnPlayerDeath(playeridkilleridreason)
{
    for ( new 
0MAX_PLAYERSi++)
    {
               
        if ( 
AD killerid ] == attackers )
    {
   
    
Kills_attackers++;
   
        if ( 
Kills_attackers >= Max_defenders )
        {
            
Timer_Checkpoint 0;
            
GameTextForAll("~g~Ganan ~r~ Los Atacantes",5000,3);
            
SpawnPlayer);
            
EnGame 0;
            
DisablePlayerCheckpoint(i); 
Reply
#8

Quote:
Originally Posted by leaNN!
View Post
En realidad no, Daniel, ese for no harнa nada ya que "i" no es utilizado. Solamente estб ocupando lineas en el script.
El hecho de que la variable 'i' no este siendo utilizada, no implica que lo que se encuentra en su interior deje de ser ejecutado; por lo cual eso es realmente un bug (si no hay otro codigo despues que contrareste el efecto, en cuyo caso seria algo poco optimo).

Ejemplos:
pawn Code:
#include <a_samp>
main()
{
    for(new i; i<10; i++)//Aqui definimos el bucle, cuya variable no sera utilizada
    {
        //Acciуn que se repetira 10 veces
        print("Este texto se repetira 10 veces en la consola.");
    }
    for(;;)//Aqui nisiquiera utilizamos una variable
    {
        //Acciуn que se repetira hasta que se cierre la consola
        print("Este texto colgara la consola ya que es un bucle infinito");
    }
}
Quote:
Originally Posted by cesar_******
View Post
buen en realidad tiene una funcion y es que Spawnea a todos los jugadores y destruye la checkpoint
PHP Code:
public OnPlayerDeath(playeridkilleridreason)
{
    for ( new 
0MAX_PLAYERSi++)
    {
               
        if ( 
AD killerid ] == attackers )
    {
   
    
Kills_attackers++;
   
        if ( 
Kills_attackers >= Max_defenders )
        {
            
Timer_Checkpoint 0;
            
GameTextForAll("~g~Ganan ~r~ Los Atacantes",5000,3);
            
SpawnPlayer);
            
EnGame 0;
            
DisablePlayerCheckpoint(i); 
En ese caso, el codigo deberia ser asi:
pawn Code:
public OnPlayerDeath(playerid, killerid, reason)
{
    if ( AD [ killerid ] == attackers )
        Kills_attackers++;
    for ( new i = 0; i < MAX_PLAYERS; i++)
    {
        /*----------------------------------------------------------------------
            Deberias comprobar que el jugador 'i' este conectado mediante la
            funcion 'IsPlayerConnected' para evitar bugs.
        ----------------------------------------------------------------------*/

        if ( Kills_attackers >= Max_defenders )
        {
            Timer_Checkpoint = 0;
            GameTextForAll("~g~Ganan ~r~ Los Atacantes",5000,3);
            SpawnPlayer( i );
            EnGame = 0;
            DisablePlayerCheckpoint(i);
Reply
#9

Fue un grave error mio y lo acepto ya que estoy estudiando como Optimizar y es en lo que mas me he enfocado y lo acepto porque en verdad quien sepa optimizar sabe que el server no le darб bugs bueno en realidad me parece mejor este cуdigo creo que se ve mas optimizado.
PHP Code:
public OnPlayerDeath(playeridkilleridreason)
{
    if ( 
AD killerid ] == attackers )
    {
        
Kills_attackers++; //solo sumamos una vez y no las 500 veces que tenias antes con el bucle arriba
        
if ( Kills_attackers >= Max_defenders )
        {
            
Timer_Checkpoint 0;
            
EnGame 0;
            
GameTextForAll("~g~Ganan ~r~ Los Atacantes",5000,3);
            for ( new 
0MAX_PLAYERSi++) { //Aquн el bucle
                
SpawnPlayer); //esto se repite 500 veces pero con cada repeticion la "i" incrementa un nъmero (el ID en este caso)
                
DisablePlayerCheckpoint(i);
            } 
//aqui se termina el bucle
        
}
    } 
PD: Lo hizo daniel-92 aconsejбndome que seria mejor
Reply
#10

Off comment:
Personalmente en todos mis scripts, luego de los includes, agrego las dos siguientes lineas:
#undef MAX_PLAYERS;
#define MAX_PLAYERS X;
Donde X es el numero mбximo de Slots del servidor.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)