[FilterScript] Basurero 2 personas
#1

Hola amigos. Realice un filterscript por pedido de un usuario.

Se trata de un trabajo de basurero para dos personas.

Caracterнsticas:
  • Debe de tener el Skin 50 para poder trabajar
  • Deben de estar en el mismo vehнculo (Basurero) para empezar el trabajo
  • Se marca un checkpoint a los dos jugador de la basura mas cercana a su posiciуn
  • Cuando termine de revisar una basura, se le marcara otro checkpoint de la basura mas cercana
  • Al revisar la basura, se le darб aleatoriamente una cantidad de dinero a los dos jugador (100$ mбximo)[Esta parte es rara, pero asн lo pidiу]
  • No tiene HQ ni vehiculos, tu tienes agregarlos por tu cuenta
  • Puedes aсadirle tus propias restricciones para que funcione con el sistema de trabajo que tenga tu gm.
Para agregar mas puntos de basura usa la funciуn que cree:
pawn Код:
CrearBasura(Float:X, Float:Y, Float:Z)
Donde X, Y, Z son las coordenadas de la basura, se tiene que agregar en OnFilterScriptInit()

Los ejemplos que coloque son estos:
pawn Код:
CrearBasura(411.3767, -1463.5654, 30.6637);
    CrearBasura(423.5184, -1568.1147, 27.5688);
    CrearBasura(435.6256, -1601.5014, 25.4765);
    CrearBasura(487.7834, -1645.3548, 23.7031);
    CrearBasura(515.1145, -1706.8461, 12.5314);
    CrearBasura(468.1481, -1729.4348, 10.6985);
    CrearBasura(350.2008, -1765.1225, 5.3103 );
    CrearBasura(339.8854, -1772.7329, 5.1661 );
    CrearBasura(303.0834, -1731.0209, 4.4575 );
Puedes borrarlos y crear unos nuevos.


Comandos:
  • /Basurero <ID> | Empieza a trabajar de basurero con un amigo
  • /SalirBasura | Deja de trabajar de basurero
  • /VerBasura | Revisa la basura en la que te encuentras
Para poder compilar este FS necesitas la librerнa de YSI, el include/plugin sscanf2 y el include/plugin streamer.

YSI(3.1): https://sampforum.blast.hk/showthread.php?tid=321092 (NO utilizar la 4.0 BETA)
sscanf2: https://sampforum.blast.hk/showthread.php?tid=120356
streamer: https://sampforum.blast.hk/showthread.php?tid=102865


Mini-Guнa: Pasar este FS a un GM
Esta mini-guнa os explicare como pasarlo a u gm cualquiera.

Primero, tenemos que colocar los includes y las definiciones junto con las variables al inicio del gm.
Claro esta que si el gm ya tiene un include puesto, no copiarlo.

pawn Код:
#include <YSI\y_commands>
#include <YSI\y_colors>
#include <YSI\y_va>
#include <sscanf2>
#include <streamer>

#define MAX_RUTAS 1
#define MAX_BASURAS 10

new Float:Basura[MAX_BASURAS][3];
new BasuraO[MAX_BASURAS][5];
new BasuraCP[MAX_BASURAS];
new EnCP[MAX_PLAYERS];
new BasuraID = 0;
new Amigo[MAX_PLAYERS];
new bool:Conductor[MAX_PLAYERS];
new bool:Pasajero[MAX_PLAYERS];
Despuйs, copiamos todo lo que este entre las lineas 20 y 169(FS sin modificaciones) y lo copiamos al final de nuestro gm.

Para continuar, tenemos que copiar el contenidos de nuestro callbacks (public) y pasarlos a los callbacks de tu gm. Por ejemplo:

pawn Код:
public OnPlayerDisconnect(playerid, reason)
{
    if(Conductor[playerid] != false)
    {
        Conductor[playerid] = false;
        Pasajero[Amigo[playerid]] = false;
        Msg(Amigo[playerid], X11_GRAY, "Tu amigo(%d) se ha desconectado", playerid);
        for(new x = 0; x < BasuraID; x++)
        {
            TogglePlayerDynamicCP(playerid, BasuraCP[x], false);
            TogglePlayerDynamicCP(Amigo[playerid], BasuraCP[x], false);
        }
        Amigo[Amigo[playerid]] = -1;
        Amigo[playerid] = -1;
    }
    if(Pasajero[playerid] != false)
    {
        Pasajero[playerid] = false;
        Conductor[Amigo[playerid]] = false;
        Msg(Amigo[playerid], X11_GRAY, "Tu amigo(%d) se ha desconectado", playerid);
        for(new x = 0; x < BasuraID; x++)
        {
            TogglePlayerDynamicCP(playerid, BasuraCP[x], false);
            TogglePlayerDynamicCP(Amigo[playerid], BasuraCP[x], false);
        }
        Amigo[Amigo[playerid]] = -1;
        Amigo[playerid] = -1;
    }
    return 1;
}
Como verбn, tenemos que copiar desde if(Conductor[playerid] != false) hasta una linea antes del ultimo return 1; es decir, esto:
pawn Код:
if(Conductor[playerid] != false)
    {
        Conductor[playerid] = false;
        Pasajero[Amigo[playerid]] = false;
        Msg(Amigo[playerid], X11_GRAY, "Tu amigo(%d) se ha desconectado", playerid);
        for(new x = 0; x < BasuraID; x++)
        {
            TogglePlayerDynamicCP(playerid, BasuraCP[x], false);
            TogglePlayerDynamicCP(Amigo[playerid], BasuraCP[x], false);
        }
        Amigo[Amigo[playerid]] = -1;
        Amigo[playerid] = -1;
    }
    if(Pasajero[playerid] != false)
    {
        Pasajero[playerid] = false;
        Conductor[Amigo[playerid]] = false;
        Msg(Amigo[playerid], X11_GRAY, "Tu amigo(%d) se ha desconectado", playerid);
        for(new x = 0; x < BasuraID; x++)
        {
            TogglePlayerDynamicCP(playerid, BasuraCP[x], false);
            TogglePlayerDynamicCP(Amigo[playerid], BasuraCP[x], false);
        }
        Amigo[Amigo[playerid]] = -1;
        Amigo[playerid] = -1;
    }
Repetir este mismo proceso para el resto de callbakc.

PD: Si no encuentras el callback (por ejemplo OnPlayerLeaveDynamicCP) tendras que copiarlo desde el public hasta la ultima llave }

PD.2: El contenido de OnFilterScriptExit() y OnFilterScriptInit() va dentro de OnGameModeExit() y OnGameModeInit() respectivamente.



Solo aclaro dudas sobre el fs, bugs y demбs en este tema.
Este fs esta creado para que funcione en cualquier gamemode que no inhabilite ninguna de las funciones del mismo.

Por favor, no suban este FS a otro gestor de descargas.

Por favor, no publicar otras versiones de este mismo FS

Si encuentran algъn bug o tienen alguna recomendaciуn, no duden en decнrmela


[ame]www.youtube.com/watch?v=4UGPKivJ-co[/ame]
Vнdeo de como hice el filterscript
https://www.youtube.com/watch?v=hm1p4Lm17lY <- Este no le interesa a nadie
Reply


Messages In This Thread
Basurero 2 personas - by Nicolas_Castillo - 30.06.2014, 21:37
Respuesta: Basurero 2 personas - by juandiegox - 30.06.2014, 22:01
Respuesta: Basurero 2 personas - by Nicolas_Castillo - 30.06.2014, 22:04
Respuesta: Basurero 2 personas - by juandiegox - 30.06.2014, 22:10
Respuesta: Basurero 2 personas - by Nicolas_Castillo - 30.06.2014, 23:23
Respuesta: Basurero 2 personas - by juandiegox - 01.07.2014, 00:01
Re: Basurero 2 personas - by lucotaku1 - 01.07.2014, 00:12
Respuesta: Basurero 2 personas - by Nicolas_Castillo - 01.07.2014, 00:42
Respuesta: Basurero 2 personas - by Shura - 01.07.2014, 03:12
Respuesta: Basurero 2 personas - by Nicolas_Castillo - 01.07.2014, 04:57

Forum Jump:


Users browsing this thread: 2 Guest(s)