Szerző Téma: Vehicle Radio (Jármû rádió) BETA  (Megtekintve 2113 alkalommal)

Nem elérhető Sramm

  • 596
    • Profil megtekintése
Vehicle Radio (Jármû rádió) BETA
« Dátum: 2014. május 02. - 21:24:01 »
+1 Show voters

Sramm\'s Vehicle Radio BETA


 

Miért béta?
Publikálom egyenlõre nagyon béta includem, fõleg arra, hogy valaki tesztelje a mûködését, mert nekem nincs rá módom, és jelentgesse nekem a bugokat, vagy hogy egyáltalán mûködik -e, viszonylag részletes beszámolóval - mit csinál, stb.
Mit is tud?
A lényege annyi, hogy a jármûben aktiválja a rádiót, és azt hallani lehet kívül is, belül is. Ahogy távolodunk egyre halkabb, közvetlen mellette pedig hangosabb.
Funkciók, használat
 
VehicleRadio(vehicleid,link[],bool:turn);

 
Paraméterek:
vehicleid - A jármû ID-je, amelynek a rádióját szeretnénk elindítani.
link[] - A zene/rádió linkje
bool:turn - Rádió be/ki
Példa:
 
#include <a_samp>
#include <zcmd>
CMD:playtimber(playerid) //mondjuk elindítjuk pitbulltól és keshatól a timbert..
{
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid,-1,\"Nem vagy a vezetõ ülésen.\");
VehicleRadio(GetPlayerVehicleID(playerid),\"http://dl.ttbax.org/Hamid/Music/1392/07/Pitbull%20feat.%20Ke$ha%20-%20Timber%5B128%5D.mp3\",true); //true, azaz bekapcsoljuk. ha már be van kapcsolva, akkor csak sávot vált.
return 1;
}
CMD:stopradio(playerid)
{
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid,-1,\"Nem vagy a vezetõ ülésen.\");
VehicleRadio(GetPlayerVehicleID(playerid),\"\",false); //false, azaz kikapcsoljuk
return 1;
}

 
Letöltés
(Egyenlõre csak kód formátumban)



#if !defined include_vehicle_radio
#define include_vehicle_radio
#endif
#define RADIO_DISTANCE 40.0
new RadioTimer = -1;
new RadioActive[MAX_PLAYERS][2];
enum RadioEN
{
Float:VRposX,
Float:VRposY,
Float:VRposZ,
mode
};
new VRadio[MAX_VEHICLES][RadioEN];
stock VehicleRadio(vehicleid,link[],bool:turn)
{
if(turn)
{
if(RadioTimer == -1) RadioTimer = SetTimerEx(\"VehicleRadioTimer\",1000,1,\"s[256]\",link);
VRadio[vehicleid][mode] = 1;
GetVehiclePos(vehicleid,VRadio[vehicleid][VRposX],VRadio[vehicleid][VRposY],VRadio[vehicleid][VRposZ]);
}
else
{
VRadio[vehicleid][mode] = 0;
}
return 1;
}
stock GetClosestVehicleEx(playerid,Float:dis = RADIO_DISTANCE)
{   
new Float:distance[2] = 0.0,bool:count;
distance[1] = dis;
new vehicleid;
for(new i; i<MAX_VEHICLES; i++)
{
if(VRadio[mode] == 1)
{
   new Float:pos[3];
   GetVehiclePos(i,pos[0],pos[1],pos[2]);
   distance[0] = GetPlayerDistanceFromPoint(playerid, pos[0],pos[1],pos[2]);
   if(distance[0] < distance[1])
   {
      count = true;
      distance[1] = distance[0];
      vehicleid = i;
   }
}
}
if(distance[1] == dis && count == false) return INVALID_VEHICLE_ID;
return vehicleid;
}
 
forward VehicleRadioTimer(link[]);   
public VehicleRadioTimer(link[])
{
new Float:pos[3];
for(new i; i<MAX_PLAYERS; i++)
{
if(RadioActive[0] == 0)
{
   new v = GetClosestVehicleEx(i);
   if(v != -1)
   {
      GetVehiclePos(v,VRadio[v][VRposX],VRadio[v][VRposY],VRadio[v][VRposZ]);
      PlayAudioStreamForPlayer(i, link, VRadio[v][VRposX],VRadio[v][VRposY],VRadio[v][VRposZ], RADIO_DISTANCE);
      RadioActive[0] = 1;
      RadioActive[1] = v;
   }
}
else
{
   new v = RadioActive[1];
   GetVehiclePos(v,pos[0],pos[1],pos[2]);
   new Float:dis = GetPlayerDistanceFromPoint(i, pos[0],pos[1],pos[2]);
   if(dis > RADIO_DISTANCE)
   {
      StopAudioStreamForPlayer(i);
      RadioActive[0] = 0;
      RadioActive[1] = -1;
   }
}
}
return 1;
}
« Utoljára szerkesztve: 2014. május 03. - 11:34:09 írta Sramm »

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
Vehicle Radio (Jármû rádió) BETA
« Válasz #1 Dátum: 2014. május 02. - 21:54:22 »
0 Show voters
Ember! SAMP-ban halkítod a zenét? Mivel? Mert, ha tényleg megcsináltad, akkor lábat csókolok, nagyon régen kerestem ilyesmit. De tényleg.
Ba.kki ez magától halkul. Csak ezt az egy paramétert nem írtam oda fél éve! Mindenesetre jó kis INC, repült egy +! :D
« Utoljára szerkesztve: 2014. május 02. - 21:56:31 írta KovaNovik »

Nem elérhető Sramm

  • 596
    • Profil megtekintése
Vehicle Radio (Jármû rádió) BETA
« Válasz #2 Dátum: 2014. május 02. - 21:57:12 »
0 Show voters
Az alap funkció, PlayAudioStreamForPlayer pozíciós paraméterei alapból tartalmazzák ezt :)

Vehicle Radio (Jármû rádió) BETA
« Válasz #3 Dátum: 2014. május 04. - 10:33:33 »
0 Show voters
Mivel nem vagyok nagy scriopter, ez most jól jött nekem  :)

Vehicle Radio (Jármû rádió) BETA
« Válasz #4 Dátum: 2014. május 07. - 02:42:57 »
0 Show voters
Fasza majd tesztelgetem ha lesz rá idõm :)

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Vehicle Radio (Jármû rádió) BETA
« Válasz #5 Dátum: 2014. május 07. - 05:59:30 »
0 Show voters
Szép! Micsoda véletlen.. én is elkezdtem írni egy hasonló szkriptet még pár hónapja csak lusta voltam befejezni. :D Tetszik ez a megoldás, hogy mindent includeban írsz \'nem pawn\'.
Illetve egy hiba.. mivel tudom lesz olyan felhasználó aki rákérdezi, hogy miért hibás.. Elfelejtetted kiírni a példa szkriptem ezt:
 
#include audioincneve

 
Tudom alap de ezekbõl is jönnek tudod segítségkérések. Szép munka.  ;)

Nem elérhető Sramm

  • 596
    • Profil megtekintése
Vehicle Radio (Jármû rádió) BETA
« Válasz #6 Dátum: 2014. május 10. - 10:15:06 »
0 Show voters
Igen valoban, koszi, geprol javito. Orulok, hogy tetszik :)

Nem elérhető Sramm

  • 596
    • Profil megtekintése
Vehicle Radio (Jármû rádió) BETA
« Válasz #7 Dátum: 2014. május 02. - 21:24:01 »
0 Show voters

Sramm\'s Vehicle Radio BETA


 

Miért béta?
Publikálom egyenlõre nagyon béta includem, fõleg arra, hogy valaki tesztelje a mûködését, mert nekem nincs rá módom, és jelentgesse nekem a bugokat, vagy hogy egyáltalán mûködik -e, viszonylag részletes beszámolóval - mit csinál, stb.
Mit is tud?
A lényege annyi, hogy a jármûben aktiválja a rádiót, és azt hallani lehet kívül is, belül is. Ahogy távolodunk egyre halkabb, közvetlen mellette pedig hangosabb.
Funkciók, használat
 
VehicleRadio(vehicleid,link[],bool:turn);

 
Paraméterek:
vehicleid - A jármû ID-je, amelynek a rádióját szeretnénk elindítani.
link[] - A zene/rádió linkje
bool:turn - Rádió be/ki
Példa:
 
#include <a_samp>
#include <zcmd>
CMD:playtimber(playerid) //mondjuk elindítjuk pitbulltól és keshatól a timbert..
{
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid,-1,\"Nem vagy a vezetõ ülésen.\");
VehicleRadio(GetPlayerVehicleID(playerid),\"http://dl.ttbax.org/Hamid/Music/1392/07/Pitbull%20feat.%20Ke$ha%20-%20Timber%5B128%5D.mp3\",true); //true, azaz bekapcsoljuk. ha már be van kapcsolva, akkor csak sávot vált.
return 1;
}
CMD:stopradio(playerid)
{
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid,-1,\"Nem vagy a vezetõ ülésen.\");
VehicleRadio(GetPlayerVehicleID(playerid),\"\",false); //false, azaz kikapcsoljuk
return 1;
}

 
Letöltés
(Egyenlõre csak kód formátumban)



#if !defined include_vehicle_radio
#define include_vehicle_radio
#endif
#define RADIO_DISTANCE 40.0
new RadioTimer = -1;
new RadioActive[MAX_PLAYERS][2];
enum RadioEN
{
Float:VRposX,
Float:VRposY,
Float:VRposZ,
mode
};
new VRadio[MAX_VEHICLES][RadioEN];
stock VehicleRadio(vehicleid,link[],bool:turn)
{
if(turn)
{
if(RadioTimer == -1) RadioTimer = SetTimerEx(\"VehicleRadioTimer\",1000,1,\"s[256]\",link);
VRadio[vehicleid][mode] = 1;
GetVehiclePos(vehicleid,VRadio[vehicleid][VRposX],VRadio[vehicleid][VRposY],VRadio[vehicleid][VRposZ]);
}
else
{
VRadio[vehicleid][mode] = 0;
}
return 1;
}
stock GetClosestVehicleEx(playerid,Float:dis = RADIO_DISTANCE)
{   
new Float:distance[2] = 0.0,bool:count;
distance[1] = dis;
new vehicleid;
for(new i; i<MAX_VEHICLES; i++)
{
if(VRadio[mode] == 1)
{
   new Float:pos[3];
   GetVehiclePos(i,pos[0],pos[1],pos[2]);
   distance[0] = GetPlayerDistanceFromPoint(playerid, pos[0],pos[1],pos[2]);
   if(distance[0] < distance[1])
   {
      count = true;
      distance[1] = distance[0];
      vehicleid = i;
   }
}
}
if(distance[1] == dis && count == false) return INVALID_VEHICLE_ID;
return vehicleid;
}
 
forward VehicleRadioTimer(link[]);   
public VehicleRadioTimer(link[])
{
new Float:pos[3];
for(new i; i<MAX_PLAYERS; i++)
{
if(RadioActive[0] == 0)
{
   new v = GetClosestVehicleEx(i);
   if(v != -1)
   {
      GetVehiclePos(v,VRadio[v][VRposX],VRadio[v][VRposY],VRadio[v][VRposZ]);
      PlayAudioStreamForPlayer(i, link, VRadio[v][VRposX],VRadio[v][VRposY],VRadio[v][VRposZ], RADIO_DISTANCE);
      RadioActive[0] = 1;
      RadioActive[1] = v;
   }
}
else
{
   new v = RadioActive[1];
   GetVehiclePos(v,pos[0],pos[1],pos[2]);
   new Float:dis = GetPlayerDistanceFromPoint(i, pos[0],pos[1],pos[2]);
   if(dis > RADIO_DISTANCE)
   {
      StopAudioStreamForPlayer(i);
      RadioActive[0] = 0;
      RadioActive[1] = -1;
   }
}
}
return 1;
}
« Utoljára szerkesztve: 2014. május 03. - 11:34:09 írta Sramm »

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
Vehicle Radio (Jármû rádió) BETA
« Válasz #8 Dátum: 2014. május 02. - 21:54:22 »
0 Show voters
Ember! SAMP-ban halkítod a zenét? Mivel? Mert, ha tényleg megcsináltad, akkor lábat csókolok, nagyon régen kerestem ilyesmit. De tényleg.
Ba.kki ez magától halkul. Csak ezt az egy paramétert nem írtam oda fél éve! Mindenesetre jó kis INC, repült egy +! :D
« Utoljára szerkesztve: 2014. május 02. - 21:56:31 írta KovaNovik »

Nem elérhető Sramm

  • 596
    • Profil megtekintése
Vehicle Radio (Jármû rádió) BETA
« Válasz #9 Dátum: 2014. május 02. - 21:57:12 »
0 Show voters
Az alap funkció, PlayAudioStreamForPlayer pozíciós paraméterei alapból tartalmazzák ezt :)

Vehicle Radio (Jármû rádió) BETA
« Válasz #10 Dátum: 2014. május 04. - 10:33:33 »
0 Show voters
Mivel nem vagyok nagy scriopter, ez most jól jött nekem  :)

Vehicle Radio (Jármû rádió) BETA
« Válasz #11 Dátum: 2014. május 07. - 02:42:57 »
0 Show voters
Fasza majd tesztelgetem ha lesz rá idõm :)

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Vehicle Radio (Jármû rádió) BETA
« Válasz #12 Dátum: 2014. május 07. - 05:59:30 »
0 Show voters
Szép! Micsoda véletlen.. én is elkezdtem írni egy hasonló szkriptet még pár hónapja csak lusta voltam befejezni. :D Tetszik ez a megoldás, hogy mindent includeban írsz \'nem pawn\'.
Illetve egy hiba.. mivel tudom lesz olyan felhasználó aki rákérdezi, hogy miért hibás.. Elfelejtetted kiírni a példa szkriptem ezt:
 
#include audioincneve

 
Tudom alap de ezekbõl is jönnek tudod segítségkérések. Szép munka.  ;)

Nem elérhető Sramm

  • 596
    • Profil megtekintése
Vehicle Radio (Jármû rádió) BETA
« Válasz #13 Dátum: 2014. május 10. - 10:15:06 »
0 Show voters
Igen valoban, koszi, geprol javito. Orulok, hogy tetszik :)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal