04.01.2017, 17:03
Tenho um sistema de evento Race/DM/DM 2 TIME, nao congela os player do evento, sei que ao da /ir pode congelar Pelo TogglePlayerControllable, mas no DM, as vezes quero descongela, sу pra afastar e congelar novamente. Comandos
Agradeзo pela ajuda ! DO REP+!!
pawn Код:
new JogadoresEventoCongelados = 0; // CongelarEvento
new FoiProEvento[MAX_PLAYERS] = 0;
pawn Код:
if(strcmp(cmd, "/CongelarEvento", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if((IsPlayerAdmin(playerid)) || (IsOrganizadorE(playerid)))
{
if(JogadoresEventoCongelados == 0)
{
JogadoresEventoCongelados = 1;
SendClientMessage(playerid,branco,"* Todos os jogadores que foram ao evento foram congelados!");
}
else
{
JogadoresEventoCongelados = 0;
SendClientMessage(playerid,branco,"* Todos os jogadores que foram ao evento foram descongelados!");
for(new I = 0; I < MAX_PLAYERS; I ++)
{
if((IsPlayerConnected(I)) && (FoiProEvento[I] == 1))
{
TogglePlayerControllable(I, 1);
}
}
}
}
}
return 1;
}
pawn Код:
if(strcmp(cmd, "/IrEvento", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(EventoFechado == 0)
{
if(TipoEvento != 0)
{
if((LimiteJogadoresEvento != 0) && (JogadoresNoEvento < LimiteJogadoresEvento) || (LimiteJogadoresEvento == 0) || (LimiteJogadoresEvento == -1))
{
if((FoiProEvento[playerid] == 0) && (LimiteJogadoresEvento != 0) || (LimiteJogadoresEvento == 0) || (LimiteJogadoresEvento == -1) && (FoiProEvento[playerid] == 0))
{
if(TipoEvento == 1)
{
if(!IsPlayerInAnyVehicle(playerid))
{
if(LimiteJogadoresEvento == -1)
{
if(LadoQueVai == 0)
{
SetPlayerColor(playerid, COR_TIME1);
SetPlayerTeam(playerid, MAX_PLAYERS+1);
JogadoresTimeA ++;
SetPlayerPos(playerid, PosEvento[0], PosEvento[1], PosEvento[2]);
LadoQueVai = 1;
TogglePlayerControllable(playerid, 0);
GivePlayerWeapon(playerid, 24, 99999);
GivePlayerWeapon(playerid, 26, 99999);
GivePlayerWeapon(playerid, 32, 99999);
GivePlayerWeapon(playerid, 31, 99999);
GivePlayerWeapon(playerid, 34, 99999);
GivePlayerWeapon(playerid, 41, 99999);
}
else if(LadoQueVai == 1)
{
SetPlayerColor(playerid, COR_TIME2);
SetPlayerTeam(playerid, MAX_PLAYERS+2);
JogadoresTimeB ++;
SetPlayerPos(playerid, PosEvento2[0], PosEvento2[1], PosEvento2[2]);
LadoQueVai = 0;
TogglePlayerControllable(playerid, 0);
GivePlayerWeapon(playerid, 24, 99999);
GivePlayerWeapon(playerid, 26, 99999);
GivePlayerWeapon(playerid, 32, 99999);
GivePlayerWeapon(playerid, 31, 99999);
GivePlayerWeapon(playerid, 34, 99999);
GivePlayerWeapon(playerid, 41, 99999);
}
SetPlayerInterior(playerid, INTEvento);
FoiProEvento[playerid] = 1;
}
else
{
SetPlayerPos(playerid, PosEvento[0], PosEvento[1], PosEvento[2]);
SetPlayerInterior(playerid, INTEvento);
FoiProEvento[playerid] = 1;
if(JogadoresNoEvento < LimiteJogadoresEvento) JogadoresNoEvento ++;
else if(LimiteJogadoresEvento == 0) JogadoresNoEvento ++;
if(AutoEntrarEvento == 1)
{
for(new W = 0; W < TOTAL_VEICULOS_ADM; W ++)
{
if(VeiculoPego[W] == 0)
{
if((!IsVehicleOccupied(VeiculosADM[W])) && (GetVehicleModel(VeiculosADM[W]) != 594))
{
VeiculoPego[W] = 1;
PutPlayerInVehicle(playerid, VeiculosADM[W], 0);
break;
}
}
}
}
}
}
else
{
SendClientMessage(playerid,CORX1,"| ERRO | Vocк nгo pode estar em um veнculo!");
}
}
else if(TipoEvento == 2)
{
if(IsPlayerInAnyVehicle(playerid))
{
new VM = GetVehicleModel(GetPlayerVehicleID(playerid));
if((VM == 480) || (VM == 533) || (VM == 439) || (VM == 555) || (VM == 422) || (VM == 600) || (VM == 543) || (VM == 605) || (VM == 478) || (VM == 554)
|| (VM == 536) || (VM == 575) || (VM == 534) || (VM == 567) || (VM == 535) || (VM == 566) || (VM == 576) || (VM == 412) || (VM == 434)
|| (VM == 568) || (VM == 424) || (VM == 579) || (VM == 400) || (VM == 500) || (VM == 444) || (VM == 556) || (VM == 557) || (VM == 489) || (VM == 505) || (VM == 495)
|| (VM == 445) || (VM == 504) || (VM == 401) || (VM == 518) || (VM == 527) || (VM == 507) || (VM == 562) || (VM == 585) || (VM == 419) || (VM == 526) || (VM == 604) || (VM == 466) || (VM == 492) || (VM == 474) || (VM == 546) || (VM == 517) || (VM == 410) || (VM == 551) || (VM == 516) || (VM == 467) || (VM == 426) || (VM == 436) || (VM == 547) || (VM == 405) || (VM == 580) || (VM == 560) || (VM == 550) || (VM == 549) || (VM == 540) || (VM == 491) || (VM == 529) || (VM == 421)
|| (VM == 602) || (VM == 429) || (VM == 496) || (VM == 402) || (VM == 541) || (VM == 415) || (VM == 589) || (VM == 587) || (VM == 565) || (VM == 494) || (VM == 502) || (VM == 503) || (VM == 411) || (VM == 559) || (VM == 603) || (VM == 475) || (VM == 506) || (VM == 451) || (VM == 558) || (VM == 477)
|| (VM == 404) || (VM == 479) || (VM == 458) || (VM == 561) || (VM == 509) || (VM == 481) || (VM == 510) || (VM == 462) || (VM == 448) || (VM == 581) || (VM == 522) || (VM == 461) || (VM == 521) || (VM == 523) || (VM == 463) || (VM == 586) || (VM == 468) || (VM == 471))
{
new Nxxx = (random(5 - 1) + 1);
new VehicleID;
VehicleID = GetPlayerVehicleID(playerid);
SetVehiclePos(VehicleID, PosEvento[0] + Nxxx, PosEvento[1] + Nxxx, PosEvento[2] + Nxxx);
LinkVehicleToInterior(VehicleID, INTEvento);
SetPlayerInterior(playerid, INTEvento);
FoiProEvento[playerid] = 1;
if(JogadoresNoEvento < LimiteJogadoresEvento) JogadoresNoEvento ++;
else if(LimiteJogadoresEvento == 0) JogadoresNoEvento ++;
}
else
{
SendClientMessage(playerid, CORX1, "| ERRO | Veнculo incorreto para o evento, consiga um veнculo adequado (carro ou moto)!");
}
}
else
{
SendClientMessage(playerid,CORX1,"| ERRO | Vocк precisa de um veнculo!");
}
}
}
else
{
SendClientMessage(playerid,CORX1,"| ERRO | Vocк jб foi para o evento!");
}
}
else
{
new Sv[128];
format(Sv, sizeof(Sv), "| ERRO | Desculpe, acabaram as vagas para o evento: %d jogadores", LimiteJogadoresEvento);
SendClientMessage(playerid,CORX1, Sv);
}
}
else
{
SendClientMessage(playerid,CORX1,"| ERRO | Nгo existe um evento criado!");
}
}
else
{
SendClientMessage(playerid,CORX1,"| ERRO | O ADM fechou o evento!");
}
}
return 1;
}
Agradeзo pela ajuda ! DO REP+!!