Szerző Téma: Csak rendõr skin tudja használni  (Megtekintve 657 alkalommal)

Csak rendõr skin tudja használni
« Dátum: 2014. július 06. - 10:44:47 »
0 Show voters
Sziasztok.Van egy traffipax scriptem.Annyi gomdom van vele hogy mindenki le tudja rakni a traffit.Azt szeretném hogy csak azok tudják lerakni akik rendõr skin-be vannak.Meg esetleg meg lehetne oldani hogy 1 rendõr 1 traffit tudjon csak lerakni?. Rendõr skinek:281, 282, 283.Ennyit elég ha beleírtok.Többit folytatom.Köszi. Kód:
 
#include a_samp
#include zcmd
#include sscanf2
#define MAX_TRAFI 200
//----------------------------------------SZÍNEK----------------------------------------//
#define ZOLD 0x03b01aAA
#define SARGA 0xeefa00AA
#define NARANCSS 0xf0a400AA
#define PIROS 0xe60000AA
enum tInfo
{
        Van,
        Object,
        Birsag,
        Maxsebesseg,
        Gyorshajtasok,
        Float: PosX,
        Float: PosY,
        Float: PosZ,
        Float: Fordulas
};
new TrafiInfo[MAX_TRAFI][tInfo];
forward TrafiEllenor();
public OnFilterScriptInit()
{
        SetTimer(\"TrafiEllenor\", 2000, true);
        return 1;
}
CMD:tlerak(playerid, params[])
{
        new string[128];
        if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, PIROS, \"Kocsiból nem rakhatod le.\");
        if(sscanf(params, \"dd\", TrafiInfo[tInfo][Maxsebesseg])) return SendClientMessage(playerid, PIROS, \"Használat: /tlerak [max sebesség]\");
        for(new trafi; trafi < MAX_TRAFI; trafi++)
        {
            if(TrafiInfo[trafi][Van] == 0)
            {
            GetPlayerPos(playerid, TrafiInfo[tInfo][PosX], TrafiInfo[tInfo][PosY], TrafiInfo[tInfo][PosZ]);
            GetPlayerFacingAngle(playerid, TrafiInfo[tInfo][Fordulas]);
                TrafiInfo[tInfo][Object] = CreateObject(2921, TrafiInfo[tInfo][PosX], TrafiInfo[tInfo][PosY], TrafiInfo[tInfo][PosZ]-1, 0.0, 0.0, TrafiInfo[trafi][Fordulas]);
            TrafiInfo[tInfo][Van] = 1;
            TrafiInfo[tInfo][Gyorshajtasok] = 0;
                format(string, sizeof(string), \"Max sebesség: %d\", TrafiInfo[tInfo][Maxsebesseg]);
            SendClientMessage(playerid, SARGA, \"Leraktál egy trafipaxot.\");
            SendClientMessage(playerid, ZOLD, string);
            break;
            }
        }
        return 1;
}
CMD:tfelszed(playerid)
{
        new string[128], Float:x, Float:y, Float:z;
        for(new trafi; trafi < MAX_TRAFI; trafi++)
        {
            if(TrafiInfo[trafi][Van] == 1)
            {
                        GetObjectPos(TrafiInfo[tInfo][Object], x, y, z);
                        if(IsPlayerInRangeOfPoint(playerid, 3.0, x, y, z))
                        {
                        DestroyObject(TrafiInfo[trafi][Object]);
                        format(string, sizeof(string), \"ID: %d | Gyorshajtások: %d | Bírságok összege: $%d\", trafi, TrafiInfo[trafi][Gyorshajtasok], TrafiInfo[trafi][Gyorshajtasok]*TrafiInfo[trafi][birsag]);
                        TrafiInfo[trafi][Van] = 0;
                        TrafiInfo[trafi][PosX] = 0;
                        TrafiInfo[trafi][PosY] = 0;
                        TrafiInfo[trafi][PosZ] = 0;
                        TrafiInfo[trafi][Fordulas] = 0;
                    SendClientMessage(playerid, SARGA, \"Felszedtél egy trafipaxot.\");
                    SendClientMessage(playerid, ZOLD, string);
                        break;
                        }
            }
        }
        return 1;
}
CMD:tfelszedall(playerid)
{
        for(new trafi; trafi < MAX_TRAFI; trafi++)
        {
                DestroyObject(TrafiInfo[tInfo][Object]);
                TrafiInfo[tInfo][Van] = 0;
                TrafiInfo[tInfo][PosX] = 0;
                TrafiInfo[tInfo][PosY] = 0;
                TrafiInfo[tInfo][PosZ] = 0;
                TrafiInfo[tInfo][Fordulas] = 0;
        }
        SendClientMessage(playerid, SARGA, \"Felszedted az összes trafipaxot.\");
        return 1;
}
stock GetVehicleSpeed(vehicleid)
{
    new Float:vSpeed[3];
    GetVehicleVelocity( vehicleid, vSpeed[0], vSpeed[1], vSpeed[2] );
    new Float:vSpeed_Float;
    vSpeed_Float = floatsqroot( ((vSpeed[0] * vSpeed[0]) + (vSpeed[1] * vSpeed[1])) + (vSpeed[2] * vSpeed[2])) * 180.0;
    new vSpeed_Int;
    vSpeed_Int = floatround( vSpeed_Float, floatround_round );
        return vSpeed_Int;
}
public TrafiEllenor()
{
        new nev[MAX_PLAYER_NAME];
        new Float:x, Float:y, Float:z, string[128];
        for(new playerid; playerid < MAX_TRAFI; playerid++)
        {
            if(IsPlayerConnected(playerid))
            {
                        GetPlayerName(playerid, nev, sizeof(nev));
                        for(new trafi; trafi < MAX_TRAFI; trafi++)
                        {
                            if(TrafiInfo[tInfo][Van] == 1)
                            {
                                        GetObjectPos(TrafiInfo[tInfo][Object], x, y, z);
                                        if(IsPlayerInRangeOfPoint(playerid, 30.0, x, y, z) && IsPlayerInAnyVehicle(playerid))
                                        {
                                                new vehicleid = GetPlayerVehicleID(playerid);
                                                if(GetVehicleSpeed(vehicleid) > TrafiInfo[tInfo][Maxsebesseg])
                                                {
                                                TrafiInfo[tInfo][Gyorshajtasok]++;
                                                SetPlayerWantedLevel(playerid, GetPlayerWantedLevel(playerid) + 1);
                                                format(string, sizeof(string), \"Bemért egy traffipax.Lassíts!!\");
                                                SendClientMessage(playerid, SARGA, string);
                                                break;
                                                }
                                        }
                        }
                }
                }
        }
        return 1;
}

Csak rendõr skin tudja használni
« Válasz #1 Dátum: 2014. július 06. - 13:16:13 »
0 Show voters

#include a_samp
#include zcmd
#include sscanf2
#define MAX_TRAFI 200
//----------------------------------------SZÍNEK----------------------------------------//
#define ZOLD 0x03b01aAA
#define SARGA 0xeefa00AA
#define NARANCSS 0xf0a400AA
#define PIROS 0xe60000AA
enum tInfo
{
        Van,
        Object,
        Birsag,
        Maxsebesseg,
        Gyorshajtasok,
        Float: PosX,
        Float: PosY,
        Float: PosZ,
        Float: Fordulas
};
new Lerakott[MAX_PLAYERS];
new TrafiInfo[MAX_TRAFI][tInfo];
forward TrafiEllenor();
public OnFilterScriptInit()
{
        SetTimer(\"TrafiEllenor\", 2000, true);
        return 1;
}
public OnPlayerConnect(playerid)
{
Lerakott[playerid] = 0;
return 1;
}
CMD:tlerak(playerid, params[])
{
        new string[128];
        new skin;
        skin = GetPlayerSkin(playerid);
        if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, PIROS, \"Kocsiból nem rakhatod le.\");
        if(sscanf(params, \"dd\", TrafiInfo[tInfo][Maxsebesseg])) return SendClientMessage(playerid, PIROS, \"Használat: /tlerak [max sebesség]\");
        for(new trafi; trafi < MAX_TRAFI; trafi++)
        {
            if(skin == 281 || skin ==282 || skin == 283)
            {
                if(Lerakott[playerid] == 0)
                {
               if(TrafiInfo[trafi][Van] == 0)
            {
               GetPlayerPos(playerid, TrafiInfo[tInfo][PosX], TrafiInfo[tInfo][PosY], TrafiInfo[tInfo][PosZ]);
               GetPlayerFacingAngle(playerid, TrafiInfo[tInfo][Fordulas]);
                    TrafiInfo[tInfo][Object] = CreateObject(2921, TrafiInfo[tInfo][PosX], TrafiInfo[tInfo][PosY], TrafiInfo[tInfo][PosZ]-1, 0.0, 0.0, TrafiInfo[trafi][Fordulas]);
               TrafiInfo[tInfo][Van] = 1;
               TrafiInfo[tInfo][Gyorshajtasok] = 0;
                    format(string, sizeof(string), \"Max sebesség: %d\", TrafiInfo[tInfo][Maxsebesseg]);
               SendClientMessage(playerid, SARGA, \"Leraktál egy trafipaxot.\");
               SendClientMessage(playerid, ZOLD, string);
            Lerakott[playerid] = 1;
            break;
            }
      } return SendClientMessage(playerid, PIROS, \"Te már raktál le egy traffipaxot!\");
           }else return SendClientMessage(playerid, PIROS, \"Nem vagy rendõr!\");
        }
        return 1;
}
CMD:tfelszed(playerid)
{
        new string[128], Float:x, Float:y, Float:z;
        for(new trafi; trafi < MAX_TRAFI; trafi++)
        {
            if(TrafiInfo[trafi][Van] == 1)
            {
                        GetObjectPos(TrafiInfo[tInfo][Object], x, y, z);
                        if(IsPlayerInRangeOfPoint(playerid, 3.0, x, y, z))
                        {
                        DestroyObject(TrafiInfo[trafi][Object]);
                        format(string, sizeof(string), \"ID: %d | Gyorshajtások: %d | Bírságok összege: $%d\", trafi, TrafiInfo[trafi][Gyorshajtasok], TrafiInfo[trafi][Gyorshajtasok]*TrafiInfo[trafi][birsag]);
                        TrafiInfo[trafi][Van] = 0;
                        TrafiInfo[trafi][PosX] = 0;
                        TrafiInfo[trafi][PosY] = 0;
                        TrafiInfo[trafi][PosZ] = 0;
                        TrafiInfo[trafi][Fordulas] = 0;
                    SendClientMessage(playerid, SARGA, \"Felszedtél egy trafipaxot.\");
                    SendClientMessage(playerid, ZOLD, string);
                    Lerakott[playerid] = 0;
                        break;
                        }
            }
        }
        return 1;
}
CMD:tfelszedall(playerid)
{
        for(new trafi; trafi < MAX_TRAFI; trafi++)
        {
                DestroyObject(TrafiInfo[tInfo][Object]);
                TrafiInfo[tInfo][Van] = 0;
                TrafiInfo[tInfo][PosX] = 0;
                TrafiInfo[tInfo][PosY] = 0;
                TrafiInfo[tInfo][PosZ] = 0;
                TrafiInfo[tInfo][Fordulas] = 0;
        }
        for(new i=0; i<MAX_PLAYERS;i++)
        {
            if(Lerakott != 0) Lerakott = 0;
}
        SendClientMessage(playerid, SARGA, \"Felszedted az összes trafipaxot.\");
        return 1;
}
stock GetVehicleSpeed(vehicleid)
{
    new Float:vSpeed[3];
    GetVehicleVelocity( vehicleid, vSpeed[0], vSpeed[1], vSpeed[2] );
    new Float:vSpeed_Float;
    vSpeed_Float = floatsqroot( ((vSpeed[0] * vSpeed[0]) + (vSpeed[1] * vSpeed[1])) + (vSpeed[2] * vSpeed[2])) * 180.0;
    new vSpeed_Int;
    vSpeed_Int = floatround( vSpeed_Float, floatround_round );
        return vSpeed_Int;
}
public TrafiEllenor()
{
        new nev[MAX_PLAYER_NAME];
        new Float:x, Float:y, Float:z, string[128];
        for(new playerid; playerid < MAX_TRAFI; playerid++)
        {
            if(IsPlayerConnected(playerid))
            {
                        GetPlayerName(playerid, nev, sizeof(nev));
                        for(new trafi; trafi < MAX_TRAFI; trafi++)
                        {
                            if(TrafiInfo[tInfo][Van] == 1)
                            {
                                        GetObjectPos(TrafiInfo[tInfo][Object], x, y, z);
                                        if(IsPlayerInRangeOfPoint(playerid, 30.0, x, y, z) && IsPlayerInAnyVehicle(playerid))
                                        {
                                                new vehicleid = GetPlayerVehicleID(playerid);
                                                if(GetVehicleSpeed(vehicleid) > TrafiInfo[tInfo][Maxsebesseg])
                                                {
                                                TrafiInfo[tInfo][Gyorshajtasok]++;
                                                SetPlayerWantedLevel(playerid, GetPlayerWantedLevel(playerid) + 1);
                                                format(string, sizeof(string), \"Bemért egy traffipax.Lassíts!!\");
                                                SendClientMessage(playerid, SARGA, string);
                                                break;
                                                }
                                        }
                        }
                }
                }
        }
        return 1;
}

Nem elérhető gyuri98

  • 153
  • gyuri98
    • Profil megtekintése
Csak rendõr skin tudja használni
« Válasz #2 Dátum: 2014. július 07. - 07:55:18 »
0 Show voters
Lekérdezed a játékos skinjét:
 if(GetPlayerSkin(playerid)== /*rendõr skin id pl:282*/ );

 
 /*rendõr skin id pl:282*/

 ennek a helyére a rendõr skin idjét írd be
 

CMD:tlerak(playerid, params[])
{
        new string[128];
        if(GetPlayerSkin(playerid)== 282 ) return SendClientMessage(playerid, PIROS, \"Te nem vagy rendõr!\");
        if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, PIROS, \"Kocsiból nem rakhatod le.\");
        if(sscanf(params, \"dd\", TrafiInfo[tInfo][Maxsebesseg])) return SendClientMessage(playerid, PIROS, \"Használat: /tlerak [max sebesség]\");
        for(new trafi; trafi < MAX_TRAFI; trafi++)
        {
            if(TrafiInfo[trafi][Van] == 0)
            {
            GetPlayerPos(playerid, TrafiInfo[tInfo][PosX], TrafiInfo[tInfo][PosY], TrafiInfo[tInfo][PosZ]);
            GetPlayerFacingAngle(playerid, TrafiInfo[tInfo][Fordulas]);
                TrafiInfo[tInfo][Object] = CreateObject(2921, TrafiInfo[tInfo][PosX], TrafiInfo[tInfo][PosY], TrafiInfo[tInfo][PosZ]-1, 0.0, 0.0, TrafiInfo[trafi][Fordulas]);
            TrafiInfo[tInfo][Van] = 1;
            TrafiInfo[tInfo][Gyorshajtasok] = 0;
                format(string, sizeof(string), \"Max sebesség: %d\", TrafiInfo[tInfo][Maxsebesseg]);
            SendClientMessage(playerid, SARGA, \"Leraktál egy trafipaxot.\");
            SendClientMessage(playerid, ZOLD, string);
            break;
            }
        }
        return 1;
}
« Utoljára szerkesztve: 2014. július 07. - 08:00:08 írta gyuri98 »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal