[Ajuda] Funciona na 2Є vez apenas
#1

Olб, boas..

Bбh galera, й o seguinte, to com um pequeno problema no Sistema de Carros que eu nгo me recordo os Crйditos :P

Ele sу estб deletando o Veнculo de segunda vez, e quando 2 player's criam um veнculo, o primeiro player que criou o veнculo, perde-o.

E tambйm as 3DTextLabel ficam um todos grudadas em todos os carros criados.

Cуdigo:

pawn Код:
#include <a_samp>


new DonoDoCarro[MAX_PLAYERS],
    Text3D:CarroDoDono[MAX_PLAYERS],
    Float:Xxx,
    Float:Yyy,
    Float:Zzz,
    StrinG[256],
    TemCarro[MAX_PLAYERS];
   

#define TAG[SRC]           "{FFBF00}"
#define COL_EASY           "{FFF1AF}"
#define COL_WHITE          "{FFFFFF}"
#define COL_BLACK          "{0E0101}"
#define COL_GREY           "{C3C3C3}"
#define COL_GREEN          "{6EF83C}"
#define COL_RED            "{F81414}"
#define COL_YELLOW         "{F3FF02}"
#define COL_ORANGE         "{FFAF00}"
#define COL_LIME            "{B7FF00}"
#define COL_CYAN           "{00FFEE}"
#define COL_LIGHTBLUE      "{00C0FF}"
#define COL_BLUE           "{0049FF}"
#define COL_MAGENTA        "{F300FF}"
#define COL_VIOLET         "{B700FF}"
#define COL_PINK           "{FF00EA}"
#define COL_MARONE         "{A90202}"
#define COL_CMD            "{B8FF02}"
#define COL_PARAM          "{3FCD02}"
#define COL_SERVER         "{AFE7FF}"

//#define IGNORE_WARP_INTO_VEHICLE
//#define IGNORE_VIRTUAL_WORLDS
//#define IGNORE_SPAWN_MESSAGES
//#define IGNORE_VEHICLE_ACTIVATION
//#define IGNORE_VEHICLE_DELETION

#define DEFAULT_RESPAWN_TIME        600 /* ten minutes */

#if !defined IGNORE_VEHICLE_DELETION
        new
            bool:gDialogCreated[ MAX_VEHICLES ] = { false, ... };
#endif

CreatePlayerVehicle( playerid, modelid )
{
        new
            vehicle,
                Float:x,
                Float:y,
                Float:z,
                Float:angle;

        if ( GetPlayerState( playerid ) == PLAYER_STATE_DRIVER )
        {
            vehicle = GetPlayerVehicleID( playerid );
            GetVehiclePos( vehicle, x, y, z );
            GetVehicleZAngle( vehicle, angle );
            DestroyVehicle( vehicle );
            DestroyVehicle(DonoDoCarro[playerid]);
            TemCarro[playerid] == 0;
        }
        else
        {
                DestroyVehicle(DonoDoCarro[playerid]);
                GetPlayerPos( playerid, x, y, z );
                GetPlayerFacingAngle( playerid, angle );
                TemCarro[playerid] == 0;
        }
        DestroyVehicle(DonoDoCarro[playerid]);
        DonoDoCarro[playerid] = CreateVehicle( modelid, x, y, ( z + 1 ), angle, -1, -1, DEFAULT_RESPAWN_TIME );
        LinkVehicleToInterior( vehicle, GetPlayerInterior( playerid ) );
        format(StrinG, sizeof(StrinG), "Veiculo de:\n%s [ID: %d]", NomE(playerid), playerid);
        CarroDoDono[playerid] = Create3DTextLabel(StrinG, 0x00FF00FF, x, y, z+1, 30, 0, 1);
        Attach3DTextLabelToVehicle(CarroDoDono[playerid], DonoDoCarro[playerid], 0, 0, 0);
        TemCarro[playerid] == 0;
        #if !defined IGNORE_VIRTUAL_WORLDS
                SetVehicleVirtualWorld( vehicle, GetPlayerVirtualWorld( playerid ) );
                TemCarro[playerid] == 0;
        #endif
        #if !defined IGNORE_WARP_INTO_VEHICLE
                PutPlayerInVehicle( playerid, DonoDoCarro[playerid], 0 );
                TemCarro[playerid] == 0;
        #endif
        #if !defined IGNORE_VEHICLE_DELETION
                gDialogCreated[ DonoDoCarro[playerid] ] = true;
                TemCarro[playerid] == 0;
        #endif
        return 1;
}

ShowPlayerDefaultDialog( playerid )
{
        ShowPlayerDialog( playerid, 3434, DIALOG_STYLE_LIST, "{FF0000}Escolha seu veнculo", "1є\tAvioes\n\tHelicopteros\n\tBikes\n\tConversiveis\n\tIndustriais\n\tLowriders\n\tOffRoad\n\tServico Publico\n\tSaloons\n10є\tVeiculos Esportivos\n11є\tPeruas\n12є\tBarcos\n13є\tTrailers\n14є\tVeiculos Unicos\n15є\tVeiculos RC", "Selecionar", "Cancelar" );
        return 1;
}

public OnFilterScriptInit()
{
        printf( "   * vDialog version 0.2a loaded *             " );
        return 1;
}

public OnFilterScriptExit()
{
        printf( "   * vDialog version 0.2a unloaded *           " );
        return 1;
}


public OnPlayerCommandText( playerid, cmdtext[] )
{
        if ( strcmp( cmdtext, "/v", true, 8 ) == 0 )
        {
            DestroyVehicle(DonoDoCarro[playerid]);
            if ( GetPlayerState( playerid ) == PLAYER_STATE_DRIVER )
            {
                        #if !defined IGNORE_VEHICLE_ACTIVATION
                        DestroyVehicle(DonoDoCarro[playerid]);
                        ShowPlayerDefaultDialog( playerid );
                        GetPlayerPos(playerid, Xxx, Yyy, Zzz);
                        return 1;
                        #endif
                }

                if ( GetPlayerState( playerid ) != PLAYER_STATE_PASSENGER ) ShowPlayerDefaultDialog( playerid );
            return 1;
        }
       
    return 0;
}

public OnVehicleSpawn( vehicleid )
{
        #if !defined IGNORE_VEHICLE_DELETION
        if ( gDialogCreated[ vehicleid ] )
            {
            DestroyVehicle( DonoDoCarro[vehicleid] );
                gDialogCreated[ DonoDoCarro[vehicleid] ] = false;
            }
        #endif
        DestroyVehicle(DonoDoCarro[vehicleid]);
        return 1;
}

public OnDialogResponse( playerid, dialogid, response, listitem, inputtext[] )
{
        if ( response )
        {
                switch ( dialogid )
                {
                        case 3434 :
                        {
                        switch ( listitem )
                                {
                                        case 0 : ShowPlayerDialog( playerid, 3435, DIALOG_STYLE_LIST, "Avioes", "Andromada\nAT-400\nBeagle\nCropduster\nDodo\nHydra\nNevada\nRustler\nShamal\nSkimmer\nStuntplane\nBack", "Selecionar", "Cancelar" );
                                        case 1 : ShowPlayerDialog( playerid, 3436, DIALOG_STYLE_LIST, "Helicopteros", "Cargobob\nHunter\nLeviathan\nMaverick\nNews Maverick\nPolice Maverick\nRaindance\nSeasparrow\nSparrow\nBack", "Selecionar", "Cancelar" );
                                        case 2 : ShowPlayerDialog( playerid, 3437, DIALOG_STYLE_LIST, "Bikes", "BF-400\nBike\nBMX\nFaggio\nFCR-900\nFreeway\nMountain Bike\nNRG-500\nPCJ-600\nPizzaboy\nQuad\nSanchez\nWayfarer\nBack", "Selecionar", "Cancelar" );
                                        case 3 : ShowPlayerDialog( playerid, 3438, DIALOG_STYLE_LIST, "Conversiveis", "Comet\nFeltzer\nStallion\nWindsor\nBack", "Selecionar", "Cancelar" );
                                        case 4 : ShowPlayerDialog( playerid, 3439, DIALOG_STYLE_LIST, "Industriais", "Benson\nBobcat\nBurrito\nBoxville\nBoxburg\nCement Truck\nDFT-30\nFlatbed\nLinerunner\nMule\nNewsvan\nPacker\nPetrol Tanker\nPony\nRoadtrain\nRumpo\nSadler\nSadler Shit\nTopfun\nTractor\nTrashmaster\nUtility Van\nWalton\nYankee\nYosemite\nBack", "Selecionar", "Cancelar" );
                                        case 5 : ShowPlayerDialog( playerid, 3440, DIALOG_STYLE_LIST, "Lowriders", "Blade\nBroadway\nRemington\nSavanna\nSlamvan\nTahoma\nTornado\nVoodoo\nBack", "Selecionar", "Cancelar" );
                                        case 6 : ShowPlayerDialog( playerid, 3441, DIALOG_STYLE_LIST, "OffRoad", "Bandito\nBF Injection\nDune\nHuntley\nLandstalker\nMesa\nMonster\nMonster A\nMonster B\nPatriot\nRancher A\nRancher B\nSandking\nBack", "Selecionar", "Cancelar" );
                                        case 7 : ShowPlayerDialog( playerid, 3442, DIALOG_STYLE_LIST, "Servico Publico", "Ambulance\nBarracks\nBus\nCabbie\nCoach\nCop Bike (HPV-1000)\nEnforcer\nFBI Rancher\nFBI Truck\nFiretruck\nFiretruck LA\nPolice Car (LSPD)\nPolice Car (LVPD)\nPolice Car (SFPD)\nRanger\nRhino\nS.W.A.T\nTaxi\nBack", "Selecionar", "Cancelar" );
                                        case 8 : ShowPlayerDialog( playerid, 3443, DIALOG_STYLE_LIST, "Saloons", "Admiral\nBloodring Banger\nBravura\nBuccaneer\nCadrona\nClover\nElegant\nElegy\nEmperor\nEsperanto\nFortune\nGlendale Shit\nGlendale\nGreenwood\nHermes\nIntruder\nMajestic\nManana\nMerit\nNebula\nOceanic\nPicador\nPremier\nPrevion\nPrimo\nSentinel\nStafford\nSultan\nSunrise\nTampa\nVincent\nVirgo\nWillard\nWashington\nBack", "Selecionar", "Cancelar" );
                                        case 9 : ShowPlayerDialog( playerid, 3444, DIALOG_STYLE_LIST, "Veiculos Esportivos", "Alpha\nBanshee\nBlista Compact\nBuffalo\nBullet\nCheetah\nClub\nEuros\nFlash\nHotring Racer\nHotring Racer A\nHotring Racer B\nInfernus\nJester\nPhoenix\nSabre\nSuper GT\nTurismo\nUranus\nZR-350\nBack", "Selecionar", "Cancelar" );
                                        case 10 : ShowPlayerDialog( playerid, 3445, DIALOG_STYLE_LIST, "Peruas", "Moonbeam\nPerenniel\nRegina\nSolair\nStratum\nBack", "Selecionar", "Cancelar" );
                                        case 11 : ShowPlayerDialog( playerid, 3446, DIALOG_STYLE_LIST, "Barcos", "Coastguard\nDinghy\nJetmax\nLaunch\nMarquis\nPredator\nReefer\nSpeeder\nSquallo\nTropic\nBack", "Selecionar", "Cancelar" );
                                        case 12 : ShowPlayerDialog( playerid, 3447, DIALOG_STYLE_LIST, "Trailers", "Article Trailer\nArticle Trailer 2\nArticle Trailer 3\nBaggage Trailer A\nBaggage Trailer B\nFarm Trailer\nFreight Flat Trailer (Train)\nFreight Box Trailer (Train)\nPetrol Trailer\nStreak Trailer (Train)\nStairs Trailer\nUtility Trailer\nBack", "Selecionar", "Cancelar" );
                                        case 13 : ShowPlayerDialog( playerid, 3448, DIALOG_STYLE_LIST, "Veiculos Unicos", "Baggage\nBrownstreak (Train)\nCaddy\nCamper\nCamper A\nCombine Harvester\nDozer\nDumper\nForklift\nFreight (Train)\nHotknife\nHustler\nHotdog\nKart\nMower\nMr Whoopee\nRomero\nSecuricar\nStretch\nSweeper\nTram\nTowtruck\nTug\nVortex\nBack", "Selecionar", "Cancelar" );
                                        case 14 : ShowPlayerDialog( playerid, 3449, DIALOG_STYLE_LIST, "Veiculos RC", "RC Bandit\nRC Baron\nRC Raider\nRC Goblin\nRC Tiger\nRC Cam\nBack", "Selecionar", "Cancelar" );
                                }
                        }
                        case 3435 :
                        {
                                if ( listitem > 10 ) return ShowPlayerDefaultDialog( playerid );

                                new
                                model_array[] = { 592, 577, 511, 512, 593, 520, 553, 476, 519, 460, 513 };
                                DestroyVehicle(DonoDoCarro[playerid]);
                                return DonoDoCarro[playerid] = CreatePlayerVehicle( playerid, model_array[ listitem ] );
                        }
                        case 3436 :
                        {
                                if ( listitem > 8 ) return ShowPlayerDefaultDialog( playerid );

                        new
                        model_array[] = { 548, 425, 417, 487, 488, 497, 563, 447, 469 };
                                DestroyVehicle(DonoDoCarro[playerid]);
                                return DonoDoCarro[playerid] = CreatePlayerVehicle( playerid, model_array[ listitem ] );
                        }
                        case 3437 :
                        {
                                if ( listitem > 12 ) return ShowPlayerDefaultDialog( playerid );

                                new
                                        model_array[] = { 581, 509, 481, 462, 521, 463, 510, 522, 461, 448, 471, 468, 586 };
                                DestroyVehicle(DonoDoCarro[playerid]);
                                return DonoDoCarro[playerid] = CreatePlayerVehicle( playerid, model_array[ listitem ] );
                        }
                        case 3438 :
                        {
                                if ( listitem > 3 ) return ShowPlayerDefaultDialog( playerid );

                                new
                                        model_array[] = { 480, 533, 439, 555 };
                                DestroyVehicle(DonoDoCarro[playerid]);
                                return DonoDoCarro[playerid] = CreatePlayerVehicle( playerid, model_array[ listitem ] );
                        }
                        case 3439 :
                        {
                                if ( listitem > 24 ) return ShowPlayerDefaultDialog( playerid );

                                new
                                model_array[] = { 499, 422, 482, 498, 609, 524, 578, 455, 403, 414, 582, 443, 514, 413, 515, 440, 543, 605, 459, 531, 408, 552, 478, 456, 554 };
                                DestroyVehicle(DonoDoCarro[playerid]);
                                return DonoDoCarro[playerid] = CreatePlayerVehicle( playerid, model_array[ listitem ] );
                        }
                        case 3440 :
                        {
                                if ( listitem > 7 ) return ShowPlayerDefaultDialog( playerid );

                        new
                            model_array[] = { 536, 575, 534, 567, 535, 566, 576, 412 };
                                DestroyVehicle(DonoDoCarro[playerid]);
                                return DonoDoCarro[playerid] = CreatePlayerVehicle( playerid, model_array[ listitem ] );
                        }
                        case 3441 :
                        {
                                if ( listitem > 12 ) return ShowPlayerDefaultDialog( playerid );

                        new
                            model_array[] = { 568, 424, 573, 579, 400, 500, 444, 556, 557, 470, 489, 505, 495 };
                                DestroyVehicle(DonoDoCarro[playerid]);
                                return DonoDoCarro[playerid] = CreatePlayerVehicle( playerid, model_array[ listitem ] );
                        }
                        case 3442 :
                        {
                                if ( listitem > 17 ) return ShowPlayerDefaultDialog( playerid );

                                new
                                model_array[] = { 416, 433, 431, 438, 437, 523, 427, 490, 528, 407, 544, 596, 598, 597, 599, 432, 601, 420 };
                                DestroyVehicle(DonoDoCarro[playerid]);
                                return DonoDoCarro[playerid] = CreatePlayerVehicle( playerid, model_array[ listitem ] );
                        }
                        case 3443 :
                        {
                                if ( listitem > 33 ) return ShowPlayerDefaultDialog( playerid );

                            new
                            model_array[] = { 445, 504, 401, 518, 527, 542, 507, 562, 585, 419, 526, 604, 466, 492, 474, 546, 517, 410, 551, 516, 467, 600, 426, 436, 547, 405, 580, 560, 550, 549, 540, 491, 529, 421 };
                                DestroyVehicle(DonoDoCarro[playerid]);
                                return DonoDoCarro[playerid] = CreatePlayerVehicle( playerid, model_array[ listitem ] );
                        }
                        case 3444 :
                        {
                                if ( listitem > 19 ) return ShowPlayerDefaultDialog( playerid );

                        new
                            model_array[] = { 602, 429, 496, 402, 541, 415, 589, 587, 565, 494, 502, 503, 411, 559, 603, 475, 506, 451, 558, 477 };
                                DestroyVehicle(DonoDoCarro[playerid]);
                                return DonoDoCarro[playerid] = CreatePlayerVehicle( playerid, model_array[ listitem ] );
                        }
                        case 3445 :
                        {
                                if ( listitem > 4 ) return ShowPlayerDefaultDialog( playerid );

                                new
                                model_array[] = { 418, 404, 479, 458, 561 };
                                DestroyVehicle(DonoDoCarro[playerid]);
                                return DonoDoCarro[playerid] = CreatePlayerVehicle( playerid, model_array[ listitem ] );
                        }
                        case 3446 :
                        {
                                if ( listitem > 9 ) return ShowPlayerDefaultDialog( playerid );

                    new
                            model_array[] = { 472, 473, 493, 595, 484, 430, 453, 452, 446, 454 };
                                DestroyVehicle(DonoDoCarro[playerid]);
                                return DonoDoCarro[playerid] = CreatePlayerVehicle( playerid, model_array[ listitem ] );
                        }
                        case 3447 :
                        {
                                if ( listitem > 11 ) return ShowPlayerDefaultDialog( playerid );

                        new
                            model_array[] = { 435, 450, 591, 606, 607, 610, 569, 590, 584, 570, 608, 611 };
                                DestroyVehicle(DonoDoCarro[playerid]);
                                return DonoDoCarro[playerid] = CreatePlayerVehicle( playerid, model_array[ listitem ] );
                        }
                        case 3448 :
                        {
                                if ( listitem > 23 ) return ShowPlayerDefaultDialog( playerid );

                    new
                            model_array[] = { 485, 537, 457, 483, 508, 532, 486, 406, 530, 538, 434, 545, 588, 571, 572, 423, 442, 428, 409, 574, 449, 525, 583, 539 };
                                DestroyVehicle(DonoDoCarro[playerid]);
                                return DonoDoCarro[playerid] = CreatePlayerVehicle( playerid, model_array[ listitem ] );
                        }
                        case 3449 :
                        {
                                if ( listitem > 5 ) return ShowPlayerDefaultDialog( playerid );

                    new
                            model_array[] = { 441, 464, 465, 501, 564, 594 };
                                DestroyVehicle(DonoDoCarro[playerid]);
                                return DonoDoCarro[playerid] = CreatePlayerVehicle( playerid, model_array[ listitem ] );
                        }
                }
        }
        return 0;
}


stock NomE(playerid)
{
    new pNome[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pNome, 24);
    return pNome;
}
Reply
#2

UPPPPP
Reply
#3

Tem skype? explicar por voz...
Reply
#4

Nгo, explica aqui!
Reply
#5

Nгo intendi seu problema .
Explique melhor
Reply
#6

Quando meu amigo cria um veнculo, beleza, funciona e a 3D text label fica tudo certo, mais dae ele ta andando com o veнculo dele e eu crio um veiculo tbm, o dele some e o meu aparece, e assim fica acumulando as 3d text label de todos os nomes de quem fez os carros..
Reply
#7

pawn Код:
Text3D:CarroDoDono[MAX_PLAYERS],
pawn Код:
Text3D:CarroDoDono[MAX_VEHICLES],
Assim ele nгo fica como uma var do player e sim uma var do carro !
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)