Les enseñare ah ocupar variable para un simple DM
un Dm que si mueres spawneas en el mismo Dm y solo puedes salir con /salirdm
esto va arriba de OnGameModeInit
new ZonaDM[MAX_PLAYERS]; //la variable que nos ayudara al spawneo y verificar si esta en este
ahora nos vamos a
OnPlayerConnect
{
ZonaDM[playerid] = 0; //esto lo dejamos asi en 0 porque verifica si el jugador esta o no en el dm si lo dejas en 1 cuando entres denuevo al juego y pongas /dm te saldra un mensaje que YA ESTAS EN DM el 0 en OnPlayerConnect lo desactiva al desconectarse del servidor
///
///
///
//todas las funciones o mensajes que tengas ....
}
Ahora nos vamos a hacer el CMD
esto va en
public OnPlayerCommandText(playerid, cmdtext[])
{
///
//
//TODOS TUS CMDS....
if(!strcmp(cmdtext, "/dm", true))
{
ZonaDM[playerid] = 1; //ESTO ACTIVA EL DM 1 COMO TE DECIA EN DENANTE
SetPlayerInterior(playerid,0); //el interior
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid,3,999); //armas
GivePlayerWeapon(playerid,24,999); //armas
GivePlayerWeapon(playerid,26,999);//armas
GivePlayerWeapon(playerid,31,999);//armas
SetPlayerVirtualWorld(playerid,0); //Virtual World
SetPlayerPos(playerid, 2752.7935,-1761.4364,43.7667); //posicion del dm telport
return 1;
}
Ahora hacemo el SALIRDM
if(!strcmp(cmdtext, "/salirdm", true))
{
if(ZonaDM[playerid] == 0) return SendClientMessage(playerid,COLOR_RED, "ERROR: No estas en el DM!"); //esto verifica si esta o no en DM por eso es importante el ZonaDM en 1 en /dm
ZonaDM[playerid] = 0; //esto desactiva la variable
SetPlayerHealth(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
ResetPlayerWeapons(playerid);
return 1;
}
y ahora vamos haer que cuando muera aparezca en DM
esto se hace en
public OnPlayerSpawn(playerid)
{
if(ZonaDM[playerid] == 1) //indica que esta dentro del DM
{
SetPlayerInterior(playerid,0);
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid,3,999);
GivePlayerWeapon(playerid,24,999);
GivePlayerWeapon(playerid,26,999);
GivePlayerWeapon(playerid,31,999);
SetPlayerPos(playerid, 2752.7935,-1761.4364,43.7667); //esta es la misma posicion que en /dm o sino te spawneara en no se donde xddd
SendClientMessage(playerid,COLOR_Green, "Estas en DM, Para salir del DM usa /salirdm !");
}
Post data en OnPlayerSpawn
no te funcionaran las armas porque eso se hace con otra cosa
que yo nose
pero con eso estas al otro lado
espero que te sirva
si hay errores o explique mal algo avissen