● Información Adicional:Se trata un fs que os permitira llevar a cabo el evento capturar la bandera. Se trata de un evento por equipo en donde cada bando ha de conseguir la bandera del bando enemigo y llevarla a vuestra base. Muy bueno, os lo recomiendo!
Puedes activarlo y desactivarlo, bloquearlo y desbloquearlo, obio que siempre logeado de la RCON:
- El jugador solo entra cuando el administrador inicia el evento, no elije su equipo, sino que lo elije automaticamente, con el color respectivo del equipo.
- Consta de 2 Equipos: El Rojo y el Azul
- Cuando el Evento se active un mensaje sera enviado a todos los jugadores.
- Tambien se enviara un mensaje cuando el jugador se una, salga, pierda o capture la bandera.
- Luego se enviara un mensaje con el Marcador
CitarCOMANDOS:
/clb [entrar, salir, start, end, lock, unlock]
/clbset (Solor RCONS)
● Código: /******************\
*__________________*
|*Captura la bandera*|
____________________
|*By Ronnie 'Moadi' Pearce*|
********************************/
#include <a_samp>
#include <zcmd>
#include <sscanf2>
#define FILTERSCRIPT
#define CBLUE "{39AACC}"
#define CDGREEN "{6FA828}"
#define CWHITE "{FFFFFF}"
#define CRED "{FF0000}"
#define COLOR_RED 0xFF0000FF
#define COLOR_GREEN 0x008000FF
#define COLOR_LIGHTBLUE 0xADD8E6FF
#define COLOR_AQUA 0x00FFFFFF
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_BLUE 0x2641FEAA
#define COLOR_LIGHTRED 0xFF6347AA
#define COLOR_DARKGREEN 0x006400FF
new
ob[4];
new
ison,pctp[MAX_PLAYERS],ctpu[2],ctpup,flag[MAX_PLAYERS],skin[MAX_PLAYERS],egun,egun1,ptslimit,
Float:ctx[MAX_PLAYERS],Float:cty[MAX_PLAYERS],Float:ctz[MAX_PLAYERS],Float:cth[MAX_PLAYERS],Float:ctarm[MAX_PLAYERS],ctint[MAX_PLAYERS],ctvw[MAX_PLAYERS];
enum cTp
{
red,
blue
}
new pts[cTp];
new
Float:randomctp[][4] =
{
{1340.2469,-1172.0527,369.1609,180.1620},
{1341.4927,-1362.7784,369.8609,2.6931}
};
new
randomc[] =
{
1,
2
};
public OnFilterScriptInit()
{
ob[0] = CreateObject(13607,1343.09997559,-1364.19995117,371.70001221,0.00000000,0.00000000,0.00000000); //object(ringwalls) (1)
ob[1] = CreateObject(7445,1340.19995117,-1266.90002441,368.29998779,0.00000000,0.00000000,0.00000000); //object(vegasnroad39) (1)
ob[2] = CreateObject(13607,1339.50000000,-1167.00000000,371.70001221,0.00000000,0.00000000,0.00000000); //object(ringwalls) (2)
ob[3] = CreateObject(2914,1340.0812,-1267.0023,372.1815,0.0,0.0,0.0,10);
return 1;
}
public OnFilterScriptExit()
{
DestroyObject(ob[0]);
DestroyObject(ob[1]);
DestroyObject(ob[2]);
DestroyObject(ob[3]);
return 1;
}
//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
public OnPlayerDeath(playerid,killerid,reason)
{
if(pctp[playerid] == 1)
{
new rand = random(sizeof(randomctp));
new team;
team = GetPlayerTeam(playerid);
SetSpawnInfo(playerid,team,0,randomctp[rand][0],randomctp[rand][1],randomctp[rand][2],randomc[rand],egun,500,egun1,500,0,0);
SetPlayerHealth(playerid,90);
SpawnPlayer(playerid);
if(GetPlayerTeam(playerid) == 1)
{
SetPlayerSkin(playerid,292);
}
if(GetPlayerTeam(playerid) == 2)
{
SetPlayerSkin(playerid,0);
}
}
if(flag[playerid] == 1)
{
new
pname[MAX_PLAYER_NAME],
str[128];
GetPlayerName(playerid,pname,sizeof(pname));
format(str,sizeof(str),"Captura la Bandera: %s ha soltado la bandera!",pname);
RemovePlayerAttachedObject(playerid,0);
flag[playerid] = 0;
for(new i=0; i<MAX_PLAYERS; i++)
{
if(pctp[i]==1)
{
SendClientMessage(i,COLOR_GREEN,str);
}
}
}
return 1;
}
//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pctp[playerid] == 1)
{
if(ison == 1)
{
if(pickupid == ctpup)
{
new
pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname,sizeof(pname));
if(GetPlayerTeam(playerid) == 1)
{
new str[128];
format(str,sizeof(str),"Captura la Bandera:"CBLUE"[Equipo Azul] %s"CDGREEN" ha capturado la bandera",pname);
flag[playerid] = 1;
SetPlayerCheckpoint(playerid,1340.2469,-1172.0527,369.1609,2);
SetPlayerAttachedObject( playerid, 0, 2914, 15, 0.014013, 0.077415, -0.424313, 354.422760, 358.421966, 92.942932, 1.000000, 1.000000, 1.000000 );
for(new i=0; i<MAX_PLAYERS; i++)
{
if(pctp[i] == 1)
{
SendClientMessage(playerid,COLOR_GREEN,str);
}
}
}
if(GetPlayerTeam(playerid) == 2)
{
new str[128];
format(str,sizeof(str),"Captura la Bandera: "CRED"[Equipo Rojo] %s"CDGREEN" ha capturado la bandera",pname);
flag[playerid] = 1;
SetPlayerCheckpoint(playerid,1341.4927,-1362.7784,369.8609,2);
SetPlayerAttachedObject( playerid, 0, 2914, 15, 0.014013, 0.077415, -0.424313, 354.422760, 358.421966, 92.942932, 1.000000, 1.000000, 1.000000 );
for(new i=0; i<MAX_PLAYERS; i++)
{
if(pctp[i] == 1)
{
SendClientMessage(playerid,COLOR_GREEN,str);
}
}
}
}
//------------------------------------------------------------------------------
if(pickupid == ctpu[0])
{
if(GetPlayerTeam(playerid) == 1)
{
if(flag[playerid] == 1)
{
new
pname[MAX_PLAYER_NAME],
str[128];
GetPlayerName(playerid,pname,sizeof(pname));
flag[playerid] = 0;
pts[blue] ++;
new
strpt[128];
RemovePlayerAttachedObject(playerid,0);
format(strpt,sizeof(strpt),"Captura la bandera: "CBLUE"Equipo Azul"CDGREEN" ha hecho: %i puntos",pts[blue]);
format(str,sizeof(str),"Captura la Bandera: "#CBLUE"%s "CDGREEN"ha colocado con exito la bandera en su base!",pname);
for(new i=0; i<MAX_PLAYERS; i++)
{
if(pctp[i] == 1)
{
SendClientMessage(playerid,COLOR_GREEN,str);
SendClientMessage(playerid,COLOR_GREEN,strpt);
}
}
}
if(pts[blue] == ptslimit)
{
DestroyPickup(ctpu[0]);
DestroyPickup(ctpu[1]);
DestroyPickup(ctpup);
new
wstr[128];
format(wstr,sizeof(wstr),"Captura la Bandera: Puntos Equipo Azul: %i - Puntos Equipo Rojo: %i.",pts[blue],pts[red]);
SendClientMessageToAll(COLOR_GREEN,wstr);
if(pts[blue] > pts[red])
{
SendClientMessageToAll(COLOR_GREEN,"Captura la Bandera: Equipo Azul ha ganado el juego");
}
if(pts[red] > pts[blue])
{
SendClientMessageToAll(COLOR_GREEN,"Captura la Bandera: Equipo Rojo ha ganado el juego");
}
pts[red] = 0;
pts[blue] = 0;
for(new i=0; i<MAX_PLAYERS; i++)
{
if(pctp[i] == 1)
{
SetPlayerPos(i,ctx[i],cty[i],ctz[i]);
SetPlayerArmour(i,ctarm[i]);
SetPlayerHealth(i,cth[i]);
SetPlayerInterior(i,ctint[i]);
SetPlayerVirtualWorld(i,ctvw[i]);
SetPlayerColor(i,COLOR_WHITE);
ResetPlayerWeapons(i);
SetPlayerTeam(i,0);
pctp[i] = 0;
flag[i] = 0;
ison = 0;
}
}
}
}
}
//------------------------------------------------------------------------------
if(pickupid == ctpu[1])
{
if(GetPlayerTeam(playerid) == 2)
{
if(flag[playerid] == 1)
{
new
pname[MAX_PLAYER_NAME],
str[128];
GetPlayerName(playerid,pname,sizeof(pname));
flag[playerid] = 0;
pts[red] ++;
RemovePlayerAttachedObject(playerid,0);
new
strpt[128];
format(strpt,sizeof(strpt),"Captura la Bandera: "CRED"Equipo Rojo "CDGREEN"ha hecho: %i puntos",pts[red]);
format(str,sizeof(str),"Captura la Bandera: "#CRED"%s "#CDGREEN"ha colocado con exito la bandera en su base",pname);
for(new i=0; i<MAX_PLAYERS; i++)
{
if(pctp[i] == 1)
{
SendClientMessage(playerid,COLOR_GREEN,str);
SendClientMessage(playerid,COLOR_GREEN,strpt);
}
}
}
if(pts[red] == ptslimit)
{
DestroyPickup(ctpu[0]);
DestroyPickup(ctpu[1]);
DestroyPickup(ctpup);
new
wstr[128];
format(wstr,sizeof(wstr),"Captura la Bandera: Puntos Equipo Azul: %i - Puntos Equipo Rojo: %i.",pts[blue],pts[red]);
SendClientMessageToAll(COLOR_GREEN,wstr);
if(pts[blue] > pts[red])
{
SendClientMessageToAll(COLOR_GREEN,"Captura la Bandera: Equipo Azul ha ganado el juego!");
}
if(pts[red] > pts[blue])
{
SendClientMessageToAll(COLOR_GREEN,"Captura la Bandera: Equipo Rojo ha ganado el juego!");
}
pts[red] = 0;
pts[blue] = 0;
for(new i=0; i<MAX_PLAYERS; i++)
{
if(pctp[i] == 1)
{
SetPlayerPos(i,ctx[i],cty[i],ctz[i]);
SetPlayerArmour(i,ctarm[i]);
SetPlayerHealth(i,cth[i]);
SetPlayerInterior(i,ctint[i]);
SetPlayerVirtualWorld(i,ctvw[i]);
SetPlayerColor(i,COLOR_WHITE);
ResetPlayerWeapons(i);
SetPlayerTeam(i,0);
pctp[i] = 0;
flag[i] = 0;
ison = 0;
}
}
}
}
}
}
}
return 1;
}
//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
public OnPlayerEnterCheckpoint(playerid)
{
DisablePlayerCheckpoint(playerid);
return 1;
}
//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CMD:clb(playerid,params[])
{
if(isnull(params)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"USA: /clb [entrar/salir/start/end]");
if(ison == 1)
{
if(!strcmp(params,"entrar"))
{
if(pctp[playerid] == 1) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"Actualmente estas en el evento");
else
{
new rand = random(sizeof(randomctp));
new randc = random(sizeof(randomc));
new
pname[MAX_PLAYER_NAME],
str[128];
GetPlayerName(playerid,pname,sizeof(pname));
GetPlayerPos(playerid,ctx[playerid],cty[playerid],ctz[playerid]);
GetPlayerHealth(playerid,cth[playerid]);
GetPlayerArmour(playerid,ctarm[playerid]);
skin[playerid]=GetPlayerSkin(playerid);
SetPlayerPos(playerid,randomctp[rand][0],randomctp[rand][1],randomctp[rand][2]);
SetPlayerTeam(playerid,randomc[randc]);
if(GetPlayerTeam(playerid) == 1)
{
SetPlayerSkin(playerid,292);
SetPlayerColor(playerid,COLOR_BLUE);
}
if(GetPlayerTeam(playerid) == 0)
{
SetPlayerSkin(playerid,0);
SetPlayerColor(playerid,COLOR_RED);
}
SetPlayerFacingAngle(playerid,randomctp[rand][3]);
ctint[playerid] = GetPlayerInterior(playerid);
ctvw[playerid] = GetPlayerVirtualWorld(playerid);
ResetPlayerWeapons(playerid);
SetPlayerInterior(playerid,15);
SetPlayerVirtualWorld(playerid,15);
GivePlayerWeapon(playerid,egun,5000);
GivePlayerWeapon(playerid,egun1,5000);
SetPlayerArmour(playerid,0);
SetPlayerHealth(playerid,80);
format(str,sizeof(str),"%s se ha ido al evento!",pname);
pctp[playerid] = 1;
for(new i = 0; i<MAX_PLAYERS; i++)
{
if(pctp[i] == 1)
{
SendClientMessage(i,COLOR_GREEN,str);
}
}
}
}
if(!strcmp(params,"salir"))
{
if(pctp[playerid] == 1)
{
new
pname[MAX_PLAYER_NAME],
str[128];
GetPlayerName(playerid,pname,sizeof(pname));
SetPlayerPos(playerid,ctx[playerid],cty[playerid],ctz[playerid]);
SetPlayerArmour(playerid,ctarm[playerid]);
SetPlayerHealth(playerid,cth[playerid]);
SetPlayerInterior(playerid,ctint[playerid]);
SetPlayerVirtualWorld(playerid,ctvw[playerid]);
ResetPlayerWeapons(playerid);
SetPlayerTeam(playerid,0);
SetPlayerColor(playerid,COLOR_WHITE);
format(str,sizeof(str),"%s ha salido del evento!",pname);
pctp[playerid] = 0;
for(new i=0; i<MAX_PLAYERS; i++)
{
if(pctp[i] == 1)
{
SendClientMessage(i,COLOR_DARKGREEN,str);
}
}
}
}
}
if(!strcmp(params,"start"))
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"No estas autorizado para usar este comando!");
else
{
if(ison == 1) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"No puedes empezar un evento antes de finalizar el otro");
else
{
new
pname[MAX_PLAYER_NAME],
str[128];
GetPlayerName(playerid,pname,sizeof(pname));
format(str,sizeof(str),"El evento ha sido iniciado por el administrador %s, tipee (/clb entrar)",pname);
SendClientMessageToAll(COLOR_AQUA,str);
ison = 1;
ctpu[0] = CreatePickup(1318,1,1340.2469,-1172.0527,369.1609,15);
ctpu[1] = CreatePickup(1318,1,1341.4927,-1362.7784,369.8609,15);
ctpup = CreatePickup(1254,2,1340.0812,-1267.0023,372.1815,15);
}
}
}
if(!strcmp(params,"end"))
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"No estas autorizado para usar este comando!");
if(ison == 0) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"No hay eventos actualmente");
else
{
new
pname[MAX_PLAYER_NAME],
str[128];
ison = 0;
GetPlayerName(playerid,pname,sizeof(pname));
format(str,sizeof(str),"El evento ha sido finalizado por el administrador %s",pname);
SendClientMessageToAll(COLOR_LIGHTRED,str);
DestroyPickup(ctpu[0]);
DestroyPickup(ctpu[1]);
DestroyPickup(ctpup);
new
wstr[128];
format(wstr,sizeof(wstr),"Captura la Bandera: Puntos Equipo Azul: %i - Puntos Equipo Rojo: %i.",pts[blue],pts[red]);
SendClientMessageToAll(COLOR_GREEN,wstr);
if(pts[blue] > pts[red])
{
SendClientMessageToAll(COLOR_GREEN,"Captura la bandera: Equipo Azul ha ganado el juego");
}
if(pts[red] > pts[blue])
{
SendClientMessageToAll(COLOR_GREEN,"Captura la Bandera: Equipo Rojo ha ganado el juego");
}
pts[red] = 0;
pts[blue] = 0;
for(new i=0; i<MAX_PLAYERS; i++)
{
if(pctp[i] == 1)
{
SetPlayerPos(i,ctx[i],cty[i],ctz[i]);
SetPlayerArmour(i,ctarm[i]);
SetPlayerHealth(i,cth[i]);
SetPlayerInterior(i,ctint[i]);
SetPlayerVirtualWorld(i,ctvw[i]);
SetPlayerColor(i,COLOR_WHITE);
ResetPlayerWeapons(i);
SetPlayerTeam(i,0);
pctp[i] = 0;
flag[i] = 0;
}
}
}
}
if(!strcmp(params,"lock"))
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"No estas autorizado para usar este comando");
if(ison == 1)
{
new
pname[MAX_PLAYER_NAME],
str[128];
ison = 3;
GetPlayerName(playerid,pname,sizeof(pname));
format(str,sizeof(str),"El evento ha sido bloqueado por el administrador %s",pname);
SendClientMessageToAll(COLOR_GREEN,str);
}
}
if(!strcmp(params,"unlock"))
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"No estas autorizado para usar ese comando");
if(ison == 3)
{
new
pname[MAX_PLAYER_NAME],
str[128];
ison = 1;
GetPlayerName(playerid,pname,sizeof(pname));
format(str,sizeof(str),"El evento ha sido desbloqueado por el administrador %s",pname);
SendClientMessageToAll(COLOR_GREEN,str);
}
}
return 1;
}
//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CMD:clbset(playerid,params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"No autorizado para usar este comando");
new
value[10],
ammount;
if(sscanf(params,"s[10]i",value,ammount)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"USA:/ctpset [gun1/gun2/limit] [gunid/ammount]");
if(!strcmp(value,"gun1"))
{
egun = ammount;
new str[128];
format(str,sizeof(str),"CLB: Has configurado el arma 1 para %i",ammount);
SendClientMessage(playerid,COLOR_LIGHTRED,str);
}
if(!strcmp(value,"gun2"))
{
egun1 = ammount;
new str[128];
format(str,sizeof(str),"CLB: Has configurado el arma 2 para %i",ammount);
SendClientMessage(playerid,COLOR_LIGHTRED,str);
}
if(!strcmp(value,"limit"))
{
ptslimit = ammount;
new str[128];
format(str,sizeof(str),"CLB: Has configurado el evento para un limite de %i",ammount);
SendClientMessage(playerid,COLOR_LIGHTRED,str);
}
return 1;
}
● Imágenes:(https://www.united-extreme.com/u3games/foro/proxy.php?request=http%3A%2F%2Fimg638.imageshack.us%2Fimg638%2F812%2Fsamp525a.png&hash=18dc2e1045b70a6bc68e2fd7fed520e6c3380038)
(https://www.united-extreme.com/u3games/foro/proxy.php?request=http%3A%2F%2Fimg80.imageshack.us%2Fimg80%2F3966%2Fsamp526k.png&hash=177c1e81af83eeeb0f6b783589c2d1fa37a7d3c2)
(https://www.united-extreme.com/u3games/foro/proxy.php?request=http%3A%2F%2Fimg43.imageshack.us%2Fimg43%2F2817%2Fsamp531b.png&hash=8e5b1386875ab7f86affe5f8cfbdba0be137d73f)