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]
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á
Szerintem jó lett. Legközelebb minél jobban próbálj meg törekedni az egyszerûsítésre.
#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;
}