[Ajuda] Colocar para os mecânicos restaurarem a blindagem do veículo
#1

Código do sistema de blindagem feito pelo RedKill '-'

PHP код:
#include <a_samp>
#include <progress>
#pragma tabsize 0
enum blind_info
{
        
Blind,
        
Bar:BarS,
        
Text:TDS,
}
new 
BlindInfo[MAX_VEHICLES][blind_info];
public 
OnFilterScriptInit()
{
        print(
"\n--------------------------------------");
        print(
" ReDKiiL Sistema De Blindagem");
        print(
"--------------------------------------\n");
        for(new 
o!= MAX_VEHICLES; ++o)
        {
                
BlindInfo[o][TDS] = TextDrawCreate(88.000000328.000000"BLINDAGEM:100%");
                
TextDrawAlignment(BlindInfo[o][TDS], 2);
                
TextDrawBackgroundColor(BlindInfo[o][TDS], 255);
                
TextDrawFont(BlindInfo[o][TDS], 1);
                
TextDrawLetterSize(BlindInfo[o][TDS], 0.2200001.000000);
                
TextDrawColor(BlindInfo[o][TDS], -1);
                
TextDrawSetOutline(BlindInfo[o][TDS], 1);
                
TextDrawSetProportional(BlindInfo[o][TDS], 1);
                
TextDrawUseBox(BlindInfo[o][TDS], 1);
                
TextDrawBoxColor(BlindInfo[o][TDS], -1);
                
TextDrawTextSize(BlindInfo[o][TDS], 0.00000072.000000);
                
BlindInfo[o][BarS] = CreateProgressBar(52.00319.0072.506.190xFFFFFFFF100.0);
                
SetProgressBarValue(BlindInfo[o][BarS],100.00);
                
BlindInfo[o][Blind] = 100;
        }
        return 
1;
}
public 
OnFilterScriptExit()
{
        for(new 
o!= MAX_VEHICLES; ++o)
        {
                
DestroyProgressBar(BlindInfo[o][BarS]);
                
TextDrawDestroy(BlindInfo[o][TDS]);
        }
        return 
1;
}
public 
OnVehicleSpawn(vehicleid)
{
    
BlindInfo[vehicleid][Blind] = 100;
    
SetProgressBarValue(BlindInfo[vehicleid][BarS],100.00);
        return 
1;
}
public 
OnVehicleDamageStatusUpdate(vehicleidplayerid)
{
        if(
BlindInfo[vehicleid][Blind] != 0)
        {
            new 
string[18];
            
BlindInfo[vehicleid][Blind] --;
            
RepairVehicle(vehicleid);
            
format(string,sizeof(string),"BLINDAGEM:%d%%",BlindInfo[vehicleid][Blind]);
            
TextDrawSetString(BlindInfo[vehicleid][TDS],string);
                
SetProgressBarValue(BlindInfo[vehicleid][BarS],float(BlindInfo[vehicleid][Blind]));
                
UpdateProgressBar(BlindInfo[vehicleid][BarS],playerid);
        }
        return 
1;
}
public 
OnPlayerStateChange(playerid,newstate,oldstate)
{
        if(
newstate == PLAYER_STATE_DRIVER)
        {
            
TextDrawShowForPlayer(playerid,BlindInfo[GetPlayerVehicleID(playerid)][TDS]);
            
ShowProgressBarForPlayer(playerid,BlindInfo[GetPlayerVehicleID(playerid)][BarS]);
        }
        if(
oldstate == PLAYER_STATE_DRIVER)
        {
            for(new 
o!= MAX_VEHICLES; ++o)
            {
                
TextDrawHideForPlayer(playerid,BlindInfo[o][TDS]);
                
HideProgressBarForPlayer(playerid,BlindInfo[o][BarS]);
                }
        }
        return 
1;

Queria que os mecânicos ao colocar o comando /blindagem ID do cara que tava dirijindo o carro, se ele aceitasse, a porcentagem da blindagem voltaria aos 100%

ID DO EMPREGO DO MECÂNICO - 5

Mas claro, se possivel, tem que colocar um valor neste comando, exemplo..

/blindagem 1 1000
/blindagem ID VALOR

Ajudem!!

+rep pra quem ajudar! xD
Reply
#2

pawn Код:
// TOPO DO GAMEMODE
#include <zcmd>
#include <sscanf2>

//CRIEI O COMANDO EM ZCMD+SSCANF, Й O MAIS SIMPLES
CMD:blindar(playerid, params[])
{
    new id, blindagem, bstring[128];
    if(gTeam[playerid] != 5) return SendClientMessage(playerid,-1, "Nгo йs um mecвnico.");// VERIFICA SE Й MECANICO (USE A VARIБVEL DO SEU GM)
    if(sscanf(params,"ud",id, blindagem)) return SendClientMessage(playerid,-1,"Use: /blindar [ID] [BLINDAGEM]");
    if(blindagem < 0 || blindagem > 1000) return SendClientMessage(playerid,-1,"A blindagem deve estar entre 0 e 1000.");
    if(!IsPlayerInAnyVehicle(id)) return SendClientMessage(playerid, -1, "O Jogador nгo estб num veiculo.");
    BlindInfo[vehicleid][Blind] = blindagem;
    return 1;
}
Reply
#3

Teria como você postar em pastebin?

Não estou conseguindo selecionar!
Reply
#4

'-'

http://pastebin.com/j1WzHQ0G
Reply
#5

Erros amigo..

C:\Users\eduwenes!\Desktop\blindar.pwn(41) : error 029: invalid expression, assumed zero
C:\Users\eduwenes!\Desktop\blindar.pwn(41) : error 017: undefined symbol "cmd_blindar"
C:\Users\eduwenes!\Desktop\blindar.pwn(41) : error 029: invalid expression, assumed zero
C:\Users\eduwenes!\Desktop\blindar.pwn(41) : fatal error 107: too many error messages on one line


O q pode ser?

Linha 41: CMD:blindar(playerid, params[])
Reply
#6

Quote:
Originally Posted by duuuwh
Посмотреть сообщение
Erros amigo..

C:\Users\eduwenes!\Desktop\blindar.pwn(41) : error 029: invalid expression, assumed zero
C:\Users\eduwenes!\Desktop\blindar.pwn(41) : error 017: undefined symbol "cmd_blindar"
C:\Users\eduwenes!\Desktop\blindar.pwn(41) : error 029: invalid expression, assumed zero
C:\Users\eduwenes!\Desktop\blindar.pwn(41) : fatal error 107: too many error messages on one line


O q pode ser?

Linha 41: CMD:blindar(playerid, params[])
Coloca fora da public OnPlayerCommandText
Reply
#7

e aonde eu coloco? em ql public?
Reply
#8

"Solto" no script. Caso vocк nгo saiba usar ZCMD procure algum tutorial.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)