[Tutorial] Criando Carros Exclusivos
#1

Quote:
Originally Posted by Don_Speed
Посмотреть сообщение
1 Passo:Bom Venho Mostrar Para Quem Nao Sabe a Maneira Mais Facil De Criar CArros Exclusivos Para Org/gg/Mafia etc. Bom Para RP/G

Vamos La.

2 Passo:No Topo Do Seu Game Mode Bote
pawn Код:
new CriandoCars[4];
1°CriandoCars Nome Dos Veiculos Voce Pode Botar Cujo Sua Necessidade
2°[4] Maximo de Carros
CriandoCars
Depois Em public OnGameModeInit() Adcione os Veiculos Da Seguinte Maneira.
pawn Код:
CriandoCars[0] = CreateVehicle(402,1456.56896973,-2708.45434570,13.47906208,0.00000000,0,0,999999999);
    CriandoCars[1] = CreateVehicle(560,1459.32836914,-2708.14624023,13.34403801,0.00000000,-0,0,999999999);
    CriandoCars[2] = CreateVehicle(560,1462.38488770,-2708.11743164,13.34403801,0.00000000,0,0,999999999);
    CriandoCars[3] = CreateVehicle(602,1453.15197754,-2704.72583008,13.43906212,0.00000000,0,0,999999999);
3 Passo:Depois Va Em public OnPlayerStateChange(playerid, newstate, oldstate)
Crie Quem Podera Usar o Veiculo e Quem Nao Podera.

pawn Код:
for(new i = 0; i < sizeof(CriandoCars); i ++)
        {
            if(vId==CriandoCars[i])
            {
                if(GetPlayerOrg(playerid) != Org Que Podera Usar)
                {
                    SendClientMessage(playerid,COLOR_RED,"[Erro] Vocк nгo й da Org.[Erro]");
                    RemovePlayerFromVehicle(playerid);
                    Descongelar(playerid);
                }
            }
        }


Bom Galera e Isso Estou Aberto Para Elogios e Para Criticas ...


Olб vim atulizar um tutorial ridiculo que eu fiz na antiga .
La no comeзo da minha caminhada.
Para criar este sistema e muito mais simples do que eu postei na antiga .

Entao vamos ao basico , primeiramente precisa-se criar uma variavel para guardar os dados.

PHP код:
new DSVehicle[5]; 
Este 5 e a quantidade de veiculos a serem adicionados.

Agora localize o Gamemodeinit (CTRL+F) e adicionar os veiculos , vou deixar exemplo.
PHP код:
public OnGameModeInit()
{
    
DSVehicle[0] = CreateVehicle(410,0.0,0.0,0.0,0.0,0,0,60);
    
DSVehicle[1] = CreateVehicle(410,0.0,0.0,0.0,0.0,0,0,60);
    
DSVehicle[2] = CreateVehicle(410,0.0,0.0,0.0,0.0,0,0,60);
    
DSVehicle[3] = CreateVehicle(410,0.0,0.0,0.0,0.0,0,0,60);
    
DSVehicle[4] = CreateVehicle(410,0.0,0.0,0.0,0.0,0,0,60);
    return 
1;

CreateVehicle === https://sampwiki.blast.hk/wiki/CreateVehicle
A contagem dos veiculos comeзam sempre do zero.



Agora localize o OnPlayerStateChange (CTRL+F)
Como na propria wiki ja diz e necessario verificar se o jogar ingressou como motorista
Exemplo dado pela wiki
PHP код:
public OnPlayerStateChange(playeridnewstateoldstate)
{
    if(
oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER// Player entered a vehicle as a driver
    
{
        new 
vehicleid GetPlayerVehicleID(playerid);
        
AddVehicleComponent(vehicleid1010); // Add NOS to the vehicle
    
}
    return 
1;

Com esta base ja podemos montar um cogido legal.
Utilizando um loops a base ficaria basicamente assim.
loops - https://sampwiki.blast.hk/wiki/Loops
PHP код:
public OnPlayerStateChange(playeridnewstateoldstate)
{
    if(
oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)// Verifica se e motorista
    
{
        for(new 
DonSpeed 0DonSpeed sizeof DSVehicleDonSpeed++)// loops para verificar do 0 ao 4
        
{
            if(
GetPlayerVehicleID(playerid) == DSVehicle[DonSpeed])return SendClientMessage(playerid, -1"Esta correto");// verifica se o veiculo em questao e o mesmo que o veiculo desejado deste tutorial
        
}
    }
    return 
1;

E simples e basico , mas como sempre vai ter um cuzгo pra perguntar "Como eu faзo pra retirar ele do veiculo se for de tal ORG"
Vou dar um exemplo mas um exemplo simples .

PHP код:
public OnPlayerStateChange(playeridnewstateoldstate)
{
    if(
oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)// Verifica se e motorista
    
{
        for(new 
DonSpeed 0DonSpeed sizeof DSVehicleDonSpeed++)// loops para verificar do 0 ao 4
        
{
            if(
GetPlayerVehicleID(playerid) == DSVehicle[DonSpeed])
            {
                if(
APlayerData[playerid][pORG] != 1)return RemovePlayerFromVehicle(playerid), SendClientMessage(playerid, -1"Vocк nгo й da ORG (1)");
                
SendClientMessage(playerid, -1"Esta correto");// verifica se o veiculo em questao e o mesmo que o veiculo desejado deste tutorial
            
}
        }
    }
    return 
1;

Criei esta linha como exemplo para demonstrar
PHP код:
if(APlayerData[playerid][pORG] != 1)return RemovePlayerFromVehicle(playerid), SendClientMessage(playerid, -1"Vocк nгo й da ORG (1)");
if(
APlayerData[playerid][pORG] != 1// Variavel "ilustrativa" para um sistema de org caso ele seja dirente de 1 irб remover o mesmo 

Viu esse e o basico , vale ressaltar que este antigo tutorial foi o meu primeiro valeu galerinha.


Reply
#2

Bom isso esta mais para codigos Uteis, Legal
Reply
#3

Quote:
Originally Posted by |_MeGaTroN_|
Посмотреть сообщение
Bom isso esta mais para codigos Uteis, Legal
Nгo, nгo estб.
Reply
#4

Quote:
Originally Posted by Stewie`
Посмотреть сообщение
Nгo, nгo estб.
depois dessa se aposenta megatron
@topic
pareзe ser bem util ^^ parabens!
Reply
#5

voce tem que definir ai o que й vID
se nao vai dar erro :c
Reply
#6

Um tutorial e explicar cada funзao ele apenas explicou new CriandoCars[4]; e siim esta mais para um codigo util..
Reply
#7

Quote:
Originally Posted by |_MeGaTroN_|
Посмотреть сообщение
Um tutorial e explicar cada funзao ele apenas explicou new CriandoCars[4]; e siim esta mais para um codigo util..
=)І.
Reply
#8

Tem outro modo tbm de fazer, pelo nome

Vou ajudar vc '-'

1- Coloque isso ↓ no topo do seu gamemode.
pawn Код:
new playercarro[4];  // [4] Tabem pode ser alterado sendo que [4] й o numero decarros a serem criados.
// o nome : 'playercarro' pode ser alterado.
2- Agora coloque no seu:

OnGameModeInit
pawn Код:
playercarro[0] = AddStaticVehicle(Modelo,X,Y,Z,Angulo,cor1,cor2);
playercarro[1] = AddStaticVehicle(Modelo,X,Y,Z,Angulo,cor1,cor2);
playercarro[2] = AddStaticVehicle(Modelo,X,Y,Z,Angulo,cor1,cor2);  
playercarro[3] = AddStaticVehicle(Modelo,X,Y,Z,Angulo,cor1,cor2);
3- Agora coloque no seu:

OnPlayerStateChange(playerid, newstate, oldstate)

Isto:
pawn Код:
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
new modelo = GetVehicleModel(GetPlayerVehicleID(playerid));
new vid = GetPlayerVehicleID(playerid);
if(vid == playercarro[0] || vid == playercarro[1] || vid == playercarro[2] || vid == playercarro[3] || vid == playercarro[4]){ // Caso troque o nome playercarro, nгo esqueзa de alterar aqui tabem..
if (strcmp(aname, "[LF]PlaYer", true)== 0){ //  Troque [LF]PlaYer pelo nome a escolha.
SendClientMessage(playerid,0x607840AA, "Bem vindo [LF]PlaYer, o seu veiculo foi ligado com sucesso.."); // Frase pode ser alterada tabem.
} else {
GetVehiclePos(GetPlayerVehicleID(playerid), X, Y, Z);
CreateExplosion(X, Y, Z, 7, 10.0); // Cria uma Explosгo. Pode ser retirada tabem , evita roubos de carro!
CreateExplosion(X, Y, Z, 10, 10.0); // Cria uma Explosгo. Pode ser retirada tabem , evita roubos de carro!
CreateExplosion(X, Y, Z, 2, 10.0); // Cria uma Explosгo. Pode ser retirada tabem , evita roubos de carro!
SendClientMessage(playerid,0x607840AA, "Vocк invadiu esse veiculo e o alarme disparou ativando a auto-destruiзao. Traduzindo se ferrou! e.e"); // Frase que pode ser alterada tabem.
TogglePlayerControllable(playerid, 1); // Congela o Player
}
}
Fim '-'
Reply
#9

O que й
pawn Код:
COLOR_RED
E tambem
pawn Код:
Descongelar(playerid);
E
pawn Код:
vID
E
pawn Код:
GetPlayerOrg(playerid)
??

Falei isso para fazer tutoriais nao pegando coisas de seu GM nem de outro GM, porque se eu colocar isso no meu GM ira dar erro, e ne outros tambem...
Reply
#10

Quote:
Originally Posted by [LF]PlaYer
Посмотреть сообщение
Tem outro modo tbm de fazer, pelo nome

pawn Код:
new playercarro[4];
pawn Код:
playercarro[0] = AddStaticVehicle(Modelo,X,Y,Z,Angulo,cor1,cor2);
playercarro[1] = AddStaticVehicle(Modelo,X,Y,Z,Angulo,cor1,cor2);
playercarro[2] = AddStaticVehicle(Modelo,X,Y,Z,Angulo,cor1,cor2);  
playercarro[3] = AddStaticVehicle(Modelo,X,Y,Z,Angulo,cor1,cor2);
playercarro[4] = AddStaticVehicle(Modelo,X,Y,Z,Angulo,cor1,cor2);  // <<
Vai dar erro isso ai ._.'

pawn Код:
new playercarro[4]
Entгo й 0, 1, 2 e 3
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)