[Ajuda]Sistema De Evento
#1

Olб Galera, Tenho Um Sistema De Evento Aki Que Muito Bom Nao Que Me Desfazer Dele, Assim Que Tem Um Problema elementos
QUANDO Eu coloco marca Ele Nгo Serv marca Ele Buga Todos Os Cmds Nao Funciona Nada Entгo marca Ele Funciona Queria Que Vcs me
Ajudacem PF
Reply
#2

To indo ai no seu computador, ver o sistema ..
Код:
FICA DIFICIL DE TE AJUDAR NE SEM CODES.! AFF
Reply
#3

Ta Ai Os Codigos

Код:

#include <a_samp>

#define COR_VERMELHA 0xF66767AA
#define COR_BRANCO   0xFFFFFFAA
#define COR_AZUL     0x447FECAA
enum DataSystem
{
	Float:HP,
	Float:Colete,
	Float:PosX,
	Float:PosY,
	Float:PosZ,
	vw,
	grana,
	interior,
	ang,
	Skin,
};
new AirtonData[MAX_PLAYERS][DataSystem];
enum EventoSystem
{
	bool:Eventoiniciado,//bool irб indicar sim ou nгo (false or true) melhor doque 0 ou 1
	bool:Eventotrancado,
	bool:Eventodestrancado,
	bool:Entrar,
	bool:Eventocontagem,
	vw,
	interior,
};
new Airton[MAX_PLAYERS][EventoSystem];
new Float:ex,Float:ey,Float:ez;
new Float:entroux,Float:entrouy,Float:entrouz;
new entraram;
new CountDown = -1;
new Veiculos[MAX_VEHICLES];
new tmp[128];
new VeiculosCriados = 0;
forward countdown();

public OnFilterScriptInit()
{
	print("--**Evento System Iniciado com sucesso**--");
	print("--**Desenvolvido para o SA-MP 0.3b RC2**--");
	print("--**Progamado por Airton.Vitor**--");
	SendClientMessageToAll(COR_VERMELHA,"Evento System Iniciado com sucesso by  Airton");
	return 1;
}

public OnFilterScriptExit()
{
	print("--**Evento System Finalizado com sucesso**--");
	SendClientMessageToAll(COR_AZUL,"Evento System Finalizado com sucesso by  Airton");
	return 1;
}

main(){}

public OnPlayerConnect(playerid)
{
    Airton[playerid][Eventoiniciado] = false;
    Airton[playerid][Eventodestrancado] = false;
    Airton[playerid][Eventotrancado] = false;
    Airton[playerid][Entrar] = false;
	return 1;
}

public OnPlayerSpawn(playerid)
{
	if(IsPlayerAdmin(playerid))
	{
	   	SendClientMessage(playerid, COR_AZUL, "[EVENTOS]: Uso> /comandos para ver os comandos disponiveis");
	}
	return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
    Airton[playerid][Entrar] = false;
    SetPlayerVirtualWorld(playerid, 0);
	return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    new cmd[128]; new streventu[128]; new idcmd;
    new admnick[20];
    cmd = strtok(cmdtext, idcmd);
    if(strcmp(cmd, "/comandos", true) == 0&&IsPlayerAdmin(playerid))
	{
	   	SendClientMessage(playerid, COR_AZUL, "[EVENTOS]: /einiciar,/etrancar,/edestrancar,/eventoterminar,/ekick,/evw,/skin");
       	SendClientMessage(playerid, COR_AZUL, "[EVENTOS]: /ecarro,/evida,/earma,/ecolete,/econtar,/econgelar,/edescongelar,/eterminar");
    	return 1;
	}
    if(strcmp(cmd, "/einiciar", true) == 0&&Airton[playerid][Eventoiniciado] == false &&IsPlayerAdmin(playerid))
	{
    	SalvarPlayer(playerid);
		GetPlayerPos(playerid, ex, ey, ez);
		Airton[playerid][interior] = GetPlayerInterior(playerid);
		//Airton[playerid][vw] = GetPlayerVirtualWorld(playerid);
       	SendClientMessageToAll(COR_AZUL, "-INFO- Um evento acaba de ser iniciado! Digite /evento para se teleportar atй o evento");
       	for(new possiveis = 0; possiveis < MAX_PLAYERS; possiveis++) if(IsPlayerConnected(possiveis))
       	{
         	GameTextForPlayer(possiveis,"~y~novo evento aberto ~n~digite ~b~/evento", 2200, 1);
         	Airton[possiveis][Eventoiniciado] = true;
         	Airton[possiveis][Eventotrancado] = false;
         	Airton[possiveis][Eventodestrancado] = false;
         	Airton[playerid][Entrar] = false;
       	}
    	return 1;
	}
    if(strcmp(cmd, "/etrancar", true) == 0&&Airton[playerid][Eventoiniciado] == true&&Airton[playerid][Eventotrancado] == false &&IsPlayerAdmin(playerid))
	{
    	format(streventu, 128, "-INFO- O evento foi trancado - %d jogadores(ras) entrarao", entraram);
       	SendClientMessageToAll(COR_AZUL, streventu);
       	for(new possiveis = 0; possiveis < MAX_PLAYERS; possiveis++) if(IsPlayerConnected(possiveis))
       	{
         	GameTextForPlayer(possiveis,"~y~evento ~r~fechado", 2500, 1);
         	Airton[possiveis][Eventotrancado] = true;
         	Airton[possiveis][Eventodestrancado] = true;
       	}
    	return 1;
	}
    if(strcmp(cmd, "/edestrancar", true) == 0&&Airton[playerid][Eventoiniciado] == true &&Airton[playerid][Eventodestrancado] == true&&IsPlayerAdmin(playerid))
	{
       	SendClientMessageToAll(COR_AZUL, "-INFO- O evento foi destrancado! Digite /evento");
       	for(new possiveis = 0; possiveis < MAX_PLAYERS; possiveis++) if(IsPlayerConnected(possiveis))
       	{
         	GameTextForPlayer(possiveis,"~b~evento ~g~aberto", 2500, 1);
         	Airton[possiveis][Eventotrancado] = false;
         	Airton[possiveis][Eventodestrancado] = false;
       	}
    	return 1;
	}
    if(strcmp(cmd, "/eterminar", true) == 0&&Airton[playerid][Eventoiniciado] == true &&IsPlayerAdmin(playerid))
	{
    	GetPlayerName(playerid,admnick, 24);
       	format(streventu, 128, "-INFO- O Administrador RCON %s evento foi finalizado!", admnick);
       	SendClientMessageToAll(COR_AZUL, streventu);
       	for(new possiveis = 0; possiveis < MAX_PLAYERS; possiveis++) if(IsPlayerConnected(possiveis))
       	{
         	GameTextForPlayer(possiveis,"~w~evento ~r~terminado", 2500, 1);
         	Airton[possiveis][Eventotrancado] = false;
         	Airton[possiveis][Eventoiniciado] = false;
         	Airton[possiveis][Eventodestrancado] = false;
       	}
       	for(new possiveis = 0; possiveis < MAX_PLAYERS; possiveis++) if(Airton[playerid][Entrar] == true)
       	{
         	Airton[possiveis][Entrar] = false;
         	SetPlayerInterior(playerid, 0);
         	SetPlayerPos(playerid, entroux, entrouy, entrouz);
         	SetPlayerVirtualWorld(playerid, 0);
       		//SetPlayerVirtualWorld(playerid, Airton[playerid][vw]);
    		SetPlayerInterior(playerid, Airton[playerid][interior]);
       	}
       	for(new carros = 0; carros < MAX_VEHICLES; carros++)
		{
		    if(Veiculos[carros])
			{
			    DestroyVehicle(Veiculos[carros]);
				Veiculos[carros] = 0;
				VeiculosCriados = 0;
			}
		}
       	entraram = 0;
    	return 1;
	}
    if(strcmp(cmd, "/evento", true) == 0&&Airton[playerid][Entrar] == false&&Airton[playerid][Eventoiniciado] == true &&Airton[playerid][Eventotrancado] == false&&IsPlayerAdmin(playerid))
	{
    	SalvarPlayer(playerid);
      	Airton[playerid][Entrar] = true;
      	entraram++;
      	GetPlayerPos(playerid, entroux, entrouy, entrouz);
		SetPlayerPos(playerid, ex, ey, ez);
		SetPlayerVirtualWorld(playerid, 5);
		//SetPlayerVirtualWorld(playerid, Airton[playerid][vw]);
		SetPlayerInterior(playerid, Airton[playerid][interior]);
    	return 1;
	}
    if(strcmp(cmd, "/esair", true) == 0&&Airton[playerid][Entrar] == true&&Airton[playerid][Eventoiniciado] == true &&Airton[playerid][Eventotrancado] == false&&IsPlayerAdmin(playerid))
  	{
    	SetPlayerVirtualWorld(playerid, 0);
      	Airton[playerid][Entrar] = false;
      	entraram -- ;
		SetPlayerPos(playerid, entroux, entrouy, entrouz);
    	return 1;
	}
    if(strcmp(cmd, "/edesarmar", true) == 0&&Airton[playerid][Eventoiniciado] == true &&IsPlayerAdmin(playerid))
	{
    	for(new possiveis = 0; possiveis < MAX_PLAYERS; possiveis++) if(Airton[playerid][Entrar] == true)
	    {
         	ResetPlayerWeapons(possiveis);
        	SetPlayerArmedWeapon(possiveis,0);
   		}
    	GetPlayerName(playerid,admnick, 24);
      	format(streventu, 128, "-INFO- O Administrador RCON %s desarmou todos jogadores do evento!", admnick);
       	SendClientMessageToAll(COR_AZUL, streventu);
   		return 1;
	}
    if(strcmp(cmd, "/ekick", true) == 0&&Airton[playerid][Eventoiniciado] == true &&IsPlayerAdmin(playerid))
	{
    	tmp = strtok(cmdtext, idcmd);
		if(!strlen(tmp))
		{
	    	SendClientMessage(playerid, COR_AZUL, "Digite: /ekick [id]");
    		return 1;
		}
		new id;
		id = strval(tmp);
    	if(Airton[id][Entrar] == true)
	    {
         	ResetPlayerWeapons(id);
         	SetPlayerInterior(id, 0);
         	SetPlayerVirtualWorld(id, 0);
        	SetPlayerPos(id, entroux, entrouy, entrouz);
        	Airton[id][Entrar] = false;
        	new jogadornick[24];
        	GetPlayerName(playerid,admnick, 24);
        	GetPlayerName(id,jogadornick, 24);
         	format(streventu, 128, "-INFO- O Administrador RCON %s kickou jogador %s do evento!", admnick,jogadornick);
         	SendClientMessageToAll(COR_AZUL, streventu);
         	entraram --;
         	UsarPlayer(id);
   		}
   		else if(Airton[id][Entrar] == true)
   		{
   	    	SendClientMessage(playerid, COR_AZUL, "O jogador selecionado nгo encontra-se no evento!");
   		}
   		return 1;
    }
    if(strcmp(cmd, "/eskin", true) == 0&&IsPlayerAdmin(playerid))
	{
  		new skinide;
	   	tmp = strtok(cmdtext, idcmd);
	   	skinide = strval(tmp);
	   	if(!strlen(tmp))
	   	{
	     	SendClientMessage(playerid, COR_BRANCO, "Digite o id da skin que desejas setar!");
	    	return 1;
	   	}
    	for(new possiveis = 0; possiveis < MAX_PLAYERS; possiveis++) if(Airton[playerid][Entrar] == true)
	    {
			SetPlayerSkin(possiveis, skinide);
   		}
   		return 1;
	}
    /*if(strcmp(cmd, "/evw", true) == 0&&IsPlayerAdmin(playerid))
	{
  		new virtualtele;
	   	tmp = strtok(cmdtext, idcmd);
	   	virtualtele = strval(tmp);
	   	if(!strlen(tmp))
	   	{
	     	SendClientMessage(playerid, COR_BRANCO, "Digite o id do virtualworld que queres ir para iniciar o evento em outro mundo!");
	    	return 1;
	   	}
	   	SetPlayerVirtualWorld(playerid, virtualtele);
   		return 1;
	}*/
    if(strcmp(cmd, "/earma", true) == 0&&Airton[playerid][Eventoiniciado] == true &&IsPlayerAdmin(playerid))
	{
  		new gun;
	   	new ammo;
	   	tmp = strtok(cmdtext, idcmd);
	   	gun = strval(tmp);
	   	if(!strlen(tmp))
	   	{
	     	SendClientMessage(playerid, COR_BRANCO, "Digite o id da arma e a muniзгo!");
	    	return 1;
	   	}
	   	tmp = strtok(cmdtext, idcmd);
	   	ammo = strval(tmp);
	   	/*if(ammo < 1||ammo > 9999)
	   	{
	   		return 1;
		}*/
    	for(new possiveis = 0; possiveis < MAX_PLAYERS; possiveis++) if(Airton[playerid][Entrar] == true)
	    {
			GivePlayerWeapon(possiveis, gun, ammo);
   		}
    	GetPlayerName(playerid,admnick, 24);
       	format(streventu, 128, "-INFO- O Administrador RCON %s deu arma %d muniзгo %d aos jogadores do evento!", admnick,gun,ammo);
       	SendClientMessageToAll(COR_AZUL, streventu);
   		return 1;
	}
    if(strcmp(cmd, "/ecarro", true) == 0&&Airton[playerid][Eventoiniciado] == true &&IsPlayerAdmin(playerid))
	{
    	tmp = strtok(cmdtext, idcmd);
  		new carro;
	   	carro = strval(tmp);
	   	if(!strlen(tmp))
	   	{
	     	SendClientMessage(playerid, COR_BRANCO, "Digite o id do carro!");
	    	return 1;
	   	}
	   	if(carro < 400 || carro > 611)
	   	{
    	   	SendClientMessage(playerid, COR_VERMELHA, "   O ID do veiculo digitado estб invalido! veiculos de 400 б 611");
	   		return 1;
		}
    	for(new possiveis = 0; possiveis < MAX_PLAYERS; possiveis++) if(Airton[possiveis][Entrar] == true)
	    {
			new Float:X = 0,Float:Y = 0,Float:Z = 0,Float:Angulo = 0;
		   	GetPlayerPos(possiveis, X,Y,Z);
		   	GetPlayerFacingAngle(playerid, Angulo);
		   	Veiculos[VeiculosCriados++] = CreateVehicle(carro, X, Y, Z, 0, random(126), random(126), 60000);
		   	LinkVehicleToInterior(Veiculos[VeiculosCriados-1], GetPlayerInterior(possiveis));
			SetVehicleVirtualWorld(Veiculos[VeiculosCriados-1], GetPlayerVirtualWorld(possiveis));
	    	PutPlayerInVehicle(possiveis, Veiculos[VeiculosCriados-1], 0);
   		}
   	   	GetPlayerName(playerid,admnick, 24);
       	format(streventu, 128, "-INFO- O Administrador RCON %s deu veiculo %d aos jogadores do evento!", admnick,carro);
       	SendClientMessageToAll(COR_AZUL, streventu);
   		return 1;
	}
    if(strcmp(cmd, "/econtar", true) == 0&&Airton[playerid][Eventoiniciado] == true &&IsPlayerAdmin(playerid))
	{
        if(CountDown == -1)
		{
			CountDown = 6;
			SetTimer("countdown",1000,0);
  	        GetPlayerName(playerid,admnick, 24);
         	format(streventu, 128, "-INFO- O Administrador RCON %s iniciou a contagem do evento!", admnick);
        	SendClientMessageToAll(COR_AZUL, streventu);
		}
   		return 1;
	}
    if(strcmp(cmd, "/econgelar", true) == 0&&Airton[playerid][Eventoiniciado] == true &&IsPlayerAdmin(playerid))
	{
    	for(new possiveis = 0; possiveis < MAX_PLAYERS; possiveis++) if(Airton[playerid][Entrar] == true)
	    {
         	TogglePlayerControllable(possiveis, false);
   		}
    	GetPlayerName(playerid,admnick, 24);
       	format(streventu, 128, "-INFO- O Administrador RCON %s congelou os jogadores do evento!", admnick);
       	SendClientMessageToAll(COR_AZUL, streventu);
   		return 1;
	}
    if(strcmp(cmd, "/edescongelar", true) == 0&&Airton[playerid][Eventoiniciado] == true &&IsPlayerAdmin(playerid))
	{
    	for(new possiveis = 0; possiveis < MAX_PLAYERS; possiveis++) if(Airton[playerid][Entrar] == true)
	    {
         	TogglePlayerControllable(possiveis, true);
   		}
    	GetPlayerName(playerid,admnick, 24);
       	format(streventu, 128, "-INFO- O Administrador RCON %s descongelou os jogadores do evento!", admnick);
       	SendClientMessageToAll(COR_AZUL, streventu);
   		return 1;
	}
    if(strcmp(cmd, "/evida", true) == 0&&Airton[playerid][Eventoiniciado] == true &&IsPlayerAdmin(playerid))
	{
    	tmp = strtok(cmdtext, idcmd);
    	new vida = strval(tmp);
     	if(!strlen(tmp))
		{
    		SendClientMessage(playerid, COR_BRANCO, "Digite a quantidade do HP!");
			return 1;
		}
     	/*if(vida < 1 || vida > 9999)
        {
			return 1;
		}*/
    	for(new possiveis = 0; possiveis < MAX_PLAYERS; possiveis++) if(Airton[playerid][Entrar] == true)
	    {
         	SetPlayerHealth(possiveis,vida);
   		}
    	GetPlayerName(playerid,admnick, 24);
       	format(streventu, 128, "-INFO- O Administrador RCON %s setou HP %d para os jogadores do evento", admnick,vida);
       	SendClientMessageToAll(COR_AZUL, streventu);
   		return 1;
	}
    if(strcmp(cmd, "/ecolete", true) == 0&&Airton[playerid][Eventoiniciado] == true &&IsPlayerAdmin(playerid))
    {
    	tmp = strtok(cmdtext, idcmd);
    	new colete = strval(tmp);
     	if(!strlen(tmp))
	 	{
	     	SendClientMessage(playerid, COR_BRANCO, "Digite a quantidade do Colete!");
			return 1;
		}
       	/*if(colete < 1 || colete > 9999)
		{
			return 1;
		}*/
    	for(new possiveis = 0; possiveis < MAX_PLAYERS; possiveis++) if(Airton[playerid][Entrar] == true)
	    {
         	SetPlayerArmour(possiveis, colete);
   		}
    	GetPlayerName(playerid,admnick, 24);
       	format(streventu, 128, "-INFO- O Administrador RCON %s setou Colete %d para os jogadores do evento", admnick, colete);
       	SendClientMessageToAll(COR_AZUL, streventu);
   		return 1;
	}
	return 1;
}

public countdown()
{
	if(CountDown==6) GameTextForAll("~p~Starting...",1000,6);

	CountDown--;
	if(CountDown==0)
	{
		GameTextForAll("~g~GO~ r~!",1000,6);
		CountDown = -1;
		for(new i = 0; i < MAX_PLAYERS; i++) {
			TogglePlayerControllable(i,true);
			PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0);
		}
		return 0;
	}
	else
	{
		new text[7]; format(text,sizeof(text),"~w~%d",CountDown);
		for(new i = 0; i < MAX_PLAYERS; i++) {
			PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
			TogglePlayerControllable(i,false);
		}
	 	GameTextForAll(text,1000,6);
	}

	SetTimer("countdown",1000,0);
	return 0;
}

stock SalvarPlayer(playerid)
{
	new Float: health, Float: armour, Float: SX, Float: SY, Float: SZ;
	GetPlayerHealth(playerid, health);
	GetPlayerArmour(playerid, armour);
	GetPlayerPos(playerid, SX, SY, SZ);
	AirtonData[playerid][grana] = GetPlayerMoney(playerid);
	AirtonData[playerid][Skin] = GetPlayerSkin(playerid);
	AirtonData[playerid][HP] = health;
	if (armour > 0) AirtonData[playerid][Colete] = armour;
	AirtonData[playerid][PosX] = SX;
	AirtonData[playerid][PosY] = SY;
	AirtonData[playerid][PosZ] = SZ;
	AirtonData[playerid][interior] = GetPlayerInterior(playerid);
}
stock UsarPlayer(playerid)
{
	SetPlayerSkin(playerid,AirtonData[playerid][Skin]);
    GivePlayerMoney(playerid, AirtonData[playerid][grana]);
    SetPlayerHealth(playerid, AirtonData[playerid][HP]);
    SetPlayerArmour(playerid, AirtonData[playerid][Colete]);
    SetPlayerPos(playerid, AirtonData[playerid][PosX],
	AirtonData[playerid][PosY], AirtonData[playerid][PosZ]);
	SetPlayerFacingAngle(playerid, AirtonData[playerid][grana]);
	SetPlayerInterior(playerid, AirtonData[playerid][grana]);
	SetPlayerInterior(playerid, AirtonData[playerid][interior]);
	return 1;
}
/*

	Discriзгo: Sistema de eventos v0.3b
	Progamado por: Airton.Vitor
	Manual: Para criar,trancar,setar,etc vocк deve estar logado como Administrador RCON
	Dica: /rcon login [suasenha]
	Lembrete: Sejб um bom menino e mantenha os crйditos :p

*/
strtok(const string[], &index)
{
	new length = strlen(string);
	while ((index < length) && (string[index] <= ' '))
	{
		index++;
	}

	new offset = index;
	new result[20];
	while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
	{
		result[index - offset] = string[index];
		index++;
	}
	result[index - offset] = EOS;
	return result;
}
Reply
#4

noosa niguem vai me ajudar nao?
Reply
#5

ta foda em --'
Reply
#6

Nao precisa, fazer Double Post --'!, Aguarde que logo logo, vao lhe ajudar!
Reply
#7

ja tem quase 4 dias topico --'
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)