[AJUDA]Definir carros para um org
#1

Entao to criando uma org aki mais ja tentei de todos os jeitos nao consigo
colocar os carros so para a org.
exo o cara da org pode pegar.


deis de ja obrigado.
quero so os de mecanicos
PHP код:
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT
#include <a_samp>
#define ONIBUS 0
new Profissao[MAX_PLAYERS];
#if defined FILTERSCRIPT
forward  onibuscar[8];
public 
OnFilterScriptInit()
{
    print(
"\n--------------------------------------");
    print(
" Blank Filterscript by your name here");
    print(
"--------------------------------------\n");
    return 
1;
}
public 
OnFilterScriptExit()
{
    return 
1;
}
#else
main()
{
    print(
"\n----------------------------------");
    print(
" Blank Gamemode by your name here");
    print(
"----------------------------------\n");
}
#endif
public OnGameModeInit()
{
    
CreateObject(12572399.094238, -1739.40478513.8260670.0000000.000000270.000000); //object (bustopm) (1)
CreateObject(12572238.190674, -1739.38928213.8260670.0000000.000000270.000000); //object (bustopm) (2)
CreateObject(12572438.115723, -1630.13305727.8688760.0000000.0000000.000000); //object (bustopm) (3)
CreateObject(12572423.871826, -1630.51721227.8423480.0000000.000000180.000000); //object (bustopm) (4)
CreateObject(12572437.551025, -1520.14990224.2798650.0000000.0000000.000000); //object (bustopm) (5)
CreateObject(12572557.361572, -1478.21936024.2978420.0000000.0000000.000000); //object (bustopm) (6)
CreateObject(12572577.884766, -1342.22705137.73303210.0000000.000000356.000000); //object (bustopm) (7)
CreateObject(12572604.402100, -1263.62866247.8961140.0000000.000000266.000000); //object (bustopm) (8)
CreateObject(12572677.144043, -1263.59851153.82957810.0000000.000000268.000000); //object (bustopm) (9)
CreateObject(12572744.692139, -1226.45935163.78565210.0000000.0000000.000000); //object (bustopm) (10)
CreateObject(12572678.759766, -1063.96289169.5760650.0000000.00000090.000000); //object (bustopm) (11)
CreateObject(12572755.496826, -1056.11669946.880562346.0000000.000000270.000000); //object (bustopm) (12)
CreateObject(12572831.071289, -1113.33789124.8481120.0000000.000000177.994995); //object (bustopm) (13)
CreateObject(12572862.616943, -1355.99365211.2531200.0000000.000000190.000000); //object (bustopm) (14)
CreateObject(12572817.834473, -1632.30358911.2794930.0000000.000000176.000000); //object (bustopm) (15)
CreateObject(12572663.436279, -1650.58117711.1463790.0000000.00000090.000000); //object (bustopm) (16)
CreateObject(12572901.045654, -887.94171111.3260670.0000000.0000000.000000); //object (bustopm) (18)
CreateObject(12572880.596680, -892.85565211.1541920.0000000.0000000.000000); //object (bustopm) (19)
CreateObject(184492953.214355, -651.0113538.5613990.0000000.0000000.000000); //object (cs_roadbridge01) (1)
CreateObject(184492953.071045, -667.3099378.5613990.0000000.0000000.000000); //object (cs_roadbridge01) (2)
CreateObject(184493032.524170, -667.3322148.5000000.0000000.0000000.000000); //object (cs_roadbridge01) (3)
CreateObject(184493032.552246, -651.2653208.5613990.0000000.0000000.000000); //object (cs_roadbridge01) (4)
CreateObject(58372909.454102, -659.27002010.967963358.0000000.0000000.000000); //object (ci_guardhouse1) (1)
CreateObject(22373064.191895, -654.2453610.0000000.0000000.0000000.000000); //object (CJ_SHOVEL2) (1)
CreateObject(110833149.281982, -671.77850312.2500000.0000000.00000092.000000); //object (drivingschlgnd_SFS) (1)
CreateObject(71913226.824951, -668.18121311.2168660.0000000.00000092.000000); //object (vegasNnewfence2b) (1)
CreateObject(41003205.956543, -634.51892110.9438570.0000000.00000047.999268); //object (meshfence1_LAn) (3)
CreateObject(9803205.463623, -649.41040012.0155790.0000000.00000088.000000); //object (airportgatepfechado) (1)
CreateObject(9803205.881836, -637.94732712.0226590.0000000.00000087.994995); //object (airportgate paberto) (2)
CreateObject(41003205.168701, -661.44610610.9438570.0000000.00000047.999268); //object (meshfence1_LAn) (4)
CreateObject(41003204.645996, -675.18145810.9438570.0000000.00000047.999268); //object (meshfence1_LAn) (5)
CreateObject(41003203.870117, -703.85430910.9438570.0000000.00000049.999268); //object (meshfence1_LAn) (7)
CreateObject(9803204.106445, -691.85284412.0155790.0000000.00000087.994995); //object (airportgate) (1)
CreateObject(9803204.106445, -691.85253912.0155790.0000000.00000087.994995); //object (airportgate pfechado M) (2)
CreateObject(9803204.443115, -680.21209712.0226590.0000000.00000087.994995); //object (airportgate paberto MM) (4)
// veiculos emprego Onibus
onibuscar[0]=AddStaticVehicle(431,3241.52685547,-628.50512695,10.30728531,92.00000000,-1,-1,15); //Bus
onibuscar[1]=AddStaticVehicle(431,3241.61621094,-633.65081787,10.49218750,91.99951172,-1,-1,15); //Bus
onibuscar[2]=AddStaticVehicle(431,3241.82836914,-638.24633789,10.49218750,91.99951172,-1,-1,15); //Bus
onibuscar[3]=AddStaticVehicle(431,3242.04492188,-642.65997314,10.49926758,91.99951172,-1,-1,15); //Bus
onibuscar[4]=AddStaticVehicle(431,3242.24267578,-646.76184082,10.49218750,91.99951172,-1,-1,15); //Bus
onibuscar[5]=AddStaticVehicle(431,3242.56005859,-651.70928955,10.49218750,91.99951172,-1,-1,15); //Bus
onibuscar[6]=AddStaticVehicle(431,3242.58398438,-655.71185303,10.49218750,91.99951172,-1,-1,15); //Bus
onibuscar[7]=AddStaticVehicle(431,3242.70825195,-660.04064941,10.49218750,91.99951172,-1,-1,15); //Bus
onibuscar[8]=AddStaticVehicle(431,3242.62963867,-664.43884277,10.49218750,91.99951172,-1,-1,15); //Bus
// emprego Mecanico.
CreateVehicle(525,3245.11450195,-669.29455566,10.23926735,92.00000000,-1,-1,15); //Tow Truck
CreateVehicle(525,3245.07983398,-672.16564941,10.23926735,91.99951172,-1,-1,15); //Tow Truck
CreateVehicle(525,3245.32055664,-674.92938232,10.23926735,91.99951172,-1,-1,15); //Tow Truck
CreateVehicle(525,3245.51342773,-677.88018799,10.23926735,91.99951172,-1,-1,15); //Tow Truck
CreateVehicle(525,3245.68505859,-680.72735596,10.23218727,91.99951172,-1,-1,15); //Tow Truck
CreateVehicle(525,3245.64965820,-683.45782471,10.23218727,91.99951172,-1,-1,15); //Tow Truck
CreateVehicle(525,3246.50390625,-708.21606445,10.23218727,91.99951172,-1,-1,15); //Tow Truck
CreateVehicle(525,3246.32836914,-705.38256836,10.23218727,91.99951172,-1,-1,15); //Tow Truck
CreateVehicle(525,3246.08691406,-702.59020996,10.23218727,91.99951172,-1,-1,15); //Tow Truck
CreateVehicle(525,3246.19580078,-699.82708740,10.23218727,91.99951172,-1,-1,15); //Tow Truck
CreateVehicle(525,3245.96923828,-697.02569580,10.23218727,91.99951172,-1,-1,15); //Tow Truck
CreateVehicle(525,3246.03686523,-694.32788086,10.23218727,91.99951172,-1,-1,15); //Tow Truck
    
return 1;
}
public 
OnGameModeExit()
{
    return 
1;
}
public 
OnPlayerRequestClass(playeridclassid)
{
    
SetPlayerPos(playerid1958.37831343.157215.3746);
    
SetPlayerCameraPos(playerid1958.37831343.157215.3746);
    
SetPlayerCameraLookAt(playerid1958.37831343.157215.3746);
    return 
1;
}
public 
OnPlayerConnect(playerid)
{
    return 
1;
}
public 
OnPlayerDisconnect(playeridreason)
{
    return 
1;
}
public 
OnPlayerSpawn(playerid)
{
   if(
Profissao[playerid] == ONIBUS// Se A Profissгo Dele For Taxista
   
SetPlayerPos(playerid1367.0944,-1633.3569,13.3828); // Seta Ele Para Um Certo Lugar, Coordenada X Y Z
   
return true;
}
public 
OnPlayerDeath(playeridkilleridreason)
{
    return 
1;
}
public 
OnVehicleSpawn(vehicleid)
{
    return 
1;
}
public 
OnVehicleDeath(vehicleidkillerid)
{
    return 
1;
}
public 
OnPlayerText(playeridtext[])
{
    return 
1;
}
public 
OnPlayerCommandText(playeridcmdtext[])
{
    if(
strcmp(cmdtext,"/emprego"true) == 0)
    {
        if(
Profissao[playerid] == ONIBUS)
        {
            
SendClientMessage(playerid,0x80FF00AA,"Ola parabens voce й motorista de onibus.");
        }
        else
        {
        
SendClientMessage(playerid,0x80FF00AA,"Vocк nгo й motorista de onibus e nгo pode usar este comando");
        }
    return 
1;
    }
    if(!
strcmp(cmdtext"/pegaremprego"true))
    if(
IsPlayerInRangeOfPoint(playerid,5.0,2906.1350,-660.9215,11.0046,322.8840))
{
Profissao[playerid] = ONIBUS;
SendClientMessage(playerid, -1"Voce pegou o emprego Motorista de Onibus");
return 
1;
}
    if (
strcmp("/mycommand"cmdtexttrue10) == 0)
    {
        
// Do something here
        
return 1;
    }
    return 
0;
}
public 
OnPlayerEnterVehicle(playeridvehicleidispassenger)
{
    return 
1;
}
public 
OnPlayerExitVehicle(playeridvehicleid)
{
    return 
1;
}
public 
OnPlayerStateChange(playeridnewstateoldstate)
{
    return 
1;
}
public 
OnPlayerEnterCheckpoint(playerid)
{
    return 
1;
}
public 
OnPlayerLeaveCheckpoint(playerid)
{
    return 
1;
}
public 
OnPlayerEnterRaceCheckpoint(playerid)
{
    return 
1;
}
public 
OnPlayerLeaveRaceCheckpoint(playerid)
{
    return 
1;
}
public 
OnRconCommand(cmd[])
{
    return 
1;
}
public 
OnPlayerRequestSpawn(playerid)
{
    return 
1;
}
public 
OnObjectMoved(objectid)
{
    return 
1;
}
public 
OnPlayerObjectMoved(playeridobjectid)
{
    return 
1;
}
public 
OnPlayerPickUpPickup(playeridpickupid)
{
    return 
1;
}
public 
OnVehicleMod(playeridvehicleidcomponentid)
{
    return 
1;
}
public 
OnVehiclePaintjob(playeridvehicleidpaintjobid)
{
    return 
1;
}
public 
OnVehicleRespray(playeridvehicleidcolor1color2)
{
    return 
1;
}
public 
OnPlayerSelectedMenuRow(playeridrow)
{
    return 
1;
}
public 
OnPlayerExitedMenu(playerid)
{
    return 
1;
}
public 
OnPlayerInteriorChange(playeridnewinterioridoldinteriorid)
{
    return 
1;
}
public 
OnPlayerKeyStateChange(playeridnewkeysoldkeys)
{
    return 
1;
}
public 
OnRconLoginAttempt(ip[], password[], success)
{
    return 
1;
}
public 
OnPlayerUpdate(playerid)
{
    return 
1;
}
public 
OnPlayerStreamIn(playeridforplayerid)
{
    return 
1;
}
public 
OnPlayerStreamOut(playeridforplayerid)
{
    return 
1;
}
public 
OnVehicleStreamIn(vehicleidforplayerid)
{
    return 
1;
}
public 
OnVehicleStreamOut(vehicleidforplayerid)
{
    return 
1;
}
public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    return 
1;
}
public 
OnPlayerClickPlayer(playeridclickedplayeridsource)
{
    return 
1;
}
SalvarPlayer(playerid)
{
    new 
Float:Vida;
    new 
Float:Colete;
    
GetPlayerHealth(playeridVida);
    
GetPlayerArmour(playeridColete);
    new 
Nome[MAX_PLAYER_NAME];
    
GetPlayerName(playeridNomesizeof(Nome));
    new 
String[50];
    
format(Stringsizeof(String), ContasNome);
    
dini_IntSet(String,"Profissao"gTeam[playerid]);
    return 
1;
}
SetarPlayer(playerid)
{
    new 
Nome[MAX_PLAYER_NAME];
    
GetPlayerName(playeridNomesizeof(Nome));
    new 
String[50];
    
format(Stringsizeof(String), ContasNome);
    
gTeam[playerid] = dini_Int(String"Profissao");
    return 
1;

Reply
#2

https://sampforum.blast.hk/showthread.php?tid=191911 Use Sharch 1° OK!
Reply
#3

Quote:
Originally Posted by Josma_cmd
Посмотреть сообщение
Criar veнculos para organizaзхes e impedindo que outros os peguem.


A criaзгo de veнculos exclusivos para organizaзхes й relativamente simples apesar de um tanto chato de se fazer, eu meu sistema uso um loop que carrega os veнculos da scriptfiles mas acho que nгo й uma boa pra este tutorial pois o tornaria um cуdigo ъtil, entгo vamos lб.
Primeiro passo, vocк deve criar as variбveis de cada organizaзгo com o numero de veнculos que as mesma terгo.
Exemplo:
pawn Код:
new VCivil[3];       //Os Civis tem 3 veнculos
new VAssassinos[5];  //Os Assassinos tem 5 veнculos.
new VAeronautica[7]; //A Aeronautica tem 7 veнculos.
new VDrifters[4];    //Os Drifters tem 4 veнculos.
new VPFederal[6];    //A Policia Federal tem 6 veнculos.
Й bom lembrar que й contado o caracter NULL, entгo se a org tem 3 veнculos vocк conta а partir do 0 mas sempre deixando 1 valor а sobra. 0, 1, 2 o 3 й NULL.

As variбveis estгo criadas, vamos aplicar agora os carros а elas.
Vocкs podem fazer isso no OnGameModeInit, ou em uma callback, fica а escolha de cada um.

pawn Код:
//**********************************[ Veнculos Civis]*************************************************
VCivil[0] = CreateVehicle(modelo, Float:X, Float:Y, Float:Z, Float:Rotaзгo, cor1, cor2, respawnDelay);
VCivil[1] = CreateVehicle(modelo, Float:X, Float:Y, Float:Z, Float:Rotaзгo, cor1, cor2, respawnDelay);
VCivil[2] = CreateVehicle(modelo, Float:X, Float:Y, Float:Z, Float:Rotaзгo, cor1, cor2, respawnDelay);

//******************************[ Veнculos dos Assassinos]*************************************************
VAssassinos[0] = CreateVehicle(modelo, Float:X, Float:Y, Float:Z, Float:Rotaзгo, cor1, cor2, respawnDelay);
VAssassinos[1] = CreateVehicle(modelo, Float:X, Float:Y, Float:Z, Float:Rotaзгo, cor1, cor2, respawnDelay);
VAssassinos[2] = CreateVehicle(modelo, Float:X, Float:Y, Float:Z, Float:Rotaзгo, cor1, cor2, respawnDelay);
//E assim vai atй criar todos os veнculos pra completar as arrays da variбvel.

//******************************[ Veнculos da Aeronautica]*************************************************
VAeronautica[0] = CreateVehicle(modelo, Float:X, Float:Y, Float:Z, Float:Rotaзгo, cor1, cor2, respawnDelay);
VAeronautica[1] = CreateVehicle(modelo, Float:X, Float:Y, Float:Z, Float:Rotaзгo, cor1, cor2, respawnDelay);
VAeronautica[2] = CreateVehicle(modelo, Float:X, Float:Y, Float:Z, Float:Rotaзгo, cor1, cor2, respawnDelay);
//E assim vai atй criar todos os veнculos pra completar as arrays da variбvel.

//******************************[ Veнculos dos Drifters]*************************************************
VDrifters[0] = CreateVehicle(modelo, Float:X, Float:Y, Float:Z, Float:Rotaзгo, cor1, cor2, respawnDelay);
VDrifters[1] = CreateVehicle(modelo, Float:X, Float:Y, Float:Z, Float:Rotaзгo, cor1, cor2, respawnDelay);
VDrifters[2] = CreateVehicle(modelo, Float:X, Float:Y, Float:Z, Float:Rotaзгo, cor1, cor2, respawnDelay);
//E assim vai atй criar todos os veнculos pra completar as arrays da variбvel.

//***************************[ Veнculos da Policia Federal]**********************************************
VPFederal[0] = CreateVehicle(modelo, Float:X, Float:Y, Float:Z, Float:Rotaзгo, cor1, cor2, respawnDelay);
VPFederal[1] = CreateVehicle(modelo, Float:X, Float:Y, Float:Z, Float:Rotaзгo, cor1, cor2, respawnDelay);
VPFederal[2] = CreateVehicle(modelo, Float:X, Float:Y, Float:Z, Float:Rotaзгo, cor1, cor2, respawnDelay);
//E assim vai atй criar todos os veнculos pra completar as arrays da variбvel.
Nгo preenchi os parвmetros pra que possam compreender melhor, apesar de saber que vocкs conhecem os parвmetros do CreateVehicle.

Vamos ao passo seguinte, impedir que um membro de outra organizaзгo entre no veнculo de sua organizaзгo, para isso poderнamos usar loop, vбrios comparadores em um loop entre outras coisas, mas vamos utilizar de um macro que eu fiz.
pawn Код:
#define VDaOrg(%0,%1,%2) GetPlayerVehicleID(playerid) >= %0[%1] && GetPlayerVehicleID(playerid) <= %0[%2]
Com este macro verificaremos se o veнculo que o player estб й o mesmo veнculo de uma das arrays setadas na funзгo, veja o exemplo abaixo.
pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate) //Verificarб a mudanзa de estado do player
{
    if(newstate == PLAYER_STATE_DRIVER) //O novo estado do player й de motorista.
    {
        if(VDaOrg(VPCivil,0,2)) SendClientMessage(playerid, C_Civil, "Vocк entrou em um veнculo Civil");
        if(VDaOrg(VAssassinos,0,4)  && ProgressaoInfo[playerid][Membro] != 2) return RemovePlayerFromVehicle(playerid), SendClientMessage(playerid, C_Assassinos, "Vocк nгo й um Assassino");
        if(VDaOrg(VAeronautica,0,6) && ProgressaoInfo[playerid][Membro] != 3) return RemovePlayerFromVehicle(playerid), SendClientMessage(playerid, C_Aeronautica, "Vocк nгo й da Aeronautica");
        if(VDaOrg(VDrifters,0,3)    && ProgressaoInfo[playerid][Membro] != 4) return RemovePlayerFromVehicle(playerid), SendClientMessage(playerid, C_Drifters, "Vocк nгo й um Drifter");
        if(VDaOrg(VPFederal,0,5)    && ProgressaoInfo[playerid][Membro] != 5) return RemovePlayerFromVehicle(playerid), SendClientMessage(playerid, C_PFederal, "Vocк nгo й um Policial Federal");
    }
    return true;
}
No primeiro parвmetro desse macro vocк vai utilizar o nome da variбvel dos veнculos da org desejada, em seguida no segundo parвmetro o numero inicial de veнculos а ser comparado, no caso, 0, e no terceiro, o numero de veнculos que a organizaзгo tem, comeзando do 0 e sem o caracter NULL.
Como podem perceber, utilizamos as cores das organizaзхes que criamos com o const no inicio do tutorial.
Tуpico do tutorial sobre criaзгo de organizaзхes: https://sampforum.blast.hk/showthread.php?tid=288305
Reply
#4

obrigaod Josma
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)