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

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => A témát indította: citromhun - 2013. Augusztus 14. - 21:24:50

Cím: Jármû Lámpa Script
Írta: citromhun - 2013. Augusztus 14. - 21:24:50

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;
}
Cím: Jármû Lámpa Script
Írta: Peter1481048284 - 2013. Augusztus 14. - 21:47:16
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
Cím: Jármû Lámpa Script
Írta: ZyZu. - 2013. Augusztus 14. - 22:28:19
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.. ^-^
Cím: Jármû Lámpa Script
Írta: Flash - 2013. Augusztus 14. - 22:34:28
Ez:
if( IsPlayerInAnyVehicle( playerid ))
felesleges ha lekéred hogy soför helyen ül-e, mert akkor alapból jármûbe van :d
Cím: Jármû Lámpa Script
Írta: JBauer - 2013. Augusztus 14. - 22:36:26
Háát nem tudom.. akkor én nem tudok scriptelni, de marhára zavar.
Mondj már pár olyan egyedi modot, amit így scriptelnek.
Cím: Jármû Lámpa Script
Írta: Flash - 2013. Augusztus 14. - 22:39:26
Idézetet írta: JBauer date=1376512586\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"41348\" data-ipsquote-contentclass=\"forums_Topic
Háá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.. :)
Cím: Jármû Lámpa Script
Írta: lackos888 - 2013. Augusztus 14. - 23:05:51
Õõ ezt egyszerûbben is meg lehetett volna oldani.
Cím: Jármû Lámpa Script
Írta: Zsolesszka - 2013. Augusztus 15. - 07:48:29
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;
}
Cím: Jármû Lámpa Script
Írta: ZSOLTI99 - 2013. Augusztus 15. - 10:09:00
Melyik gombbal lehet ezt bekapcsolni?
Cím: Jármû Lámpa Script
Írta: ZyZu. - 2013. Augusztus 15. - 10:47:55
KEY_SUBMISSION    512    -    ~k~~TOGGLE_SUBMISSIONS~    NUM 1 / MMB (Middle Mouse Button - Click the mouse wheel)    2 / NUM +
Num2 gombja.
Cím: Jármû Lámpa Script
Írta: ZSOLTI99 - 2013. Augusztus 15. - 11:18:49
Köszi
Cím: Jármû Lámpa Script
Írta: Zharko - 2013. Augusztus 15. - 12:22:10
Idézetet írta: ZyZu date=1376512099\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"41348\" data-ipsquote-contentclass=\"forums_Topic
Ronda 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 )
Cím: Jármû Lámpa Script
Írta: kundlam - 2013. Augusztus 15. - 20:32:55
Jó kis CODE lett :D grat