/siren help ++++++Rep
#1

Well this command works, but the siren is not attached. I am wondering what is wrong, or if it is a bracket error.
Код:
	if(strcmp(cmd, "/siren", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(IsACop(playerid) && PlayerInfo[playerid][pRank] >= 6)
            {
                new siren[65];
                new VID = GetPlayerVehicleID(playerid);
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp))
                {
                    SendClientMessage(playerid, COLOR_WHITE, "USAGE: /siren [inside, roof, off]");
                    SendClientMessage(playerid, COLOR_GREY, "HINT: 'off' will remove the item from your vehicle.");
                    return 1;
                }
                strmid(siren, tmp, 0, strlen(cmdtext), 255);
                if(strcmp(siren, "inside", true, strlen(siren)) == 0)
                {
                    if(Siren[VID] == 0)
                    {
                        Siren[VID] = 1;
                        SirenObject[VID] = CreateObject(18646, 10.0, 10.0, 10.0, 0, 0, 0);
                        AttachObjectToVehicle(SirenObject[VID], VID, 0.0, 0.75, 0.275, 0.0, 0.1, 0.0);
                        format(string, sizeof(string), "* Law Enforcer puts the siren on the dashboard.");
                        ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                    } else { return SendClientMessage(playerid, COLOR_GREY, "This vehicle already has a siren!"); }
                }
                else if(strcmp(siren, "roof", true, strlen(siren)) == 0)
                {
                    if(Siren[VID] == 0)
                    {
                        Siren[VID] = 1;
                        SirenObject[VID] = CreateObject(18646, 10.0, 10.0, 10.0, 0, 0, 0);
                        AttachObjectToVehicle(SirenObject[VID], VID, 0.0, 0.0, 0.785, 0.0, 0.1, 0.0);
                        format(string, sizeof(string), "* Law Enforcer puts the siren on the roof.");
                        ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                    } else { return SendClientMessage(playerid, COLOR_GREY, "This vehicle already has a siren!"); }
                }
                else if(strcmp(siren, "off", true, strlen(siren)) == 0)
                {
                    if(Siren[VID] == 1)
                    {
                     Siren[VID] = 0;
                     DestroyObject(SirenObject[VID]);
                     format(string, sizeof(string), "* Law Enforcer takes down the siren.");
                     ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                    } else { return SendClientMessage(playerid, COLOR_GREY, "This vehicle doesn't have siren!"); }
                }
            } else { SendClientMessage(playerid, COLOR_GREY, "   You are not part of a Team!"); }
        }
        return 1;
    }
Reply
#2

you don't get any errors ?
because Siren[VID] i don't see it defined anywhere,
i only see new siren[65]; but its with a small "s"

also what i would say is debug it.
where you have
SirenObject[VID] = CreateObject(18646, 10.0, 10.0, 10.0, 0, 0, 0);
put under it print("works"); to check if it gets called.
Reply
#3

PHP код:
CMD:siren(playeridparams[])
{
    if(
IsACop(playerid))
    {
        new 
string[128], type;
        new 
VID GetPlayerVehicleID(playerid);
        if(
sscanf(params"d"type))
        {
            
SendClientMessageEx(playeridCOLOR_WHITE"USAGE: /siren [type]");
            
SendClientMessageEx(playeridCOLOR_GRAD2"Type: 1 = Inside, 2 = Roof, 3 = Off.");
            return 
1;
        }
        switch(
type)
        {
            case 
1:
            {
                if(
Siren[VID] == 1)
                {
                    
SendClientMessageEx(playeridCOLOR_GRAD2"This vehicle already has a siren!");
                    return 
1;
                }
                new 
sendername[MAX_PLAYER_NAME];
                
Siren[VID] = 1;
                
GetPlayerName(playeridsendernamesizeof(sendername));
                
SirenObject[VID] = CreateObject(1864610.010.010.0000);
                
AttachObjectToVehicle(SirenObject[VID], VID0.00.750.2750.00.10.0);
                
format(stringsizeof(string), "* %s puts the siren on the dashboard."sendername);
                
ProxDetector(30.0playeridstringCOLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                return 
1;
            }
            case 
2:
            {
                if(
Siren[VID] == 1)
                {
                    
SendClientMessageEx(playeridCOLOR_GRAD2"This vehicle already has a siren!");
                    return 
1;
                }
                
Siren[VID] = 1;
                new 
sendername[MAX_PLAYER_NAME];
                
GetPlayerName(playeridsendernamesizeof(sendername));
                
SirenObject[VID] = CreateObject(1864610.010.010.0000);
                
AttachObjectToVehicle(SirenObject[VID], VID, -0.430.00.7850.00.10.0);
                
format(stringsizeof(string), "* %s puts the siren on the roof."sendername);
                
ProxDetector(30.0playeridstringCOLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                return 
1;
            }
            case 
3:
            {
                if(
Siren[VID] == 0)
                {
                    
SendClientMessageEx(playeridCOLOR_GRAD2"This vehicle doesn't have a siren on it!");
                    return 
1;
                }
                
Siren[VID] = 0;
                new 
sendername[MAX_PLAYER_NAME];
                
GetPlayerName(playeridsendernamesizeof(sendername));
                
DestroyObject(SirenObject[VID]);
                
format(stringsizeof(string), "* %s takes down the siren."sendername);
                
ProxDetector(30.0playeridstringCOLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                return 
1;
            }
            default:
            {
                
SendClientMessageEx(playeridCOLOR_WHITE"Invalid license type! /siren [type]");
                
SendClientMessageEx(playeridCOLOR_GRAD2"Type: 1 = Roof, 2 = Inside, 3 = Off.");
            }
        }
    }
    else 
SendClientMessageEx(playeridCOLOR_GREY"You're not authorised to use this command.");
    return 
1;

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)