07.02.2010, 03:53
Oi, queria um teleporte DM, tipo assim vc digita /dm ai vc so pode sair do teleporte se morrer ou se vc /kill suicidadar. Obrigado
//topo do GM
new Combate[MAX_PLAYERS];
new str[256];
//OnPlayerConnect
Combate[playerid] = 0;
//OnPlayerCommandText
if(strcmp(cmdtext,"/dm",true) == 0)
{
SetPlayerPos(playerid, Coord.X, Coord.Y, Coord.Z);
SendClientMessage(playerid, COR, "Vocк foi para a batalha e agora sу saira se morrer!");
Combate[playerid] = 1;
new jogador[MAX_PLAYER_NAME];
GetPlayerName(playerid, jogador, sizeof(jogador));
format(str, sizeof(str), "%s Foi fazer um DM, para ir use /dm", jogador);
SendClientMessageToAll(COR, str);
return 1;
}
//OnPlayerDeath
Combate[playerid] = 0;
if(Combate[playerid] == 1) {
tipo, pra fazer que sу pode sair se morrer vocк vai ter que usar um 'if' a mais em todos os comandos, que verificaria se o player esta em combate, vou te explicar como fazer: /dm:agora em todos os comandos, exeto o /kill, use o if:pawn Код://topo do GMnew Combate[MAX_PLAYERS];new str[256];//OnPlayerConnectCombate[playerid] = 0;//OnPlayerCommandTextif(strcmp(cmdtext,"/dm",true) == 0){ SetPlayerPos(playerid, Coord.X, Coord.Y, Coord.Z); SendClientMessage(playerid, COR, "Vocк foi para a batalha e agora sу saira se morrer!"); Combate[playerid] = 1; new jogador[MAX_PLAYER_NAME]; GetPlayerName(playerid, jogador, sizeof(jogador)); format(str, sizeof(str), "%s Foi fazer um DM, para ir use /dm", jogador); SendClientMessageToAll(COR, str); return 1;}//OnPlayerDeathCombate[playerid] = 0;
fiz rapido, testa ae acho que da certopawn Код:if(Combate[playerid] == 1) {
if(strcmp(cmdtext, "/sniperdm", true) == 0) if(Combate[playerid] == 1) { new pname[MAX_PLAYER_NAME]; GetPlayerName(playerid, pname, MAX_PLAYER_NAME); format(string, sizeof(string), "%s foi para a Sniper DM ( /sniperdm )", pname); SendClientMessageToAll(COR_LARANJA, string); SetPlayerInterior(playerid,0); SetPlayerPos(playerid,183.111,1934.011,17.531); SetPlayerFacingAngle(playerid,89.0); ResetPlayerWeapons(playerid); GivePlayerWeapon(playerid,34,9999); Combate[playerid] = 1; return 1; }
if(strcmp(cmdtext, "/sniperdm", true) == 0)
{
if(Combate[playerid] == 0) {
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
format(string, sizeof(string), "%s foi para a Sniper DM ( /sniperdm )", pname);
SendClientMessageToAll(COR_LARANJA, string);
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,183.111,1934.011,17.531);
SetPlayerFacingAngle(playerid,89.0);
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid,34,9999);
Combate[playerid] = 1;
}
return 1;
}
if(Combate[playerid] == 1)
if(Combate[playerid] == 0)
Originally Posted by LuCaS_
nгo, devera ficar assim:
pawn Код:
pawn Код:
pawn Код:
|
if(Combate[playerid] == 0) {
Originally Posted by LuCaS_
esse outro lugar que vocк falo, nele vocк esta usando o
pawn Код:
|
//no topo
new Combate[MAX_PLAYERS];
//no OnPlayerConnect
Combate[playerid] = 0;
=======================================
//no OnPlayerDeath
Combate[playerid] = 0;
=========================================
// no comando
if(strcmp(cmdtext, "/sniperdm", true) == 0) {
if(Combate[playerid] == 0)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
format(string, sizeof(string), "%s foi para a Sniper DM ! ( /sniperdm )", pname);
SendClientMessageToAll(COR_LARANJA, string);
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,183.111,1934.011,17.531);
SetPlayerFacingAngle(playerid,89.0);
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid,34,9999);
Combate[playerid] = 1;
}
return 1;
}
//Agora em um comando comum
if(strcmp(cmdtext,"/ex",true) == 0)
{
if(Combate[playerid] == 1) return SendClientMessage(playerid, 0xfAA3333AA, "[ERRO] Para sair deste teleporte, primeiramente morra, ou utilize [ /sair ] !");
{
SetPlayerPos(playerid, Coord.X, Coord.Y, Coord.Z);
SetPlayerInterior(playerid,0);
return 1;
}
//agora o comando de sair
if(strcmp(cmdtext, "/sair", true) == 0) {
Combate[playerid] = 0;
SetPlayerPos(playerid, Coord.X, Coord.Y, Coord.Z);
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid,24,110);
GivePlayerWeapon(playerid,32,150);
SendClientMessage(playerid, 0xfAA3333AA, "[INFO] Vocк saiu do teleport com sucesso!");
return 1;
}
Nos outros comandos coloque esse if
if(Combate[playerid] == 1) return SendClientMessage(playerid, 0xfAA3333AA, "[ERRO] Para sair deste teleporte, primeiramente morra, ou utilize [ /sair ] !");
{
=======================================================================
Originally Posted by Knocker
Eu faria do mesmo jeito que o rapaz acima citou, mas no lugar de /kill, й preferivel usar um comando de /sair. , do teleporte, exemplo.
pawn Код:
|