Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Brazilian Championship Tournament gamemode
- * Gamemode para treinamento dos competidores e fiscais do torneio.
- * Feito por Fl�vio Toribio - [email protected]
- * Torneio feito por [SDK]Ricardo e [SDK]MasSaKre.
- * Agradecimentos � todas as pessoas inscritas no torneio e aos nossos colaboradores.
- * Apoio: Servidor Brasil & DataJogos - Aluguel de Servidores
- * Ajuda: [BpM]Tinorks & Fl�vio Toribio
- * Contato com os organizadores: [email protected] & [email protected]
- * Comunidade no orkut: http://www.orkut.com.br/Main#Community.aspx?cmm=69509613
- */
- #include <a_samp>
- #include <dini>
- forward SetPlayerPosWithObjects(playerid, Float:x, Float:y, Float:z);
- forward TempoComandoPlayer(playerid);
- forward VehRes(vehicleid);
- forward AtualizarTempo();
- forward IniciarEvento();
- forward CountDown();
- forward Timer();
- enum object_info
- {
- modelid,
- Float:ox,
- Float:oy,
- Float:oz,
- Float:orx,
- Float:ory,
- Float:orz,
- Float:viewdist
- }
- new Objects[][object_info] =
- {
- {3453, 2395.2, 2448.3223, 70.8, 0.0, 0.0, 270.0, 500.0}, //come�o dm1
- {3452, 2389.0, 2477.6531, 70.8, 0.0, 0.0, 270.0, 500.0},
- {3452, 2425.5, 2442.8311, 70.8, 0.0, 0.0, 0.000, 500.0},
- {3475, 2401.0, 2488.5457, 70.8, 0.0, 0.0, 326.0, 500.0},
- {3475, 2399.6, 2483.2185, 70.8, 0.0, 0.0, 0.000, 500.0},
- {3475, 2399.6, 2477.2395, 70.8, 0.0, 0.0, 0.000, 500.0},
- {3475, 2399.6, 2471.2527, 70.8, 0.0, 0.0, 0.000, 500.0},
- {3475, 2399.6, 2465.2629, 70.8, 0.0, 0.0, 0.000, 500.0},
- {3475, 2399.6, 2459.2747, 70.8, 0.0, 0.0, 0.000, 500.0},
- {3475, 2401.8, 2454.4028, 70.8, 0.0, 0.0, 45.00, 500.0},
- {3475, 2406.5, 2452.4651, 70.8, 0.0, 0.0, 90.00, 500.0},
- {3475, 2412.5, 2452.4536, 70.8, 0.0, 0.0, 90.00, 500.0},
- {3475, 2418.5, 2452.4478, 70.8, 0.0, 0.0, 90.00, 500.0},
- {3475, 2424.5, 2452.4529, 70.8, 0.0, 0.0, 90.00, 500.0},
- {3475, 2430.5, 2452.4429, 70.8, 0.0, 0.0, 90.00, 500.0},
- {3475, 2435.8, 2453.8933, 70.8, 0.0, 0.0, 121.0, 500.0},
- {3475, 2438.0, 2458.1616, 70.8, 0.0, 0.0, 180.0, 500.0},
- {3475, 2438.0, 2464.1411, 70.8, 0.0, 0.0, 180.0, 500.0},
- {3475, 2438.0, 2470.1184, 70.8, 0.0, 0.0, 180.0, 500.0},
- {3475, 2438.0, 2476.1016, 70.8, 0.0, 0.0, 180.0, 500.0},
- {3475, 2438.0, 2482.0776, 70.8, 0.0, 0.0, 180.0, 500.0},
- {3475, 2405.5, 2490.9805, 70.8, 0.0, 0.0, 270.0, 500.0},
- {3475, 2411.5, 2490.9629, 70.8, 0.0, 0.0, 270.0, 500.0},
- {3475, 2417.5, 2490.9561, 70.8, 0.0, 0.0, 270.0, 500.0},
- {3475, 2423.5, 2490.9473, 70.8, 0.0, 0.0, 270.0, 500.0},
- {3475, 2429.5, 2490.9182, 70.8, 0.0, 0.0, 270.0, 500.0},
- {3475, 2435.5, 2490.8916, 70.8, 0.0, 0.0, 270.0, 500.0},
- {3475, 2438.0, 2488.0542, 70.8, 0.0, 0.0, 180.0, 500.0},
- {986, 2383.8, 2492.4670, 70.8, 0.0, 0.0, 180.0, 500.0},
- {986, 2391.8, 2492.4612, 70.8, 0.0, 0.0, 180.0, 500.0},
- {986, 2399.8, 2491.9365, 70.8, 0.0, 0.0, 172.0, 500.0},
- {986, 2440.3, 2437.7593, 70.8, 0.0, 0.0, 90.00, 500.0},
- {986, 2440.3, 2445.7815, 70.8, 0.0, 0.0, 90.00, 500.0},
- {986, 2439.5, 2453.6528, 70.8, 0.0, 0.0, 103.0, 500.0},
- {3627, 2389.5, 2471.7329, 70.8, 0.0, 0.0, 0.000, 500.0},
- {3627, 2418.5, 2443.5371, 70.8, 0.0, 0.0, 90.00, 500.0},
- {3460, 2407.5, 2492.7034, 70.8, 0.0, 0.0, 191.0, 500.0},
- {3460, 2423.6, 2492.4292, 70.8, 0.0, 0.0, 180.0, 500.0},
- {3460, 2438.8, 2491.3479, 70.8, 0.0, 0.0, 135.0, 500.0},
- {3460, 2439.8, 2476.4297, 70.8, 0.0, 0.0, 90.00, 500.0},
- {3460, 2439.8, 2461.3274, 70.8, 0.0, 0.0, 90.00, 500.0} //fim dm1
- };
- new Float:largada_race1[10][3] =
- {
- {2094.0, 850.0, 6.4},
- {2094.0, 854.0, 6.4},
- {2088.0, 854.0, 6.4},
- {2088.0, 850.0, 6.4},
- {2082.0, 854.0, 6.4},
- {2082.0, 850.0, 6.4},
- {2091.0, 857.0, 6.4},
- {2091.0, 847.0, 6.4},
- {2084.0, 857.0, 6.4},
- {2084.0, 847.0, 6.4}
- };
- new Float:cps_race1[32][4] =
- {
- {2181.0, 872.00, 6.00, 0.0}, // checkpoint 1
- {2287.0, 933.00, 10.0, 0.0},
- {2296.0, 972.00, 10.0, 0.0},
- {2346.0, 982.00, 10.0, 0.0},
- {2356.0, 1191.0, 10.0, 0.0},
- {2427.0, 1207.0, 10.0, 0.0},
- {2427.0, 1416.0, 10.0, 0.0},
- {2442.0, 1613.0, 10.0, 0.0},
- {2547.0, 1624.0, 10.0, 0.0},
- {2537.0, 1713.0, 10.0, 0.0},
- {2508.0, 1727.0, 10.0, 0.0},
- {2507.0, 1904.0, 10.0, 0.0},
- {2495.0, 2053.0, 10.0, 0.0},
- {2354.0, 2064.0, 10.0, 0.0},
- {2324.0, 2149.0, 10.0, 0.0},
- {2146.0, 2137.0, 10.0, 0.0},
- {2092.0, 2113.0, 10.0, 0.0},
- {1927.0, 2100.0, 10.0, 0.0},
- {1910.0, 2042.0, 10.0, 0.0},
- {1707.0, 2043.0, 10.0, 0.0},
- {1693.0, 2013.0, 10.0, 0.0},
- {1568.0, 2001.0, 10.0, 0.0},
- {1551.0, 1974.0, 10.0, 0.0},
- {1487.0, 1961.0, 10.0, 0.0},
- {1502.0, 1874.0, 10.0, 0.0},
- {1567.0, 1856.0, 10.0, 0.0},
- {1589.0, 1713.0, 10.0, 0.0},
- {1834.0, 1713.0, 12.0, 0.0},
- {2046.0, 1703.0, 10.0, 0.0},
- {2049.0, 1300.0, 10.0, 0.0},
- {2053.0, 855.00, 6.00, 0.0},
- {2099.0, 852.00, 6.00, 0.0} // checkpoint 32
- };
- new Float:largada_race2[10][3] =
- {
- {1787.0, 854.0, 10.3},
- {1787.0, 850.0, 10.3},
- {1795.0, 854.0, 10.3},
- {1795.0, 850.0, 10.3},
- {1802.0, 854.0, 10.3},
- {1802.0, 850.0, 10.3},
- {1791.0, 846.0, 10.3},
- {1791.0, 858.0, 10.3},
- {1798.0, 846.0, 10.3},
- {1798.0, 858.0, 10.3}
- };
- new Float:cps_race2[34][4] =
- {
- {1388.0, 854.00, 6.00, 0.0}, // checkpoint 1
- {1226.0, 1277.0, 6.00, 0.0},
- {1226.0, 1721.0, 6.00, 0.0},
- {1256.0, 2210.0, 7.00, 0.0},
- {1113.0, 2490.0, 10.0, 0.0},
- {772.00, 2655.0, 16.0, 0.0},
- {403.00, 2701.0, 60.0, 0.0},
- {72.000, 2673.0, 53.0, 0.0},
- {-257.0, 2654.0, 62.0, 0.0},
- {-278.0, 2701.0, 62.0, 0.0},
- {-379.0, 2692.0, 63.0, 0.0},
- {-779.0, 2717.0, 45.0, 0.0},
- {-700.0, 2686.0, 56.0, 0.0},
- {-734.0, 2623.0, 66.0, 0.0},
- {-427.0, 2452.0, 45.0, 0.0},
- {-279.0, 2518.0, 33.0, 0.0},
- {-110.0, 2455.0, 14.0, 0.0},
- {78.000, 2303.0, 20.0, 0.0},
- {358.00, 2325.0, 24.0, 0.0},
- {502.00, 2361.0, 29.0, 0.0},
- {576.00, 2228.0, 35.0, 0.0},
- {607.00, 1896.0, 21.0, 0.0},
- {561.00, 1765.0, 11.0, 0.0},
- {521.00, 1674.0, 11.0, 0.0},
- {242.00, 1205.0, 15.0, 0.0},
- {185.00, 1124.0, 14.0, 0.0},
- {232.00, 958.00, 27.0, 0.0},
- {293.00, 845.00, 17.0, 0.0},
- {386.00, 774.00, 5.00, 0.0},
- {726.00, 676.00, 10.0, 0.0},
- {985.00, 763.00, 10.0, 0.0},
- {1194.0, 902.00, 11.0, 0.0},
- {1505.0, 851.00, 6.00, 0.0},
- {1798.0, 852.00, 10.0, 0.0} // checkpoint 34
- };
- new Float:largada_race3[10][3] =
- {
- {1612.0, -1668.0, 28.0},
- {1608.0, -1668.0, 28.0},
- {1612.0, -1675.0, 28.0},
- {1608.0, -1675.0, 28.0},
- {1612.0, -1682.0, 28.0},
- {1608.0, -1682.0, 28.0},
- {1605.0, -1671.0, 28.0},
- {1616.0, -1671.0, 28.0},
- {1605.0, -1679.0, 28.0},
- {1616.0, -1679.0, 28.0}
- };
- new Float:cps_race3[29][4] =
- {
- {1631.0, -1599.0, 28.0, 0.0}, //checkpoint 1
- {1790.0, -1518.0, 8.00, 0.0},
- {2248.0, -1591.0, 2.00, 0.0},
- {2597.0, -1618.0, 19.0, 0.0},
- {2723.0, -1639.0, 12.0, 0.0},
- {2754.0, -1657.0, 12.0, 0.0},
- {2851.0, -1678.0, 10.0, 0.0},
- {2823.0, -1907.0, 10.0, 0.0},
- {2821.0, -2066.0, 10.0, 0.0},
- {2714.0, -2141.0, 10.0, 0.0},
- {2698.0, -2050.0, 12.0, 0.0},
- {2455.0, -2049.0, 23.0, 0.0},
- {2251.0, -2113.0, 13.0, 0.0},
- {2127.0, -2238.0, 13.0, 0.0},
- {2180.0, -2381.0, 13.0, 0.0},
- {1983.0, -2671.0, 8.00, 0.0},
- {1464.0, -2670.0, 12.0, 0.0},
- {1346.0, -2485.0, 13.0, 0.0},
- {1359.0, -2298.0, 13.0, 0.0},
- {1395.0, -2286.0, 13.0, 0.0},
- {1429.0, -2269.0, 13.0, 0.0},
- {1489.0, -2241.0, 13.0, 0.0},
- {1520.0, -2301.0, 13.0, 0.0},
- {1460.0, -2332.0, 13.0, 0.0},
- {1406.0, -2286.0, 13.0, 0.0},
- {1347.0, -2254.0, 13.0, 0.0},
- {1486.0, -2132.0, 13.0, 0.0},
- {1625.0, -1794.0, 26.0, 0.0},
- {1610.0, -1670.0, 28.0, 0.0} // checkpoint 29
- };
- enum
- {
- dm1,
- race1,
- race2,
- race3
- }
- enum player_info
- {
- objid[sizeof(Objects)],
- bool:view[sizeof(Objects)]
- }
- new playersevento[MAX_PLAYERS] = {-1, ...};
- new bool:podeiniciar[MAX_PLAYERS] = true;
- new Float:playerhealth[MAX_PLAYERS][2];
- new Float:playerpos[MAX_PLAYERS][0x4];
- new Player[MAX_PLAYERS][player_info];
- new vehicleplayer[MAX_VEHICLES] = -1;
- new Float:gpos[MAX_PLAYERS][100][4];
- new playerweapon[MAX_PLAYERS][0xC];
- new playerammo[MAX_PLAYERS][0xC];
- new playerinevento[MAX_PLAYERS];
- new Text:tdposicao[MAX_PLAYERS];
- new Text:tdappend[MAX_PLAYERS];
- new playervehicle[MAX_PLAYERS];
- new playertimer[MAX_PLAYERS];
- new bool:mutado[MAX_PLAYERS];
- new requisitou[MAX_PLAYERS];
- new progresso[MAX_PLAYERS];
- new posicao[MAX_PLAYERS];
- new cpatual[MAX_PLAYERS];
- new logado[MAX_PLAYERS];
- new bool:eventoiniciado;
- new bool:eventorodando;
- new admin[MAX_PLAYERS];
- new falou[MAX_PLAYERS];
- new eventocount = 0xA;
- new corridastarttempo;
- new eventomaxplayers;
- new eventoatual = -1;
- new queminiciou = -1;
- new Text:tdpilotos;
- new eventoplayers;
- new Text:tdtempo;
- new eventotimer;
- new recompensa;
- new timetimer;
- new segundos;
- new minutos;
- new lugares;
- new gindex;
- new timer;
- bool:IsInReach(Float:x, Float:y, Float:z, Float:x2, Float:y2, Float:z2, Float:dist)
- {
- x = (x > x2) ? x - x2 : x2 - x;
- if(x > dist) return false;
- y = (y > y2) ? y - y2 : y2 - y;
- if(y > dist) return false;
- z = (z > z2) ? z - z2 : z2 - z;
- if(z > dist) return false;
- return true;
- }
- main()
- {
- printf("------------------------------------------");
- printf(" Brazilian Championship Training Gamemode");
- printf("------------------------------------------");
- }
- public OnGameModeInit()
- {
- new skins[5] = {122, 124, 140, 255, 19};
- for(new i; i < sizeof skins; i++)
- AddPlayerClass(skins[i], 2030.0, 1008.0, 10.8, 270.0, 26, 207, 30, 1100, 32, 1030);
- SetGameModeText("Brazilian Championship");
- timer = SetTimer("Timer", 500, 1);
- UsePlayerPedAnims();
- SetWorldTime(0xC);
- SetWeather(1);
- tdtempo = TextDrawCreate(563.0, 376.0, "0:00"); //obrigado pelas coordenadas no Adrenaline ^^
- TextDrawLetterSize(tdtempo, 0.6, 3);
- tdpilotos = TextDrawCreate(590.0, 355.0, "/0");
- TextDrawLetterSize(tdpilotos, 0.5, 2.5);
- return 1;
- }
- public OnGameModeExit()
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- for(new o = 0; o < sizeof(Objects); o++)
- {
- if(Player[i][view][o])
- {
- Player[i][view][o] = false;
- DestroyPlayerObject(i, Player[i][objid][o]);
- }
- }
- }
- KillTimer(timer);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- SendClientMessage(playerid, 0xFFF000AA, "Bem vindo ao server de Treinamento do Brazilian Championship \
- Tournament");
- SendClientMessage(playerid, 0xFFF000AA, "Escreva /ajuda para comandos e mais informa��es.");
- new pname[0x100];
- GetPlayerName(playerid, pname, sizeof pname);
- format(pname, sizeof pname, "%s.brazilian.championship.cer", pname);
- if(!dini_Exists(pname))
- SendClientMessage(playerid, 0xF0F0F0AA, "Voc� n�o est� registrado, escreva \"/registrar\" para mais \
- informa��es.");
- else if(!logado[playerid] && dini_Exists(pname))
- SendClientMessage(playerid, 0xF0F0F0AA, "Voc� j� est� registrado, use \"/logar [senha]\" para \
- jogar.");
- for(new i = 0; i < sizeof(Objects); i++) Player[playerid][view][i] = false;
- mutado[playerid] = false;
- logado[playerid] = 0;
- admin[playerid] = 0;
- falou[playerid] = 0;
- requisitou[playerid] = 0;
- for(new i; i < sizeof gpos; i++)
- {
- gpos[playerid][i][0] = 0.0;
- gpos[playerid][i][1] = 0.0;
- gpos[playerid][i][2] = 0.0;
- gpos[playerid][i][3] = 0.0;
- }
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- SetPlayerInterior(playerid, 0);
- SetPlayerPos(playerid, -2690.67, 2048.35, 56.73);
- SetPlayerFacingAngle(playerid, 0.0);
- SetPlayerCameraPos(playerid, -2693.00, 2052.62, 55.73);
- SetPlayerCameraLookAt(playerid, -2690.67, 2048.35, 56.73);
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- if(mutado[playerid])
- {
- falou[playerid] %= 5;
- falou[playerid]++;
- if(falou[playerid] < 2)
- SendClientMessage(playerid, 0xFAFAFAAA, "Voc� est� mutado!");
- return 0;
- }
- if(text[0] == ';')
- {
- if(admin[playerid] > 0)
- {
- new pname[0x100];
- GetPlayerName(playerid, pname, sizeof pname);
- strmid(text, text, 1, 0x100, 0x100);
- format(text, 0x100, "[adimin] %s: %s", pname, text);
- for(new i; i < MAX_PLAYERS; i++)
- if(IsPlayerConnected(i))
- if(admin[i] > 0)
- SendClientMessage(i, 0xF0F0F0AA, text);
- return 0;
- }
- }
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new cmd[0x100];
- new idx;
- cmd = strtok(cmdtext, idx);
- if(playerinevento[playerid] && eventorodando &&
- strcmp(cmd, "/iniciarevento", true) != 0 &&
- strcmp(cmdtext, "/entrarevento", true) != 0 &&
- strcmp(cmdtext, "/cancelarevento", true) != 0 &&
- strcmp(cmdtext, "/ajuda", true) != 0 &&
- strcmp(cmdtext, "/comandos", true) != 0 &&
- strcmp(cmdtext, "/creditos", true) != 0 &&
- strcmp(cmdtext, "/kill", true) != 0 &&
- strcmp(cmdtext, "/eventos", true) != 0 &&
- strcmp(cmd, "/stats", true) != 0)
- return SendClientMessage(playerid, 0xFF0000AA, "Sem comandos no evento!");
- if(!logado[playerid] && strcmp(cmd, "/registrar", true) != 0 &&
- strcmp(cmd, "/logar", true) != 0 && strcmp(cmdtext, "/logout", true) != 0 &&
- strcmp(cmdtext, "/ajuda", true) != 0 && strcmp(cmdtext, "/comandos", true) != 0 &&
- strcmp(cmdtext, "/creditos", true) != 0)
- return SendClientMessage(playerid, 0xFF0000AA, "Logue-se para usar os comandos!");
- if(!strcmp(cmdtext, "/ajuda", true))
- {
- SendClientMessage(playerid, 0xFF0000AA, "Ajuda:");
- SendClientMessage(playerid, 0xFFFFFFAA, "Este server foi feito para o treinamento dos \
- competidores e fiscais do");
- SendClientMessage(playerid, 0xFFFFFFAA, "evento Brazilian Championship.");
- SendClientMessage(playerid, 0xFFFFFFAA, "Para ver os comando do server, digite \"/comandos\".");
- SendClientMessage(playerid, 0xFFFFFFAA, "Para ver os cr�ditos do server, digite \"/creditos\"");
- SendClientMessage(playerid, 0xFFFFFFAA, "Em alguns comandos, temos um sistema de ajuda, para \
- encontr�-lo, use o seguinte");
- SendClientMessage(playerid, 0xFFFFFFAA, "par�metro no comando: \"?\"; Exemplo: \"/stats ?\".");
- return 1;
- }
- if(!strcmp(cmdtext, "/comandos", true))
- {
- SendClientMessage(playerid, 0xFF0000AA, "Comandos:");
- SendClientMessage(playerid, 0xFFFFFFAA, "/registrar - /logar - /logout - /ajuda - /creditos");
- SendClientMessage(playerid, 0xFFFFFFAA, "/stats - /infernus - /nrg - /marcar - /ir - /jetpack - \
- /kill");
- SendClientMessage(playerid, 0xFFFFFFAA, "/iniciarevento - /cancelarevento - /entrarevento - \
- /eventos");
- if(admin[playerid] >= 1)
- {
- SendClientMessage(playerid, 0xFFFFFFAA, "Admin 1: /settime - /setweather - /goto");
- SendClientMessage(playerid, 0xFFFFFFAA, "Admin 1: /kick - /congelar - /descongelar");
- }
- if(admin[playerid] >= 2)
- {
- SendClientMessage(playerid, 0xFFFFFFAA, "Admin 2: /mutar - /desmutar - /sethealth - /setarmour");
- SendClientMessage(playerid, 0xFFFFFFAA, "Admin 2: /ejetar - /givemoney");
- }
- if(admin[playerid] >= 3)
- SendClientMessage(playerid, 0xFFFFFFAA, "Admin 3: /gmx - /ban - /giveweapon - /trazer");
- if(admin[playerid] >= 4)
- SendClientMessage(playerid, 0xFFFFFFAA, "Admin 4: /fecharserver - /logoutplayer");
- if(admin[playerid] >= 5)
- SendClientMessage(playerid, 0xFFFFFFAA, "Admin 5: /setadmin - /registrarplayer");
- return 1;
- }
- if(!strcmp(cmdtext, "/creditos", true))
- {
- SendClientMessage(playerid, 0xFF0000AA, "Cr�ditos:");
- SendClientMessage(playerid, 0xFFFFFFAA, "Este gamemode foi feito por Fl�vio Toribio ao Brazilian \
- Championship Tournament");
- SendClientMessage(playerid, 0xFFFFFFAA, "Agrade�o ao gamemode Adrenaline por fornecer as \
- coordenadas dos textdraws das corridas.");
- SendClientMessage(playerid, 0xFFFFFFAA, "Obrigado pela CyberPlanet ao abrir a porta 9999 em um \
- dedicado para o server.");
- SendClientMessage(playerid, 0xFFFFFFAA, "Agrade�o tamb�m �s pessoas que me ajudaram a testar o \
- gamemode.");
- SendClientMessage(playerid, 0xFFFFFFAA, "E principalmente � quem criou este evento: [SDK]Ricardo \
- e [SDK]MasSaKre.");
- return 1;
- }
- if(!strcmp(cmdtext, "/eventos", true))
- {
- SendClientMessage(playerid, 0xFF0000AA, "Eventos:");
- SendClientMessage(playerid, 0xFFFFFFAA, "DeathMatch: chave para /iniciarevento: \"dm1\";");
- SendClientMessage(playerid, 0xFFFFFFAA, "Las Venturas Race: chave para /iniciarevento: \"race1\";");
- SendClientMessage(playerid, 0xFFFFFFAA, "Desert Track Race: chave para /iniciarevento: \"race2\".");
- SendClientMessage(playerid, 0xFFFFFFAA, "LS Tour Race: chave para /iniciarevento: \"race3\".");
- return 1;
- }
- if(!strcmp(cmdtext, "/jetpack", true))
- {
- if(!IsPlayerInAnyVehicle(playerid))SetPlayerSpecialAction(playerid, 2);
- return 1;
- }
- if(!strcmp(cmdtext, "/kill", true))
- return SetPlayerHealth(playerid, 0.0);
- if(!strcmp(cmd, "/iniciarevento", true))
- {
- new tmp[0x100], evento[0x100], maxplayers, recomp;
- tmp = strtok(cmdtext, idx);
- evento = tmp;
- tmp = strtok(cmdtext, idx);
- maxplayers = strval(tmp);
- tmp = strtok(cmdtext, idx);
- recomp = strval(tmp);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, 0xFFFFFFAA,"USE: /iniciarevento [evento] [maxplayers] [recompensa]");
- return 1;
- }
- if(!eventoiniciado)
- {
- /*if(!podeiniciar[playerid] && ((admin[playerid] < 1) || (!IsPlayerAdmin(playerid))))
- return SendClientMessage(playerid, 0xFF0000AA, "Espere os 6 minutos para iniciar \
- outro evento!");*/
- if(!strcmp(evento, "dm1", true))
- {
- if(maxplayers > 1 && maxplayers <= 50)
- {
- if(recomp > 0 && recomp <= 5000)
- {
- new string[0x100], pname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pname, sizeof pname);
- eventoatual = dm1;
- eventoiniciado = true;
- queminiciou = playerid;
- recompensa = recomp;
- eventomaxplayers = maxplayers;
- format(string, sizeof string, "%s iniciou o evento Death Match! \
- Para entrar use \"/entrarevento\".", pname);
- SendClientMessageToAll(0xFF0000AA, string);
- format(string, sizeof string, "O evento come�ar� em 1 minuto, com uma recompensa de \
- $%d para quem ganhar!", recomp);
- SendClientMessageToAll(0xFF0000AA, string);
- format(string, sizeof string, "S� poder�o entrar %d pessoas no evento, \
- ent�o entre r�pido!", maxplayers);
- SendClientMessageToAll(0xFF0000AA, string);
- eventotimer = SetTimer("IniciarEvento", 60000, 0);
- playertimer[playerid] = SetTimerEx("TempoComandoPlayer", 6*1000*60, 0, "i", playerid);
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Recompensa inv�lida! (1~5000)");
- }
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "M�ximo de jogadores inv�lido! (2~50)");
- }
- } else if(!strcmp(evento, "race1", true))
- {
- if(maxplayers > 0 && maxplayers <= 10)
- {
- if(recomp > 0 && recomp <= 5000)
- {
- new string[0x100], pname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pname, sizeof pname);
- eventoatual = race1;
- eventoiniciado = true;
- queminiciou = playerid;
- recompensa = recomp;
- eventomaxplayers = maxplayers;
- for(new i; i < sizeof cps_race1; i++)cps_race1[i][3] = 0.0;
- format(string, sizeof string, "%s iniciou o evento Las Venturas Race! \
- Para entrar use \"/entrarevento\".", pname);
- SendClientMessageToAll(0xFF0000AA, string);
- format(string, sizeof string, "O evento come�ar� em 1 minuto, com uma recompensa de \
- $%d para quem ganhar!", recomp);
- SendClientMessageToAll(0xFF0000AA, string);
- format(string, sizeof string, "S� poder�o entrar %d pessoas no evento, \
- ent�o entre r�pido!", maxplayers);
- SendClientMessageToAll(0xFF0000AA, string);
- eventotimer = SetTimer("IniciarEvento", 60000, 0);
- playertimer[playerid] = SetTimerEx("TempoComandoPlayer", 6*1000*60, 0, "i", playerid);
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Recompensa inv�lida! (1~5000)");
- }
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "M�ximo de jogadores inv�lido! (1~10)");
- }
- } else if(!strcmp(evento, "race2", true))
- {
- if(maxplayers > 0 && maxplayers <= 10)
- {
- if(recomp > 0 && recomp <= 5000)
- {
- new string[0x100], pname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pname, sizeof pname);
- eventoatual = race2;
- eventoiniciado = true;
- queminiciou = playerid;
- recompensa = recomp;
- eventomaxplayers = maxplayers;
- for(new i; i < sizeof cps_race1; i++)cps_race1[i][3] = 0.0;
- format(string, sizeof string, "%s iniciou o evento Desert Track Race! \
- Para entrar use \"/entrarevento\".", pname);
- SendClientMessageToAll(0xFF0000AA, string);
- format(string, sizeof string, "O evento come�ar� em 1 minuto, com uma recompensa de \
- $%d para quem ganhar!", recomp);
- SendClientMessageToAll(0xFF0000AA, string);
- format(string, sizeof string, "S� poder�o entrar %d pessoas no evento, \
- ent�o entre r�pido!", maxplayers);
- SendClientMessageToAll(0xFF0000AA, string);
- eventotimer = SetTimer("IniciarEvento", 60000, 0);
- playertimer[playerid] = SetTimerEx("TempoComandoPlayer", 6*1000*60, 0, "i", playerid);
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Recompensa inv�lida! (1~5000)");
- }
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "M�ximo de jogadores inv�lido! (1~10)");
- }
- } else if(!strcmp(evento, "race3", true))
- {
- if(maxplayers > 0 && maxplayers <= 10)
- {
- if(recomp > 0 && recomp <= 5000)
- {
- new string[0x100], pname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pname, sizeof pname);
- eventoatual = race3;
- eventoiniciado = true;
- queminiciou = playerid;
- recompensa = recomp;
- eventomaxplayers = maxplayers;
- for(new i; i < sizeof cps_race1; i++)cps_race1[i][3] = 0.0;
- format(string, sizeof string, "%s iniciou o evento LS Tour Race! \
- Para entrar use \"/entrarevento\".", pname);
- SendClientMessageToAll(0xFF0000AA, string);
- format(string, sizeof string, "O evento come�ar� em 1 minuto, com uma recompensa de \
- $%d para quem ganhar!", recomp);
- SendClientMessageToAll(0xFF0000AA, string);
- format(string, sizeof string, "S� poder�o entrar %d pessoas no evento, \
- ent�o entre r�pido!", maxplayers);
- SendClientMessageToAll(0xFF0000AA, string);
- eventotimer = SetTimer("IniciarEvento", 60000, 0);
- playertimer[playerid] = SetTimerEx("TempoComandoPlayer", 6*1000*60, 0, "i", playerid);
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Recompensa inv�lida! (1~5000)");
- }
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "M�ximo de jogadores inv�lido! (1~10)");
- }
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Evendo inexistente!");
- }
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Um evento de cada vez!");
- }
- return 1;
- }
- if(!strcmp(cmdtext, "/entrarevento", true))
- {
- if(!eventorodando && !playerinevento[playerid])
- {
- if(!playerinevento[playerid])
- {
- if(eventoplayers < eventomaxplayers)
- {
- if(eventoatual == dm1)
- {
- if(IsPlayerInAnyVehicle(playerid))
- return SendClientMessage(playerid, 0xFF0000AA, "Saia de seu ve�culo!");
- eventoplayers++;
- playersevento[eventoplayers] = playerid;
- playerinevento[playerid] = true;
- new Float:x, Float:y;
- x = float(eventoplayers);
- y = float(eventoplayers);
- GetPlayerPos(playerid, playerpos[playerid][0],
- playerpos[playerid][1],playerpos[playerid][2]);
- GetPlayerFacingAngle(playerid, playerpos[playerid][3]);
- for(new i; i < 2; i++)
- SetPlayerPosWithObjects(playerid, 2434.0+x, 2459.0+y, 69.5);
- SetPlayerFacingAngle(playerid, 130.30);
- SetCameraBehindPlayer(playerid);
- GetPlayerHealth(playerid, playerhealth[playerid][0]);
- GetPlayerArmour(playerid, playerhealth[playerid][1]);
- SetPlayerHealth(playerid, 100.0);
- SetPlayerArmour(playerid, 50.0);
- TogglePlayerControllable(playerid, 0);
- for(new s = 1; s <= 12; s++)
- GetPlayerWeaponData(playerid, s,
- playerweapon[playerid][s-1], playerammo[playerid][s-1]);
- ResetPlayerWeapons(playerid);
- GivePlayerWeapon(playerid, 1, 1);
- GivePlayerWeapon(playerid, 30, 1530);
- GivePlayerWeapon(playerid, 24, 1007);
- GivePlayerWeapon(playerid, 32, 1600);
- GivePlayerWeapon(playerid, 26, 154);
- new totalplayers;
- for(new i; i < MAX_PLAYERS; i++)
- if(IsPlayerConnected(i))totalplayers++;
- if((totalplayers == eventoplayers && eventoplayers != 1) ||
- eventoplayers == eventomaxplayers)
- {
- eventorodando = true;
- KillTimer(eventotimer);
- SendClientMessageToAll(0xFF0000AA, "Iniciando evento em 10 segundos...");
- SetTimer("CountDown", 1000, 0);
- }
- } else if(eventoatual == race1)
- {
- if(IsPlayerInAnyVehicle(playerid))
- return SendClientMessage(playerid, 0xFF0000AA, "Saia de seu ve�culo!");
- eventoplayers++;
- playersevento[eventoplayers] = playerid;
- playerinevento[playerid] = true;
- GetPlayerPos(playerid, playerpos[playerid][0],
- playerpos[playerid][1],playerpos[playerid][2]);
- GetPlayerFacingAngle(playerid, playerpos[playerid][3]);
- new vehicleid = CreateVehicle(411, largada_race1[eventoplayers-1][0],
- largada_race1[eventoplayers-1][1], largada_race1[eventoplayers-1][2], 270.0,
- -1, -1, 10000);
- PutPlayerInVehicle(playerid, vehicleid, 0);
- playervehicle[playerid] = vehicleid;
- vehicleplayer[vehicleid] = playerid;
- SetPlayerRaceCheckpoint(playerid, 0,
- cps_race1[cpatual[playerid]][0],
- cps_race1[cpatual[playerid]][1],
- cps_race1[cpatual[playerid]][2],
- cps_race1[cpatual[playerid]+1][0],
- cps_race1[cpatual[playerid]+1][1],
- cps_race1[cpatual[playerid]+1][2], 8.0);
- SetCameraBehindPlayer(playerid);
- GetPlayerHealth(playerid, playerhealth[playerid][0]);
- GetPlayerArmour(playerid, playerhealth[playerid][1]);
- SetPlayerHealth(playerid, 100.0);
- TogglePlayerControllable(playerid, 0);
- for(new s = 1; s <= 12; s++)
- GetPlayerWeaponData(playerid, s,
- playerweapon[playerid][s-1], playerammo[playerid][s-1]);
- ResetPlayerWeapons(playerid);
- new tmp[5];
- format(tmp, sizeof tmp, "/%d", eventoplayers);
- new string[0x100];
- format(string, sizeof string, "%d", eventoplayers);
- tdposicao[playerid] = TextDrawCreate(560.0, 330.0, string);
- TextDrawLetterSize(tdposicao[playerid], 1.2, 6.2);
- tdappend[playerid] = TextDrawCreate(590.0, 335.0, "�");
- TextDrawLetterSize(tdappend[playerid], 0.5, 2.5);
- TextDrawSetString(tdpilotos, tmp);
- TextDrawShowForPlayer(playerid, tdtempo);
- TextDrawShowForPlayer(playerid, tdappend[playerid]);
- TextDrawShowForPlayer(playerid, tdposicao[playerid]);
- TextDrawShowForPlayer(playerid, tdpilotos);
- new totalplayers;
- for(new i; i < MAX_PLAYERS; i++)
- if(IsPlayerConnected(i))totalplayers++;
- if(totalplayers == eventoplayers || eventoplayers == eventomaxplayers)
- {
- eventorodando = true;
- eventocount = 0x5;
- KillTimer(eventotimer);
- SendClientMessageToAll(0xFF0000AA, "Iniciando evento em 5 segundos...");
- SetTimer("CountDown", 1000, 0);
- }
- } else if(eventoatual == race2)
- {
- if(IsPlayerInAnyVehicle(playerid))
- return SendClientMessage(playerid, 0xFF0000AA, "Saia de seu ve�culo!");
- eventoplayers++;
- playersevento[eventoplayers] = playerid;
- playerinevento[playerid] = true;
- GetPlayerPos(playerid, playerpos[playerid][0],
- playerpos[playerid][1],playerpos[playerid][2]);
- GetPlayerFacingAngle(playerid, playerpos[playerid][3]);
- new vehicleid = CreateVehicle(411, largada_race2[eventoplayers-1][0],
- largada_race2[eventoplayers-1][1], largada_race2[eventoplayers-1][2], 90.0,
- -1, -1, 10000);
- PutPlayerInVehicle(playerid, vehicleid, 0);
- playervehicle[playerid] = vehicleid;
- vehicleplayer[vehicleid] = playerid;
- SetPlayerRaceCheckpoint(playerid, 0,
- cps_race2[cpatual[playerid]][0],
- cps_race2[cpatual[playerid]][1],
- cps_race2[cpatual[playerid]][2],
- cps_race2[cpatual[playerid]+1][0],
- cps_race2[cpatual[playerid]+1][1],
- cps_race2[cpatual[playerid]+1][2], 8.0);
- SetCameraBehindPlayer(playerid);
- GetPlayerHealth(playerid, playerhealth[playerid][0]);
- GetPlayerArmour(playerid, playerhealth[playerid][1]);
- SetPlayerHealth(playerid, 100.0);
- TogglePlayerControllable(playerid, 0);
- for(new s = 1; s <= 12; s++)
- GetPlayerWeaponData(playerid, s,
- playerweapon[playerid][s-1], playerammo[playerid][s-1]);
- ResetPlayerWeapons(playerid);
- new tmp[5];
- format(tmp, sizeof tmp, "/%d", eventoplayers);
- new string[0x100];
- format(string, sizeof string, "%d", eventoplayers);
- tdposicao[playerid] = TextDrawCreate(560.0, 330.0, string);
- TextDrawLetterSize(tdposicao[playerid], 1.2, 6.2);
- tdappend[playerid] = TextDrawCreate(590.0, 335.0, "�");
- TextDrawLetterSize(tdappend[playerid], 0.5, 2.5);
- TextDrawSetString(tdpilotos, tmp);
- TextDrawShowForPlayer(playerid, tdtempo);
- TextDrawShowForPlayer(playerid, tdappend[playerid]);
- TextDrawShowForPlayer(playerid, tdposicao[playerid]);
- TextDrawShowForPlayer(playerid, tdpilotos);
- new totalplayers;
- for(new i; i < MAX_PLAYERS; i++)
- if(IsPlayerConnected(i))totalplayers++;
- if(totalplayers == eventoplayers || eventoplayers == eventomaxplayers)
- {
- eventorodando = true;
- eventocount = 0x5;
- KillTimer(eventotimer);
- SendClientMessageToAll(0xFF0000AA, "Iniciando evento em 5 segundos...");
- SetTimer("CountDown", 1000, 0);
- }
- } else if(eventoatual == race3)
- {
- if(IsPlayerInAnyVehicle(playerid))
- return SendClientMessage(playerid, 0xFF0000AA, "Saia de seu ve�culo!");
- eventoplayers++;
- playersevento[eventoplayers] = playerid;
- playerinevento[playerid] = true;
- GetPlayerPos(playerid, playerpos[playerid][0],
- playerpos[playerid][1],playerpos[playerid][2]);
- GetPlayerFacingAngle(playerid, playerpos[playerid][3]);
- new vehicleid = CreateVehicle(411, largada_race3[eventoplayers-1][0],
- largada_race3[eventoplayers-1][1], largada_race3[eventoplayers-1][2], 0.0,
- -1, -1, 10000);
- PutPlayerInVehicle(playerid, vehicleid, 0);
- playervehicle[playerid] = vehicleid;
- vehicleplayer[vehicleid] = playerid;
- SetPlayerRaceCheckpoint(playerid, 0,
- cps_race3[cpatual[playerid]][0],
- cps_race3[cpatual[playerid]][1],
- cps_race3[cpatual[playerid]][2],
- cps_race3[cpatual[playerid]+1][0],
- cps_race3[cpatual[playerid]+1][1],
- cps_race3[cpatual[playerid]+1][2], 8.0);
- SetCameraBehindPlayer(playerid);
- GetPlayerHealth(playerid, playerhealth[playerid][0]);
- GetPlayerArmour(playerid, playerhealth[playerid][1]);
- SetPlayerHealth(playerid, 100.0);
- TogglePlayerControllable(playerid, 0);
- for(new s = 1; s <= 12; s++)
- GetPlayerWeaponData(playerid, s,
- playerweapon[playerid][s-1], playerammo[playerid][s-1]);
- ResetPlayerWeapons(playerid);
- new tmp[5];
- format(tmp, sizeof tmp, "/%d", eventoplayers);
- new string[0x100];
- format(string, sizeof string, "%d", eventoplayers);
- tdposicao[playerid] = TextDrawCreate(560.0, 330.0, string);
- TextDrawLetterSize(tdposicao[playerid], 1.2, 6.2);
- tdappend[playerid] = TextDrawCreate(590.0, 335.0, "�");
- TextDrawLetterSize(tdappend[playerid], 0.5, 2.5);
- TextDrawSetString(tdpilotos, tmp);
- TextDrawShowForPlayer(playerid, tdtempo);
- TextDrawShowForPlayer(playerid, tdappend[playerid]);
- TextDrawShowForPlayer(playerid, tdposicao[playerid]);
- TextDrawShowForPlayer(playerid, tdpilotos);
- new totalplayers;
- for(new i; i < MAX_PLAYERS; i++)
- if(IsPlayerConnected(i))totalplayers++;
- if(totalplayers == eventoplayers || eventoplayers == eventomaxplayers)
- {
- eventorodando = true;
- eventocount = 0x5;
- KillTimer(eventotimer);
- SendClientMessageToAll(0xFF0000AA, "Iniciando evento em 5 segundos...");
- SetTimer("CountDown", 1000, 0);
- }
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Nenhum evento iniciado!");
- }
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Desculpe, mas o evento est� lotado!");
- }
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Voc� j� est� no evento!");
- }
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Desculpe, mas o evento j� foi iniciado!");
- }
- return 1;
- }
- if(!strcmp(cmdtext, "/cancelarevento", true))
- {
- if(eventoiniciado)
- {
- if(queminiciou == playerid || admin[playerid] > 0 || IsPlayerAdmin(playerid))
- {
- new string[0x100], pname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pname, sizeof pname);
- format(string, sizeof string, "%s cancelou o evento!", pname);
- SendClientMessageToAll(0xFF0000AA, string);
- GameTextForAll("Cancelado", 4000, 1);
- KillTimer(eventotimer);
- if(eventoatual == race1 || eventoatual == race2 || eventoatual == race3)
- {
- TextDrawSetString(tdtempo, "0:00");
- for(new i; i < MAX_PLAYERS; i++)
- {
- if(playerinevento[i])
- {
- TextDrawHideForPlayer(i, tdtempo);
- TextDrawHideForPlayer(i, tdappend[i]);
- TextDrawHideForPlayer(i, tdposicao[i]);
- TextDrawHideForPlayer(i, tdpilotos);
- DisablePlayerRaceCheckpoint(i);
- TextDrawDestroy(tdposicao[i]);
- TextDrawDestroy(tdappend[i]);
- EraseVehicle(playervehicle[i]);
- vehicleplayer[playervehicle[i]] = -1;
- playervehicle[i] = 0;
- cpatual[i] = 0;
- progresso[i] = 0;
- }
- }
- }
- if(eventoatual == race1)for(new i; i < sizeof cps_race1; i++)cps_race1[i][3] = 0.0;
- if(eventoatual == race2)for(new i; i < sizeof cps_race2; i++)cps_race2[i][3] = 0.0;
- if(eventoatual == race3)for(new i; i < sizeof cps_race3; i++)cps_race3[i][3] = 0.0;
- for(new i; i < MAX_PLAYERS; i++)
- {
- playersevento[i] = -1;
- playerinevento[i] = false;
- cpatual[i] = 0;
- }
- eventoplayers = 0;
- eventoatual = -1;
- eventoiniciado = false;
- for(new i; i < MAX_PLAYERS; i++)
- {
- if(playerinevento[i])
- {
- for(new j; j < 10; j++)TogglePlayerControllable(i, 1);
- SetPlayerPos(i, playerpos[i][0],
- playerpos[i][1], playerpos[i][2]);
- for(new s; s < 4; s++)playerpos[i][s] = 0.0;
- SetPlayerFacingAngle(i, playerpos[i][3]);
- SetCameraBehindPlayer(i);
- ResetPlayerWeapons(i);
- SetPlayerHealth(i, playerhealth[i][0]);
- SetPlayerArmour(i, playerhealth[i][1]);
- for(new s; s < 2; s++)playerhealth[i][s] = 0.0;
- for(new s; s < 12; s++)
- {
- GivePlayerWeapon(i, playerweapon[i][s],
- playerammo[i][s]);
- playerweapon[i][s] = 0;
- playerammo[i][s] = 0;
- }
- }
- }
- recompensa = 0;
- eventorodando = false;
- eventomaxplayers = 0;
- queminiciou = -1;
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Voc� n�o iniciou o evento!");
- }
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Nenhum evento iniciado!");
- }
- return 1;
- }
- if(!strcmp(cmd, "/registrar", true))
- {
- new senha[2][0x100];
- for(new i; i < 2; i++)senha[i] = strtok(cmdtext, idx);
- if(!strlen(senha[1]))
- return SendClientMessage(playerid, 0xFFFFFFAA, "USE: /registrar [senha] [confirmar senha]");
- if(!strcmp(senha[0], senha[1], false))
- {
- new pname[0x100];
- GetPlayerName(playerid, pname, sizeof pname);
- format(pname, sizeof pname, "%s.brazilian.championship.cer", pname);
- if(!dini_Exists(pname))
- {
- dini_Create(pname);
- dini_Set(pname, "senha", senha[0]);
- dini_IntSet(pname, "admin", 0);
- dini_IntSet(pname, "grana", GetPlayerMoney(playerid));
- dini_IntSet(pname, "score", GetPlayerScore(playerid));
- dini_IntSet(pname, "dm1wins", 0);
- dini_IntSet(pname, "race1wins", 0);
- dini_IntSet(pname, "race1bestscore", 0);
- dini_IntSet(pname, "race2wins", 0);
- dini_IntSet(pname, "race2bestscore", 0);
- dini_IntSet(pname, "race3wins", 0);
- dini_IntSet(pname, "race3bestscore", 0);
- SendClientMessage(playerid, 0xFFF000AA, "Registrado com sucesso!");
- SendClientMessage(playerid, 0xFFFFFFAA, "Use \"/logar [senha]\" para logar.");
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Este usu�rio j� est� registrado, \
- use /logar [senha]");
- }
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "As senhas n�o conferem!\
- Lembre-se: elas s�o caso sens�vel.");
- }
- return 1;
- }
- if(!strcmp(cmd, "/logar", true))
- {
- new senha1[0x100];
- senha1 = strtok(cmdtext, idx);
- if(!strlen(senha1))
- return SendClientMessage(playerid, 0xFFFFFFAA, "USE: /logar [senha]");
- new pname[0x100];
- GetPlayerName(playerid, pname, sizeof pname);
- format(pname, sizeof pname, "%s.brazilian.championship.cer", pname);
- if(dini_Exists(pname))
- {
- if(!logado[playerid])
- {
- if(!strcmp(senha1, dini_Get(pname, "senha"), false))
- {
- GivePlayerMoney(playerid, dini_Int(pname, "grana"));
- SetPlayerScore(playerid, dini_Int(pname, "score"));
- admin[playerid] = dini_Int(pname, "admin");
- logado[playerid] = 1;
- SendClientMessage(playerid, 0xFFF000AA, "Logado!");
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Senha incorreta, a senha � caso sens�vel!");
- }
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Voc� j� est� logado!");
- }
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Voc� n�o est� registrado! Use \"/registrar [senha]\"");
- }
- return 1;
- }
- if(!strcmp(cmdtext, "/logout", true))
- {
- new pname[0x100];
- GetPlayerName(playerid, pname, sizeof pname);
- format(pname, sizeof pname, "%s.brazilian.championship.cer", pname);
- if(dini_Exists(pname))
- {
- if(logado[playerid])
- {
- logado[playerid] = 0;
- ForceClassSelection(playerid);
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Como voc� vai fazer logout sem estar logado?");
- }
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Como voc� vai fazer logout sem estar registrado?");
- }
- return 1;
- }
- if(!strcmp(cmd, "/stats", true))
- {
- new tmp[0x100], plid;
- tmp = strtok(cmdtext, idx);
- if(!strcmp(tmp, "?", true) && strlen(tmp))
- {
- SendClientMessage(playerid, 0xFF0000AA, "Ajuda sobre comando \"/stats\":");
- SendClientMessage(playerid, 0xFFFFFFAA, "Use \"/stats\" somente para ver seus stats.");
- SendClientMessage(playerid, 0xFFFFFFAA, "Use \"/stats [playerid]\" ou \"/stats [nome]\" \
- para ver os stats de algu�m conectado ou n�o.");
- return 1;
- }
- plid = strval(tmp);
- if(!strlen(tmp))plid = playerid;
- new pname[0x100];
- if(isnumeric(tmp) && strlen(tmp))
- {
- if(IsPlayerConnected(plid))
- {
- GetPlayerName(plid, pname, sizeof pname);
- format(pname, sizeof pname, "%s.brazilian.championship.cer", pname);
- goto comando_stats;
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Jogador n�o conectado/nome inv�lido!");
- }
- } else {
- if(playerid == plid)GetPlayerName(playerid, tmp, sizeof tmp);
- format(pname, sizeof pname, "%s.brazilian.championship.cer", tmp);
- comando_stats:
- if(dini_Exists(pname))
- {
- new string[0x100], tempo, msegundos, nome[0x100];
- GetPlayerName(plid, nome, sizeof nome);
- format(string, sizeof string, "Stats de %s", nome);
- SendClientMessage(playerid, 0xFFF000AA, string);
- format(string, sizeof string, "Grana: %d Score: %d Vit�rias DM1: %d 1� lugar RACE1: %d \
- 1� lugar RACE2: %d 1� lugar RACE3: %d", dini_Int(pname, "grana"), dini_Int(pname, "score"),
- dini_Int(pname, "dm1wins"), dini_Int(pname, "race1wins"), dini_Int(pname, "race2wins"),
- dini_Int(pname, "race3wins"));
- SendClientMessage(playerid, 0xFFFFFFAA, string);
- tempo = dini_Int(pname, "race1bestscore");
- minutos = floatround(floatdiv(tempo, 60000), floatround_tozero);
- segundos = floatround(floatmul(floatdiv(tempo, 60000) - minutos, 60), floatround_tozero);
- msegundos = floatround(floatmul(floatmul(floatdiv(tempo,
- 60000) - minutos, 60) - segundos, 1000), floatround_tozero);
- gindex = 0;
- while (segundos > 9)
- {
- segundos -= 0xA;
- gindex++;
- }
- new msec[0xA];
- if(msegundos < 10)format(msec, sizeof msec, "000%d", msegundos);
- if(msegundos > 9 && msegundos < 100)format(msec, sizeof msec, "00%d", msegundos);
- if(msegundos > 99 && msegundos < 1000)format(msec, sizeof msec, "0%d", msegundos);
- if(msegundos == 1000)format(msec, sizeof msec, "%d", msegundos);
- format(string, sizeof string, "Melhor tempo na RACE1: %d:%d%d:%s",
- minutos, gindex, segundos, msec);
- SendClientMessage(playerid, 0xFFFFFFAA, string);
- tempo = dini_Int(pname, "race2bestscore");
- minutos = floatround(floatdiv(tempo, 60000), floatround_tozero);
- segundos = floatround(floatmul(floatdiv(tempo, 60000) - minutos, 60), floatround_tozero);
- msegundos = floatround(floatmul(floatmul(floatdiv(tempo,
- 60000) - minutos, 60) - segundos, 1000), floatround_tozero);
- gindex = 0;
- while (segundos > 9)
- {
- segundos -= 0xA;
- gindex++;
- }
- if(msegundos < 10)format(msec, sizeof msec, "000%d", msegundos);
- if(msegundos > 9 && msegundos < 100)format(msec, sizeof msec, "00%d", msegundos);
- if(msegundos > 99 && msegundos < 1000)format(msec, sizeof msec, "0%d", msegundos);
- if(msegundos == 1000)format(msec, sizeof msec, "%d", msegundos);
- format(string, sizeof string, "Melhor tempo na RACE2: %d:%d%d:%s",
- minutos, gindex, segundos, msec);
- SendClientMessage(playerid, 0xFFFFFFAA, string);
- tempo = dini_Int(pname, "race3bestscore");
- minutos = floatround(floatdiv(tempo, 60000), floatround_tozero);
- segundos = floatround(floatmul(floatdiv(tempo, 60000) - minutos, 60), floatround_tozero);
- msegundos = floatround(floatmul(floatmul(floatdiv(tempo,
- 60000) - minutos, 60) - segundos, 1000), floatround_tozero);
- gindex = 0;
- while (segundos > 9)
- {
- segundos -= 0xA;
- gindex++;
- }
- if(msegundos < 10)format(msec, sizeof msec, "000%d", msegundos);
- if(msegundos > 9 && msegundos < 100)format(msec, sizeof msec, "00%d", msegundos);
- if(msegundos > 99 && msegundos < 1000)format(msec, sizeof msec, "0%d", msegundos);
- if(msegundos == 1000)format(msec, sizeof msec, "%d", msegundos);
- format(string, sizeof string, "Melhor tempo na RACE3: %d:%d%d:%s",
- minutos, gindex, segundos, msec);
- SendClientMessage(playerid, 0xFFFFFFAA, string);
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Nome inv�lido!");
- }
- }
- return 1;
- }
- if(!strcmp(cmd, "/setadmin", true) && admin[playerid] >= 5)
- {
- new tmp[0x100], nome[0x100], plid = -1, level;
- tmp = strtok(cmdtext, idx);
- nome = tmp;
- if(!strlen(tmp))
- return SendClientMessage(playerid, 0xFFFFFFAA, "USE: /setadmin [playerid/nome] [n�vel]");
- new pname[0x100];
- if(isnumeric(tmp))
- {
- plid = strval(tmp);
- if(IsPlayerConnected(plid))
- {
- GetPlayerName(plid, pname, sizeof pname);
- format(pname, sizeof pname, "%s.brazilian.championship.cer", pname);
- goto comando_setadmin;
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Jogador n�o conectado/nome inv�lido!");
- }
- } else {
- format(pname, sizeof pname, "%s.brazilian.championship.cer", nome);
- plid = -1;
- comando_setadmin:
- tmp = strtok(cmdtext, idx);
- level = strval(tmp);
- if(dini_Exists(pname))
- {
- if(isnumeric(nome))GetPlayerName(strval(nome), nome, sizeof nome);
- if(level < 0 || level > 5)
- return SendClientMessage(playerid, 0xFF0000AA, "N�vel incorreto (0~5)");
- if(dini_Int(pname, "admin") == 5 && level == 0 && admin[playerid] < 6)
- return SendClientMessage(playerid, 0xFF0000AA, "Voc� n�o pode tirar os privil�gios de \
- um admin n�vel 5!");
- new string[0x100];
- dini_IntSet(pname, "admin", level);
- if(IsPlayerConnected(plid))admin[plid] = level;
- if(level > 0)
- format(string, sizeof string,"Agora %s tem privil�gios de admin n�vel %d.", nome, level);
- else
- format(string, sizeof string, "Agora %s n�o tem mais privil�gios de admin.", nome);
- SendClientMessage(playerid, 0xFFF000AA, string);
- GetPlayerName(playerid, nome, sizeof nome);
- if(level > 0)
- format(string, sizeof string, "%s te deu privil�gios de admin n�vel %d.", nome, level);
- else
- format(string, sizeof string, "%s tirou seus privil�gios de admin", nome);
- if(IsPlayerConnected(plid))SendClientMessage(plid, 0xFFF000AA, string);
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Nome inv�lido!");
- }
- }
- return 1;
- }
- if(!strcmp(cmd, "/kick", true) && admin[playerid] > 0)
- {
- new tmp[0x100], reason[0x100], plid;
- tmp = strtok(cmdtext, idx);
- plid = strval(tmp);
- if(!strcmp(tmp, "?", true) && strlen(tmp))
- {
- SendClientMessage(playerid, 0xFF0000AA, "Ajuda sobre comando \"/kick\":");
- SendClientMessage(playerid, 0xFFFFFFAA, "Use \"/kick [playerid]\" para kickar algu�m.");
- SendClientMessage(playerid, 0xFFFFFFAA, "Use \"/kick [playerid] [motivo]\" para kickar algu�m \
- com um relat�rio da infra��o cometida.");
- return 1;
- }
- if(!strlen(tmp))
- return SendClientMessage(playerid, 0xFFFFFFAA, "USE: /kick [playerid] [motivo]");
- tmp = strtok(cmdtext, idx);
- reason = tmp;
- if(IsPlayerConnected(plid))
- {
- if(strlen(reason))
- {
- tmp = strtok(cmdtext, idx);
- while(strlen(tmp) > 0)
- {
- strcat(reason, " ");
- strcat(reason, tmp);
- tmp = strtok(cmdtext,idx);
- }
- }
- new pname[0x100], pname2[0x100], string[0x100];
- GetPlayerName(playerid, pname, sizeof pname);
- GetPlayerName(plid, pname2, sizeof pname2);
- if(strlen(reason))
- format(string, sizeof string , "O admin %s kickou %s, raz�o: %s.", pname, pname2, reason);
- else
- format(string, sizeof string , "O admin %s kickou %s.", pname, pname2);
- SendClientMessageToAll(0xFF0000AA, string);
- Kick(plid);
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Jogador n�o conectado!");
- }
- return 1;
- }
- if(!strcmp(cmd, "/ban", true) && admin[playerid] > 2)
- {
- new tmp[0x100], reason[0x100], plid;
- tmp = strtok(cmdtext, idx);
- plid = strval(tmp);
- if(!strcmp(tmp, "?", true) && strlen(tmp))
- {
- SendClientMessage(playerid, 0xFF0000AA, "Ajuda sobre comando \"/ban\":");
- SendClientMessage(playerid, 0xFFFFFFAA, "Use \"/ban [playerid]\" para banir algu�m.");
- SendClientMessage(playerid, 0xFFFFFFAA, "Use \"/ban [playerid] [motivo]\" para nanir algu�m \
- com um relat�rio da infra��o cometida.");
- return 1;
- }
- if(!strlen(tmp))
- return SendClientMessage(playerid, 0xFFFFFFAA, "USE: /ban [playerid] [motivo]");
- tmp = strtok(cmdtext, idx);
- reason = tmp;
- if(IsPlayerConnected(plid))
- {
- if(strlen(reason))
- {
- tmp = strtok(cmdtext, idx);
- while(strlen(tmp) > 0)
- {
- strcat(reason, " ");
- strcat(reason, tmp);
- tmp = strtok(cmdtext,idx);
- }
- }
- new pname[0x100], pname2[0x100], string[0x100];
- GetPlayerName(playerid, pname, sizeof pname);
- GetPlayerName(plid, pname2, sizeof pname2);
- if(strlen(reason))
- format(string, sizeof string , "O admin %s baniu %s, raz�o: %s.", pname, pname2, reason);
- else
- format(string, sizeof string , "O admin %s baniu %s.", pname, pname2);
- SendClientMessageToAll(0xFF0000AA, string);
- Ban(plid);
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Jogador n�o conectado!");
- }
- return 1;
- }
- if(!strcmp(cmd, "/congelar", true) && admin[playerid] > 0)
- {
- new tmp[0x100], plid, todos, string[0x100], pname[0x100];
- tmp = strtok(cmdtext, idx);
- plid = strval(tmp);
- if(!strcmp(tmp, "?", true) && strlen(tmp))
- {
- SendClientMessage(playerid, 0xFF0000AA, "Ajuda sobre comando \"/congelar\":");
- SendClientMessage(playerid, 0xFFFFFFAA, "Use \"/congelar [playerid]\" para congelar algu�m.");
- SendClientMessage(playerid, 0xFFFFFFAA, "Use \"/congelar * \" (asterisco) para congelar todos \
- conectados ao server");
- SendClientMessage(playerid, 0xFFFFFFAA, "Use \"/descongelar\" para descongelar depois...");
- return 1;
- } else if(!strcmp(tmp, "*", true) && strlen(tmp))
- todos = 1;
- if(!strlen(tmp))
- return SendClientMessage(playerid, 0xFFFFFFAA, "USE: /congelar [playerid|*]");
- if(todos == 1)
- {
- GetPlayerName(playerid, pname, sizeof pname);
- for(new i; i < MAX_PLAYERS; i++)TogglePlayerControllable(i, 0);
- format(string, sizeof string , "O admin %s congelou todos no server.", pname);
- SendClientMessageToAll(0xFFF000AA, string);
- } else {
- if(IsPlayerConnected(plid))
- {
- new pname2[0x100];
- GetPlayerName(playerid, pname, sizeof pname);
- GetPlayerName(plid, pname2, sizeof pname2);
- TogglePlayerControllable(plid, 0);
- format(string, sizeof string , "O admin %s congelou %s.", pname, pname2);
- SendClientMessageToAll(0xFFF000AA, string);
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Jogador n�o conectado!");
- }
- }
- return 1;
- }
- if(!strcmp(cmd, "/descongelar", true) && admin[playerid] > 0)
- {
- new tmp[0x100], plid, todos, string[0x100], pname[0x100];
- tmp = strtok(cmdtext, idx);
- plid = strval(tmp);
- if(!strcmp(tmp, "?", true) && strlen(tmp))
- {
- SendClientMessage(playerid, 0xFF0000AA, "Ajuda sobre comando \"/descongelar\":");
- SendClientMessage(playerid, 0xFFFFFFAA, "Use \"/descongelar [playerid]\" para congelar algu�m.");
- SendClientMessage(playerid, 0xFFFFFFAA, "Use \"/descongelar * \" (asterisco) para congelar \
- todos conectados ao server");
- return 1;
- } else if(!strcmp(tmp, "*", true) && strlen(tmp))
- todos = 1;
- if(!strlen(tmp))
- return SendClientMessage(playerid, 0xFFFFFFAA, "USE: /descongelar [playerid|*]");
- if(todos == 1)
- {
- GetPlayerName(playerid, pname, sizeof pname);
- for(new i; i < MAX_PLAYERS; i++)TogglePlayerControllable(i, 1);
- format(string, sizeof string , "O admin %s descongelou todos no server.", pname);
- SendClientMessageToAll(0xFFF000AA, string);
- } else {
- if(IsPlayerConnected(plid))
- {
- new pname2[0x100];
- GetPlayerName(playerid, pname, sizeof pname);
- GetPlayerName(plid, pname2, sizeof pname2);
- TogglePlayerControllable(plid, 1);
- format(string, sizeof string , "O admin %s descongelou %s.", pname, pname2);
- SendClientMessageToAll(0xFFF000AA, string);
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Jogador n�o conectado!");
- }
- }
- return 1;
- }
- if(!strcmp(cmd, "/settime", true) && admin[playerid] > 0)
- {
- new tmp[0x100], plid, horas, minutos2, todos, string[0x100], pname[0x100];
- tmp = strtok(cmdtext, idx);
- plid = strval(tmp);
- if(!strcmp(tmp, "?", true) && strlen(tmp))
- {
- SendClientMessage(playerid, 0xFF0000AA, "Ajuda sobre comando \"/settime\":");
- SendClientMessage(playerid, 0xFFFFFFAA, "Use \"/settime [playerid] [horas] [minutos]\" para \
- mudar as horas de algu�m.");
- SendClientMessage(playerid, 0xFFFFFFAA, "Use \"/settime * [horas] [minutos]\" (asterisco) para \
- mudar a hora de todos no server.");
- return 1;
- } else if(!strcmp(tmp, "*", true) && strlen(tmp))
- todos = 1;
- tmp = strtok(cmdtext, idx);
- horas = strval(tmp);
- tmp = strtok(cmdtext, idx);
- minutos2 = strval(tmp);
- if(!strlen(tmp))
- return SendClientMessage(playerid, 0xFFFFFFAA, "USE: /settime [playerid|*] [horas] [minutos]");
- new hora[0xA], minuto[0xA];
- if(horas < 10)format(hora, sizeof hora, "0%d", horas);
- else format(hora, sizeof hora, "%d", horas);
- if(minutos2 < 10)format(minuto, sizeof minuto, "0%d", minutos2);
- else format(minuto, sizeof minuto, "%d", horas);
- if(todos == 1)
- {
- GetPlayerName(playerid, pname, sizeof pname);
- for(new i; i < MAX_PLAYERS; i++)SetPlayerTime(i, horas, minutos2);
- format(string, sizeof string , "O admin %s setou as horas de todos no server para %s:%s.",
- pname, hora, minuto);
- SendClientMessageToAll(0xFFF000AA, string);
- } else {
- if(IsPlayerConnected(plid))
- {
- new pname2[0x100];
- GetPlayerName(playerid, pname, sizeof pname);
- GetPlayerName(plid, pname2, sizeof pname2);
- SetPlayerTime(plid, horas, minutos2);
- format(string, sizeof string , "O admin %s setou as horas de %s para %s:%s.",
- pname, pname2, hora, minuto);
- SendClientMessageToAll(0xFFF000AA, string);
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Jogador n�o conectado!");
- }
- }
- return 1;
- }
- if(!strcmp(cmd, "/setweather", true) && admin[playerid] > 0)
- {
- new tmp[0x100], plid, weatherid, todos, string[0x100], pname[0x100];
- tmp = strtok(cmdtext, idx);
- plid = strval(tmp);
- if(!strcmp(tmp, "?", true) && strlen(tmp))
- {
- SendClientMessage(playerid, 0xFF0000AA, "Ajuda sobre comando \"/setweather\":");
- SendClientMessage(playerid, 0xFFFFFFAA, "Use \"/setweather [playerid] [weatherid]\" para \
- mudar o clima de algu�m.");
- SendClientMessage(playerid, 0xFFFFFFAA, "Use \"/setweather * [weatherid]\" (asterisco) para \
- mudar o clima de todos no server.");
- return 1;
- } else if(!strcmp(tmp, "*", true) && strlen(tmp))
- todos = 1;
- tmp = strtok(cmdtext, idx);
- weatherid = strval(tmp);
- if(!strlen(tmp))
- return SendClientMessage(playerid, 0xFFFFFFAA, "USE: /setweather [playerid|*] [weaherid]");
- if(todos == 1)
- {
- GetPlayerName(playerid, pname, sizeof pname);
- for(new i; i < MAX_PLAYERS; i++)SetPlayerWeather(i, weatherid);
- format(string, sizeof string , "O admin %s setou o clima de todos no server para %d.",
- pname, weatherid);
- SendClientMessageToAll(0xFFF000AA, string);
- } else {
- if(IsPlayerConnected(plid))
- {
- new pname2[0x100];
- GetPlayerName(playerid, pname, sizeof pname);
- GetPlayerName(plid, pname2, sizeof pname2);
- SetPlayerWeather(plid, weatherid);
- format(string, sizeof string , "O admin %s setou o clima de %s para %d.",
- pname, pname2, weatherid);
- SendClientMessageToAll(0xFFF000AA, string);
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Jogador n�o conectado!");
- }
- }
- return 1;
- }
- if(!strcmp(cmd, "/mutar", true) && admin[playerid] > 1)
- {
- new tmp[0x100], plid, todos, string[0x100], pname[0x100];
- tmp = strtok(cmdtext, idx);
- plid = strval(tmp);
- if(!strcmp(tmp, "?", true) && strlen(tmp))
- {
- SendClientMessage(playerid, 0xFF0000AA, "Ajuda sobre comando \"/mutar\":");
- SendClientMessage(playerid, 0xFFFFFFAA, "Use \"/mutar [playerid]\" para mutar algu�m.");
- SendClientMessage(playerid, 0xFFFFFFAA, "Use \"/mutar * \" (asterisco) para mutar todos \
- conectados ao server");
- SendClientMessage(playerid, 0xFFFFFFAA, "Use \"/desmutar\" para desmutar depois...");
- return 1;
- } else if(!strcmp(tmp, "*", true) && strlen(tmp))
- todos = 1;
- if(!strlen(tmp))
- return SendClientMessage(playerid, 0xFFFFFFAA, "USE: /mutar [playerid|*]");
- if(todos == 1)
- {
- GetPlayerName(playerid, pname, sizeof pname);
- for(new i; i < MAX_PLAYERS; i++)mutado[i] = true;
- format(string, sizeof string , "O admin %s mutou todos no server.", pname);
- SendClientMessageToAll(0xFFF000AA, string);
- } else {
- if(IsPlayerConnected(plid))
- {
- new pname2[0x100];
- GetPlayerName(playerid, pname, sizeof pname);
- GetPlayerName(plid, pname2, sizeof pname2);
- mutado[plid] = true;
- format(string, sizeof string , "O admin %s mutou %s.", pname, pname2);
- SendClientMessageToAll(0xFFF000AA, string);
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Jogador n�o conectado!");
- }
- }
- return 1;
- }
- if(!strcmp(cmd, "/desmutar", true) && admin[playerid] > 1)
- {
- new tmp[0x100], plid, todos, string[0x100], pname[0x100];
- tmp = strtok(cmdtext, idx);
- plid = strval(tmp);
- if(!strcmp(tmp, "?", true) && strlen(tmp))
- {
- SendClientMessage(playerid, 0xFF0000AA, "Ajuda sobre comando \"/desmutar\":");
- SendClientMessage(playerid, 0xFFFFFFAA, "Use \"/desmutar [playerid]\" para desmutar algu�m.");
- SendClientMessage(playerid, 0xFFFFFFAA, "Use \"/desmutar * \" (asterisco) para desmutar todos \
- conectados ao server");
- return 1;
- } else if(!strcmp(tmp, "*", true) && strlen(tmp))
- todos = 1;
- if(!strlen(tmp))
- return SendClientMessage(playerid, 0xFFFFFFAA, "USE: /desmutar [playerid|*]");
- if(todos == 1)
- {
- GetPlayerName(playerid, pname, sizeof pname);
- for(new i; i < MAX_PLAYERS; i++)mutado[i] = false;
- format(string, sizeof string , "O admin %s desmutou todos no server.", pname);
- SendClientMessageToAll(0xFFF000AA, string);
- } else {
- if(IsPlayerConnected(plid))
- {
- new pname2[0x100];
- GetPlayerName(playerid, pname, sizeof pname);
- GetPlayerName(plid, pname2, sizeof pname2);
- mutado[plid] = false;
- format(string, sizeof string , "O admin %s desmutou %s.", pname, pname2);
- SendClientMessageToAll(0xFFF000AA, string);
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Jogador n�o conectado!");
- }
- }
- return 1;
- }
- if(!strcmp(cmd, "/sethealth", true) && admin[playerid] > 1)
- {
- new tmp[0x100], plid, Float:health, todos, string[0x100], pname[0x100];
- tmp = strtok(cmdtext, idx);
- plid = strval(tmp);
- if(!strcmp(tmp, "?", true) && strlen(tmp))
- {
- SendClientMessage(playerid, 0xFF0000AA, "Ajuda sobre comando \"/sethealth\":");
- SendClientMessage(playerid, 0xFFFFFFAA, "Use \"/sethealth [playerid] [vida]\" para \
- mudar a vida de algu�m.");
- SendClientMessage(playerid, 0xFFFFFFAA, "Use \"/sethealth * [vida]\" (asterisco) para \
- mudar a vida de todos no server.");
- return 1;
- } else if(!strcmp(tmp, "*", true) && strlen(tmp))
- todos = 1;
- tmp = strtok(cmdtext, idx);
- health = floatstr(tmp);
- if(!strlen(tmp))
- return SendClientMessage(playerid, 0xFFFFFFAA, "USE: /sethealth [playerid|*] [vida]");
- if(todos == 1)
- {
- GetPlayerName(playerid, pname, sizeof pname);
- for(new i; i < MAX_PLAYERS; i++)SetPlayerHealth(i, health);
- if(health > 0.0)
- format(string, sizeof string , "O admin %s setou a vida de todos no server para %.1f.",
- pname, health);
- else
- format(string, sizeof string , "O admin %s matou todos no server.", pname);
- SendClientMessageToAll(0xFFF000AA, string);
- } else {
- if(IsPlayerConnected(plid))
- {
- new pname2[0x100];
- GetPlayerName(playerid, pname, sizeof pname);
- GetPlayerName(plid, pname2, sizeof pname2);
- SetPlayerHealth(plid, health);
- if(health > 0.0)
- format(string, sizeof string , "O admin %s setou a vida de %s para %.1f.",
- pname, pname2, health);
- else
- format(string, sizeof string , "O admin %s matou %s.",
- pname, pname2);
- SendClientMessageToAll(0xFFF000AA, string);
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Jogador n�o conectado!");
- }
- }
- return 1;
- }
- if(!strcmp(cmd, "/setarmour", true) && admin[playerid] > 1)
- {
- new tmp[0x100], plid, Float:armour, todos, string[0x100], pname[0x100];
- tmp = strtok(cmdtext, idx);
- plid = strval(tmp);
- if(!strcmp(tmp, "?", true) && strlen(tmp))
- {
- SendClientMessage(playerid, 0xFF0000AA, "Ajuda sobre comando \"/sethealth\":");
- SendClientMessage(playerid, 0xFFFFFFAA, "Use \"/setarmour [playerid] [quantia]\" para \
- setar o colete de algu�m.");
- SendClientMessage(playerid, 0xFFFFFFAA, "Use \"/setarmour * [quantia]\" (asterisco) para \
- setar o colete de todos no server.");
- return 1;
- } else if(!strcmp(tmp, "*", true) && strlen(tmp))
- todos = 1;
- tmp = strtok(cmdtext, idx);
- armour = floatstr(tmp);
- if(!strlen(tmp))
- return SendClientMessage(playerid, 0xFFFFFFAA, "USE: /sethealth [playerid|*] [quantia]");
- if(todos == 1)
- {
- GetPlayerName(playerid, pname, sizeof pname);
- for(new i; i < MAX_PLAYERS; i++)SetPlayerArmour(i, armour);
- if(armour > 0.0)
- format(string, sizeof string , "O admin %s setou o colete de todos no server para %.1f.",
- pname, armour);
- else
- format(string, sizeof string , "O admin %s tirou o colete de todos no server.", pname);
- SendClientMessageToAll(0xFFF000AA, string);
- } else {
- if(IsPlayerConnected(plid))
- {
- new pname2[0x100];
- GetPlayerName(playerid, pname, sizeof pname);
- GetPlayerName(plid, pname2, sizeof pname2);
- SetPlayerHealth(plid, armour);
- if(armour > 0.0)
- format(string, sizeof string , "O admin %s setou o colete de %s para %.1f.",
- pname, pname2, armour);
- else
- format(string, sizeof string , "O admin %s tirou o colete de %s.",
- pname, pname2);
- SendClientMessageToAll(0xFFF000AA, string);
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Jogador n�o conectado!");
- }
- }
- return 1;
- }
- if(!strcmp(cmd, "/givemoney", true) && admin[playerid] > 1)
- {
- new tmp[0x100], plid, grana, todos, string[0x100], pname[0x100];
- tmp = strtok(cmdtext, idx);
- plid = strval(tmp);
- if(!strcmp(tmp, "?", true) && strlen(tmp))
- {
- SendClientMessage(playerid, 0xFF0000AA, "Ajuda sobre comando \"/givemoney\":");
- SendClientMessage(playerid, 0xFFFFFFAA, "Use \"/givemoney [playerid] [quantia]\" para \
- dar/tirar grana para algu�m.");
- SendClientMessage(playerid, 0xFFFFFFAA, "Use \"/givemoney * [quantia]\" (asterisco) para \
- dar/tirar grana para todos no server.");
- return 1;
- } else if(!strcmp(tmp, "*", true) && strlen(tmp))
- todos = 1;
- tmp = strtok(cmdtext, idx);
- grana = strval(tmp);
- if(!strlen(tmp))
- return SendClientMessage(playerid, 0xFFFFFFAA, "USE: /givemoney [playerid|*] [quantia]");
- if(todos == 1)
- {
- GetPlayerName(playerid, pname, sizeof pname);
- if(grana > 0)
- {
- format(string, sizeof string , "O admin %s deu $%d para todos no server.",
- pname, grana);
- for(new i; i < MAX_PLAYERS; i++)GivePlayerMoney(i, grana);
- } else if(grana == 0)
- {
- format(string, sizeof string , "O admin %s resetou a grana de todos no server.", pname);
- for(new i; i < MAX_PLAYERS; i++)ResetPlayerMoney(i);
- } else if(grana < 0)
- {
- format(string, sizeof string , "O admin %s tirou $%d de todos no server.", pname, grana);
- for(new i; i < MAX_PLAYERS; i++)GivePlayerMoney(i, grana);
- }
- SendClientMessageToAll(0xFFF000AA, string);
- } else {
- if(IsPlayerConnected(plid))
- {
- new pname2[0x100];
- GetPlayerName(playerid, pname, sizeof pname);
- GetPlayerName(plid, pname2, sizeof pname2);
- if(grana > 0)
- {
- format(string, sizeof string , "O admin %s deu $%d para %s.",
- pname, grana, pname2);
- GivePlayerMoney(plid, grana);
- } else if(grana == 0)
- {
- format(string, sizeof string , "O admin %s resetou a grana %s.", pname, pname2);
- ResetPlayerMoney(plid);
- } else if(grana < 0)
- {
- format(string, sizeof string , "O admin %s tirou $%d de %s.", pname, grana, pname2);
- GivePlayerMoney(plid, grana);
- }
- SendClientMessageToAll(0xFFF000AA, string);
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Jogador n�o conectado!");
- }
- }
- return 1;
- }
- if(!strcmp(cmd, "/ejetar", true) && admin[playerid] > 1)
- {
- new tmp[0x100], plid, todos, string[0x100], pname[0x100];
- tmp = strtok(cmdtext, idx);
- plid = strval(tmp);
- if(!strcmp(tmp, "?", true) && strlen(tmp))
- {
- SendClientMessage(playerid, 0xFF0000AA, "Ajuda sobre comando \"/ejetar\":");
- SendClientMessage(playerid, 0xFFFFFFAA, "Use \"/ejetar [playerid]\" para ejetar algu�m .");
- SendClientMessage(playerid, 0xFFFFFFAA, "Use \"/ejetar * \" (asterisco) para ejetar todos \
- que est�o em um ve�culo");
- return 1;
- } else if(!strcmp(tmp, "*", true) && strlen(tmp))
- todos = 1;
- if(!strlen(tmp))
- return SendClientMessage(playerid, 0xFFFFFFAA, "USE: /ejetar [playerid|*]");
- if(todos == 1)
- {
- GetPlayerName(playerid, pname, sizeof pname);
- for(new i; i < MAX_PLAYERS; i++)RemovePlayerFromVehicle(i);
- format(string, sizeof string , "O admin %s ejetou todos que est�o em um ve�culo.", pname);
- SendClientMessageToAll(0xFFF000AA, string);
- } else {
- if(IsPlayerConnected(plid))
- {
- new pname2[0x100];
- GetPlayerName(playerid, pname, sizeof pname);
- GetPlayerName(plid, pname2, sizeof pname2);
- if(IsPlayerInAnyVehicle(plid))
- {
- RemovePlayerFromVehicle(plid);
- format(string, sizeof string , "O admin %s ejetou %s do ve�culo.", pname, pname2);
- SendClientMessageToAll(0xFFF000AA, string);
- } else {
- format(string, sizeof string, "%s n�o est� em um ve�culo!");
- SendClientMessage(playerid, 0xFF0000AA, string);
- }
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Jogador n�o conectado!");
- }
- }
- return 1;
- }
- if(!strcmp(cmd, "/giveweapon", true) && admin[playerid] > 2)
- {
- new tmp[0x100], plid, armaid, municao, todos, string[0x100], pname[0x100], armaname[0x100];
- tmp = strtok(cmdtext, idx);
- plid = strval(tmp);
- if(!strcmp(tmp, "?", true) && strlen(tmp))
- {
- SendClientMessage(playerid, 0xFF0000AA, "Ajuda sobre comando \"/giveweapon\":");
- SendClientMessage(playerid, 0xFFFFFFAA, "Use \"/giveweapon [playerid] [armaid] [munu��o]\" para \
- setar uma arma � algu�m.");
- SendClientMessage(playerid, 0xFFFFFFAA, "Use \"/giveweapon * [armaid] [mun��o]\" (asterisco) \
- para setar uma arma � todos no server.");
- return 1;
- } else if(!strcmp(tmp, "*", true) && strlen(tmp))
- todos = 1;
- tmp = strtok(cmdtext, idx);
- armaid = strval(tmp);
- tmp = strtok(cmdtext, idx);
- municao = strval(tmp);
- if(!strlen(tmp))
- return SendClientMessage(playerid, 0xFFFFFFAA, "USE: /giveweapon [playerid|*] [armaid] \
- [muni��o]");
- if(armaid < 1 || armaid > 46)
- return SendClientMessage(playerid, 0xFF0000AA, "Arma inv�lida!");
- GetWeaponName(armaid, armaname, sizeof armaname);
- if(todos == 1)
- {
- GetPlayerName(playerid, pname, sizeof pname);
- for(new i; i < MAX_PLAYERS; i++)GivePlayerWeapon(i, armaid, municao);
- format(string, sizeof string , "O admin %s deu a arma %s(%i) para todos no server.",
- pname, armaname, armaid);
- SendClientMessageToAll(0xFFF000AA, string);
- } else {
- if(IsPlayerConnected(plid))
- {
- new pname2[0x100];
- GetPlayerName(playerid, pname, sizeof pname);
- GetPlayerName(plid, pname2, sizeof pname2);
- GivePlayerWeapon(plid, armaid, municao);
- format(string, sizeof string , "O admin %s deu a arma %s(%i) para %s.",
- pname, armaname, armaid, pname2);
- SendClientMessageToAll(0xFFF000AA, string);
- } else {
- SendClientMessage(playerid, 0xFF0000AA, "Jogador n�o conectado!");
- }
- }
- return 1;
- }
- if(!strcmp(cmdtext, "/gmx", true) && admin[playerid] > 2)
- {
- SendClientMessageToAll(0xFF0000AA, "Reiniciando server...");
- SendRconCommand("gmx");
- return 1;
- }
- if(!strcmp(cmd, "/marcar", true))
- {
- new tmp[256];
- tmp = strtok(cmdtext, idx);
- new slot = strval(tmp);
- if(!strlen(tmp))return SendClientMessage(playerid, 0xFFFFFFFAA, "USE: /marcar [slot]");
- if(slot >= 1 && slot <= 100)
- {
- slot--;
- new Float:x, Float:y, Float:z, Float:a;
- if(IsPlayerInAnyVehicle(playerid))
- {
- GetVehiclePos(GetPlayerVehicleID(playerid), x, y, z);
- GetVehicleZAngle(GetPlayerVehicleID(playerid), a);
- } else {
- GetPlayerPos(playerid, x, y, z);
- GetPlayerFacingAngle(playerid, a);
- }
- gpos[playerid][slot][0] = x;
- gpos[playerid][slot][1] = y;
- gpos[playerid][slot][2] = z;
- gpos[playerid][slot][3] = a;
- SendClientMessage(playerid, 0xFFFFFFAA, "Salvo.");
- } else {
- SendClientMessage(playerid, 0xFFFFFFAA, "Slot inv�lido (1~100).");
- }
- return 1;
- }
- if(!strcmp(cmd, "/ir", true))
- {
- new tmp[256];
- tmp = strtok(cmdtext, idx);
- new slot = strval(tmp);
- if(!strlen(tmp))return SendClientMessage(playerid, 0xFFFFFFFAA, "USE: /ir [slot]");
- if(slot >= 1 && slot <= 100)
- {
- slot--;
- if(gpos[playerid][slot][0] != 0.0 && gpos[playerid][slot][1] != 0.0)
- {
- if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- {
- SetVehiclePos(GetPlayerVehicleID(playerid),
- gpos[playerid][slot][0],
- gpos[playerid][slot][1],
- gpos[playerid][slot][2]);
- SetVehicleZAngle(GetPlayerVehicleID(playerid), gpos[playerid][slot][3]);
- } else {
- SetPlayerPos(playerid,
- gpos[playerid][slot][0],
- gpos[playerid][slot][1],
- gpos[playerid][slot][2]);
- SetPlayerFacingAngle(playerid, gpos[playerid][slot][3]);
- }
- SendClientMessage(playerid, 0xFFFFFFAA, "Teleportado.");
- } else {
- SendClientMessage(playerid, 0xFFFFFFAA, "Slot vazio!");
- }
- } else {
- SendClientMessage(playerid, 0xFFFFFFAA, "Slot inv�lido (1~100).");
- }
- return 1;
- }
- return 0;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- new pname[0x100];
- GetPlayerName(playerid, pname, sizeof pname);
- format(pname, sizeof pname, "%s.brazilian.championship.cer", pname);
- requisitou[playerid] %= 5;
- requisitou[playerid]++;
- if(!dini_Exists(pname))
- {
- if(requisitou[playerid] < 2)
- SendClientMessage(playerid, 0xFAFAFAAA, "Registre-se antes de requisitar spawn!");
- return 0;
- } else if(dini_Exists(pname) && !logado[playerid])
- {
- if(requisitou[playerid] < 2)
- SendClientMessage(playerid, 0xFAFAFAAA, "Logue-se antes de requisitar spawn!");
- return 0;
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- for(new i = 0; i < sizeof(Objects); i++)
- {
- if(Player[playerid][view][i])
- {
- Player[playerid][view][i] = false;
- DestroyPlayerObject(playerid,Player[playerid][objid][i]);
- }
- }
- if(logado[playerid])
- {
- new pname[0x100];
- GetPlayerName(playerid, pname, sizeof pname);
- format(pname, sizeof pname, "%s.brazilian.championship.cer", pname);
- dini_IntSet(pname, "grana", GetPlayerMoney(playerid));
- dini_IntSet(pname, "score", GetPlayerScore(playerid));
- }
- if(playerinevento[playerid])
- {
- eventoplayers--;
- playerinevento[playerid] = false;
- cpatual[playerid] = 0;
- progresso[playerid] = 0;
- for(new s; s < 4; s++)playerpos[playerid][s] = 0.0;
- for(new s; s < 12; s++)
- {
- playerweapon[playerid][s] = 0;
- playerammo[playerid][s] = 0;
- }
- for(new i; i < MAX_PLAYERS; i++)
- {
- if(playersevento[i] == playerid)
- {
- playersevento[i] = -1;
- break;
- }
- }
- if(eventoatual == race1 || eventoatual == race2 || eventoatual == race3)
- {
- TextDrawDestroy(tdposicao[playerid]);
- TextDrawDestroy(tdappend[playerid]);
- EraseVehicle(playervehicle[playerid]);
- vehicleplayer[playervehicle[playerid]] = -1;
- playervehicle[playerid] = 0;
- }
- if(eventoplayers == 1)
- {
- new killerid;
- for(new i; i < MAX_PLAYERS; i++)
- {
- if(playerinevento[i])
- {
- killerid = i;
- break;
- }
- }
- new string[0x100], pname[MAX_PLAYER_NAME];
- GetPlayerName(killerid, pname, sizeof pname);
- format(string, sizeof string, "%s foi o vencedor do evento atual! ganhou $%d!",
- pname, recompensa);
- SendClientMessageToAll(0xFF0000AA, string);
- format(string, sizeof string, "~g~%s ~h~~h~venceu!", pname);
- GameTextForAll(string, 4000, 1);
- SendClientMessageToAll(0xFF0000AA, "O evento foi encerrado.");
- queminiciou = -1;
- if(eventoatual == dm1)
- {
- if(logado[killerid])
- {
- new pname2[0x100];
- GetPlayerName(killerid, pname2, sizeof pname2);
- format(pname2, sizeof pname2, "%s.brazilian.championship.cer", pname2);
- dini_IntSet(pname2, "dm1wins", dini_Int(pname2, "dm1wins")+1);
- }
- }
- if(eventoatual == race1 || eventoatual == race2 || eventoatual == race3)
- {
- TextDrawHideForPlayer(killerid, tdtempo);
- TextDrawHideForPlayer(killerid, tdappend[killerid]);
- TextDrawHideForPlayer(killerid, tdposicao[killerid]);
- TextDrawHideForPlayer(killerid, tdpilotos);
- TextDrawSetString(tdtempo, "0:00");
- DisablePlayerRaceCheckpoint(killerid);
- TextDrawDestroy(tdposicao[killerid]);
- TextDrawDestroy(tdappend[killerid]);
- EraseVehicle(playervehicle[killerid]);
- vehicleplayer[playervehicle[killerid]] = -1;
- playervehicle[killerid] = 0;
- cpatual[killerid] = 0;
- progresso[killerid] = 0;
- for(new i; i < sizeof cps_race1; i++)cps_race1[i][3] = 0.0;
- for(new i; i < sizeof cps_race2; i++)cps_race2[i][3] = 0.0;
- for(new i; i < sizeof cps_race3; i++)cps_race3[i][3] = 0.0;
- }
- for(new i; i < MAX_PLAYERS; i++)
- {
- playersevento[i] = -1;
- playerinevento[i] = false;
- cpatual[i] = 0;
- }
- eventoplayers = 0;
- eventoatual = -1;
- eventoiniciado = false;
- SetCameraBehindPlayer(killerid);
- ResetPlayerWeapons(killerid);
- SetPlayerHealth(killerid, playerhealth[killerid][0]);
- SetPlayerArmour(killerid, playerhealth[killerid][1]);
- for(new s; s < 12; s++)
- {
- GivePlayerWeapon(killerid, playerweapon[killerid][s],
- playerammo[killerid][s]);
- playerweapon[killerid][s] = 0;
- playerammo[killerid][s] = 0;
- }
- GivePlayerMoney(killerid, recompensa);
- SetPlayerScore(killerid, GetPlayerScore(killerid)+1);
- if(logado[killerid])
- {
- new pname2[0x100];
- GetPlayerName(killerid, pname2, sizeof pname);
- format(pname2, sizeof pname2, "%s.brazilian.championship.cer", pname2);
- dini_IntSet(pname2, "grana", GetPlayerMoney(killerid));
- dini_IntSet(pname2, "score", GetPlayerScore(killerid));
- }
- recompensa = 0;
- eventorodando = false;
- eventomaxplayers = 0;
- }
- if(eventoatual == race1 || eventoatual == race2 || eventoatual == race3)
- {
- if(eventoplayers < 1)
- {
- SendClientMessageToAll(0xFF0000AA, "O evento foi encerrado.");
- queminiciou = -1;
- TextDrawSetString(tdtempo, "0:00");
- eventorodando = false;
- eventomaxplayers = 0;
- eventoiniciado = false;
- KillTimer(timetimer);
- for(new i; i < MAX_PLAYERS; i++)
- {
- playersevento[i] = -1;
- playerinevento[i] = false;
- cpatual[i] = 0;
- }
- DisablePlayerRaceCheckpoint(playerid);
- TextDrawDestroy(tdposicao[playerid]);
- TextDrawDestroy(tdappend[playerid]);
- EraseVehicle(playervehicle[playerid]);
- vehicleplayer[playervehicle[playerid]] = -1;
- playervehicle[playerid] = 0;
- }
- }
- }
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- if(playerinevento[playerid])
- {
- eventoplayers--;
- playerinevento[playerid] = false;
- cpatual[playerid] = 0;
- progresso[playerid] = 0;
- SendClientMessage(playerid, 0xFF0000AA, "Voc� perdeu o evento!");
- if(eventoatual == race1 || eventoatual == race2 || eventoatual == race3)
- {
- TextDrawHideForPlayer(playerid, tdtempo);
- TextDrawHideForPlayer(playerid, tdappend[playerid]);
- TextDrawHideForPlayer(playerid, tdposicao[playerid]);
- TextDrawHideForPlayer(playerid, tdpilotos);
- DisablePlayerRaceCheckpoint(playerid);
- TextDrawDestroy(tdposicao[playerid]);
- TextDrawDestroy(tdappend[playerid]);
- EraseVehicle(playervehicle[playerid]);
- vehicleplayer[playervehicle[playerid]] = -1;
- playervehicle[playerid] = 0;
- }
- SetPlayerPos(playerid, playerpos[playerid][0],
- playerpos[playerid][1], playerpos[playerid][2]);
- for(new s; s < 4; s++)playerpos[playerid][s] = 0.0;
- SetPlayerFacingAngle(playerid, playerpos[playerid][3]);
- SetCameraBehindPlayer(playerid);
- ResetPlayerWeapons(playerid);
- SetPlayerHealth(playerid, playerhealth[playerid][0]);
- SetPlayerArmour(playerid, playerhealth[playerid][1]);
- for(new s; s < 2; s++)playerhealth[playerid][s] = 0.0;
- for(new s; s < 12; s++)
- {
- GivePlayerWeapon(playerid, playerweapon[playerid][s],
- playerammo[playerid][s]);
- playerweapon[playerid][s] = 0;
- playerammo[playerid][s] = 0;
- }
- for(new i; i < MAX_PLAYERS; i++)
- {
- if(playersevento[i] == playerid)
- {
- playersevento[i] = -1;
- break;
- }
- }
- if(eventoplayers == 1)
- {
- for(new i; i < MAX_PLAYERS; i++)
- {
- if(playerinevento[i])
- {
- killerid = i;
- break;
- }
- }
- new string[0x100], pname[MAX_PLAYER_NAME];
- GetPlayerName(killerid, pname, sizeof pname);
- format(string, sizeof string, "%s foi o vencedor do evento atual! ganhou $%d!",
- pname, recompensa);
- SendClientMessageToAll(0xFF0000AA, string);
- format(string, sizeof string, "~g~%s ~h~~h~venceu!", pname);
- GameTextForAll(string, 4000, 1);
- SendClientMessageToAll(0xFF0000AA, "O evento foi encerrado.");
- queminiciou = -1;
- if(eventoatual == dm1)
- {
- if(logado[killerid])
- {
- new pname2[0x100];
- GetPlayerName(killerid, pname2, sizeof pname2);
- format(pname2, sizeof pname2, "%s.brazilian.championship.cer", pname2);
- dini_IntSet(pname2, "dm1wins", dini_Int(pname2, "dm1wins")+1);
- }
- }
- if(eventoatual == race1 || eventoatual == race2 || eventoatual == race3)
- {
- TextDrawHideForPlayer(killerid, tdtempo);
- TextDrawHideForPlayer(killerid, tdappend[killerid]);
- TextDrawHideForPlayer(killerid, tdposicao[killerid]);
- TextDrawHideForPlayer(killerid, tdpilotos);
- TextDrawSetString(tdtempo, "0:00");
- DisablePlayerRaceCheckpoint(killerid);
- TextDrawDestroy(tdposicao[killerid]);
- TextDrawDestroy(tdappend[killerid]);
- EraseVehicle(playervehicle[killerid]);
- vehicleplayer[playervehicle[killerid]] = -1;
- playervehicle[killerid] = 0;
- cpatual[killerid] = 0;
- progresso[killerid] = 0;
- for(new i; i < sizeof cps_race1; i++)cps_race1[i][3] = 0.0;
- for(new i; i < sizeof cps_race2; i++)cps_race2[i][3] = 0.0;
- for(new i; i < sizeof cps_race3; i++)cps_race3[i][3] = 0.0;
- }
- for(new i; i < MAX_PLAYERS; i++)
- {
- playersevento[i] = -1;
- playerinevento[i] = false;
- cpatual[i] = 0;
- }
- eventoplayers = 0;
- eventoatual = -1;
- eventoiniciado = false;
- SetPlayerPos(killerid, playerpos[killerid][0],
- playerpos[killerid][1], playerpos[killerid][2]);
- for(new s; s < 4; s++)playerpos[killerid][s] = 0.0;
- SetPlayerFacingAngle(killerid, playerpos[killerid][3]);
- SetCameraBehindPlayer(killerid);
- ResetPlayerWeapons(killerid);
- SetPlayerHealth(killerid, playerhealth[killerid][0]);
- SetPlayerArmour(killerid, playerhealth[killerid][1]);
- for(new s; s < 2; s++)playerhealth[killerid][s] = 0.0;
- for(new s; s < 12; s++)
- {
- GivePlayerWeapon(killerid, playerweapon[killerid][s],
- playerammo[killerid][s]);
- playerweapon[killerid][s] = 0;
- playerammo[killerid][s] = 0;
- }
- GivePlayerMoney(killerid, recompensa);
- SetPlayerScore(killerid, GetPlayerScore(killerid)+1);
- if(logado[killerid])
- {
- new pname2[0x100];
- GetPlayerName(killerid, pname2, sizeof pname2);
- format(pname2, sizeof pname2, "%s.brazilian.championship.cer", pname2);
- dini_IntSet(pname2, "grana", GetPlayerMoney(killerid));
- dini_IntSet(pname2, "score", GetPlayerScore(killerid));
- }
- recompensa = 0;
- eventorodando = false;
- eventomaxplayers = 0;
- }
- if(eventoatual == race1 || eventoatual == race2 || eventoatual == race3)
- {
- if(eventoplayers < 1)
- {
- SendClientMessageToAll(0xFF0000AA, "O evento foi encerrado.");
- queminiciou = -1;
- TextDrawSetString(tdtempo, "0:00");
- eventorodando = false;
- eventomaxplayers = 0;
- eventoiniciado = false;
- KillTimer(timetimer);
- for(new i; i < MAX_PLAYERS; i++)
- {
- playersevento[i] = -1;
- playerinevento[i] = false;
- cpatual[i] = 0;
- }
- }
- TextDrawHideForPlayer(playerid, tdtempo);
- TextDrawHideForPlayer(playerid, tdappend[playerid]);
- TextDrawHideForPlayer(playerid, tdposicao[playerid]);
- TextDrawHideForPlayer(playerid, tdpilotos);
- DisablePlayerRaceCheckpoint(playerid);
- TextDrawDestroy(tdposicao[playerid]);
- TextDrawDestroy(tdappend[playerid]);
- EraseVehicle(playervehicle[playerid]);
- vehicleplayer[playervehicle[playerid]] = -1;
- playervehicle[playerid] = 0;
- }
- }
- return 1;
- }
- public OnVehicleDeath(vehicleid)
- {
- if((vehicleplayer[vehicleid] > -1) && playerinevento[vehicleplayer[vehicleid]])
- OnPlayerDeath(vehicleplayer[vehicleid], INVALID_PLAYER_ID, 0);
- return 1;
- }
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- if(IsPlayerInAnyVehicle(playerid) && GetVehicleModel(GetPlayerVehicleID(playerid)) == 411 &&
- playerinevento[playerid])
- {
- progresso[playerid]++;
- if(eventoatual == race1)
- {
- cps_race1[progresso[playerid]-1][3]++;
- posicao[playerid] = floatround(cps_race1[progresso[playerid]-1][3], floatround_floor);
- } else if(eventoatual == race2)
- {
- cps_race2[progresso[playerid]-1][3]++;
- posicao[playerid] = floatround(cps_race2[progresso[playerid]-1][3], floatround_floor);
- } else if(eventoatual == race3)
- {
- cps_race3[progresso[playerid]-1][3]++;
- posicao[playerid] = floatround(cps_race3[progresso[playerid]-1][3], floatround_floor);
- }
- new tmp[5];
- format(tmp, sizeof tmp, "%d", posicao[playerid]);
- TextDrawSetString(tdposicao[playerid], tmp);
- if((eventoatual == race1 && cpatual[playerid] >= 0 && cpatual[playerid] < 30))
- {
- SetPlayerRaceCheckpoint(playerid, 0,
- cps_race1[cpatual[playerid]+1][0],
- cps_race1[cpatual[playerid]+1][1],
- cps_race1[cpatual[playerid]+1][2],
- cps_race1[cpatual[playerid]+2][0],
- cps_race1[cpatual[playerid]+2][1],
- cps_race1[cpatual[playerid]+2][2], 8.0);
- cpatual[playerid]++;
- } else if((eventoatual == race2 && cpatual[playerid] >= 0 && cpatual[playerid] < 32))
- {
- SetPlayerRaceCheckpoint(playerid, 0,
- cps_race2[cpatual[playerid]+1][0],
- cps_race2[cpatual[playerid]+1][1],
- cps_race2[cpatual[playerid]+1][2],
- cps_race2[cpatual[playerid]+2][0],
- cps_race2[cpatual[playerid]+2][1],
- cps_race2[cpatual[playerid]+2][2], 8.0);
- cpatual[playerid]++;
- } else if((eventoatual == race3 && cpatual[playerid] >= 0 && cpatual[playerid] < 27))
- {
- SetPlayerRaceCheckpoint(playerid, 0,
- cps_race3[cpatual[playerid]+1][0],
- cps_race3[cpatual[playerid]+1][1],
- cps_race3[cpatual[playerid]+1][2],
- cps_race3[cpatual[playerid]+2][0],
- cps_race3[cpatual[playerid]+2][1],
- cps_race3[cpatual[playerid]+2][2], 8.0);
- cpatual[playerid]++;
- } else if((eventoatual == race1 && cpatual[playerid] == 30))
- {
- SetPlayerRaceCheckpoint(playerid, 1,
- cps_race1[cpatual[playerid]+1][0],
- cps_race1[cpatual[playerid]+1][1],
- cps_race1[cpatual[playerid]+1][2],
- 0, 0, 0, 8.0);
- cpatual[playerid] = 31;
- } else if((eventoatual == race2 && cpatual[playerid] == 32))
- {
- SetPlayerRaceCheckpoint(playerid, 1,
- cps_race2[cpatual[playerid]+1][0],
- cps_race2[cpatual[playerid]+1][1],
- cps_race2[cpatual[playerid]+1][2],
- 0, 0, 0, 8.0);
- cpatual[playerid] = 33;
- } else if((eventoatual == race3 && cpatual[playerid] == 27))
- {
- SetPlayerRaceCheckpoint(playerid, 1,
- cps_race3[cpatual[playerid]+1][0],
- cps_race3[cpatual[playerid]+1][1],
- cps_race3[cpatual[playerid]+1][2],
- 0, 0, 0, 8.0);
- cpatual[playerid] = 28;
- } else if((eventoatual == race1 && cpatual[playerid] == 31) ||
- (eventoatual == race2 && cpatual[playerid] == 33) ||
- (eventoatual == race3 && cpatual[playerid] == 28))
- {
- new string[0x100], pname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pname, sizeof pname);
- eventoplayers--;
- EraseVehicle(playervehicle[playerid]);
- vehicleplayer[playervehicle[playerid]] = -1;
- playervehicle[playerid] = 0;
- playerinevento[playerid] = false;
- SetCameraBehindPlayer(playerid);
- ResetPlayerWeapons(playerid);
- SetPlayerHealth(playerid, playerhealth[playerid][0]);
- SetPlayerArmour(playerid, playerhealth[playerid][1]);
- for(new s; s < 2; s++)playerhealth[playerid][s] = 0.0;
- for(new s; s < 12; s++)
- {
- GivePlayerWeapon(playerid, playerweapon[playerid][s],
- playerammo[playerid][s]);
- playerweapon[playerid][s] = 0;
- playerammo[playerid][s] = 0;
- }
- for(new i; i < MAX_PLAYERS; i++)
- {
- if(playersevento[i] == playerid)
- {
- playersevento[i] = -1;
- break;
- }
- }
- if(posicao[playerid] != 1)
- {
- lugares++;
- new tempo, timestamp, msegundos;
- timestamp = GetTickCount();
- tempo = (corridastarttempo != 0) ? (timestamp - corridastarttempo) : (0);
- minutos = floatround(floatdiv(tempo, 60000), floatround_tozero);
- segundos = floatround(floatmul(floatdiv(tempo, 60000) - minutos, 60), floatround_tozero);
- msegundos = floatround(floatmul(floatmul(floatdiv(tempo,
- 60000) - minutos, 60) - segundos, 1000), floatround_tozero);
- gindex = 0;
- while (segundos > 9)
- {
- segundos -= 0xA;
- gindex++;
- }
- new msec[0xA];
- if(msegundos < 10)format(msec, sizeof msec, "000%d", msegundos);
- if(msegundos > 9 && msegundos < 100)format(msec, sizeof msec, "00%d", msegundos);
- if(msegundos > 99 && msegundos < 1000)format(msec, sizeof msec, "0%d", msegundos);
- if(msegundos == 1000)format(msec, sizeof msec, "%d", msegundos);
- new pname2[0x100];
- GetPlayerName(playerid, pname2, sizeof pname);
- format(pname2, sizeof pname2, "%s.brazilian.championship.cer", pname2);
- if(logado[playerid])
- {
- if(eventoatual == race1)
- {
- if(dini_Int(pname2, "race1bestscore") == 0)
- dini_IntSet(pname2, "race1bestscore", tempo);
- else if(tempo < dini_Int(pname2, "race1bestscore"))
- dini_IntSet(pname2, "race1bestscore", tempo);
- } else if(eventoatual == race2)
- {
- if(dini_Int(pname2, "race2bestscore") == 0)
- dini_IntSet(pname2, "race2bestscore", tempo);
- else if(tempo < dini_Int(pname2, "race2bestscore"))
- dini_IntSet(pname2, "race2bestscore", tempo);
- } else if(eventoatual == race3)
- {
- if(dini_Int(pname2, "race3bestscore") == 0)
- dini_IntSet(pname2, "race3bestscore", tempo);
- else if(tempo < dini_Int(pname2, "race3bestscore"))
- dini_IntSet(pname2, "race3bestscore", tempo);
- }
- }
- format(string, sizeof string, "%s terminou em %d� lugar a corrida (%d:%d%d:%s).",
- pname, posicao[playerid], minutos, gindex, segundos, msec);
- SendClientMessageToAll(0xFFF000AA, string);
- TextDrawHideForPlayer(playerid, tdtempo);
- TextDrawHideForPlayer(playerid, tdappend[playerid]);
- TextDrawHideForPlayer(playerid, tdposicao[playerid]);
- TextDrawHideForPlayer(playerid, tdpilotos);
- TextDrawDestroy(tdposicao[playerid]);
- TextDrawDestroy(tdappend[playerid]);
- cpatual[playerid] = 0;
- progresso[playerid] = 0;
- if(lugares == eventoplayers)
- {
- SendClientMessageToAll(0xFF0000AA, "O evento foi encerrado.");
- queminiciou = -1;
- TextDrawSetString(tdtempo, "0:00");
- eventoatual = -1;
- eventorodando = false;
- eventomaxplayers = 0;
- eventoiniciado = false;
- KillTimer(timetimer);
- for(new i; i < MAX_PLAYERS; i++)
- {
- playersevento[i] = -1;
- playerinevento[i] = false;
- cpatual[i] = 0;
- progresso[i] = 0;
- }
- for(new i; i < sizeof cps_race1; i++)cps_race1[i][3] = 0.0;
- }
- } else if(posicao[playerid])
- {
- new tempo, timestamp, msegundos;
- timestamp = GetTickCount();
- tempo = (corridastarttempo != 0) ? (timestamp - corridastarttempo) : (0);
- minutos = floatround(floatdiv(tempo, 60000), floatround_tozero);
- segundos = floatround(floatmul(floatdiv(tempo, 60000) - minutos, 60), floatround_tozero);
- msegundos = floatround(floatmul(floatmul(floatdiv(tempo,
- 60000) - minutos, 60) - segundos, 1000), floatround_tozero);
- gindex = 0;
- while (segundos > 9)
- {
- segundos -= 0xA;
- gindex++;
- }
- new msec[0xA];
- if(msegundos < 10)format(msec, sizeof msec, "000%d", msegundos);
- if(msegundos > 9 && msegundos < 100)format(msec, sizeof msec, "00%d", msegundos);
- if(msegundos > 99 && msegundos < 1000)format(msec, sizeof msec, "0%d", msegundos);
- if(msegundos == 1000)format(msec, sizeof msec, "%d", msegundos);
- new pname2[0x100];
- GetPlayerName(playerid, pname2, sizeof pname);
- format(pname2, sizeof pname2, "%s.brazilian.championship.cer", pname2);
- if(logado[playerid])
- {
- if(eventoatual == race1)
- {
- dini_IntSet(pname2, "race1wins", dini_Int(pname2, "race1wins")+1);
- if(dini_Int(pname2, "race1bestscore") == 0)
- dini_IntSet(pname2, "race1bestscore", tempo);
- else if(tempo < dini_Int(pname2, "race1bestscore"))
- dini_IntSet(pname2, "race1bestscore", tempo);
- } else if(eventoatual == race2)
- {
- dini_IntSet(pname2, "race2wins", dini_Int(pname2, "race2wins")+1);
- if(dini_Int(pname2, "race2bestscore") == 0)
- dini_IntSet(pname2, "race2bestscore", tempo);
- else if(tempo < dini_Int(pname2, "race2bestscore"))
- dini_IntSet(pname2, "race2bestscore", tempo);
- } else if(eventoatual == race3)
- {
- dini_IntSet(pname2, "race3wins", dini_Int(pname2, "race3wins")+1);
- if(dini_Int(pname2, "race3bestscore") == 0)
- dini_IntSet(pname2, "race3bestscore", tempo);
- else if(tempo < dini_Int(pname2, "race3bestscore"))
- dini_IntSet(pname2, "race3bestscore", tempo);
- }
- }
- format(string, sizeof string, "%s terminou em 1� lugar a corrida (%d:%d%d:%s)!",
- pname, minutos, gindex, segundos, msec);
- SendClientMessageToAll(0xFFF000AA, string);
- GivePlayerMoney(playerid, recompensa);
- SetPlayerScore(playerid, GetPlayerScore(playerid)+1);
- if(logado[playerid])
- {
- dini_IntSet(pname, "grana", GetPlayerMoney(playerid));
- dini_IntSet(pname, "score", GetPlayerScore(playerid));
- }
- recompensa = 0;
- lugares = 1;
- cpatual[playerid] = 0;
- progresso[playerid] = 0;
- TextDrawHideForPlayer(playerid, tdtempo);
- TextDrawHideForPlayer(playerid, tdappend[playerid]);
- TextDrawHideForPlayer(playerid, tdposicao[playerid]);
- TextDrawHideForPlayer(playerid, tdpilotos);
- TextDrawDestroy(tdposicao[playerid]);
- TextDrawDestroy(tdappend[playerid]);
- if(lugares == eventoplayers+1)
- {
- SendClientMessageToAll(0xFF0000AA, "O evento foi encerrado.");
- queminiciou = -1;
- TextDrawSetString(tdtempo, "0:00");
- eventorodando = false;
- eventomaxplayers = 0;
- eventoiniciado = false;
- KillTimer(timetimer);
- for(new i; i < MAX_PLAYERS; i++)
- {
- playersevento[i] = -1;
- playerinevento[i] = false;
- cpatual[i] = 0;
- progresso[i] = 0;
- }
- for(new i; i < sizeof cps_race1; i++)cps_race1[i][3] = 0.0;
- }
- }
- DisablePlayerRaceCheckpoint(playerid);
- }
- new Float:x, Float:y, Float:z;
- GetPlayerPos(playerid, x, y, z);
- PlayerPlaySound(playerid, 1137, x, y, z);
- }
- return 1;
- }
- public IniciarEvento()
- {
- SendClientMessageToAll(0xFF0000AA, "Tempo de entrada do evento esgotado.");
- if(eventoatual == dm1)
- {
- if(eventoplayers > 1)
- {
- eventorodando = true;
- SendClientMessageToAll(0xFF0000AA, "Iniciando evento em 10 segundos...");
- SetTimer("CountDown", 1000, 0);
- } else {
- SendClientMessageToAll(0xFF0000AA, "N�o houve jogadores o bastante para come�ar o evento... \
- cancelado.");
- eventoplayers = 0;
- eventoatual = -1;
- eventoiniciado = false;
- queminiciou = -1;
- for(new i; i < MAX_PLAYERS; i++)
- {
- if(playersevento[i] > -1)
- {
- TogglePlayerControllable(playersevento[i], 1);
- SetPlayerPos(playersevento[i], playerpos[playersevento[i]][0],
- playerpos[playersevento[i]][1], playerpos[playersevento[i]][2]);
- for(new s; s < 4; s++)playerpos[playersevento[i]][s] = 0.0;
- SetPlayerFacingAngle(playersevento[i], playerpos[playersevento[i]][3]);
- SetCameraBehindPlayer(playersevento[i]);
- ResetPlayerWeapons(playersevento[i]);
- for(new s; s < 12; s++)
- {
- GivePlayerWeapon(playersevento[i], playerweapon[playersevento[i]][s],
- playerammo[playersevento[i]][s]);
- playerweapon[playersevento[i]][s] = 0;
- playerammo[playersevento[i]][s] = 0;
- }
- SetPlayerHealth(playersevento[i], playerhealth[playersevento[i]][0]);
- SetPlayerArmour(playersevento[i], playerhealth[playersevento[i]][1]);
- for(new s; s < 2; s++)playerhealth[playersevento[i]][s] = 0.0;
- }
- }
- for(new i; i < MAX_PLAYERS; i++)
- {
- playersevento[i] = -1;
- playerinevento[i] = false;
- }
- recompensa = 0;
- eventorodando = false;
- eventomaxplayers = 0;
- }
- } else if(eventoatual == race1 || eventoatual == race2 || eventoatual == race3)
- {
- if(eventoplayers > 0)
- {
- eventorodando = true;
- eventocount = 0x5;
- SendClientMessageToAll(0xFF0000AA, "Iniciando corrida em 5 segundos...");
- SetTimer("CountDown", 1000, 0);
- } else {
- SendClientMessageToAll(0xFF0000AA, "N�o houve nenhum jogador para come�ar o evento... \
- cancelado.");
- recompensa = 0;
- eventorodando = false;
- eventomaxplayers = 0;
- eventoplayers = 0;
- eventoatual = -1;
- eventoiniciado = false;
- queminiciou = -1;
- }
- }
- }
- public CountDown()
- {
- new string[0xF];
- if(eventocount > 0)
- {
- format(string, sizeof string, "~r~%d", eventocount);
- for(new i; i < MAX_PLAYERS; i++)
- {
- if(playersevento[i] > -1)
- {
- PlayerPlaySound(playersevento[i], 1056, 0.0, 0.0, 0.0);
- GameTextForPlayer(playersevento[i], string, 1000, 3);
- }
- }
- eventocount--;
- SetTimer("CountDown", 1000, 0);
- } else {
- for(new i; i < MAX_PLAYERS; i++)
- {
- if(playersevento[i] > -1)
- {
- GameTextForPlayer(playersevento[i], "~g~JA!", 1000, 3);
- TogglePlayerControllable(playersevento[i], 1);
- PlayerPlaySound(playersevento[i], 1057, 0.0, 0.0, 0.0);
- if(eventoatual == race1 || eventoatual == race2 || eventoatual == race3)
- {
- corridastarttempo = GetTickCount();
- timetimer = SetTimer("AtualizarTempo", 1000, 1);
- }
- }
- }
- eventocount = 0xA;
- }
- }
- public AtualizarTempo()
- {
- new tempo, timestamp;
- timestamp = GetTickCount();
- tempo = (corridastarttempo != 0) ? (timestamp - corridastarttempo) : (0);
- minutos = floatround(floatdiv(tempo, 60000), floatround_tozero);
- segundos = floatround(floatmul(floatdiv(tempo, 60000) - minutos, 60), floatround_tozero);
- gindex = 0;
- while (segundos > 9)
- {
- segundos -= 0xA;
- gindex++;
- }
- new tmp[0xA];
- format(tmp, sizeof tmp, "%d:%d%d", minutos, gindex, segundos);
- TextDrawSetString(tdtempo, tmp);
- }
- public Timer()
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- if(IsPlayerConnected(i))
- PlayerObjectUpdate(i);
- }
- public SetPlayerPosWithObjects(playerid,Float:x,Float:y,Float:z)
- {
- for(new i = 0; i < sizeof(Objects); i++)
- {
- if(!Player[playerid][view][i])
- {
- if(IsInReach(x,y,z,Objects[i][ox],Objects[i][oy],Objects[i][oz],Objects[i][viewdist]))
- {
- Player[playerid][view][i] = true;
- Player[playerid][objid][i] = CreatePlayerObject(playerid,Objects[i][modelid],Objects[i][ox],
- Objects[i][oy],Objects[i][oz],Objects[i][orx],Objects[i][ory],Objects[i][orz]);
- }
- } else if(!IsInReach(x,y,z,Objects[i][ox],Objects[i][oy],Objects[i][oz],Objects[i][viewdist]))
- {
- Player[playerid][view][i] = false;
- DestroyPlayerObject(playerid,Player[playerid][objid][i]);
- }
- }
- SetPlayerPos(playerid,Float:x,Float:y,Float:z);
- }
- public TempoComandoPlayer(playerid)
- {
- podeiniciar[playerid] = true;
- KillTimer(playertimer[playerid]);
- }
- public VehRes(vehicleid)
- return DestroyVehicle(vehicleid);
- public OnPlayerSpawn(playerid)
- PlayerObjectUpdate(playerid);
- stock PlayerObjectUpdate(playerid)
- {
- new Float:pos[3];
- GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
- for(new i = 0; i < sizeof(Objects); i++)
- {
- if(!Player[playerid][view][i])
- {
- if(IsInReach(pos[0],pos[1],pos[2],Objects[i][ox],Objects[i][oy],Objects[i][oz],
- Objects[i][viewdist]))
- {
- Player[playerid][view][i] = true;
- Player[playerid][objid][i] = CreatePlayerObject(playerid,Objects[i][modelid],
- Objects[i][ox],Objects[i][oy],Objects[i][oz],Objects[i][orx],Objects[i][ory],
- Objects[i][orz]);
- }
- } else if(!IsInReach(pos[0],pos[1],pos[2],Objects[i][ox],Objects[i][oy],Objects[i][oz],
- Objects[i][viewdist]))
- {
- Player[playerid][view][i] = false;
- DestroyPlayerObject(playerid,Player[playerid][objid][i]);
- }
- }
- }
- stock EraseVehicle(vehicleid)
- {
- for(new i; i < MAX_PLAYERS; i++)
- {
- new Float:x, Float:y, Float:z;
- if(IsPlayerInVehicle(i, vehicleid))
- {
- GetPlayerPos(i, x, y, z);
- SetPlayerPos(i, x, y, z + 0x2);
- SetVehicleToRespawn(vehicleid);
- if(playerinevento[i] && (eventoatual == race1 || eventoatual == race2 || eventoatual == race3))
- {
- SetPlayerPos(i, playerpos[i][0], playerpos[i][1], playerpos[i][2]);
- SetPlayerFacingAngle(i, playerpos[i][3]);
- for(new s; s < 4; s++)playerpos[i][s] = 0.0;
- vehicleplayer[playervehicle[i]] = -1;
- playervehicle[i] = 0;
- }
- }
- SetVehicleParamsForPlayer(vehicleid, i, 0x0, 0x1);
- }
- SetTimerEx("VehRes", 0xBB8, 0x0, "i", vehicleid);
- }
- stock isnumeric(const string[])
- {
- for (new i = 0, j = strlen(string); i < j; i++)
- {
- if (string[i] > '9' || string[i] < '0') return 0;
- }
- return 1;
- }
Add Comment
Please, Sign In to add comment