new string[256];
if (strcmp(cmdtext,"/Sairdm",true) != 0 && GetPlayerVirtualWorld(playerid)!= 0)
{
GameTextForPlayer(playerid, "~g~Para Sair Do Dm Use: ~r~/Sairdm", 2500, 5);
return 1;
}
if (strcmp("/Sairdm", cmdtext, true, 10) == 0)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
format(string, sizeof(string), "{FF0000}%s {1E90FF}Correu de uma das Arenas de DM! {FF0000}( /SairDM )", pname);
SendClientMessageToAll(COLOR_YELLOW, string);
SpawnPlayer(playerid);
return 1;
}
SetPlayerVirtualWorld(playerid, 1);
//Topo
new EmDm[MAX_PLAYERS] = 0;
//OnPlayerCommandText
//Topo da public onplayercommandtext:
if(EmDm[playerid] == 1) return SendClientMessage(playerid, -1,"SERVER: Use: /sairdm primeiro");
//Em baixo:
if(strcmp(cmd, "/sairdm", true) == 0)
{
GameTextForPlayer(playerid, "~g~Para Sair Do Dm Use: ~r~/Sairdm", 2500, 5);
EmDm[playerid] = 0;
return 1;
}
Gustavo,a sua,eu usei,ele sai do DM,mas ai tu digita outro comando apуs sair do dm,e ele nгo permite,e manda /sairdm novamente,e nгo sai..
TheZeroC0ll,a sua achei muito complicada,e nгo testei.. |
public OnPlayerCommandText(playerid, cmdtext[])
if (strcmp(cmdtext,"/Sairdm",true) != 0 && GetPlayerVirtualWorld(playerid)!= 0)
{
GameTextForPlayer(playerid, "~g~Para Sair Do Dm Use: ~r~/Sairdm", 2500, 5);
return 1;
}
if (strcmp("/Sairdm", cmdtext, true, 10) == 0)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
format(string, sizeof(string), "{FF0000}%s {1E90FF}Correu de uma das Arenas de DM! {FF0000}( /SairDM )", pname);
SendClientMessageToAll(COLOR_YELLOW, string);
SpawnPlayer(playerid);
return 1;
}
//////////e Isso no comando que eu tenho de /minigun
SetPlayerVirtualWorld(playerid, 1);
Eu queria assim:
Entrou no dm /minigun : ganhou vida, colete e minigun. Ok,isso eu jб tenho. Agora o player quer digitar /armas,mas aparece uma mensagem,Vocк nгo pode usar comandos em uma Arena Deathmatch. Use /sairdm para sair da arena. O Player digita /sairdm,e ele da spawn no local inicial do servidor,sem a minigun,sem colete,sу com vida. |
#include <a_samp>
new EmDm[MAX_PLAYERS] = 0;
public OnFilterScriptInit()
{
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(EmDm[playerid] == 1) return SendClientMessage(playerid, -1,"SERVER: Use: /sairdm primeiro");
if(strcmp(cmd, "/sairdm", true) == 0)
{
GameTextForPlayer(playerid, "~g~Para Sair Do Dm Use: ~r~/Sairdm", 2500, 5);
EmDm[playerid] = 0;
return 1;
}
return 0;
}
#include zcmd
new blockdm;
CMD:minegun(playerid, params[])
{
blockdm[playerid] = 1;
//resto da funзгo
return 1;
}
CMD:armas(playerid, params[])
{
if(blockdm[playerid] == 1) return SendClientMessage(playerid, -1,"SERVER: Use: /sairdm primeiro");
//Resto da funзгo
return 1;
}
CMD:sairdm(playerid, params[]
{
SpawnPlayer(playerid);
GameTextForPlayer(playerid, "~g~Vocк saiu do DM", 2500, 5);
blockdm[playerid] = 0;
return 1;
}
//inicio
new bool:tem [ MAX_PLAYERS ] ;
//no cmd minigum
tem [ playerid ] = true ;
//no cmd armas
if ( tem [ playerid ] == true )
return SendClientMessage ( playerid , -1 , "Vocк nгo pode usar comandos em uma Arena Deathmatch. Use /sairdm para sair da arena" ) ;
//no cmd /sairdm
SpawnPlayer ( playerid ) ;
SetPlayerArmour ( playerid , 0 ) ;
ResetPlayerWeapons ( playerid ) ;
tem [ playerid ] = false;