GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Szkript kérések => A témát indította: VTX - 2010. március 24. - 07:13:53

Cím: Admin jármű
Írta: VTX - 2010. március 24. - 07:13:53
Gamemode-ba szeretnék egy olyat, ha egy admin járműben van, akkor senki se tudja kiszedni (más admin sem), annélkül, hogy beírná a /lock parancsot.
Cím: Admin jármű
Írta: TengeriMalac - 2010. március 24. - 12:27:52
oooo
könnyen meg lehet oldani.
megírnám, de nincs rá most idom.
Am egyszerubb sztem, ha egy megadott névvel lehet használni a jármuvet, mert akkor csak te vagy a megadott névvel rendelkezo ember / admin tud beleszállni.
Cím: Admin jármű
Írta: ALIEN - 2010. március 24. - 13:37:41
Válogass:
http://wiki.sa-mp.com/wiki/SetVehicleParamsForPlayer
http://forum.sa-mp.com/index.php?topic=26436.0
Cím: Admin jármű
Írta: VTX - 2010. március 24. - 14:45:57
A legegyszerubb módszer kéne, amit be tudok tenni a gamemode-ba.
ALIEN a samp wiki-s oldal jó lenne, csak nem értem.(ha elmagyaráznád, akkor megérteném :angel: )
Cím: Admin jármű
Írta: TengeriMalac - 2010. március 24. - 16:16:53
Egyszeru.
Példascript
 
#include <a_samp>
#define red    0xFF9900AA
#define yellow    0xFFFF00AA
new MyCar;
new MyCar2;
public OnFilterScriptInit()
{
MyCar = CreateVehicle(123, 4.5, 6.7, 8.9, 1.0, 1, 2, 0);
MyCar2 = CreateVehicle(123, 4.5, 6.7, 8.9, 1.0, 1, 2, 0);
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
    new Vehicle = GetPlayerVehicleID(playerid);
   
if(strcmp(cmdtext, \"/lock\", true) == 0)
    {
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
   for(new i = 0; i <MAX_PLAYERS; i++)
   {
      if (i != playerid)
      {
         SetVehicleParamsForPlayer(Vehicle, i, 0, 1);
         PlayerPlaySound(playerid,1057, 0.0, 0.0, 0.0);
         SendClientMessage(playerid, yellow, \"Jármu lezárva!\");
      }
   }
} else { SendClientMessage(playerid, red, \"Nem ülsz jármuben!\"); }
return 1;
}
if(strcmp(cmdtext, \"/unlock\", true) == 0)
    {
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
   for(new i = 0; i <MAX_PLAYERS; i++)
   {
      SetVehicleParamsForPlayer(Vehicle, i, 0, 0);
      PlayerPlaySound(playerid,1057, 0.0, 0.0, 0.0);
      SendClientMessage(playerid, yellow, \"Jármu kinyitva!\");
   }
        } else { SendClientMessage(playerid, red, \"Nem ülsz jármuben!\"); }
        return 1;
}
return 0;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
new PlayerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
if(newstate == PLAYER_STATE_DRIVER)
{
new Vehicle = GetPlayerVehicleID(playerid);
if(Vehicle == MyCar || Vehicle == MyCar2)
{
   if(strcmp(PlayerName, \"neved\", true))
   {
      RemovePlayerFromVehicle(playerid);
      SendClientMessage(playerid, 0x33AA33AA, \"Nem szállhatsz be \'neved\' autójába!\");
   }
}
}
return 1;
}

 
Le is zárja az autót, és csak egy bizonyos névvel lehet beleülni.
Cím: Admin jármű
Írta: Vampesz - 2010. március 24. - 16:52:25
Idézetet írta: TengeriMalac date=1269443813\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"1079\" data-ipsquote-contentclass=\"forums_Topic
Egyszeru.
Példascript
 
#include <a_samp>
#define red    0xFF9900AA
#define yellow    0xFFFF00AA
new MyCar;
new MyCar2;
public OnFilterScriptInit()
{
MyCar = CreateVehicle(123, 4.5, 6.7, 8.9, 1.0, 1, 2, 0);
MyCar2 = CreateVehicle(123, 4.5, 6.7, 8.9, 1.0, 1, 2, 0);
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
    new Vehicle = GetPlayerVehicleID(playerid);
   
if(strcmp(cmdtext, \"/lock\", true) == 0)
    {
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
   for(new i = 0; i <MAX_PLAYERS; i++)
   {
      if (i != playerid)
      {
         SetVehicleParamsForPlayer(Vehicle, i, 0, 1);
         PlayerPlaySound(playerid,1057, 0.0, 0.0, 0.0);
         SendClientMessage(playerid, yellow, \"Jármu lezárva!\");
      }
   }
} else { SendClientMessage(playerid, red, \"Nem ülsz jármuben!\"); }
return 1;
}
if(strcmp(cmdtext, \"/unlock\", true) == 0)
    {
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
   for(new i = 0; i <MAX_PLAYERS; i++)
   {
      SetVehicleParamsForPlayer(Vehicle, i, 0, 0);
      PlayerPlaySound(playerid,1057, 0.0, 0.0, 0.0);
      SendClientMessage(playerid, yellow, \"Jármu kinyitva!\");
   }
        } else { SendClientMessage(playerid, red, \"Nem ülsz jármuben!\"); }
        return 1;
}
return 0;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
new PlayerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
if(newstate == PLAYER_STATE_DRIVER)
{
new Vehicle = GetPlayerVehicleID(playerid);
if(Vehicle == MyCar || Vehicle == MyCar2)
{
   if(strcmp(PlayerName, \"neved\", true))
   {
      RemovePlayerFromVehicle(playerid);
      SendClientMessage(playerid, 0x33AA33AA, \"Nem szállhatsz be \'neved\' autójába!\");
   }
}
}
return 1;
}

 
Le is zárja az autót, és csak egy bizonyos névvel lehet beleülni.
 

if(strcmp(PlayerName, \"neved\", true))

 
Ez helyett sztem.:
 
if(strcmp(PlayerName, \"neved\"))

 
Nállam így muködött :) A true-s verziónál errorozott...
Cím: Admin jármű
Írta: jana4 - 2010. március 24. - 18:13:42
      new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof name);
if(!strcmp(name, \"neved\", false))

 
Ezzel tökéletes. igazzal [true] nekem is rossz volt.
Cím: Admin jármű
Írta: Vampesz - 2010. március 24. - 19:02:53
Idézetet írta: ScreaM date=1269450822\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"1079\" data-ipsquote-contentclass=\"forums_Topic

      new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof name);
if(!strcmp(name, \"neved\", false))

 
Ezzel tökéletes. igazzal [true] nekem is rossz volt.
 
én elhanyagoltam egyszeruen a true/false-t se error se warning de még tesztelve nem volt :/
Cím: Admin jármű
Írta: TengeriMalac - 2010. március 24. - 20:46:21
Nekem így volt jó, és jó is.
Cím: Admin jármű
Írta: KDDomi - 2010. augusztus 15. - 22:16:10
És ami az elején van 2 kocsi azt kitörölni és másikat csinálok és a AddStaticVehicle helyet CreateVehicle-t irok?