Szerző Téma: Trafipax[UPDATED]  (Megtekintve 2386 alkalommal)

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
Trafipax[UPDATED]
« Dátum: 2012. Június 12. - 20:27:09 »
+11 Show voters
Sziasztok!
Elég rég óta nem pawnoztam, úgy éreztem ideje volt megírni és publikálni egy scriptet.
Parancsai:
/tlerak - Trafipax lerakása.
/tfelszed - Trafipax felszedése.
/tfelszedall - Az összes trafipax felszedése.
 

#include a_samp
#include zcmd
#include sscanf
#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], TrafiInfo[tInfo][birsag])) return SendClientMessage(playerid, PIROS, \"Használat: /tlerak [max sebesség] [bírsá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(2600, 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 | Bírság: %d\", TrafiInfo[tInfo][Maxsebesseg], TrafiInfo[tInfo][birsag]);
    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]++;
              GivePlayerMoney(playerid, -TrafiInfo[tInfo][birsag]);
            format(string, sizeof(string), \"%st lekapta a trafipax! Max sebesség: %d | Sebessége: %d | Bírság: $%d\", nev, TrafiInfo[trafi][Maxsebesseg], GetVehicleSpeed(vehicleid), TrafiInfo[trafi][birsag]);
            SendClientMessageToAll(SARGA, string);
            break;
              }
           }
       }
           }
}
}
return 1;
}

 
Régi, pwn: http://www.solidfiles.com/d/4f61cd1292/
Új, Pastebin: http://pastebin.com/BcVKaQKb
« Utoljára szerkesztve: 2012. December 08. - 23:36:45 írta Cannonn »

Nem elérhető Caesar

  • 109
    • Profil megtekintése
Trafipax[UPDATED]
« Válasz #1 Dátum: 2012. Június 12. - 21:09:04 »
0 Show voters
Nem rossz kimondottan jó :) haszon csak már abba hagytam azt a szerot amihez kellet volna

Trafipax[UPDATED]
« Válasz #2 Dátum: 2012. Június 13. - 13:37:16 »
0 Show voters
Egy újabb csodás munka Cannonn :)

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Trafipax[UPDATED]
« Válasz #3 Dátum: 2012. Június 13. - 13:51:44 »
0 Show voters
Cannon -ban nem lehet soha csalódni! Szép munka nekem tetszik és szép színes is.  :thumbsup:

Trafipax[UPDATED]
« Válasz #4 Dátum: 2012. Június 15. - 09:22:39 »
0 Show voters
Szép kis Script. Nekem mondjuk van sajátom, de annak ellenére jó. Ment a +!

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal