Carros e Portгo Para Helpers ? -
VladimireG - 05.11.2013
Seguinte ....
Editei No MTA Os Carros e Um Portгo Para Helpers ...
Sу Preciso Saber Como Faзo Para Os Carros Que Setei Ficarem Sу Para Helper Conseguir Entrar ...
E O Portгo...Como Criar Um CMD Que Faz Pra Ele Abrir e Sу Helpers Poder Abrir ?
Define [phelper]
Abaixo A Listinha Dos Objetos Que Eu Fiz No MTA .. Nгo Sei Se Vai Servir .. Mais Ta Ai :
pawn Код:
//=========== Hq Helpers ==================================================================================================================================================
AddStaticVehicleEx(535,1562.8000500,-1897.0999800,13.4000000,270.0000000,98,68,15); //Slamvan
AddStaticVehicleEx(567,1563.3000500,-1893.0000000,13.5000000,270.0000000,174,155,15); //Savanna
AddStaticVehicleEx(400,1563.0000000,-1889.0000000,13.7000000,270.0000000,38,55,15); //Landstalker
AddStaticVehicleEx(500,1562.6999500,-1885.0000000,13.8000000,269.5000000,32,32,15); //Mesa
AddStaticVehicleEx(495,1573.5000000,-1896.9000200,14.1000000,90.0000000,31,37,15); //Sandking
AddStaticVehicleEx(424,1573.8000500,-1893.3000500,13.4000000,90.0000000,81,84,15); //BF Injection
AddStaticVehicleEx(461,1574.5000000,-1884.1999500,13.2000000,90.0000000,109,40,15); //PCJ-600
AddStaticVehicleEx(463,1574.5999800,-1885.5999800,13.2000000,90.0000000,76,117,15); //Freeway
AddStaticVehicleEx(581,1574.4000200,-1887.0000000,13.3000000,88.5000000,109,24,15); //BF-400
AddStaticVehicleEx(471,1574.6999500,-1888.5999800,13.1000000,90.0000000,52,26,15); //Quad
AddStaticVehicleEx(471,1574.6999500,-1890.6999500,13.1000000,90.0000000,52,26,15); //Quad
CreateObject(987,1564.5999800,-1882.5999800,13.8000000,0.0000000,0.0000000,180.0000000); //object(elecfence_bar) (1)
CreateObject(987,1583.2000700,-1882.5999800,13.8000000,0.0000000,0.0000000,179.9950000); //object(elecfence_bar) (4)
CreateObject(5020,1581.0999800,-1882.4000200,14.2000000,0.0000000,0.0000000,90.0000000); //object(mul_las) (1)
CreateObject(5020,1588.5000000,-1882.4000200,14.2000000,0.0000000,0.0000000,90.0000000); //object(mul_las) (2)
CreateObject(5020,1592.8000500,-1882.4000200,14.2000000,0.0000000,0.0000000,90.0000000); //object(mul_las) (3)
CreateObject(5020,1554.9000200,-1882.4000200,14.3000000,0.0000000,0.0000000,90.0000000); //object(mul_las) (4)
CreateObject(5020,1547.4000200,-1882.4000200,14.2000000,0.0000000,0.0000000,90.0000000); //object(mul_las) (5)
CreateObject(5020,1543.6999500,-1882.5000000,14.2000000,0.0000000,0.0000000,90.0000000); //object(mul_las) (6)
CreateObject(980,1568.1999500,-1882.4000200,15.3000000,0.0000000,0.0000000,0.0000000); //object(airportgate) (1)
CreateObject(1581,1568.0000000,-1897.9000200,13.0000000,0.0000000,0.0000000,0.0000000); //object(keycard) (2)
Re: Carros e Portгo Para Helpers ? -
VladimireG - 05.11.2013
Alguem Me Ajuda ?
Re: Carros e Portгo Para Helpers ? -
VladimireG - 05.11.2013
Me Ajudem Pessoal Por Favorrr !
Re: Carros e Portгo Para Helpers ? -
Schocc - 05.11.2013
Cria uma variбvel e faзa a manipulaзгo.
Jб te ajudo, vou criar aqui um exemplo.
Re: Carros e Portгo Para Helpers ? -
Menor - 05.11.2013
Dentro da public OnPlayerStateChange(playerid, newstate, oldstate)
Adcione:
pawn Код:
if(newstate == PLAYER_STATE_DRIVER)
{
if(VeiculosHelper(GetPlayerVehicleID(playerid)))
{
if(//variavel do cargo)
{
}
else
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,COR,"Erro: Vocк nгo pode pegar esse veнculo!");
}
}
}
No final do GM adcione:
pawn Код:
stock VeiculosHelper(vehicleid)
{
new result;
new model = GetVehicleModel(vehicleid);
switch(model)
{
case idcarro, idcarro, idcarro: result = model;
default: result = 0;
}
Sу uma base msm...
Re: Carros e Portгo Para Helpers ? -
Schocc - 05.11.2013
Fiz pra vocк uma forma usando OnPlayerEnverVehicle, й um simples FS que fiz de testes talvez sirva como exemplo.
Se for testar, precisa da ysi e sscanf.
By [iPs]iShock
pawn Код:
#include < a_samp >
#include < sscanf2 >
#include < YSI\y_commands >
#define MAX_VEHICLE_HELPERS (11)
new bool:IsPlayerHelpers[MAX_PLAYERS];
new VeiculoHelpers[MAX_VEHICLE_HELPERS];
public OnFilterScriptInit( ) {
VeiculoHelpers[0] = AddStaticVehicleEx(535,1562.8000500,-1897.0999800,13.4000000,270.0000000,98,68,15); //Slamvan
VeiculoHelpers[1] = AddStaticVehicleEx(567,1563.3000500,-1893.0000000,13.5000000,270.0000000,174,155,15); //Savanna
VeiculoHelpers[2] = AddStaticVehicleEx(400,1563.0000000,-1889.0000000,13.7000000,270.0000000,38,55,15); //Landstalker
VeiculoHelpers[3] = AddStaticVehicleEx(500,1562.6999500,-1885.0000000,13.8000000,269.5000000,32,32,15); //Mesa
VeiculoHelpers[4] = AddStaticVehicleEx(495,1573.5000000,-1896.9000200,14.1000000,90.0000000,31,37,15); //Sandking
VeiculoHelpers[5] = AddStaticVehicleEx(424,1573.8000500,-1893.3000500,13.4000000,90.0000000,81,84,15); //BF Injection
VeiculoHelpers[6] = AddStaticVehicleEx(461,1574.5000000,-1884.1999500,13.2000000,90.0000000,109,40,15); //PCJ-600
VeiculoHelpers[7] = AddStaticVehicleEx(463,1574.5999800,-1885.5999800,13.2000000,90.0000000,76,117,15); //Freeway
VeiculoHelpers[8] = AddStaticVehicleEx(581,1574.4000200,-1887.0000000,13.3000000,88.5000000,109,24,15); //BF-400
VeiculoHelpers[9] = AddStaticVehicleEx(471,1574.6999500,-1888.5999800,13.1000000,90.0000000,52,26,15); //Quad
VeiculoHelpers[10] = AddStaticVehicleEx(471,1574.6999500,-1890.6999500,13.1000000,90.0000000,52,26,15); //Quad
return 1;
}
YCMD:carhelper(playerid,params[],help) {
SetPlayerPos(playerid,1562.8000500,-1897.0999800,13.4000000);
return 1;
}
YCMD:sethelper(playerid,params[],help) {
new bool:ishelper,id;
if(sscanf(params,"ul",id,ishelper)) return SendClientMessage(playerid,-1,"Use /sethelper <playerid/part name> <true/false>");
if(ishelper == true)
{
IsPlayerHelpers[id] = true;
SendClientMessage(id,0x00FF00FF,#Vocк foi adicionado ao grupo Helpers!);
}
else if(ishelper == false)
{
IsPlayerHelpers[id] = false;
SendClientMessage(id,0xFF0000FF,#Vocк foi removido ao grupo Helpers!);
}
return 1;
}
/*
Nova forma de bloquear a entrada de um player em um veiculo.
Usando a callback OnPlayerEnterVehicle
Por: [iPs]iShock
*/
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) {
for(new i; i < MAX_VEHICLE_HELPERS; i++) {
if(VeiculoHelpers[i] != vehicleid) continue;
if(vehicleid == VeiculoHelpers[i]) {
if(IsPlayerHelpers[playerid] == true) {
SendClientMessage(playerid,-1,#Bem vindo ao veiculo usado por helpers!);
}
else {
SendClientMessage(playerid,-1,#Este veiculo nгo й autorizado para seu uso! <Somente Helpers>);
TogglePlayerControllable(playerid,false);
TogglePlayerControllable(playerid,true);
}
return 1;
}
}
return 1;
}
Respuesta: Carros e Portгo Para Helpers ? -
DanDRT - 05.11.2013
nгo quero corrigir ninguem mais Shocc ficaria menor com isso:
pawn Код:
YCMD:sethelper(playerid,params[],help) {
new bool:ishelper,id,str[50];
if(sscanf(params,"il",id,ishelper)) return SendClientMessage(playerid,-1,"Use /sethelper <playerid/part name> <true/false>");
format(str, sizeof(str), "Vocк foi %s ao grupo Helpers!", (ishelper ? ("adicionado") : ("removido"));
IsPlayerHelpers[id] = ishelper;
return 1;
}
Respuesta: Carros e Portгo Para Helpers ? -
[BWL]Chamaleon - 05.11.2013
fiz correndo mais deve funcionar tenta aew.
pawn Код:
new VHELP[11]; // isso no Topo no GM
new pHelp; // Coloque isso no topo do GM
// Coloque isto na OnGameModeInt
VHELP[0] = AddStaticVehicleEx(535,1562.8000500,-1897.0999800,13.4000000,270.0000000,98,68,15); //Slamvan
VHELP[1] = AddStaticVehicleEx(567,1563.3000500,-1893.0000000,13.5000000,270.0000000,174,155,15); //Savanna
VHELP[2] = AddStaticVehicleEx(400,1563.0000000,-1889.0000000,13.7000000,270.0000000,38,55,15); //Landstalker
VHELP[3] = AddStaticVehicleEx(500,1562.6999500,-1885.0000000,13.8000000,269.5000000,32,32,15); //Mesa
VHELP[4] = AddStaticVehicleEx(495,1573.5000000,-1896.9000200,14.1000000,90.0000000,31,37,15); //Sandking
VHELP[5] = AddStaticVehicleEx(424,1573.8000500,-1893.3000500,13.4000000,90.0000000,81,84,15); //BF Injection
VHELP[6] = AddStaticVehicleEx(461,1574.5000000,-1884.1999500,13.2000000,90.0000000,109,40,15); //PCJ-600
VHELP[7] = AddStaticVehicleEx(463,1574.5999800,-1885.5999800,13.2000000,90.0000000,76,117,15); //Freeway
VHELP[8] = AddStaticVehicleEx(581,1574.4000200,-1887.0000000,13.3000000,88.5000000,109,24,15); //BF-400
VHELP[9] = AddStaticVehicleEx(471,1574.6999500,-1888.5999800,13.1000000,90.0000000,52,26,15); //Quad
VHELP[10] = AddStaticVehicleEx(471,1574.6999500,-1890.6999500,13.1000000,90.0000000,52,26,15); //Quad
CreateObject(987,1564.5999800,-1882.5999800,13.8000000,0.0000000,0.0000000,180.0000000); //object(elecfence_bar) (1)
CreateObject(987,1583.2000700,-1882.5999800,13.8000000,0.0000000,0.0000000,179.9950000); //object(elecfence_bar) (4)
CreateObject(5020,1581.0999800,-1882.4000200,14.2000000,0.0000000,0.0000000,90.0000000); //object(mul_las) (1)
CreateObject(5020,1588.5000000,-1882.4000200,14.2000000,0.0000000,0.0000000,90.0000000); //object(mul_las) (2)
CreateObject(5020,1592.8000500,-1882.4000200,14.2000000,0.0000000,0.0000000,90.0000000); //object(mul_las) (3)
CreateObject(5020,1554.9000200,-1882.4000200,14.3000000,0.0000000,0.0000000,90.0000000); //object(mul_las) (4)
CreateObject(5020,1547.4000200,-1882.4000200,14.2000000,0.0000000,0.0000000,90.0000000); //object(mul_las) (5)
CreateObject(5020,1543.6999500,-1882.5000000,14.2000000,0.0000000,0.0000000,90.0000000); //object(mul_las) (6)
pHelp = CreateObject(980,1568.1999500,-1882.4000200,15.3000000,0.0000000,0.0000000,0.0000000); //object(airportgate) (1)
CreateObject(1581,1568.0000000,-1897.9000200,13.0000000,0.0000000,0.0000000,0.0000000); //object(keycard) (2)
// Na Public OnPlayerCommandText
if (strcmp(cmdtext,"/ahelper", true)==0){
if(PlayerInfo[playerid][phelper] == 1){ // coloque a definiзгo de quem poderб usar o comando
MoveObject(phelp,1568.1999500,-1882.4000200,4.30,3.0); // Aqui coloque as coordenadas de onde o portгo irб X,Y,Z neste caso fiz ele abrindo para baixo sу mudei a 'Z'
SendClientMessage(playerid,0xFFFFFFAA, "[PORTEIRO] O Portгo dos Helpers foi aberto!"); // mensagem que quiser
return 1;
}
}
if (strcmp(cmdtext,"/ahelper", true)==0){
if(PlayerInfo[playerid][phelper] == 1){ // coloque a definiзгo de quem poderб usar o comando
MoveObject(phelp,1568.1999500,-1882.4000200,15.30,3.0); // Aqui coloque as coordenadas de onde o portгo irб X,Y,Z neste caso fiz ele abrindo para baixo sу mudei a 'Z'
SendClientMessage(playerid,0xFFFFFFAA, "[PORTEIRO] O Portгo dos Helpers foi Fechado!"); // mensagem que quiser
return 1;
}
}
// Coloque esta public no GM
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER)
{
new vid = GetPlayerVehicleID(playerid);
if(vid == VHELP[0] || vid == VHELP[1] || vid == VHELP[2] || vid == VHELP[3] || vid == VHELP[4] || vid == VHELP[5] || vid == VHELP[6] || vid == VHELP[7] || vid == VHELP[8] || vid == VHELP[9] || vid == VHELP[10]){
if(PlayerInfo[playerid][phelper] == 1){ // Coloque a definiзгode helper aqui
SendClientMessage(playerid,Amarelo,"[INFO] Seja bem vindo Helper.");
} else {
SendClientMessage(playerid,Vermelho,"[ERRO] Vocк nгo й um helper.");
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1);
}
}
return 1;
}