[Ayuda/duda] Funcion de minijuegos
#1

Hola, quiero que al telestransportarse como ejemplo en el minijuego de /desmadre
que al morir, o cuando lo maten aparezca aun en el minijuego en excepsion de que use el comando de /salirdm
Lo ocupo urgente, y sera de una gran ayuda, saludos amigos

asi tengo mi cmd
Quote:

if(strcmp(cmdtext, "/Desmadre", true) == 0)
{
new Float:health;
GetPlayerHealth(playerid,health);
if(health >= 20)
{
{
if (IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, VERDELIMA, "Server{FFFFFF}: Baja De Tu Vehiculo e Intentalo ");
}
VariableDeBloqueo[playerid] = 1; //Mini Juego Bloqueo CMD
SetPlayerArmour(playerid,100); //le da 100 de Chaleco
SetPlayerHealth(playerid,100); //le da 100 de Vida
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid, 24, 9999);
GivePlayerWeapon(playerid, 25, 9999);
GivePlayerWeapon(playerid, 34, 9999);
new State=GetPlayerState(playerid);
SetPlayerInterior(playerid,1);
SetPlayerVirtualWorld(playerid, 3);
if(State!=PLAYER_STATE_DRIVER)
SetPlayerPos(playerid,-799.2450,493.0715,1367.232;
format(string2, sizeof(string2), "{B0C4DE}%s a sido teletransportado a /desmadre", PlayerName2(playerid));
SendClientMessageToAll(-1, string2);


new Desmadre=random(6);
if (Desmadre==0) { SetPlayerPos(playerid,1412.639892,-1.787510,1000.924377);}
else if (Desmadre==1) { SetPlayerPos(playerid,1385.4454,1.1092,1000.9206); }
else if (Desmadre==2) { SetPlayerPos(playerid,1367.5746,-19.0029,1000.9219);}
else if (Desmadre==3) { SetPlayerPos(playerid,1385.0935,-40.3031,1000.9224);}
else if (Desmadre==4) { SetPlayerPos(playerid,1410.9465,-35.7572,1000.9235);}
else if (Desmadre==5) { SetPlayerPos(playerid,1395.0630,-21.0514,1000.9299);}
}
else
{
SendClientMessage(playerid, VERDELIMA, "Server{FFFFFF}: Llena tu Vida para usar los TelePorts");
}
return 1;
}

Reply
#2

Define una variable global (bool).

Код:
new bool:mDead[MAX_PLAYERS];
Cuando conecte y desconecte setйalo a false.

Код:
mDead[playerid] = false;
En el comando desmadre lo setйas a true.

Код:
mDead[playerid] = true;
En el callback OnPlayerSpawn, al final, aсades la verificaciуn de que si estб en el mini-juego le seteas la posiciуn deseada, asн:

Код:
if(mDead[playerid] == true)
{
	new Desmadre = random(6);
	switch(Desmadre)
	{
		case 0: SetPlayerPos(playerid,1412.639892,-1.787510,1000.924377);
		case 1: SetPlayerPos(playerid,1385.4454,1.1092,1000.9206); 
		case 2: SetPlayerPos(playerid,1367.5746,-19.0029,1000.9219);
		case 3: SetPlayerPos(playerid,1385.0935,-40.3031,1000.9224);
		case 4: SetPlayerPos(playerid,1410.9465,-35.7572,1000.9235);
		case 5: SetPlayerPos(playerid,1395.0630,-21.0514,1000.9299);
	}
}
Por ъltimo, seteas a false la variable en el comando dуnde se sale del mini-juego.

Код:
mDead[playerid] = false;
Йso serнa todo.

Un consejo, la ortografнa es indispensable en el desarrollo del servidor, no importa si no sabes acentuar correctamente, pero escribir palabras inexistentes, mal, iniciales mayъscula en cualquier palabra es... horrible.

Saludos.
Reply
#3

Quote:
Originally Posted by LatinZ
Посмотреть сообщение
Define una variable global (bool).

Код:
new bool:mDead[MAX_PLAYERS];
Cuando conecte y desconecte setйalo a false.

Код:
mDead[playerid] = false;
En el comando desmadre lo setйas a true.

Код:
mDead[playerid] = true;
En el callback OnPlayerSpawn, al final, aсades la verificaciуn de que si estб en el mini-juego le seteas la posiciуn deseada, asн:

Код:
if(mDead[playerid] == true)
{
	new Desmadre = random(6);
	switch(Desmadre)
	{
		case 0: SetPlayerPos(playerid,1412.639892,-1.787510,1000.924377);
		case 1: SetPlayerPos(playerid,1385.4454,1.1092,1000.9206); 
		case 2: SetPlayerPos(playerid,1367.5746,-19.0029,1000.9219);
		case 3: SetPlayerPos(playerid,1385.0935,-40.3031,1000.9224);
		case 4: SetPlayerPos(playerid,1410.9465,-35.7572,1000.9235);
		case 5: SetPlayerPos(playerid,1395.0630,-21.0514,1000.9299);
	}
}
Por ъltimo, seteas a false la variable en el comando dуnde se sale del mini-juego.

Код:
mDead[playerid] = false;
Йso serнa todo.

Un consejo, la ortografнa es indispensable en el desarrollo del servidor, no importa si no sabes acentuar correctamente, pero escribir palabras inexistentes, mal, iniciales mayъscula en cualquier palabra es... horrible.

Saludos.
Hize todo lo que me dijiste pero al morir, o al siciudarme aparezco en zonas de spawn del server, que hize mal?
Reply
#4

Por que debes acomodar йsto:

Код:
if(mDead[playerid] == true)
{
	new Desmadre = random(6);
	switch(Desmadre)
	{
		case 0: SetPlayerPos(playerid,1412.639892,-1.787510,1000.924377);
		case 1: SetPlayerPos(playerid,1385.4454,1.1092,1000.9206); 
		case 2: SetPlayerPos(playerid,1367.5746,-19.0029,1000.9219);
		case 3: SetPlayerPos(playerid,1385.0935,-40.3031,1000.9224);
		case 4: SetPlayerPos(playerid,1410.9465,-35.7572,1000.9235);
		case 5: SetPlayerPos(playerid,1395.0630,-21.0514,1000.9299);
	}
}
Ya sea al final del callback OnPlayerSpawn o al principio aсadiйndole return true;

Yo te recomiendo al principio aсadiendo return true; ya que el jugador se teletransportarб a cualquier otra posiciуn que le estйs asignando (en йste caso, los spawn's por default del server) y despuйs a las del mini-juego.
Reply
#5

Ya me funciono muchisimas gracias latin, ahora el problema es que yo tengo un antispawnkill, y aparece el mensaje como si tuviera spawn kill al spawnear como le puedo quitar el mensaje de antispawnkill no mas en /desmadre?
Reply
#6

Si quieres, pasa el callback OnPlayerSpawn para ordenarlo.
Reply
#7

lo puse asi no se si sea correcto pero me funciono, que dice usted?
Quote:

if(mDead[playerid] == false)
{
SetPlayerHealth(playerid, 100000000.0);
SendClientMessage(playerid,COLOR_GREEN,"{FDC749}[Spawn]: {FFFFFF}Estбs protegido por {00FF00}5{FFFFFF} segundos de Anti Spawn Kill.");
SetPlayerChatBubble(playerid, "PROTEGIDO", 0x00ff0000, 100.0, 10000);
SetTimerEx("AntiSpawnkill",5000,0,"i",playerid);
}
if(mDead[playerid] == true)
{
new r = random(sizeof(DESMADRER));
SetPlayerInterior(playerid, 1);
ResetPlayerWeapons(playerid);
VariableDeBloqueo[playerid] = 1;
SetPlayerHealth(playerid,100);
GivePlayerWeapon(playerid, 24, 99999);
GivePlayerWeapon(playerid, 25, 99999);
GivePlayerWeapon(playerid, 34, 99999);
SetPlayerArmour(playerid, 100);
SetPlayerPos(playerid, DESMADRER[r][0], DESMADRER[r][1], DESMADRER[r][2]);
}
return 1;
}

Reply
#8

Sн, estб bien. Todo depende de como ordenes el cуdigo, me refiero a lo que quieres que se le ejecute al jugador.

Saludos.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)