Ja troquei mais de 100x as ids....
pawn Код:
Topo
#define SPD ShowPlayerDialog
#define DSL DIALOG_STYLE_LIST
#define DSI DIALOG_STYLE_INPUT
#define D_TOP "Tuning by Dimi"
#define D_OK "Ok"
#define D_CANCEL "Cancel"
#define D_TEXT "Paintjobs\nCores\nEscapamentos\nAmortecedor dianteiro\nAmortecedor Traseiro\nTeto\nSpoilers\nSaias laterais\nRodas\nCar Stereo\nHidraulica\nNitro"
#define T_FILE "Tuning/%s.ini"
#define TG_FILE "TGarage/%d.ini"
#define MAX_GARAGES 100
#define dialog_TUNING 10647
#define dialog_TUNING_2 10415
#define COLOR_PRICE 100
#define COLOR_RED 0xfa5555AA
#define COLOR_ORANGE 0xFF6600FF
#define SendErrorMessage(%0,%1) \
SendClientMessage(%0, COLOR_RED, "ERROR | {FFFFFF} "%1)
// Dialogresponse
switch( dialogid ) {
case dialog_TUNING: {
if( response ) {
if( !IsPlayerInAnyVehicle( playerid ) ) return SendErrorMessage( playerid, "Vocк Precisa Estar Em Um Veiculo." );
if( GetPlayerState( playerid ) != PLAYER_STATE_DRIVER ) return SendErrorMessage( playerid, "Vocк Precisa Ser O Motorista." );
new vehicleid = GetPlayerVehicleID( playerid ), Float:Pos[ 6 ];
TPInfo[ playerid ][ tID ] = -1;
switch( listitem ) {
case 0: {
for( new i = 0; i < NUMBER_TYPE_PAINTJOB; i++ ) {
if( pjInfo[ i ][ vehID ] == GetVehicleModel( vehicleid ) ) {
TPInfo[ playerid ][ tID ] = i;
break;
}
}
if( TPInfo[ playerid ][ tID ] == -1 ) return SendErrorMessage( playerid, "Nenhum Paintjob Compativel Com Esse Veiculo." );
new pid = TPInfo[ playerid ][ tID ];
TPInfo[ playerid ][ tPaintjob ] = true;
GetVehicleColor( vehicleid, TPInfo[ playerid ][ PJColor ][ 0 ], TPInfo[ playerid ][ PJColor ][ 1 ] );
TogglePlayerControllable( playerid, false );
TuningTDControl( playerid, true );
ChangeVehicleColor( vehicleid, 1, 1 );
ChangeVehiclePaintjob( vehicleid, pjInfo[ pid ][ pNumber ] );
format( globalstring, sizeof( globalstring ), "%s", pjInfo[ pid ][ pName ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 3 ], globalstring );
format( globalstring, sizeof( globalstring ), "price: ~w~%d$", pjInfo[ pid ][ pPrice ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 4 ], globalstring );
GetVehicleCameraPos( vehicleid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ], 4, 0, 5 );
SetPlayerCameraPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
GetVehiclePos( vehicleid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SetPlayerCameraLookAt( playerid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SelectTextDraw( playerid, COLOR_ORANGE );
}
case 1: {
SPD( playerid, dialog_TUNING_2, DSI, D_TOP, "Coloque Cor1 ID E Cor2 ID.\nExemplo: 0 1", D_OK, D_CANCEL );
}
case 2: {
for( new i = 0; i < MAX_COMPONENTS; i++ ) {
if( cInfo[ i ][ cType ] == CARMODTYPE_EXHAUST ) {
if( cInfo[ i ][ cID ] == IsComponentidCompatible( GetVehicleModel( vehicleid ), cInfo[ i ][ cID ] ) ) {
TPInfo[ playerid ][ tID ] = i;
break;
}
}
}
if( TPInfo[ playerid ][ tID ] == -1 ) return SendErrorMessage( playerid, "Nenhum dos componentes compatнveis espйcies selecionadas para o seu modelo de veнculo." );
new cid = TPInfo[ playerid ][ tID ];
TPInfo[ playerid ][ tType ] = CARMODTYPE_EXHAUST;
TPInfo[ playerid ][ tPaintjob ] = false;
TogglePlayerControllable( playerid, false );
TuningTDControl( playerid, true );
format( globalstring, sizeof( globalstring ), "%s", cInfo[ cid ][ cName ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 3 ], globalstring );
format( globalstring, sizeof( globalstring ), "Preco: ~w~%d$", cInfo[ cid ][ cPrice ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 4 ], globalstring );
AddVehicleComponent( vehicleid, cInfo[ cid ][ cID ] );
GetVehicleCameraPos( vehicleid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ], -2, -5, 0 );
SetPlayerCameraPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
GetVehiclePos( vehicleid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SetPlayerCameraLookAt( playerid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SelectTextDraw( playerid, COLOR_ORANGE );
}
case 3: {
for( new i = 0; i < MAX_COMPONENTS; i++ ) {
if( cInfo[ i ][ cType ] == CARMODTYPE_FRONT_BUMPER ) {
if( cInfo[ i ][ cID ] == IsComponentidCompatible( GetVehicleModel( vehicleid ), cInfo[ i ][ cID ] ) ) {
TPInfo[ playerid ][ tID ] = i;
break;
}
}
}
if( TPInfo[ playerid ][ tID ] == -1 ) return SendErrorMessage( playerid, "Nenhum dos componentes compatнveis espйcies selecionadas para o seu modelo de veнculo." );
new cid = TPInfo[ playerid ][ tID ];
TPInfo[ playerid ][ tType ] = CARMODTYPE_FRONT_BUMPER;
TPInfo[ playerid ][ tPaintjob ] = false;
TogglePlayerControllable( playerid, false );
TuningTDControl( playerid, true );
format( globalstring, sizeof( globalstring ), "%s", cInfo[ cid ][ cName ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 3 ], globalstring );
format( globalstring, sizeof( globalstring ), "Preco: ~w~%d$", cInfo[ cid ][ cPrice ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 4 ], globalstring );
AddVehicleComponent( vehicleid, cInfo[ cid ][ cID ] );
GetVehicleCameraPos( vehicleid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ], 0, 6, 0.5 ); // done
SetPlayerCameraPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
GetVehiclePos( vehicleid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SetPlayerCameraLookAt( playerid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SelectTextDraw( playerid, COLOR_ORANGE );
}
case 4: {
for( new i = 0; i < MAX_COMPONENTS; i++ ) {
if( cInfo[ i ][ cType ] == CARMODTYPE_REAR_BUMPER ) {
if( cInfo[ i ][ cID ] == IsComponentidCompatible( GetVehicleModel( vehicleid ), cInfo[ i ][ cID ] ) ) {
TPInfo[ playerid ][ tID ] = i;
break;
}
}
}
if( TPInfo[ playerid ][ tID ] == -1 ) return SendErrorMessage( playerid, "Nenhum dos componentes compatнveis espйcies selecionadas para o seu modelo de veнculo." );
new cid = TPInfo[ playerid ][ tID ];
TPInfo[ playerid ][ tType ] = CARMODTYPE_REAR_BUMPER;
TPInfo[ playerid ][ tPaintjob ] = false;
TogglePlayerControllable( playerid, false );
TuningTDControl( playerid, true );
format( globalstring, sizeof( globalstring ), "%s", cInfo[ cid ][ cName ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 3 ], globalstring );
format( globalstring, sizeof( globalstring ), "Preco: ~w~%d$", cInfo[ cid ][ cPrice ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 4 ], globalstring );
AddVehicleComponent( vehicleid, cInfo[ cid ][ cID ] );
GetVehicleCameraPos( vehicleid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ], 0, -6, 0.5 ); // done
SetPlayerCameraPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
GetVehiclePos( vehicleid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SetPlayerCameraLookAt( playerid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SelectTextDraw( playerid, COLOR_ORANGE );
}
case 5: {
for( new i = 0; i < MAX_COMPONENTS; i++ ) {
if( cInfo[ i ][ cType ] == CARMODTYPE_ROOF ) {
if( cInfo[ i ][ cID ] == IsComponentidCompatible( GetVehicleModel( vehicleid ), cInfo[ i ][ cID ] ) ) {
TPInfo[ playerid ][ tID ] = i;
break;
}
}
}
if( TPInfo[ playerid ][ tID ] == -1 ) return SendErrorMessage( playerid, "Nenhum dos componentes compatнveis espйcies selecionadas para o seu modelo de veнculo." );
new cid = TPInfo[ playerid ][ tID ];
TPInfo[ playerid ][ tType ] = CARMODTYPE_ROOF;
TPInfo[ playerid ][ tPaintjob ] = false;
TogglePlayerControllable( playerid, false );
TuningTDControl( playerid, true );
format( globalstring, sizeof( globalstring ), "%s", cInfo[ cid ][ cName ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 3 ], globalstring );
format( globalstring, sizeof( globalstring ), "Preco: ~w~%d$", cInfo[ cid ][ cPrice ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 4 ], globalstring );
AddVehicleComponent( vehicleid, cInfo[ cid ][ cID ] );
GetVehicleCameraPos( vehicleid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ], 0, 6, 2 ); // done
SetPlayerCameraPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
GetVehiclePos( vehicleid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SetPlayerCameraLookAt( playerid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SelectTextDraw( playerid, COLOR_ORANGE );
}
case 6: {
for( new i = 0; i < MAX_COMPONENTS; i++ ) {
if( cInfo[ i ][ cType ] == CARMODTYPE_SPOILER ) {
if( cInfo[ i ][ cID ] == IsComponentidCompatible( GetVehicleModel( vehicleid ), cInfo[ i ][ cID ] ) ) {
TPInfo[ playerid ][ tID ] = i;
break;
}
}
}
if( TPInfo[ playerid ][ tID ] == -1 ) return SendErrorMessage( playerid, "Nenhum dos componentes compatнveis espйcies selecionadas para o seu modelo de veнculo." );
new cid = TPInfo[ playerid ][ tID ];
TPInfo[ playerid ][ tType ] = CARMODTYPE_SPOILER;
TPInfo[ playerid ][ tPaintjob ] = false;
TogglePlayerControllable( playerid, false );
TuningTDControl( playerid, true );
format( globalstring, sizeof( globalstring ), "%s", cInfo[ cid ][ cName ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 3 ], globalstring );
format( globalstring, sizeof( globalstring ), "Preco: ~w~%d$", cInfo[ cid ][ cPrice ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 4 ], globalstring );
AddVehicleComponent( vehicleid, cInfo[ cid ][ cID ] );
GetVehicleCameraPos( vehicleid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ], 0, -6, 2 ); // done
SetPlayerCameraPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
GetVehiclePos( vehicleid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SetPlayerCameraLookAt( playerid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SelectTextDraw( playerid, COLOR_ORANGE );
}
case 7: {
for( new i = 0; i < MAX_COMPONENTS; i++ ) {
if( cInfo[ i ][ cType ] == CARMODTYPE_SIDESKIRT ) {
if( cInfo[ i ][ cID ] == IsComponentidCompatible( GetVehicleModel( vehicleid ), cInfo[ i ][ cID ] ) ) {
TPInfo[ playerid ][ tID ] = i;
break;
}
}
}
if( TPInfo[ playerid ][ tID ] == -1 ) return SendErrorMessage( playerid, "Nenhum dos componentes compatнveis espйcies selecionadas para o seu modelo de veнculo." );
new cid = TPInfo[ playerid ][ tID ];
TPInfo[ playerid ][ tType ] = CARMODTYPE_SIDESKIRT;
TPInfo[ playerid ][ tPaintjob ] = false;
TogglePlayerControllable( playerid, false );
TuningTDControl( playerid, true );
format( globalstring, sizeof( globalstring ), "%s", cInfo[ cid ][ cName ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 3 ], globalstring );
format( globalstring, sizeof( globalstring ), "Preco: ~w~%d$", cInfo[ cid ][ cPrice ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 4 ], globalstring );
AddVehicleComponent( vehicleid, cInfo[ cid ][ cID ] );
GetVehicleCameraPos( vehicleid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ], 4, 0, 0.5 );
SetPlayerCameraPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
GetVehiclePos( vehicleid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SetPlayerCameraLookAt( playerid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SelectTextDraw( playerid, COLOR_ORANGE );
}
case 8: {
for( new i = 0; i < MAX_COMPONENTS; i++ ) {
if( cInfo[ i ][ cType ] == CARMODTYPE_WHEELS ) {
if( cInfo[ i ][ cID ] == IsComponentidCompatible( GetVehicleModel( vehicleid ), cInfo[ i ][ cID ] ) ) {
TPInfo[ playerid ][ tID ] = i;
break;
}
}
}
if( TPInfo[ playerid ][ tID ] == -1 ) return SendErrorMessage( playerid, "Nenhum dos componentes compatнveis espйcies selecionadas para o seu modelo de veнculo." );
new cid = TPInfo[ playerid ][ tID ];
TPInfo[ playerid ][ tType ] = CARMODTYPE_WHEELS;
TPInfo[ playerid ][ tPaintjob ] = false;
TogglePlayerControllable( playerid, false );
TuningTDControl( playerid, true );
format( globalstring, sizeof( globalstring ), "%s", cInfo[ cid ][ cName ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 3 ], globalstring );
format( globalstring, sizeof( globalstring ), "Preco: ~w~%d$", cInfo[ cid ][ cPrice ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 4 ], globalstring );
AddVehicleComponent( vehicleid, cInfo[ cid ][ cID ] );
GetVehicleCameraPos( vehicleid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ], 4, 0, 0.5 ); // done
SetPlayerCameraPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
GetVehiclePos( vehicleid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SetPlayerCameraLookAt( playerid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SelectTextDraw( playerid, COLOR_ORANGE );
}
case 9: {
for( new i = 0; i < MAX_COMPONENTS; i++ ) {
if( cInfo[ i ][ cType ] == CARMODTYPE_STEREO ) {
if( cInfo[ i ][ cID ] == IsComponentidCompatible( GetVehicleModel( vehicleid ), cInfo[ i ][ cID ] ) ) {
TPInfo[ playerid ][ tID ] = i;
break;
}
}
}
if( TPInfo[ playerid ][ tID ] == -1 ) return SendErrorMessage( playerid, "Nenhum dos componentes compatнveis espйcies selecionadas para o seu modelo de veнculo." );
new cid = TPInfo[ playerid ][ tID ];
TPInfo[ playerid ][ tType ] = CARMODTYPE_STEREO;
TPInfo[ playerid ][ tPaintjob ] = false;
TogglePlayerControllable( playerid, false );
TuningTDControl( playerid, true );
format( globalstring, sizeof( globalstring ), "%s", cInfo[ cid ][ cName ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 3 ], globalstring );
format( globalstring, sizeof( globalstring ), "Preco: ~w~%d$", cInfo[ cid ][ cPrice ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 4 ], globalstring );
AddVehicleComponent( vehicleid, cInfo[ cid ][ cID ] );
GetVehicleCameraPos( vehicleid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ], 0, -6, 2 );
SetPlayerCameraPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
GetVehiclePos( vehicleid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SetPlayerCameraLookAt( playerid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SelectTextDraw( playerid, COLOR_ORANGE );
}
case 10: {
for( new i = 0; i < MAX_COMPONENTS; i++ ) {
if( cInfo[ i ][ cType ] == CARMODTYPE_HYDRAULICS ) {
if( cInfo[ i ][ cID ] == IsComponentidCompatible( GetVehicleModel( vehicleid ), cInfo[ i ][ cID ] ) ) {
TPInfo[ playerid ][ tID ] = i;
break;
}
}
}
if( TPInfo[ playerid ][ tID ] == -1 ) return SendErrorMessage( playerid, "Nenhum dos componentes compatнveis espйcies selecionadas para o seu modelo de veнculo." );
new cid = TPInfo[ playerid ][ tID ];
TPInfo[ playerid ][ tType ] = CARMODTYPE_HYDRAULICS;
TPInfo[ playerid ][ tPaintjob ] = false;
TogglePlayerControllable( playerid, false );
TuningTDControl( playerid, true );
format( globalstring, sizeof( globalstring ), "%s", cInfo[ cid ][ cName ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 3 ], globalstring );
format( globalstring, sizeof( globalstring ), "Preco: ~w~%d$", cInfo[ cid ][ cPrice ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 4 ], globalstring );
AddVehicleComponent( vehicleid, cInfo[ cid ][ cID ] );
GetVehicleCameraPos( vehicleid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ], 2, 2, 2 );
SetPlayerCameraPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
GetVehiclePos( vehicleid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SetPlayerCameraLookAt( playerid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SelectTextDraw( playerid, COLOR_ORANGE );
}
case 11: {
for( new i = 0; i < MAX_COMPONENTS; i++ ) {
if( cInfo[ i ][ cType ] == CARMODTYPE_NITRO ) {
if( cInfo[ i ][ cID ] == IsComponentidCompatible( GetVehicleModel( vehicleid ), cInfo[ i ][ cID ] ) ) {
TPInfo[ playerid ][ tID ] = i;
break;
}
}
}
if( TPInfo[ playerid ][ tID ] == -1 ) return SendErrorMessage( playerid, "Nenhum dos componentes compatнveis espйcies selecionadas para o seu modelo de veнculo." );
new cid = TPInfo[ playerid ][ tID ];
TPInfo[ playerid ][ tType ] = CARMODTYPE_NITRO;
TPInfo[ playerid ][ tPaintjob ] = false;
TogglePlayerControllable( playerid, false );
TuningTDControl( playerid, true );
format( globalstring, sizeof( globalstring ), "%s", cInfo[ cid ][ cName ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 3 ], globalstring );
format( globalstring, sizeof( globalstring ), "Preco: ~w~%d$", cInfo[ cid ][ cPrice ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 4 ], globalstring );
AddVehicleComponent( vehicleid, cInfo[ cid ][ cID ] );
GetVehicleCameraPos( vehicleid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ], 0, -6, 2 ); // done
SetPlayerCameraPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
GetVehiclePos( vehicleid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SetPlayerCameraLookAt( playerid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SelectTextDraw( playerid, COLOR_ORANGE );
}
}
}
else if( !response ) {
SetCameraBehindPlayer( playerid );
}
}
case dialog_TUNING_2: {
if( !response ) return 1;
if( response ) {
if( !IsPlayerInAnyVehicle( playerid ) ) return SendErrorMessage( playerid, "Vocк Precisa Estar Em Um Veiculo." );
if( GetPlayerState( playerid ) != PLAYER_STATE_DRIVER ) return SendErrorMessage( playerid, "Vocк Precisa Ser O Motorista" );
new vehicleid = GetPlayerVehicleID( playerid );
if( GetPlayerMoney( playerid ) < COLOR_PRICE ) return SendErrorMessage( playerid, "O Seu Dinheiro й insuficiente." );
new b1, b2;
if( sscanf( inputtext, "ii", b1, b2 ) ) return SPD( playerid, dialog_TUNING_2, DSI, D_TOP, "Coloque Cor1 ID E Cor2 ID.\nExemplo: 0 1", D_OK, D_CANCEL );
if( b1 < 0 || b2 < 0 || b1 > 255 || b2 > 255 ) return SendErrorMessage( playerid, "Cor ID nгo pode ser superior a partir de 255 ou inferior a 0!");
ChangeVehicleColor( vehicleid, b1, b2 );
GivePlayerMoney( playerid, COLOR_PRICE );
SPD( playerid, dialog_TUNING, DSL, D_TOP, D_TEXT, D_OK, D_CANCEL );
}
}
}
return true;
}