Sistema de Carro - gbzin - 11/09/2022
Bom sou novo aqui e queria ajuda com meu codigo /car [nome veiculo]
so que queria incurtar na hora de escrever o nome do veiculo
EX: em vez de /car cheetah usar apenas /car chee
Código: CMD:car(playerid, params[])
{
if(pAusente[playerid] == true) return pMensagem(playerid, Vermelho, "[PILOTS] Você está ausente.");
if(pPreso[playerid] == true) return pMensagem(playerid, Vermelho, "[PILOTS] Você está preso.");
if(EmArenaDM[playerid] == true) return pMensagem(playerid, Vermelho, "[PILOTS] Você Não pode usar este comando em uma arena.");
if(pEvento[playerid] == true) return pMensagem(playerid, Vermelho, "[PILOTS] Você está no evento.");
new Veiculo[25], Cor[2];
if(sscanf(params,"s[25]dd",Veiculo, Cor[0], Cor[1])) return pMensagem(playerid, Laranja, "[INFO] Use: /Car [Nome] [Cor 1] [Cor 2]");
if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, Vermelho, "[ ERRO ] Voce nao pode criar um Veiculo dentro de outro!");
new bool:existe, VeiculoID;
if(!IsNumeric(Veiculo))
{
for(new r = 0;r < 212; r++)
{
if(!strcmp(Veiculo, sCars[r],true))
{
existe = true;
}
if(!strcmp(Veiculo, sCars[r],true)) VeiculoID = (r+400);
}
}
if(!existe)
{
new String[256];
format(String, sizeof(String), "[PILOTS] veiculo Não existe.", Veiculo);
pMensagem(playerid, Vermelho, String);
return 1;
}
if(pPvPLiberado[playerid] == false && sCAdmin[playerid] < 5)
{
if(VeiculoID == 520 || VeiculoID == 432 || VeiculoID == 592 || VeiculoID == 425 ||
VeiculoID == 464 || VeiculoID == 406 || VeiculoID == 476 || VeiculoID == 447) return pMensagem(playerid, -1, "[INFO] Este veiculo Não é permitido neste Modo.");
}
GetPlayerPos(playerid, X, Y, Z);
GetPlayerFacingAngle(playerid, Angle);
CriarVeiculo(playerid, VeiculoID, X, Y, Z+1, Angle, Cor[0], Cor[1], -1);
return 1;
}
RE: Sistema de Carro - MarcosBrazz - 11/09/2022
Tente assim:
Código: CMD:car(playerid, params[])
{
if(pAusente[playerid] == true) return pMensagem(playerid, Vermelho, "[PILOTS] Você está ausente.");
if(pPreso[playerid] == true) return pMensagem(playerid, Vermelho, "[PILOTS] Você está preso.");
if(EmArenaDM[playerid] == true) return pMensagem(playerid, Vermelho, "[PILOTS] Você Não pode usar este comando em uma arena.");
if(pEvento[playerid] == true) return pMensagem(playerid, Vermelho, "[PILOTS] Você está no evento.");
new Veiculo[25], Cor[2];
if(sscanf(params,"s[25]dd",Veiculo, Cor[0], Cor[1])) return pMensagem(playerid, Laranja, "[INFO] Use: /Car [Nome] [Cor 1] [Cor 2]");
if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, Vermelho, "[ ERRO ] Voce nao pode criar um Veiculo dentro de outro!");
new bool:existe, VeiculoID;
if(!IsNumeric(Veiculo))
{
for(new r = 0;r < 212; r++)
{
if(strfind(Veiculo, sCars[r]) != -1)
{
existe = true;
VeiculoID = (r+400);
break;
}
else {
existe = false;
}
}
}
if(!existe)
{
new String[256];
format(String, sizeof(String), "[PILOTS] veiculo Não existe.", Veiculo);
pMensagem(playerid, Vermelho, String);
return 1;
}
if(pPvPLiberado[playerid] == false && sCAdmin[playerid] < 5)
{
if(VeiculoID == 520 || VeiculoID == 432 || VeiculoID == 592 || VeiculoID == 425 ||
VeiculoID == 464 || VeiculoID == 406 || VeiculoID == 476 || VeiculoID == 447) return pMensagem(playerid, -1, "[INFO] Este veiculo Não é permitido neste Modo.");
}
GetPlayerPos(playerid, X, Y, Z);
GetPlayerFacingAngle(playerid, Angle);
CriarVeiculo(playerid, VeiculoID, X, Y, Z+1, Angle, Cor[0], Cor[1], -1);
return 1;
}
RE: Sistema de Carro - Device-Black - 11/09/2022
Na verdade isso pode ser muito mais simples
Código: CMD:car(id, args[])
{
static model, Float:pos[4];
if(sscanf(args, "k<vehicle>", model))
return SendClientMessage(id, -1, "Veiculo nao encontrado!");
GetPlayerPos(id, pos[0], pos[1], pos[2]);
GetPlayerFacingAngle(id, pos[3]);
static vid;
vid = CreateVehicle(model, pos[0], pos[1], pos[2], pos[3], 0, 0, -1);
PutPlayerInVehicle(id, vid, 0);
return 1;
}
Adapte ao seu comando ✌️
RE: Sistema de Carro - gbzin - 12/09/2022
e nao funcionou nenhum dos dois, mais obrigado
RE: Sistema de Carro - Device-Black - 12/09/2022
(12/09/2022 00:36)gbzin Escreveu: e nao funcionou nenhum dos dois, mais obrigado
Ve no Repositório do github do sscanf, la aparece algo semelhante sobre o que você quer
Mas creio que tem de usar o sscanf e o compilador atualizado
RE: Sistema de Carro - gbzin - 12/09/2022
tem dc?
RE: Sistema de Carro - Device-Black - 12/09/2022
DeviceBlack#3979
RE: Sistema de Carro - Dr Editor - 12/09/2022
Código PHP: CMD:car(playerid, params[]) { if(pAusente[playerid] == true) return pMensagem(playerid, Vermelho, "[PILOTS] Você está ausente."); if(pPreso[playerid] == true) return pMensagem(playerid, Vermelho, "[PILOTS] Você está preso."); if(EmArenaDM[playerid] == true) return pMensagem(playerid, Vermelho, "[PILOTS] Você Não pode usar este comando em uma arena."); if(pEvento[playerid] == true) return pMensagem(playerid, Vermelho, "[PILOTS] Você está no evento."); new Veiculo[30], Cor[2]; if(sscanf(params,"s[30]dd",Veiculo, Cor[0], Cor[1])) return pMensagem(playerid, Laranja, "[INFO] Use: /Car [Nome] [Cor 1] [Cor 2]"); if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, Vermelho, "[ ERRO ] Voce nao pode criar um Veiculo dentro de outro!"); new bool:existe, VeiculoID, index = -1; if(!IsNumeric(Veiculo)) { for(new i = 0, len = strlen(nome); i < sizeof veh; i ++) { if(!strcmp(nome, veh[i], true, len)) { index = i; break; } } }
if(index == -1) { new String[256]; format(String, sizeof(String), "[PILOTS] veiculo Não existe.", Veiculo); pMensagem(playerid, Vermelho, String); return 1; } if(pPvPLiberado[playerid] == false && sCAdmin[playerid] < 5) { VeiculoID = index + 400; if(VeiculoID == 520 || VeiculoID == 432 || VeiculoID == 592 || VeiculoID == 425 || VeiculoID == 464 || VeiculoID == 406 || VeiculoID == 476 || VeiculoID == 447) return pMensagem(playerid, -1, "[INFO] Este veiculo Não é permitido neste Modo."); } GetPlayerPos(playerid, X, Y, Z); GetPlayerFacingAngle(playerid, Angle); CriarVeiculo(playerid, VeiculoID, X, Y, Z+1, Angle, Cor[0], Cor[1], -1); return 1; }
A variável "veh" nada mais é que a variável que contém o nome dos veículos, conforme abaixo:
Código PHP: static veh[][] = { "Landstalker", "Bravura", "Buffalo", "Linerunner", "Perennial", "Sentinel", "Dumper", "Fire Truck", "Trashmaster", "Stretch", "Manana", "Infernus", "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam", "Esperanto", "Taxi", "Washington", "Bobcat", "Mr. Whoopee", "BF Injection", "Hunter", "Premier", "Enforcer", "Securicar", "Banshee", "Predator", "Bus", "Rhino", "Barracks", "Hotknife", "Trailer 1", "Previon", "Coach", "Cabbie", "Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster", "Admiral", "Squalo", "Seasparrow", "Pizzaboy", "Tram", "Trailer 2", "Turismo", "Speeder", "Reefer", "Tropic", "Flatbed", "Yankee", "Caddy", "Solair", "Berkley's RC Van", "Skimmer", "PCJ-600", "Faggio", "Freeway", "RC Baron", "RC Raider", "Glendale", "Oceanic", "Sanchez", "Sparrow", "Patriot", "Quadbike", "Coastguard", "Dinghy", "Hermes", "Sabre", "Rustler", "ZR-350", "Walton", "Regina", "Comet", "BMX", "Burrito", "Camper", "Marquis", "Baggage", "Dozer", "Maverick", "News Chopper", "Rancher", "FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring Racer", "Sandking", "Blista Compact", "Police Maverick", "Boxville", "Benson", "Mesa", "RC Goblin", "Hotring Racer 2", "Hotring Racer 3", "Bloodring Banger", "Rancher Lure", "Super GT", "Elegant", "Journey", "Bike", "Mountain Bike", "Beagle", "Cropduster", "Stuntplane", "Tanker", "Roadtrain", "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra", "FCR-900", "NRG-500", "HPV1000", "Cement Truck", "Towtruck", "Fortune", "Cadrona", "FBI Truck", "Willard", "Forklift", "Tractor", "Combine Harvester", "Feltzer", "Remington", "Slamvan", "Blade", "Freight", "Brown Streak", "Vortex", "Vincent", "Bullet", "Clover", "Sadler", "Fire Truck Ladder", "Hustler", "Intruder", "Primo", "Cargobob", "Tampa", "Sunrise", "Merit", "Utility Van", "Nevada", "Yosemite", "Windsor", "Monster 2", "Monster 3", "Uranus", "Jester", "Sultan", "Stratum", "Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito", "Freight Train Flatbed", "Streak Train Trailer", "Kart", "Mower", "Dune", "Sweeper", "Broadway", "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400", "Newsvan", "Tug", "Trailer (Tanker Commando)", "Emperor", "Wayfarer", "Euros", "Hotdog", "Club", "Box Freight", "Trailer 3", "Andromada", "Dodo", "RC Cam", "Launch", "Police LS", "Police SF", "Police LV", "Police Ranger", "Picador", "S.W.A.T.", "Alpha", "Phoenix", "Glendale Damaged", "Sadler Damaged", "Baggage Trailer (covered)", "Baggage Trailer (Uncovered)", "Trailer (Stairs)", "Boxville Mission", "Farm Trailer", "Street Clean Trailer" };
RE: Sistema de Carro - CoelhaO_LokaO - 12/09/2022
tu tem que pegar e comparar a string com nome do carro se as 3 primeira letras forem igual chama ele
|