Saltar al contenido
  • Global

    Global

    Chatroom Rules

    • NO SE DA SOPORTE EN CHATBOX
    • NO SPAM
    • NO FLOOD

Publicaciones recomendadas

  • Usuario
Publicado

Es algo sencillo:

// El cuerpo de tu comando.
	if(EnEvento[playerid] != 0) return SendClientMessage(playerid, -1, "* No estás en un evento!"); // Si no está en un evento o minijuego (úsalo para que no abusen).
	else // De lo contrario.
	{
		SpawPlayer(playerid);
		EnEvento[playerid] = 0;
		SendClientMessage(playerid, -1, "* Saliste de un evento.");
	}
	// Otras cosas si deseas...

Recuerda cambiar 'EnEvento' a la variable que usas para los eventos.

  • Usuario
Publicado (editado)

Y como seria para spawnear a todos los que estan en el evento? (Seria para cuando el admin termine el evento)

Editado por LucasCarvallo
  • Usuario
Publicado (editado)

 

for(new i=0; i < MAX_PLAYERS; i++)
{
   if(IsPlayerConnected(i))
   {
      if(EnEvento[i] != 0)
      {
        SpawPlayer(i);
        EnEvento[i] = 0;
      }
   }    
}

 

te recuerdo que este foro esta para aclarar dudas, no para que te hagamos todo un servidor

 

 

http://forum.sa-mp.com/showthread.php?t=225796

 

 

 

Si dices eso, ¿para qué le das el código completo en vez de al menos explicarle algo?

 

En verdad, algunas veces, es mejor dar un código completo para que el autor se guíe de dicho código para así aprender en próximas ocasiones.

 

Además, tu código está mal. Sería así:

for(new i = 0; i <= GetMaxPlayers(); i++) // Un bucle que recorrerá a todos los jugadores.
{
   if(IsPlayerConnected(i)) // Si 'i' es la ID de un jugador conectado.
   {
      if(EnEvento[i] != 0) // Si el valor de 'i' no es igual a 0.
      {
        SpawPlayer(i); // Respawneamos al jugador que haya cumplido con las anteriores condiciones.
        EnEvento[i] = 0; // Le damos el valor a '0'.
      }
   }    
}

Es un poco menos de iteracciones y la diferencia es mínima, pero siempre hay que buscar la manera más optimizada de hacer las cosas.

 

PD: Si quieres algo más rápido que un bucle, te recomiendo y_iterate de Y_Less: http://forum.sa-mp.com/showthread.php?t=92679&highlight=foreach.

Editado por -EnzoMetlc-
  • Usuario
Publicado

El code de nikex no esta mal, hay varias maneras de usar "for", y aqui se ayuda, no se demuestra lo que sabe uno... un poquito mas de humildad enzo.

 

Y para salir de cada minijuego que hagas tendras que añadirle funciones a el code que te dio enzo, porque si por ejemplo el minijuego crea objetos en el comando para salir o terminarlo tendras que borrar los objetos, lo mismo si te cambia de mundo, interior, crea autos, etc.

  • Usuario
Publicado

pd: yo te recomendaria que leas una guia de como aprender script, ya que te estan dando includes de otra persona(yless) y aun no sabes usar muy bien lo que te aporta el include de samp xd

  • Usuario
Publicado (editado)

El code de nikex no esta mal, hay varias maneras de usar "for", y aqui se ayuda, no se demuestra lo que sabe uno... un poquito mas de humildad enzo.

 

Y para salir de cada minijuego que hagas tendras que añadirle funciones a el code que te dio enzo, porque si por ejemplo el minijuego crea objetos en el comando para salir o terminarlo tendras que borrar los objetos, lo mismo si te cambia de mundo, interior, crea autos, etc.

 

Sólo mencioné que su código está mal, no le veo lo malo de corregir a los demás.

 

Es lo mismo hacer estas 2 cosas:

for(new i = 0; i != GetMaxPlayers(); i++)

for(new i = 0; i < GetMaxPlayers(); i++)

Crees que eso está bien? Prueba esto y dime hasta dónde llegó el valor:

	for(new i = 0; i < GetMaxPlayers(); i++)
	{
	   printf("Valor de 'i': %i.", i);
	}

PD: No es para dármelas de pro, lo contrario, yo siempre intento enseñar, y de que los demás aprendan. No aclaro que yo sé todo, pero yo trato de enseñar todo lo que sé.

Editado por -EnzoMetlc-
Invitado
Este tema está cerrado a nuevas respuestas.
  • Explorando recientemente   0 miembros

    • No hay usuarios registrados viendo esta página.
×
×
  • Crear nuevo...