Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- - Filterscript criado por ProKillerPa(Gabriel Buttenbender)
- * MAP MANAGER, SEUS MAPAS MAIS FÁCEIS
- >>> Faça bom uso, retirar créditos é CRIME!
- */
- #include a_samp
- #include zcmd
- #include DOF2
- new Str[256],
- LocalMapas[256]
- ;
- new Float:XHunterX,
- Float:YHunterY,
- Float:ZHunterZ,
- FirstPremio,
- SecondPremio,
- Mapa[20]
- ;
- new JaTemGanhador = 0;
- new Text:TelaObscura;
- new GuardaCarregadas;
- new HunterPego[MAX_PLAYERS],
- PegaMoney[MAX_PLAYERS]
- ;
- new Rank01[MAX_PLAYERS],
- Rank02[MAX_PLAYERS],
- Rank03[MAX_PLAYERS]
- ;
- new Float:MyPosX[MAX_PLAYERS],
- Float:MyPosY[MAX_PLAYERS],
- Float:MyPosZ[MAX_PLAYERS]
- ;
- new Armazena;
- enum TEnum
- {
- NameMap[20], // Altere 20 pelas caracteres do nome do mapa ( Peque o Mapa com o nome maior e conte suas caracteres e altere pelo 20! )
- Float:HunterPosX,
- Float:HunterPosY,
- Float:HunterPosZ,
- Creditos[30],
- PrimeiroLugar,
- SegundoLugar,
- bool:RespawnLiberado,
- bool:ModoEspectador,
- TempoLoading,
- TempoTotal,
- CallbackObjectsXD[60],
- CallbackCarrosXD[60]
- }
- // - Ordem: Nome do Mapa / Coord. X Hunter / Coord. Y Hunter / Coord. Z Hunter / Criador do Mapa / Premio 1° Lugar / Premio 2° Lugar / Respawn Livre / Modo Espectador / Tempo Carregando[Para mapas grandes, + Tempo] // Callback que armazena Objetos
- new MapConfig[3][TEnum] = {
- {"Nome Mapa 01", 000.000, -0.000, 000.000, "ProKillerPa 01", 1000, 500, true, true, 5000, 180000, "ObjetosMapa01", "CarrosMapa01"},
- {"Nome Mapa 02", 000.000, -0.000, 000.000, "ProKillerPa 02", 600, 200, true, true, 2000, 200000, "ObjetosMapa02", "CarrosMapa02"},
- {"Nome Mapa 03", 000.000, -0.000, 000.000, "ProKillerPa 03", 800, 700, false, true, 5000, 320000, "ObjetosMapa03", "CarrosMapa03"}
- };
- forward ConfigMap(NomeMapa[], Float:HunterX, Float:HunterY, Float:HunterZ, PremioFirst, PremioSecond, bool:RespawnLivre, bool:Spectating, TempoParaIniciar, TempoMapa, Criador[], CallbackObjects[], CallbackCarros[]);
- forward LiberarMapa();
- main(){}
- public OnGameModeInit(){
- new EscolherMap = random(4), PKPstr[100];
- format(PKPstr, 200, "[LOG] O Mapa %s foi executado! Criador: %s", MapConfig[EscolherMap][NameMap],MapConfig[EscolherMap][Creditos]);
- printf("%s", PKPstr);
- ConfigMap(MapConfig[EscolherMap][NameMap], MapConfig[EscolherMap][HunterPosX], MapConfig[EscolherMap][HunterPosY], MapConfig[EscolherMap][HunterPosZ], MapConfig[EscolherMap][PrimeiroLugar], MapConfig[EscolherMap][SegundoLugar], MapConfig[EscolherMap][RespawnLiberado], MapConfig[EscolherMap][ModoEspectador], MapConfig[EscolherMap][TempoLoading], MapConfig[EscolherMap][TempoTotal], MapConfig[EscolherMap][Creditos], MapConfig[EscolherMap][CallbackObjectsXD],MapConfig[EscolherMap][CallbackCarrosXD]);
- TelaObscura = TextDrawCreate(-30.000000, -5.000000, "TelaPreta");
- TextDrawBackgroundColor(TelaObscura, 255);
- TextDrawFont(TelaObscura, 1);
- TextDrawLetterSize(TelaObscura, 0.700000, 53.099998);
- TextDrawColor(TelaObscura, -1);
- TextDrawSetOutline(TelaObscura, 0);
- TextDrawSetProportional(TelaObscura, 1);
- TextDrawSetShadow(TelaObscura, 1);
- TextDrawUseBox(TelaObscura, 1);
- TextDrawBoxColor(TelaObscura, 255);
- TextDrawTextSize(TelaObscura, 650.000000, 30.000000);
- return 1;
- }
- public OnPlayerUpdate(playerid){
- if(IsPlayerInRangeOfPoint(playerid, 2.0, Float:XHunterX, Float:YHunterY, Float:ZHunterZ)){
- if(HunterPego[playerid] == 1) return 1; //
- if(JaTemGanhador == 0){
- JaTemGanhador++;
- PegaMoney[playerid] = GetPlayerMoney(playerid);
- GivePlayerMoney(playerid, PegaMoney[playerid] + FirstPremio);
- format(Str, sizeof(Str), "{FFFF00}| {FF0000}INFO {FFFF00}| {BEBEBE} Você recebeu %d,00 por ser o primeiro a finalizar o mapa! Parabéns!!!", FirstPremio);
- SendClientMessage(playerid, -1, Str);
- HunterPego[playerid] = 1;
- PegaMoney[playerid] = 0;
- new NomeGanhador[MAX_PLAYER_NAME];
- GetPlayerName(playerid, NomeGanhador, sizeof(NomeGanhador));
- format(LocalMapas, sizeof(LocalMapas), "Mapas Rodados/%s.ini", Mapa);
- if(!strcmp("Nenhum", DOF2_GetString(LocalMapas, "Rank 01"), true)){
- DOF2_SetString(LocalMapas, "Rank 01", NomeGanhador);
- DOF2_SaveFile();
- }
- }
- else if(JaTemGanhador == 1){
- JaTemGanhador++;
- PegaMoney[playerid] = GetPlayerMoney(playerid);
- GivePlayerMoney(playerid, PegaMoney[playerid] + SecondPremio);
- format(Str, sizeof(Str), "{FFFF00}| {FF0000}INFO {FFFF00}| {BEBEBE} Você recebeu %d,00 por ser o primeiro a finalizar o mapa! Parabéns!!!", SecondPremio);
- SendClientMessage(playerid, -1, Str);
- HunterPego[playerid] = 1;
- PegaMoney[playerid] = 0;
- new NomeGanhador[MAX_PLAYER_NAME];
- GetPlayerName(playerid, NomeGanhador, sizeof(NomeGanhador));
- if(!strcmp("Nenhum", DOF2_GetString(LocalMapas, "Rank 02"), true)){
- DOF2_SetString(LocalMapas, "Rank 02", NomeGanhador);
- DOF2_SaveFile();
- }
- }
- }
- else if(JaTemGanhador >= 2){
- PegaMoney[playerid] = GetPlayerMoney(playerid);
- GivePlayerMoney(playerid, PegaMoney[playerid] + 100);
- format(Str, sizeof(Str), "{FFFF00}| {FF0000}INFO {FFFF00}| {BEBEBE} Você recebeu 100,00 por ser o primeiro a finalizar o mapa! Parabéns!!!", SecondPremio);
- SendClientMessage(playerid, -1, Str);
- HunterPego[playerid] = 1;
- PegaMoney[playerid] = 0;
- new NomeGanhador[MAX_PLAYER_NAME];
- GetPlayerName(playerid, NomeGanhador, sizeof(NomeGanhador));
- if(!strcmp("Nenhum", DOF2_GetString(LocalMapas, "Rank 03"), true)){
- DOF2_SetString(LocalMapas, "Rank 03", NomeGanhador);
- DOF2_SaveFile();
- }
- }
- return 1;
- }
- new FormatObject[100];
- forward CarregarObjetos(CallbackObjects);
- public CarregarObjetos(CallbackObjects){
- if(!strcmp("ObjetosMapa01", FormatObject, true)){
- //Adicione Objetos Aqui
- }
- else if(!strcmp("ObjetosMapa02", FormatObject, true)){
- //Adicione Objetos Aqui
- }
- else if(!strcmp("ObjetosMapa03", FormatObject, true)){
- //Adicione Objetos Aqui
- }
- else print("Houve um ERRO interno de script, verifique novamente as alterações no mapa!");
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys){
- if ((newkeys==KEY_SECONDARY_ATTACK)){ // Pressionou F
- // Colocar player dentro do carro!
- SetPlayerHealth(playerid, 0);
- }
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason){
- if(Armazena == 1){
- TogglePlayerSpectating(playerid, 1);
- PlayerSpectatePlayer(playerid, killerid);
- }
- return 1;
- }
- forward CarregarCarros(CallbackCarros);
- public CarregarCarros(CallbackCarros){
- if(!strcmp("CarrosMapa01", FormatObject, true)){
- //Adicione Carros Aqui
- AddStaticVehicle(555, 000.0000, 000.0000, 00.0000, 000.0000, 1, -1);
- }
- else if(!strcmp("CarrosMapa02", FormatObject, true)){
- //Adicione Carros Aqui
- AddStaticVehicle(555, 000.0000, 000.0000, 00.0000, 000.0000, 1, -1);
- }
- else if(!strcmp("CarrosMapa03", FormatObject, true)){
- //Adicione Carros Aqui
- AddStaticVehicle(555, 000.0000, 000.0000, 00.0000, 000.0000, 1, -1);
- }
- else print("Houve um ERRO interno de script, verifique novamente as alterações no mapa!");
- }
- public ConfigMap(NomeMapa[], Float:HunterX, Float:HunterY, Float:HunterZ, PremioFirst, PremioSecond, bool:RespawnLivre, bool:Spectating, TempoParaIniciar, TempoMapa, Criador[], CallbackObjects[], CallbackCarros[]){
- format(Str, sizeof(Str), "{FFFF00}|{FF0000} MAPA {FFFF00}| {BEBEBE}O Mapa{FFFF00} %s está {BEBEBE}carregando componentes, aguarde alguns instantes para seu inicio!");
- SendClientMessageToAll(-1, Str);
- XHunterX = HunterX;
- YHunterY = HunterY;
- ZHunterZ = HunterZ;
- if(Spectating == true){
- Armazena = 1;
- }
- else if(Spectating == false){
- Armazena = 2;
- }
- FirstPremio = PremioFirst;
- SecondPremio = PremioSecond;
- format( Mapa, 50, "%s", NomeMapa );
- format(FormatObject, 100, "%s", CallbackObjects);
- //format(GuardaSpect, 10, "%s", Spectating);
- SetTimerEx("CarregarObjetos", 3000, false,"i", CallbackObjects);
- SetTimerEx("CarregarCarros", 5000, false,"i", CallbackCarros);
- format(LocalMapas, sizeof(LocalMapas), "Mapas Rodados/%s.ini", NomeMapa);
- if(!DOF2_FileExists(LocalMapas)){
- DOF2_CreateFile(LocalMapas);
- DOF2_SetString(LocalMapas, "Nome do Mapa", NomeMapa);
- DOF2_SetFloat(LocalMapas, "Coord. HunterX", HunterX);
- DOF2_SetFloat(LocalMapas, "Coord. HunterY", HunterY);
- DOF2_SetFloat(LocalMapas, "Coord. Hunterz", HunterZ);
- DOF2_SetInt(LocalMapas, "Premio 1°Colocado", PremioFirst);
- DOF2_SetInt(LocalMapas, "Premio 2°Colocado", PremioSecond);
- DOF2_SetBool(LocalMapas, "Respawn Liberado", RespawnLivre);
- DOF2_SetBool(LocalMapas, "Assistir Livre", Spectating);
- DOF2_SetInt(LocalMapas, "Tempo Carregando", TempoParaIniciar);
- DOF2_SetInt(LocalMapas, "Tempo Total do Mapa", TempoMapa);
- DOF2_SetInt(LocalMapas, "Vezes Utilizado", 1);
- DOF2_SetString(LocalMapas, "Rank 01", "Ninguem");
- DOF2_SetString(LocalMapas, "Rank 02", "Ninguem");
- DOF2_SetString(LocalMapas, "Rank 03", "Ninguem");
- DOF2_SaveFile();
- printf("O Mapa >> %s << foi salvo na pasta %s!", NomeMapa, LocalMapas);
- }
- else {
- GuardaCarregadas = DOF2_GetInt(LocalMapas, "Vezes Utilizado");
- GuardaCarregadas++;
- DOF2_SetInt(LocalMapas, "Vezes Utilizado", GuardaCarregadas);
- DOF2_SaveFile();
- GuardaCarregadas = 0;
- }
- for(new i; i < GetMaxPlayers(); i++){
- if(IsPlayerConnected(i)){
- TextDrawShowForPlayer(i, TelaObscura); // Loading Map...
- TogglePlayerControllable(i, false);
- HunterPego[i] = 0;
- }
- }
- SetTimer("LiberarMapa", TempoParaIniciar, false);
- SetTimer("FinalizarMapa", TempoMapa, false);
- return 1;
- }
- forward FinalizarMapa();
- public FinalizarMapa(){
- for(new i; i < GetMaxPlayers(); i++){
- TextDrawShowForPlayer(i, TelaObscura);
- }
- SendClientMessageToAll(-1, "{FFFF00}| {FF0000}MAPA{FFFF00} | {BEBEBE}Aguarde, outro mapa está sendo carregado!");
- new EscolherMap = random(4), PKPstr[100];
- format(PKPstr, 200, "[LOG] O Mapa %s foi executado! Criador: %s", MapConfig[EscolherMap][NameMap],MapConfig[EscolherMap][Creditos]);
- printf("%s", PKPstr);
- ConfigMap(MapConfig[EscolherMap][NameMap], MapConfig[EscolherMap][HunterPosX], MapConfig[EscolherMap][HunterPosY], MapConfig[EscolherMap][HunterPosZ], MapConfig[EscolherMap][PrimeiroLugar], MapConfig[EscolherMap][SegundoLugar], MapConfig[EscolherMap][RespawnLiberado], MapConfig[EscolherMap][ModoEspectador], MapConfig[EscolherMap][TempoLoading], MapConfig[EscolherMap][TempoTotal], MapConfig[EscolherMap][Creditos], MapConfig[EscolherMap][CallbackObjectsXD],MapConfig[EscolherMap][CallbackCarrosXD]);
- return 1;
- }
- public LiberarMapa(){
- for(new i; i < GetMaxPlayers(); i++){
- if(IsPlayerConnected(i)){
- TextDrawHideForPlayer(i, TelaObscura);
- }
- }
- LiberarCorrida();
- }
- forward LiberarCorrida();
- public LiberarCorrida(){
- for(new i; i < GetMaxPlayers(); i++){
- TogglePlayerControllable(i, true);
- }
- SendClientMessageToAll(-1, "{FFFF00}| {FF0000}MAPA {FFFF00}| {BEBEBE}O Mapa foi carregado com sucesso, carros liberados!");
- Contar(3);
- return 1;
- }
- forward Contar(AteQuanto);
- public Contar(AteQuanto){
- if(AteQuanto == 0) return GameTextForAll("Go Go Go!", 1000, 2);
- if(AteQuanto == 3){
- GameTextForAll("3", 1000, 2);
- Contar(2);
- }
- else if(AteQuanto == 2){
- GameTextForAll("2", 1000, 2);
- Contar(1);
- }
- else if(AteQuanto == 1){
- GameTextForAll("1", 1000, 2);
- Contar(0);
- }
- return 1;
- }
- CMD:ranking(playerid){
- format(Str, sizeof(Str), "Mapas Rodados/%s.ini", Mapa);
- Rank01[playerid] = DOF2_GetInt(Str, "Rank 01");
- Rank02[playerid] = DOF2_GetInt(Str, "Rank 02");
- Rank03[playerid] = DOF2_GetInt(Str, "Rank 03");
- new EguinhaMijuleta[128];
- format(EguinhaMijuleta, sizeof(EguinhaMijuleta), "{BEBEBE}Rank 01: {FFFF00}%s\n{BEBEBE}Rank 02: {FFFF00}%s\n{BEBEBE}Rank 03: {FFFF00}%s", Rank01[playerid], Rank02[playerid], Rank03[playerid]);
- SendClientMessage(playerid, -1, EguinhaMijuleta);
- return 1;
- }
- CMD:salvarpos(playerid){
- GetPlayerPos(playerid, MyPosX[playerid], MyPosY[playerid], MyPosZ[playerid]);
- SetPlayerPos(playerid, MyPosX[playerid], MyPosY[playerid], MyPosZ[playerid]);
- GetPlayerVelocity(playerid, MyPosX[playerid], MyPosY[playerid], MyPosZ[playerid]);
- SetPlayerVelocity(playerid, MyPosX[playerid], MyPosY[playerid], MyPosZ[playerid]);
- SendClientMessage(playerid, -1, "{FFFF00}|{FF0000} INFO {FFFF00}| {BEBEBE} Posição salva com sucesso!");
- return 1;
- }
- CMD:carregarpos(playerid){
- SetPlayerPos(playerid, MyPosX[playerid], MyPosY[playerid], MyPosZ[playerid]);
- SetPlayerVelocity(playerid, MyPosX[playerid], MyPosY[playerid], MyPosZ[playerid]);
- SendClientMessage(playerid, -1, "{FFFF00}|{FF0000} INFO {FFFF00}| {BEBEBE}Posição carregada com sucesso!");
- new CarroUsado;
- CarroUsado = GetPlayerVehicleID(playerid);
- AddVehicleComponent(CarroUsado, 1010);
- return 1;
- }
- //printf("%s, %f.%f.%f, %d, %d, %s, %s, %d", NomeMapa, HunterX, HunterY, HunterZ, PremioFirst, PremioSecond, RespawnLivre, Spectating, Tempo); // TEST
Advertisement
Add Comment
Please, Sign In to add comment