Carros de gangues -
mateus1546 - 24.08.2014
Bom eu estou criando um server de mata-mata e tem as seguintes gangues: Ballas, Groove, Aztecas, Vagos e Hitmans....
E eu fiz cmds para criar carro de cada gangues, exemplo: /sanchezb[allas] e quando o player criar o carro eu queria que outros player de gangues inimigas nao pudessem entrar nesse carro criado.
Para facilitar pode ser tambйm pela cor do carro por exemplo se a cor do carro й verde apenas os groove podem entrar.
Me ajudem priis
Re: Carros de gangues -
Gii - 24.08.2014
Nгo testei.
Assumindo que cada um pode criar somente um ъnico carro por vez.
pawn Код:
new myCar[MAX_PLAYERS] = {-1,...};
CMD:criarcarro(playerid) {
if ( myCar[playerid] != -1 )
DestroyVehicle(myCar[playerid]);
static vehicleid;
vehicleid = CreateVehicle(vehicletype, x, y, z, rotation, color1, color2, respawn_delay);
myCar[playerid] = vehicleid;
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate) {
if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER) {
static i, vehicleid;
static bool:podeUsar = false;
vehicleid = GetPlayerVehicleID(playerid);
for ( i = 0; i < MAX_PLAYERS; ++i) {
if ( vehicleid == myCar[i] && getPlayerOrg(i) == getPlayerOrg(playerid) ) {
podeUsar = true;
break;
}
}
if ( podeUsar == false )
RemovePlayerFromVehicle(playerid);
}
return 1;
}
public OnVehicleDeath(vehicleid, killerid) {
static i;
for ( i = 0; i < MAX_PLAYERS; ++i) {
if ( myCar[i] == vehicleid ) {
SendClientMessage(i, -1, "Seu veнculo foi destruнdo!");
DestroyVehicle(vehicleid);
myCar[i] = -1;
break;
}
}
return 1;
}
OBS: Faz se nescessбrio implementar a funзгo:getPlayerOrg() e concluir o comando /criarcarro.
Re: Carros de gangues -
mateus1546 - 24.08.2014
Sim cara mas vocк nao entendeu eu nao quero que o carro exploda eu quero que o player saia do carro com essa seguinte funзao:
RemovePlayerFromVehicle(playerid);
Para facilitar vou postar o script do carro.
if (strcmp("/sanchezv", cmdtext, true)==0)
{
if(gTeam[playerid] == Groove) return 0;
if(gTeam[playerid] == Aztecas) return 0;
if(gTeam[playerid] == Ballas) return 0;
if(gTeam[playerid] == Hitmans) return 0;
new Float:X5, Float:Y5, Float:Z5, Float:A5;
GetPlayerPos(playerid, X5, Y5, Z5);
CreateVehicle(468, X5+2, Y5, Z5, A5, 6, 6, 100);
}
Re: Carros de gangues -
Gii - 24.08.2014
Quote:
Originally Posted by mateus1546
Sim cara mas vocк nao entendeu eu nao quero que o carro exploda eu quero que o player saia do carro com essa seguinte funзao:
RemovePlayerFromVehicle(playerid);
Para facilitar vou postar o script do carro.
if (strcmp("/sanchezv", cmdtext, true)==0)
{
if(gTeam[playerid] == Groove) return 0;
if(gTeam[playerid] == Aztecas) return 0;
if(gTeam[playerid] == Ballas) return 0;
if(gTeam[playerid] == Hitmans) return 0;
new Float:X5, Float:Y5, Float:Z5, Float:A5;
GetPlayerPos(playerid, X5, Y5, Z5);
CreateVehicle(468, X5+2, Y5, Z5, A5, 6, 6, 100);
}
|
Quando o carro explodir, cair na бgua, ou qualquer outra coisa, ele vai ser destruнdo e desassociado da atual organizaзгo/dono.
Nгo sei onde vocк viu carro explodindo ai no cуdigo.
Re: Carros de gangues -
Spectral - 24.08.2014
Acho que aqui:
pawn Код:
SendClientMessage(i, -1, "Seu veнculo foi destruнdo!");
DestroyVehicle(vehicleid);
kkkkk Cada um que aparece nesse fуrum!
Essa funзгo faz o carro desaparecer, nгo explode ele.
Re: Carros de gangues -
mateus1546 - 25.08.2014
Bom mano eu vou mostrar no que deu olha o cmd:
if (strcmp("/sanchezb", cmdtext, true)==0)
{
if(gTeam[playerid] == Groove) return 0;
if(gTeam[playerid] == Aztecas) return 0;
if(gTeam[playerid] == Vagos) return 0;
if(gTeam[playerid] == Hitmans) return 0;
new Float:X5, Float:Y5, Float:Z5, Float:A5;
GetPlayerPos(playerid, X5, Y5, Z5);
CreateVehicle(468, X5+2, Y5, Z5, A5, 144, 144, 100);
}
E agora as callbacks que copiei e colei:
public OnPlayerStateChange(playerid, newstate, oldstate) {
if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER) {
static i, vehicleid;
static boolodeUsar = false;
vehicleid = GetPlayerVehicleID(playerid);
for ( i = 0; i < MAX_PLAYERS; ++i) {
if ( vehicleid == CarroBallas[i] && getPlayerOrg(i) == getPlayerOrg(playerid) ) {
podeUsar = true;
break;
}
}
if ( podeUsar == false )
RemovePlayerFromVehicle(playerid);
}
return 1;
}
public OnVehicleDeath(vehicleid, killerid) {
static i;
for ( i = 0; i < MAX_PLAYERS; ++i) {
if ( CarroBallas[i] == vehicleid ) {
SendClientMessage(i, -1, "Seu veнculo foi destruнdo!");
DestroyVehicle(vehicleid);
CarroBallas[i] = -1;
break;
}
}
return 1;
}
E apareceu o seguinte error:
D:\Desktop\BDM\gamemodes\BDM.pwn(776) : error 017: undefined symbol "getPlayerOrg"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
1 Error.
Espero que possa me ajuda!
Re: Carros de gangues -
Schocc - 25.08.2014
Eu tenho este exemplo que tem a mesma finalidade.
http://forum.sa-mp.com/showpost.php?...46&postcount=6
Porйm deve usar a lуgica pra implementar em seu sistema.
Re: Carros de gangues -
Gii - 25.08.2014
Quote:
Originally Posted by iCasTiel
OBS: Faz se nescessбrio implementar a funзгo:getPlayerOrg() e concluir o comando /criarcarro.
|
Nгo sei porque ainda faзo observaзхes.
Substitua por:
Ou
pawn Код:
#define getPlayerOrg(%0) gTeam[%0]
Re: Carros de gangues -
mateus1546 - 26.08.2014
Brother, nao funfa tipo quando eu vou entrar num carro dos ballas sendo que eu to na gang dos ballas eu saio do carro e a msm coisa em outras gangues, e eu tambйm tentei criar um carro na gangue dos ballas e depois mudei de gangue pra tentar entrar pra ver se nao estava ao contrario o sistema e dos dois jeitos nao funfa
Re: Carros de gangues -
mateus1546 - 26.08.2014
Faz na base dessa condiзao mano quando um carro da cor id 128 128 ser criado apenas os gTeam[playerid] = Groove podem entrar entendeu?