Szavazás

Hány pontot kap

Összes szavazó: 27

Szerző Téma: Trafipax  (Megtekintve 2391 alkalommal)

Trafipax
« Dátum: 2014. június 16. - 21:53:03 »
+4 Show voters
Beszertném mutatni A trafi pax rendszeremet Nem kellenek az oltások! Mivel még csak kezdö scipter vagyok
 
[#include a_samp
enum xy { pMember, pLeader };
new PlayerInfo  [ 24  ]  [ xy ]  ;
new OnDuty   [ 24  ]   = 1  ;
new trafipax  [ 24  ]      = 0        ;
//new string        [ 128 ]                 ;
//new trafi   [ 24  ]                 ;
new Typed           [ 24  ]                 ;
new sebesseg        [ 24  ]                 ;
new birsag          [ 24  ]                 ;
public OnPlayerCommandText ( playerid , cmdtext [ ] )
{
PlayerInfo [ playerid ][ pMember ] = 1 ;
if ( !strcmp ( cmdtext , \"/trafipax\" , true ) )
{
if ( IsPlayerConnected ( playerid ) )
{
if (  PlayerInfo [ playerid ][ pMember ] == 1
     || PlayerInfo [ playerid ][ pMember ] == 12
     || PlayerInfo [ playerid ][ pMember ] == 3
     || PlayerInfo [ playerid ][ pLeader ] == 1
     || PlayerInfo [ playerid ][ pLeader ] == 12
     || PlayerInfo [ playerid ][ pLeader ] == 3
                                )
   {
    if ( OnDuty [ playerid ] != 0 )
    {
     new trafilist [ ] = \"1\\tBekapcsolás\\n2\\tKikapcsolás\\n3\\tBeállítás\" ;
     ShowPlayerDialog ( playerid , 8888 , 2 , \"Trafipax:\" , trafilist , \"Kiválaszt\" , \"Mégse\" ) ;
    }
    else
    {
     SendClientMessage ( playerid , 0xFFFFFFFF , \"Nem vagy szolgálatban!\" ) ;
     return 1;
    }
   }
   else
   {
    SendClientMessage ( playerid , 0xFFFFFFFF , \"** Nem vagy Rendõr / NNI / Katona !\" ) ;
   }
  }
        return 1;
}
    return 0;
}
public OnDialogResponse ( playerid , dialogid , response , listitem , inputtext [ ] )
{
if ( dialogid == 8888 )
{
  if ( !response ) return SendClientMessage ( playerid, 0xFFFFFFFF, \"Kiléptél.\" ) ;
  switch ( listitem )
  {
      case 0:
      {
    if ( trafipax [ playerid ] == 0 )
    {
     trafipax [ playerid ] = 1 ;
     SendClientMessage ( playerid , 0xFFFFFFFF , \"Bekapcsolta a trafipaxot...\" ) ;
    }
    else
    {
     SendClientMessage ( playerid , 0xFFFFFFFF , \"Már be van kapcsolva!\" ) ;
     return 1;
    }
   }
   case 1:
   {
    if ( trafipax [ playerid ] != 0 )
    {
     SendClientMessage ( playerid , 0xFFFFFFFF , \"Kikapcsoltad a traffipaxod!\" ) ;
     sebesseg [ playerid ] = 0 ;
     birsag  [ playerid ] = 0 ;
     trafipax [ playerid ] = 0 ;
     //Delete3DTextLabel ( trafi [ playerid ] ) ;
    }
    else
    {
     SendClientMessage ( playerid , 0xFFFFFFFF , \"Be se volt kapcsolva!\" ) ;
     return 1;
    }
   }
   case 2:
   {
    if ( trafipax [ playerid ] != 0 )
    {
     ShowPlayerDialog ( playerid , 1111 , 1 , \"SebességKorlát!\" , \"Írd be a SebességKorlátozás értékét!!\\n Érték:\" , \"Ok\" , \"Mégse\" ) ;
    }
    else
    {
     SendClientMessage ( playerid , 0xFFFFFFFF , \"Elõször kapcsold be!\" ) ;
     return 1;
    }
   }
  }
}
if ( dialogid == 1111 )
{
  if ( response )
  {
   strmid ( Typed [ playerid ] , inputtext , 0 , strval ( inputtext ) , 255 ) ;
   if ( !strcmp ( Typed [ playerid ] , \"Nincs\" , true ) )
   {
    ShowPlayerDialog ( playerid , 1111 , 1 , \"Hiba!!\" , \"Nem adtál meg SebességKorlátozási Értéket!\\n Érték:\" , \"Ok\" , \"Mégse\" ) ;
   }
   else
   {
       new valtozo  [    64    ]        ;
    sebesseg   [ playerid ] = strval ( inputtext )  ;
    ShowPlayerDialog ( playerid , 5555 , 1 , \"Büntetés:\",\"Írd be a büntetés értékét!!\\n Érték:\" , \"Ok\" , \"Mégse\" ) ;
    format ( valtozo , sizeof ( valtozo ) , \"SebességKorlát Beállítva: %d km/h\" , sebesseg [ playerid ] );
    SendClientMessage ( playerid , 0xFFFFFFFF , valtozo ) ;
   }
  }
}
if ( dialogid == 5555 )
{
  if ( response )
  {
   strmid ( Typed [ playerid ] , inputtext , 0 , strval ( inputtext ) , 255 ) ;
   if ( !strcmp ( Typed [ playerid ] , \"Nincs\" , true ) )
   {
    ShowPlayerDialog ( playerid , 5555 , 1 , \"Hiba!!\",\"Nem adtál meg Büntetési Értéket!\\n Érték:\" , \"Ok\" , \"Mégse\" ) ;
   }
   else
   {
       new valtozo  [    64    ]        ;
    birsag    [ playerid ] = strval ( inputtext )  ;
    format ( valtozo , sizeof ( valtozo ) , \"Büntetés Beállítva: %d Ft\" , birsag [ playerid ] ) ;
    SendClientMessage ( playerid , 0xFFFFFFFF , valtozo ) ;
    //trafi [ playerid ] = Create3DTextLabel ( string , 0x00AA0099 , 30.0 , 40.0 , 50.0 , 40.0 , 0 ) ;
    //Attach3DTextLabelToPlayer ( trafi [ playerid ] , playerid , 0.0 , 0.0 , 0.6 ) ;
   }
  }
}
    return 0;
}/code]

Trafipax
« Válasz #1 Dátum: 2014. június 17. - 07:35:29 »
0 Show voters
Egy-kettõ részt egyszerûbben is meglehetett volna oldani, de egyébként szép munka :))

Trafipax
« Válasz #2 Dátum: 2014. június 17. - 09:18:00 »
0 Show voters
Nekem tetszik. Szép munka csak van pár felesleges sor mint mondták. Pl
new trafilist [ ] = \"1\\tBekapcsolás\\n2\\tKikapcsolás\\n3\\tBeállítás\" ;

 
Teljesen felesleges. Nem tudtam részletesen átnézni a fekete téma miatt nem lehet olyan jól látni de nem láttam azt, hogy a
trafilist

 et 2x használtad volna. Szóval azt akkor simán beilleszthetted volna. De fáradtál vele és tetszik annyi, hogy pár felesleges sor. 4 adok rá

Nem elérhető Mate.

  • 223
  • Advertising Designer. Video Editor. Ex-Mapper.
    • Profil megtekintése
Trafipax
« Válasz #3 Dátum: 2014. június 17. - 12:30:16 »
0 Show voters
Jó lett! :D

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
Trafipax
« Válasz #4 Dátum: 2014. június 17. - 14:28:36 »
0 Show voters
Szerintem jó lett. Legközelebb minél jobban próbálj meg törekedni az egyszerûsítésre.
Spoiler for Itt például ezt a szkriptet 1/3-adára csökkentettem.:
#include a_samp
enum {d_trafi = 999, d_sk = 998, d_bunt = 997}
enum xy {pMember = 1, pLeader, Typed, OnDuty = 1, trafipax = 0, /*Text3D:trafilabel,*/ sebesseg, birsag};
new PlayerInfo[MAX_PLAYERS][xy];
new string[128];
public OnPlayerCommandText(playerid, cmdtext[]) {
//if(!IsPlayerConnected(playerid)) return 0;
PlayerInfo[playerid][pMember] = 1;
if(!strcmp(cmdtext, \"/trafipax\", true)) {
    switch(PlayerInfo[playerid][pMember]) {case 1, 3, 12: return PlayerInfo[playerid][OnDuty] ? ShowPlayerDialog(playerid, d_trafi, DIALOG_STYLE_LIST, \"Trafipax:\", \"1\\tBekapcsolás\\n2\\tKikapcsolás\\n3\\tBeállítás ~ Sebességkorlát\\n4\\tBeállítás ~ Büntetés\", \"Kiválaszt\", \"Mégse\") : SendClientMessage(playerid, 0xFFFFFFFF, \"** Nem vagy Rendõr / NNI-s / Katona!\");}
       return SendClientMessage(playerid, 0xFFFFFFFF, \"Nem vagy szolgálatban!\");
}
return 0;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
if((dialogid == d_trafi || dialogid == d_sk || dialogid == d_bunt) && !response) return SendClientMessage(playerid, 0xFFFFFFFF, \"Kiléptél.\");
switch(dialogid) {
case d_trafi: {
   if((listitem == 0 && PlayerInfo[playerid][trafipax] == 0) || (listitem == 1 && PlayerInfo[playerid][trafipax] == 1)) {
                if(listitem == 0) PlayerInfo[playerid][trafipax] = 1;
      if(listitem == 1) PlayerInfo[playerid][trafipax] = 0, PlayerInfo[playerid][sebesseg] = 0, PlayerInfo[playerid][birsag] = 0/*, Delete3DTextLabel(PlayerInfo[playerid][trafilabel])*/;
      return format(string, sizeof(string), \"Sikeresen %skapcsoltad a traffipaxodat!\", listitem ? (\"ki\") : (\"be\")), SendClientMessage(playerid, 0xFFFFFFFF, string);
   }
   else if(listitem < 2) format(string, sizeof(string), \"Elõbb kapcsold %s!\", listitem ? (\"be\") : (\"ki\")), SendClientMessage(playerid, 0xFFFFFFFF, string);
   if(listitem == 2) ShowPlayerDialog(playerid, d_sk, DIALOG_STYLE_INPUT, \"Beállítás ~ Sebességkorlát\", \"Írd be a sebességkorlátozás értékét!\\nÉrték:\", \"Ok\", \"Mégse\");
   if(listitem == 3) ShowPlayerDialog(playerid, d_bunt, DIALOG_STYLE_INPUT, \"Beállítás ~ Büntetés\", \"Írd be a büntetés értékét (5 000Ft - 150 000Ft)!\\nÉrték:\", \"Ok\", \"Mégse\");
   return 1;
}
case d_sk: {
    if(!PlayerInfo[playerid][trafipax]) return SendClientMessage(playerid, 0xFFFFFFFF, \"Elõbb kapcsold be!\");
    if(!strval(inputtext)) return ShowPlayerDialog(playerid, d_sk, DIALOG_STYLE_INPUT, \"Beállítás ~ Sebességkorlát\", \"Nem adtál meg sebességkorlátot!\\nÉrték:\", \"Ok\", \"Mégse\");
            PlayerInfo[playerid][sebesseg] = strval(inputtext);
            format(string, sizeof(string), \"Sebességkorlát beállítva: %d km/h\", PlayerInfo[playerid][sebesseg]);
           SendClientMessage(playerid, 0xFFFFFFFF, string);
           //PlayerInfo[playerid][trafilabel] = Create3DTextLabel(string, 0x00AA0099, 30.0, 40.0, 50.0, 40.0, 0);
           //Attach3DTextLabelToPlayer(PlayerInfo[playerid][trafilabel], playerid, 0.0, 0.0, 0.6);
   return 1;
}
case d_bunt: {
            if(!PlayerInfo[playerid][trafipax]) return SendClientMessage(playerid, 0xFFFFFFFF, \"Elõbb kapcsold be!\");
    if(!strval(inputtext) || strval(inputtext) > 150000 || strval(inputtext) < 5000) return ShowPlayerDialog(playerid, d_bunt, DIALOG_STYLE_INPUT, \"Beállítás ~ Büntetés\", \"Nem adtál meg büntetést (5 000Ft - 150 000Ft)!\\nÉrték:\", \"Ok\", \"Mégse\");
            PlayerInfo[playerid][birsag] = strval(inputtext);
            format(string, sizeof(string), \"Büntetés beállítva: %d Ft\", PlayerInfo[playerid][birsag]);
           SendClientMessage(playerid, 0xFFFFFFFF, string);
}
}
return 0;
}
« Utoljára szerkesztve: 2014. június 17. - 14:33:37 írta KovaNovik »

Nem elérhető Lofoli

  • 296
    • Profil megtekintése
Trafipax
« Válasz #5 Dátum: 2014. június 23. - 01:39:17 »
0 Show voters
Jó Lett ;]

Nem elérhető gyuri98

  • 153
  • gyuri98
    • Profil megtekintése
Trafipax
« Válasz #6 Dátum: 2014. június 23. - 16:27:52 »
0 Show voters
Ez nem is rossz :D
Megy a +

Trafipax
« Válasz #7 Dátum: 2014. július 29. - 23:12:33 »
0 Show voters
Nem rossz :)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal