їCуmo meter йste FS al GM?
#1

Bueno, tengo un FS que lo que hace es que al chocar, el jugador pierda vida, pero lo tengo en FS, y quisiera meterlo al GM, uso el de LARP.

pawn Код:
#include <a_samp>
#define FILTERSCRIPT

#define COLOR_PURPLE 0xC2A2DAAA

forward ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5);
forward Velocidad(playerid);
forward Check(playerid);
forward Rojo(playerid);
forward Camara(playerid);

new Timer[MAX_PLAYERS];
new TRojo[MAX_PLAYERS];
new TCamara[MAX_PLAYERS];
new Choque[MAX_PLAYERS];
new Si[MAX_PLAYERS];
new Text: FlashR;
enum Info
{
    Manejando,
};
new Informacion[MAX_PLAYERS][Info];

public OnPlayerSpawn(playerid)
{
    FlashR = TextDrawCreate(1.000000,1.000000,"_");
    TextDrawTextSize(FlashR,640.000000,10.000000);
    TextDrawLetterSize(FlashR,3.600000,47.600010);
    TextDrawUseBox(FlashR,1);
    TextDrawAlignment(FlashR,0);
    TextDrawFont(FlashR,3);
    TextDrawSetOutline(FlashR,1);
    TextDrawSetProportional(FlashR,1);
    TextDrawSetShadow(FlashR,1);
    TextDrawBackgroundColor(FlashR,0xD20000FF);
    TextDrawColor(FlashR,0xD20000FF);
    TextDrawBoxColor(FlashR,0xD20000FF);
    Timer[playerid] = SetTimerEx("Check", 100, 1, "i", playerid);
    Informacion[playerid][Manejando] = 0;
}

public OnPlayerDisconnect(playerid)
{
    KillTimer(Timer[playerid]);
    KillTimer(Choque[playerid]);
    Informacion[playerid][Manejando] = 0;
    return 1;
}

public Velocidad(playerid)
{
    new Float:Vx, Float:Vy, Float:Vz;
    if(IsPlayerInAnyVehicle(playerid) && Informacion[playerid][Manejando])
    {
        GetVehicleVelocity(GetPlayerVehicleID(playerid), Vx, Vy, Vz);
        if(Vx > -0.1 && Vx < 0.1 && Vy > -0.1 && Vy < 0.1)
        {
            new Float:Vida;
            GetPlayerHealth(playerid, Vida);
            SetPlayerHealth(playerid, Vida-25.0);
            SetPlayerDrunkLevel(playerid, 500000);
            TextDrawShowForPlayer(playerid, FlashR);
            Informacion[playerid][Manejando] = 0;
            new String[256];
            new Nombre[MAX_PLAYER_NAME];
            GetPlayerName(playerid,Nombre,sizeof(Nombre));
            format(String, sizeof(String), "* %s choca contra algo y queda mareado.", Nombre);
            ProxDetector(30.0, playerid, String, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
            TRojo[playerid] = SetTimerEx("Rojo", 250, 1, "i", playerid);
            TCamara[playerid] = SetTimerEx("Camara", 10000, 1, "i", playerid);
        }
    }
    return 1;
}

public Rojo(playerid)
{
    TextDrawHideForPlayer(playerid, FlashR);
    return 1;
}

public Camara(playerid)
{
    KillTimer(TCamara[playerid]);
    SetPlayerDrunkLevel(playerid, 0);
    return 1;
}

public Check(playerid)
{
    new Float:Cx, Float:Cy, Float:Cz;
    if(IsPlayerInAnyVehicle(playerid))
    {
        GetVehicleVelocity(GetPlayerVehicleID(playerid), Cx, Cy, Cz);
        if(Cx < -0.4 || Cx > 0.4 || Cy < -0.4 || Cy > 0.4 && !Informacion[playerid][Manejando])
        {
            Choque[playerid] = SetTimerEx("Velocidad", 25, 1, "i", playerid);
            Informacion[playerid][Manejando] = 1;
        }
        else
        {
            KillTimer(Choque[playerid]);
            Informacion[playerid][Manejando] = 0;
        }
    }
    return 1;
}


public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
{
    if(IsPlayerConnected(playerid))
    {
        new Float:posx, Float:posy, Float:posz;
        new Float:oldposx, Float:oldposy, Float:oldposz;
        new Float:tempposx, Float:tempposy, Float:tempposz;
        GetPlayerPos(playerid, oldposx, oldposy, oldposz);
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i) && (GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i)))
            {
                if(!Si[i])
                {
                    GetPlayerPos(i, posx, posy, posz);
                    tempposx = (oldposx -posx);
                    tempposy = (oldposy -posy);
                    tempposz = (oldposz -posz);
                    if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
                    {
                        SendClientMessage(i, col1, string);
                    }
                    else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
                    {
                        SendClientMessage(i, col2, string);
                    }
                    else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
                    {
                        SendClientMessage(i, col3, string);
                    }
                    else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
                    {
                        SendClientMessage(i, col4, string);
                    }
                    else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
                    {
                        SendClientMessage(i, col5, string);
                    }
                }
                else
                {
                    SendClientMessage(i, col1, string);
                }
            }
        }
    }
    return 1;
}
+rep a los que me ayuden.

Ademбs йste sistema estб muy bueno, lo pueden usar para su servidor.
Reply
#2

Es fбcil solo hay que ir acomodando

esto va arriva del Gm

Quote:

#include <a_samp>
#define FILTERSCRIPT //<<<< quitas esto

#define COLOR_PURPLE 0xC2A2DAAA

forward ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5);
forward Velocidad(playerid);
forward Check(playerid);
forward Rojo(playerid);
forward Camara(playerid);

new Timer[MAX_PLAYERS];
new TRojo[MAX_PLAYERS];
new TCamara[MAX_PLAYERS];
new Choque[MAX_PLAYERS];
new Si[MAX_PLAYERS];
new Text: FlashR;
enum Info
{
Manejando,
};
new Informacion[MAX_PLAYERS][Info];

en el gm

buscas esto

Quote:

public OnPlayerSpawn(playerid)
public OnPlayerDisconnect(playerid)

& los demбs publics colуcalos abajo de los public que estбn en la etiqueta

osea esto

Quote:

public OnPlayerDisconnect(playerid)

& sino pasame tu gm & yo los acomodo
Reply
#3

Listo, ya te lo pasй, lo que sн, no vuelvas a definir el COLOR_PURPLE, porque en el GM como en el FS, el COLOR_PURPLE es el mismo, ya que lo adaptй justamente para el GM.
Reply
#4

enviado
Reply
#5

Gracias, ya te dн reputaciуn.
Reply
#6

Quote:
Originally Posted by DeadSkyTkb
Посмотреть сообщение
Gracias, ya te dн reputaciуn.
Gracias
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)