Cloud Tunning - Alpha v1.0 -
ClaudioF - 13.08.2017
v1.0 Alpha Vamos falar Sobre o sistema em si, este й um sistema bбsico que nunca vi em servidor algum, ou atй mesmo no Forum SA:MP. esse Script permite que vocк adicione um Spoiler colorido ao seu Veiculo, no momento em questгo, apenas no sultan, mas estou trabalhando para atualizar o sistema e sempre fazer novas versхes, com mais peзas, cores, opзхes, e veнculos.
Procurei deixar o mбximo otimizado e organizado possнvel, alem disso trabalhei para que qualquer um possa configurar a lista de cores dos spoilers e peзas, usando defines e cуdigos HEX (Hexadecimal), alem disso, muitas coisas foram feitas em stock, permitindo que vocк encontre qualquer parte mais fбcil para que possa modifica-la.
Como dito no tуpico a cima, o script foi feito com suas principais configuraзхes, vocк pode alterar as coisas principais ao seu gosto, no caso as cores dos objetos. veja o padrгo a baixo:
Код:
#define DodgerBlue 0xFF0073E6
#define DeepSkyBlue 0xFF00FFFA
#define LimeGreen 0xFF5DFF00
#define DarkBlack 0xFF000000
#define Maroon 0xFF520000
#define Red 0xFFFF0000
#define Yellow 0xFFFF9E03
#define DarkOrange 0xFFA84F00
#define Indigo 0xFF410166
#define DeepPink 0xFFFF00FF
#define White 0xFFFFFFFF
Vocк pode pegar suas cores neste site:
www.colorpicker.com
Atualmente estгo disponнveis 11 Cores, incluindo, Branco, Preto, Vermelho, Amarelo e Verde, que sгo cores mais conhecidas, algumas cores Adicionais foram colocadas, como Deep Pink, DeepSkyBlue...
Veja as cores A Baixo:
Cores pegas do Site:
www.erikasarti.net | Um уtimo site para vocк escolher cores, e lembre-se de que cores sгo essenciais para uma jogatina agradбvel aos olhos.
Sim, vou atualizar e pretendo trazer muita coisa nova para o sistema, algumas ideias vгo abaixo:
Код:
[+] Adiзгo de mais peзas para tunning;
[+] Adiзгo de mais cores para tunning;
[+] Adiзгo de novos veнculos disponнveis;
[+] Adiзгo de novas oficinas;
[+] Adiзгo de um bom mapa;
[+] Adiзгo de novos detalhes, como camera;
[+] Adiзгo de Transparencia e texturas;
Alem dos itens citados a cima, pretendo trazer a ideia do
RazorG, que me disse para fazer esse sistema como uma include.
Й Possнvel que vocк veja alguns sinais ao decorrer dos updates deste tуpico, entгo ai vгo algumas legendas dos significados desses sнmbolos.
Код:
[+] Adicionado.
[-] Removido.
[!] Modificado.
Desenvolvidor: ClaudioF
Apoio: RazorG
Sscanf2: ******
-| Vнdeo ilustrativo:
https://www.youtube.com/watch?v=TQSML7llBFc
-| Prints:
https://imgur.com/a/I1MfC
-| Mediafire:
http://www.mediafire.com/file/q5zibw...dTunningv1.rar
-| Pastebin:
https://pastebin.com/5mLfsGUW
-| Discord:
https://discord.gg/wqUWCBS
-| Steam:
www.steamcommunity.com/groups/TWofGms
-| Skype:
www.join.skype.com/xWkBhFW8A4pj
Qualquer sugestгo, opiniгo, ou Dica de otimizaзгo й bem vinda !
Re: Cloud Tunning - Alpha v1.0 -
Relaxed - 13.08.2017
Bacana, parabйns.
Re: Cloud Tunning - Alpha v1.0 -
PT - 13.08.2017
A sscanf pretence ao ****** e nгo ao emmet
Bom trabalho agora й sу continuar a melhorar a base estб feita
Re: Cloud Tunning - Alpha v1.0 -
ClaudioF - 13.08.2017
Quote:
A sscanf pretence ao ****** e nгo ao emmet
Bom trabalho agora й sу continuar a melhorar a base estб feita
|
Obrigado Relaxed e PT, eu jб corrigi os crйditos. o Script em si acaba nгo usando a sscanf, porem ainda sim a usei para testa-lo.
Re: Cloud Tunning - Alpha v1.0 -
Felpz - 13.08.2017
Genial, parabйns !!
Re: Cloud Tunning - Alpha v1.0 -
ClaudioF - 13.08.2017
Obrigado
Re: Cloud Tunning - Alpha v1.0 -
MultiKill - 13.08.2017
PHP код:
new vehicleid;
vehicleid = GetPlayerVehicleID(playerid);
if(IsPlayerInAnyVehicle(playerid))
{
}
Vocк nгo precisa utilizar a funзгo
IsPlayerInAnyVehicle, pois a funзгo
GetPlayerVehicleID retorna 0 se o jogador nгo estiver em um veнculo.
PHP код:
stock gAngle(playerid)
{
new vehicleid;
if(IsPlayerInAnyVehicle(playerid)) vehicleid = GetPlayerVehicleID(playerid); //bloco 1 com restriзгo
{
//bloco 2 sem restriзхes
GetVehiclePos(vehicleid, xCoord, yCoord, zCoord);
GetVehicleZAngle(vehicleid, aCoord);
}
return 1;
}
No cуdigo acima existem 2 blocos um com restriзгo de entrada que й o bloco 1 que sу vai entrar ali caso o jogador esteja em um veнculo, e o bloco 2 de que qualquer maneira sempre vai entrar ali.
Exemplo:
PHP код:
main(){
new a, b;
b = 8;
if(b == 7) a = 1;
{
printf("a: %d | b: %d", a, b);
}
//Saнda: a: 0 | b: 8
}
PHP код:
if(listitem == 0 && aAttach[vehicleid] == 0)
{
Spoiler(playerid);
SetObjectMaterial(cMaterial[playerid], 0, 19341, "break_f_w", "dyn_f_r_wood_1b", DodgerBlue);
AttachObjectToVehicle(cMaterial[playerid] , vehicleid, 0.010000, -2.165001, 0.359999, 0, 0, 0);
}
if(listitem == 1 && aAttach[vehicleid] == 0)
{
Spoiler(playerid);
SetObjectMaterial(cMaterial[playerid], 0, 19341, "break_f_w", "dyn_f_r_wood_1b", DeepSkyBlue);
AttachObjectToVehicle(cMaterial[playerid] , vehicleid, 0.010000, -2.165001, 0.359999, 0, 0, 0);
}
//...
if(listitem == 11 && aAttach[vehicleid] == 1)
{
DestroyObject(cMaterial[playerid]);
aAttach[vehicleid] = 0;
}
Na parte da verificaзгo do listitem do diбlogo
DIALOG_COR_TUNNING em vez de verificar se o listitem й igual a um valor e se aAttach for igual a 0, faзa como abaixo:
PHP код:
if(aAttach[vehicleid]){
if(listitem == 11)
{
DestroyObject(cMaterial[playerid]);
aAttach[vehicleid] = 0;
}
}
else{
if(listitem == 0)
{
Spoiler(playerid);
SetObjectMaterial(cMaterial[playerid], 0, 19341, "break_f_w", "dyn_f_r_wood_1b", DodgerBlue);
AttachObjectToVehicle(cMaterial[playerid] , vehicleid, 0.010000, -2.165001, 0.359999, 0, 0, 0);
}
//...
}
PHP код:
if(response)
{
ShowPlayerDialog(playerid, DIALOG_MENU_TUNNING, DIALOG_STYLE_LIST, "Selecione o que deseja tunar", "Spoilers Coloridos", "OK", "Voltar");
}
else
{
SetCameraBehindPlayer(playerid);
}
Nгo entendi essa parte, vocк quer que toda vez que um diбlogo seja chamado e o jogador faзa alguma aзгo nesse diбlogo (fechar, clicar no botгo 1 ou botгo 2) essa parte seja executada?
PHP код:
if(!response)
{
setAngle(playerid);
SendClientMessage(playerid, -1, "{254AA1}[INFO]: Vocк saiu da Oficina.");
}
if(response)
{
ShowPlayerDialog(playerid, DIALOG_MENU_TUNNING, DIALOG_STYLE_LIST, "Selecione o que quer tunar", "Spoilers Coloridos", "OK", "Voltar");
}
Nгo hб necessidade de fazer duas verificaзхes faзa uma e use um else.
OnPlayerKeyStateChange:
PHP код:
if(GetVehicleModel(vehicleid) != 560) return SendClientMessage(playerid, -1, "{A12525}[ERRO]: Nosso Sistema ainda estб em fase ALPHA, e sу tem suporte para tunar o Sultan !");
{
}
Abaixo da verificaзгo se o modelo do veнculo nгo й igual 560 vocк criou um bloco sem restriзхes, mas nesse caso ele sу vai entrar caso o modelo do veнculo for igual a 560 por causa do retorno que vocк colocou na verificaзгo acima. Esse bloco nгo й necessбrio.
PHP код:
if(IsPlayerInAnyVehicle(playerid)) vehicleid = GetPlayerVehicleID(playerid);
{
}
Alйm de vocк criar dois blocos, a verificaзгo se o player esta em um veнculo nгo й necessбria pois jб foi feita acima e sу chegara nessa parte do cуdigo se o jogador estiver em um veнculo, e tambйm vocк jб armazenou o id do veнculo em que o jogador esta.
PHP код:
else if(GetPlayerVehicleID(vehicleid == 560))
Supondo que isso seja um erro na hora de escrever que era pra verificar se o modelo do veнculo do jogador seja igual a 560, nгo hб necessidade de verificar pois essa verificaзгo jб foi feita antes. Caso nгo seja isso nгo entendi o que vocк fez.
Parabйns pelo sistema.
Re: Cloud Tunning - Alpha v1.0 -
ClaudioF - 13.08.2017
Comentando algumas coisas do que disse a cima, eu fiz vбrios testes de varias maneiras, algumas das coisas nem eu intendi por que nгo funcionaram;
Quote:
vocк quer que toda vez que um diбlogo seja chamado e o jogador faзa alguma aзгo nesse diбlogo (fechar, clicar no botгo 1 ou botгo 2) essa parte seja executada?
|
Sim
Код:
if(IsPlayerInAnyVehicle(playerid)) vehicleid = GetPlayerVehicleID(playerid);
{
}
Criando apenas um bloco de verificaзгo, ele estava aceitando qualquer veiculo no tunning, eu tive que criar os dois, meio que foi um reforзo de funзгo. Quanto aos outros erros, muitos deles eu tentei como jб disse criar de outra forma, mas tive muitos problemas na criaзгo. problemas sem sentido que o prуprio compilador nгo acusava porem existiam InGame. ainda estou desenvolvendo o sistema, isso foi meio que um petisco. mais pra mostrar a ideia do FS, falta muita organizaзгo de code, e muita coisa a ser feita, coisas corrigidas, vou tentar arrumar o que me disse em breve.
Quote:
Na parte da verificaзгo do listitem do diбlogo DIALOG_COR_TUNNING em vez de verificar se o listitem й igual a um valor e se aAttach for igual a 0, faзa como abaixo:
|
Gostei dessa parte, uma boa dica, e na verdade й bem obvia.
Obrigado
e espero que todos intendam o real motivo de algumas coisas que parecem ter sido mal feitas. Alem disso eu nгo tenho contato com programaзгo a meses.