Jármû Lámpa Script

Indította citromhun, 2013. augusztus 14. - 21:24:50

Előző téma - Következő téma

citromhun


Név: Jármû Lámpa Script

Kategória: CODE


Segített: ZyZu (Egy apróságba  ;) )


Készítette: citromhun


Készítési idõ: 1-2 perc

 
 
#include <                               a_samp                                >
enum vAdat { LAMPA }
new vInfo[ MAX_VEHICLES ][ vAdat ];
new vehicleid;
#define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
#define NARANCS    0xff8c00AA
public OnPlayerKeyStateChange( playerid, newkeys, oldkeys )
{
    new engine, lights, alarm, doors, bonnet, boot, objective;
if( PRESSED( KEY_SUBMISSION ))                                             {
    if( IsPlayerInAnyVehicle( playerid ))                                      {
      if( GetPlayerState( playerid ) == PLAYER_STATE_DRIVER )                    {
    if( vInfo[ vehicleid ][ LAMPA ] == 0 )                                     {
        GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vehicleid,engine,1,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid, NARANCS, \"Felkapcsoltad a lámpát!\");
    vInfo[vehicleid][LAMPA] = 1;
    }                                  else                                {
    GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vehicleid,engine,0,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid, NARANCS, \"Lekapcsoltad a lámpát!\");
    vInfo[vehicleid][LAMPA] = 0;
}                      }                       }                       }
return 1;
}

Peter1481048284

Szépnek szép és adok is rá egy + de nem lehetne Szépen pawnoba egy scriptet megírni? Nagyon ronda az elrendezése. De kapsz rá egy \'+\'-t

ZyZu.

Ronda az elrendezése?  :o Nagyon is tévedsz.. mostmár minden egyedi mód amelyiken vannak játékosok így néznek ki.. mindenki a sorok számára és a takarékosságára figyel.. aki nem tudja ezt kiolvasni elejétõl végéig az inkább ne írjon mert az nem tudd szkriptelni.. aki komolyabban tudja a kódokat az igy is kitudja olvasni.  ;)

Szívesen segítettem pedig apróság hiba volt benne egy zárási és egy vesszõ hiba.. :D De azért gratula.. ^-^

Flash

Ez:
if( IsPlayerInAnyVehicle( playerid ))
felesleges ha lekéred hogy soför helyen ül-e, mert akkor alapból jármûbe van :d

JBauer

Háát nem tudom.. akkor én nem tudok scriptelni, de marhára zavar.
Mondj már pár olyan egyedi modot, amit így scriptelnek.

Flash

Idézetet írta: JBauer date=1376512586\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"41348\" data-ipsquote-contentclass=\"forums_TopicHáát nem tudom.. akkor én nem tudok scriptelni, de marhára zavar.
Mondj már pár olyan egyedi modot, amit így scriptelnek.
 
Attól függetlenül lehet hogy valaki így scriptel, bevallom nekem se tetszik, de kinek a pap.. :)

lackos888

Õõ ezt egyszerûbben is meg lehetett volna oldani.

Zsolesszka

#7
Idézetet írta: citromhun date=1376508290\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"41348\" data-ipsquote-contentclass=\"forums_Topic




Név: Jármû Lámpa Script

Kategória: CODE


Segített: ZyZu (Egy apróságba  ;) )


Készítette: citromhun


Készítési idõ: 1-2 perc

 
 
#include <                               a_samp                                >
enum vAdat { LAMPA }
new vInfo[ MAX_VEHICLES ][ vAdat ];
new vehicleid;
#define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
#define NARANCS    0xff8c00AA
public OnPlayerKeyStateChange( playerid, newkeys, oldkeys )
{
    new engine, lights, alarm, doors, bonnet, boot, objective;
if( PRESSED( KEY_SUBMISSION ))                                             {
    if( IsPlayerInAnyVehicle( playerid ))                                      {
      if( GetPlayerState( playerid ) == PLAYER_STATE_DRIVER )                    {
    if( vInfo[ vehicleid ][ LAMPA ] == 0 )                                     {
        GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vehicleid,engine,1,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid, NARANCS, \"Felkapcsoltad a lámpát!\");
    vInfo[vehicleid][LAMPA] = 1;
    }                                  else                                {
    GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vehicleid,engine,0,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid, NARANCS, \"Lekapcsoltad a lámpát!\");
    vInfo[vehicleid][LAMPA] = 0;
}                      }                       }                       }
return 1;
}

 
 
Nem csak hogy egyszerûbben, hanem mûködõképesen is meg lehet írni.
A vehicleid értékének lekérése hol marad?
 
vehicleid = GetPlayerVehicleID(playerid);

 
Ui.:
Ez annak az eredménye egyébként hogy \"Készítési idõ: 1-2 perc\" miért nem inkább 10 vagy 20?
Legalább jutna idõ tesztelésre is, és tényleg mûködõképes szkript kerülne ki a fórumra.
Ennek a válasznak is a megfogalmazása több idõt vett el nekem mint 1 - 2 perc, fõleg hogy figyelem azt is mit jelez helyesírási hibának a böngészõm miközben gépelek.  :D
Aki meg nagy mellénnyel ráírja hogy õ neki sokkal kevesebb idõ is elég, vagy nagy kocka, vagy sík hülye hozzá. És miért nem írta már ki a fórumra a mûvét?


Edit1:
Hamar megírtam egy változatot, teszteltem is egy kicsit, talán nincs benne hiba:
 
#include <a_samp>
new
bool:vehicle_lights[MAX_VEHICLES];  // persze azt figyelembe véve hogy talán: az összes jármû világítása nincs bekapcsolva, vagyis másik szkript nem foglalkozik a be - kikapcsolásával!
#define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
public
OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(PRESSED(KEY_SUBMISSION))
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
   new
      vehicleid = GetPlayerVehicleID(playerid),
      engine, alarm, doors, bonnet, boot, objective;
   vehicle_lights[vehicleid] = !vehicle_lights[vehicleid];
   GetVehicleParamsEx(vehicleid, engine,
      alarm, // ···· egy változó csökkentése ···· lights
      alarm,
   doors, bonnet, boot, objective);
   SetVehicleParamsEx(vehicleid, engine,
      vehicle_lights[vehicleid], // !!!
   alarm,doors,bonnet,boot,objective);
   SendClientMessage(playerid, 0xff8c00AA, (vInfo[vehicleid])?(\"Felkapcsoltad a lámpát!\"):(\"Lekapcsoltad a lámpát!\"));
}
return 1;
}
return 1;
}

ZSOLTI99

Melyik gombbal lehet ezt bekapcsolni?

ZyZu.

KEY_SUBMISSION    512    -    ~k~~TOGGLE_SUBMISSIONS~    NUM 1 / MMB (Middle Mouse Button - Click the mouse wheel)    2 / NUM +
Num2 gombja.

ZSOLTI99


Zharko

Idézetet írta: ZyZu date=1376512099\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"41348\" data-ipsquote-contentclass=\"forums_TopicRonda az elrendezése?  :o Nagyon is tévedsz.. mostmár minden egyedi mód amelyiken vannak játékosok így néznek ki..
 
Igen, szerintem is ronda. Nem tudom ki szkriptel így, de ez nem a játékosok számában nyílvánul meg. Ez a fajta indentáció egyenesen ocsmány (legalábbis nekem annak tûnik :D )

kundlam