02.12.2013, 22:15
(
Последний раз редактировалось cleme; 03.12.2013 в 01:09.
)
Hola estoy creando un server de hunger games y estoy usando el sistema de kitten...
(http://forum.sa-mp.com/showthread.ph...+change+system)
lo que necesito es una pequeсa modificacion de ese tutorial, necesito que cuando una ronda ya haya empezado y un player entre al sv este se quede espectando a los demas hasta que empieze una nueva.
porfavor ayudenme!
aqui les dejo los codigos del tutorial de arriba si les sirve de algo
(http://forum.sa-mp.com/showthread.ph...+change+system)
lo que necesito es una pequeсa modificacion de ese tutorial, necesito que cuando una ronda ya haya empezado y un player entre al sv este se quede espectando a los demas hasta que empieze una nueva.
porfavor ayudenme!
aqui les dejo los codigos del tutorial de arriba si les sirve de algo
pawn Код:
forward StartedNewRound();
new MapChange;
forward NewMapTimer(playerid);
pawn Код:
public NewMapTimer(playerid) // The callback we forwarded on the beginning of the tutorial
{
MapChange++; // this makes it to go to the second MapChange++ part basically does it
// Sends everyone in server a gametext
GameTextForAll("~b~ Cargando nuevo ~w~MAPA",4000,3);
SetTimer("StartedNewRound",4000,false); // Starts a new timer for the MapChangechange 4 seconds this basically starts the new MapChangeand always must be in false
return 1;
}
public StartedNewRound() // The callback we forwarded in the beginning of this tutorial
{
for(new i = 0; i < MAX_PLAYERS; i++) { // this loops everyone in the server also you can use foreach include for this part
SpawnPlayer ( i ) ; // Re Spawns everyone in the server which then gets OnPlayerSpawn Callback called
switch ( MapChange ) { // This part is basically for your new MapChangesettings like giving them weapons
case 0:
{
SendClientMessage(i,COLOR_RED,"Arena1");
}
case 1:
{
SendClientMessage(i,COLOR_RED,"Arena2");
}
case 2: // Next Spawn Settings
{
}
}
}
return 1;
}
pawn Код:
public OnPlayerSpawn(playerid)
{
TextDrawShowForPlayer(playerid, Textdraw2);
TextDrawShowForPlayer(playerid, Textdraw3);
switch ( MapChange ) { // you must have a case for the mapchange to get the list going
case 0: // MapChange1 this is the part for MapChange = 0; Which basically starts of the first MapChangein the list
{
new Random = random(12);
SetPlayerPos(playerid, RandomSpawns[Random][0], RandomSpawns[Random][1], RandomSpawns[Random][2]);
TogglePlayerControllable(playerid, 0);
SetTimer("diez", 1000, 0);//cinco es el nombre del forward cambienlo si lo cambiaron y 1000 significa 1 segundo osea que al 1 segundo pasa el forward cuatro y haci susesivamente
SetTimer("nueve", 2000, 0);//cuatro es el nombre del forward cambienlo si lo cambiaron y 2000 significa 2 segundo osea que al 2 segundo pasa el forward tres y haci susesivamente
SetTimer("ocho", 3000, 0);
SetTimer("siete", 4000, 0);
SetTimer("seis", 5000, 0);
SetTimer("cinco", 6000, 0);//cinco es el nombre del forward cambienlo si lo cambiaron y 1000 significa 1 segundo osea que al 1 segundo pasa el forward cuatro y haci susesivamente
SetTimer("cuatro", 7000, 0);//cuatro es el nombre del forward cambienlo si lo cambiaron y 2000 significa 2 segundo osea que al 2 segundo pasa el forward tres y haci susesivamente
SetTimer("Tres", 8000, 0);
SetTimer("dos", 9000, 0);
SetTimer("uno", 10000, 0);
SetTimer("ya", 11000, 0);
ResetPlayerWeapons(playerid);
// XYZ Co-rds of the first map
// Facing Angle of the first map
}
case 1: // MapChange2 same settings on top
{
new Random = random(12);
SetPlayerPos(playerid, RandomSpawns2[Random][0], RandomSpawns2[Random][1], RandomSpawns2[Random][2]);
TogglePlayerControllable(playerid, 0);
ResetPlayerWeapons(playerid);
SetTimer("diez", 1000, 0);//cinco es el nombre del forward cambienlo si lo cambiaron y 1000 significa 1 segundo osea que al 1 segundo pasa el forward cuatro y haci susesivamente
SetTimer("nueve", 2000, 0);//cuatro es el nombre del forward cambienlo si lo cambiaron y 2000 significa 2 segundo osea que al 2 segundo pasa el forward tres y haci susesivamente
SetTimer("ocho", 3000, 0);
SetTimer("siete", 4000, 0);
SetTimer("seis", 5000, 0);
SetTimer("cinco", 6000, 0);//cinco es el nombre del forward cambienlo si lo cambiaron y 1000 significa 1 segundo osea que al 1 segundo pasa el forward cuatro y haci susesivamente
SetTimer("cuatro", 7000, 0);//cuatro es el nombre del forward cambienlo si lo cambiaron y 2000 significa 2 segundo osea que al 2 segundo pasa el forward tres y haci susesivamente
SetTimer("Tres", 8000, 0);
SetTimer("dos", 9000, 0);
SetTimer("uno", 10000, 0);
SetTimer("ya", 11000, 0);
}
case 2: // blah blah next MapChangestuff here
{
}
}
return 1;
}