A Jetpack command that I need to be converted to zcmd
#1

pawn Код:
if(strcmp(cmd,"/jetpack",true) == 0)
{
    if(PlayerInfo[playerid][pAdmin] == 1338)
    {
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp))
        {
            SetPlayerSpecialAction(playerid,SPECIAL_ACTION_USEJETPACK);
            SendClientMessage(playerid, 0xAA0000AA, "* Spawned Jetpack For Yourself. You Can Also Do /jetpack [id].");
        }
        else
        {
            new id = strval(tmp);
            if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xAA0000AA, "USAGE:  /jetpack [id] - Enter A Valid Player ID.");
           
            new aname[24], pname[24];
            GetPlayerName(playerid,aname,sizeof(aname)); // admin name
            GetPlayerName(id,pname,sizeof(pname)); // player name

            SetPlayerSpecialAction(id,SPECIAL_ACTION_USEJETPACK);
           
            format(string,sizeof(string),"You Have Given  %s (%d)  A Jetpack.",pname,id);
            SendClientMessage(playerid, 0xAA0000AA, string);
            format(string,sizeof(string),"Administrator  %s (%d)  Has Given You A Jetpack.",aname,playerid);
            SendClientMessage(id, 0xAA0000AA, string);
        }
    } else return SendClientMessage(playerid, 0xAA0000AA, "You Have To Be A Level 1338 Admin To Use This!");
    return 1;
}
Can anyone Convert this to ZCMD
Reply
#2

Here you go mate, you need sscanf

pawn Код:
CMD:jetpack( playerid, params[ ] )
{
    if(PlayerInfo[playerid][pAdmin] == 1338)
    {
        new targetid;
        if( sscanf( params, "u", targetid ) )
        {
            SetPlayerSpecialAction(playerid,SPECIAL_ACTION_USEJETPACK);
            SendClientMessage(playerid, 0xAA0000AA, "* Spawned Jetpack For Yourself. You Can Also Do /jetpack [targetid].");
        }
        else
        {
            if( !IsPlayerConnected( targetid ) ) return SendClientMessage(playerid, 0xAA0000AA, "USAGE:  /jetpack [targetid] - Enter A Valid Player ID.");

            new aname[ 24 ], pname[ 24 ];
            GetPlayerName(playerid,aname,sizeof(aname)); // admin name
            GetPlayerName(targetid,pname,sizeof(pname)); // player name

            SetPlayerSpecialAction(targetid,SPECIAL_ACTION_USEJETPACK);

            format(string,sizeof(string),"You Have Given  %s (%d)  A Jetpack.",pname,targetid);
            SendClientMessage(playerid, 0xAA0000AA, string);
            format(string,sizeof(string),"Administrator  %s (%d)  Has Given You A Jetpack.",aname,playerid);
            SendClientMessage(targetid, 0xAA0000AA, string);
        }
    }
    else return SendClientMessage(playerid, 0xAA0000AA, "You Have To Be A Level 1338 Admin To Use This!");
    return 1;
}
Hope this helps.

Regard,
FalconX
Reply
#3

Quote:
Originally Posted by FalconX
Посмотреть сообщение
Here you go mate, you need sscanf

pawn Код:
CMD:jetpack( playerid, params[ ] )
{
    if(PlayerInfo[playerid][pAdmin] == 1338)
    {
        new targetid;
        if( sscanf( params, "u", targetid ) )
        {
            SetPlayerSpecialAction(playerid,SPECIAL_ACTION_USEJETPACK);
            SendClientMessage(playerid, 0xAA0000AA, "* Spawned Jetpack For Yourself. You Can Also Do /jetpack [targetid].");
        }
        else
        {
            if( !IsPlayerConnected( targetid ) ) return SendClientMessage(playerid, 0xAA0000AA, "USAGE:  /jetpack [targetid] - Enter A Valid Player ID.");

            new aname[ 24 ], pname[ 24 ];
            GetPlayerName(playerid,aname,sizeof(aname)); // admin name
            GetPlayerName(targetid,pname,sizeof(pname)); // player name

            SetPlayerSpecialAction(targetid,SPECIAL_ACTION_USEJETPACK);

            format(string,sizeof(string),"You Have Given  %s (%d)  A Jetpack.",pname,targetid);
            SendClientMessage(playerid, 0xAA0000AA, string);
            format(string,sizeof(string),"Administrator  %s (%d)  Has Given You A Jetpack.",aname,playerid);
            SendClientMessage(targetid, 0xAA0000AA, string);
        }
    }
    else return SendClientMessage(playerid, 0xAA0000AA, "You Have To Be A Level 1338 Admin To Use This!");
    return 1;
}
Hope this helps.

Regard,
FalconX
THANX I rep+
Reply
#4

When I try to use it it deletes it self here is the command cuz I edited some of it
pawn Код:
CMD:jetpack( playerid, params[ ] )
{
    if(PlayerInfo[playerid][pAdmin] >= 1)
    {
        new targetid;
        if( sscanf( params, "u", targetid ) )
        {
            SetPlayerSpecialAction(playerid,SPECIAL_ACTION_USEJETPACK);
            SendClientMessage(playerid, 0xAA0000AA, "* Spawned Jetpack For Yourself. You Can Also Do /jetpack [targetid].");
        }
        else
        {
            if( !IsPlayerConnected( targetid ) ) return SendClientMessage(playerid, 0xAA0000AA, "USAGE:  /jetpack [targetid] - Enter A Valid Player ID.");

            new aname[ 24 ], pname[ 24 ];
            GetPlayerName(playerid,aname,sizeof(aname)); // admin name
            GetPlayerName(targetid,pname,sizeof(pname)); // player name

            SetPlayerSpecialAction(targetid,SPECIAL_ACTION_NONE);
            new string[ 128 ];

            format(string,sizeof(string),"You Have Given  %s (%d)  A Jetpack.",pname,targetid);
            SendClientMessage(playerid, 0xAA0000AA, string);
            format(string,sizeof(string),"Administrator  %s (%d)  Has Given You A Jetpack.",aname,playerid);
            SendClientMessage(targetid, 0xAA0000AA, string);
        }
    }
    else return SendClientMessage(playerid, 0xAA0000AA, "You Have To Be An Admin To Use This!");
    return 1;
}
Reply
#5

It should work fine mate, what exactly is the problem please explain more clearly
Reply
#6

Quote:
Originally Posted by FalconX
Посмотреть сообщение
It should work fine mate, what exactly is the problem please explain more clearly
When I try to use it like go up in the air it disappears off my back
Reply
#7

Quote:
Originally Posted by Zach7
Посмотреть сообщение
When I try to use it like go up in the air it disappears off my back
I think when you press "Enter" it disappears. Do you have a function "SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);" in a timer or OnPlayerUpdate? If you have then remove because this might be the problem of that.

Hope this helps?

Regards,
FalconX
Reply
#8

Quote:
Originally Posted by FalconX
Посмотреть сообщение
I think when you press "Enter" it disappears. Do you have a function "SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);" in a timer or OnPlayerUpdate? If you have then remove because this might be the problem of that.

Hope this helps?

Regards,
FalconX
No i dont just SPECIAL_ACTION_NONE with the command thats it
Reply
#9

okay

OnPlayerKeyStateChange
pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(gPlayerUsingLoopingAnim[playerid])
    {
        if(IsKeyJustDown(KEY_SPRINT,newkeys,oldkeys))
        {
            StopLoopingAnim(playerid);
            TextDrawHideForPlayer(playerid,txtAnimHelper);
            animation[playerid] = 0;
            ClearAnimations(playerid);
            return 1;
        }
    }
    if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_DRINK_SPRUNK || GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_DRINK_WINE || GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_DRINK_BEER)
    {
        if(newkeys == KEY_FIRE)
        {
            if(!NoSprunk[playerid])
            {
                new Float:H;
                GetPlayerHealth(playerid, H);
                SetPlayerHealth(playerid, H+5);
                GetPlayerHealth(playerid, H);
                if(H > 100) SetPlayerHealth(playerid, 100);
                NoSprunk[playerid] = 1;
                SetTimerEx("SprunkTimer", 1800, false, "d", playerid);
            }

        }
    }
    if((newkeys & KEY_FIRE) && (oldkeys & KEY_CROUCH) && !((oldkeys & KEY_FIRE) || (newkeys & KEY_HANDBRAKE)) || (oldkeys & KEY_FIRE) && (newkeys & KEY_CROUCH) && !((newkeys & KEY_FIRE) || (newkeys & KEY_HANDBRAKE)) ) {
        switch(GetPlayerWeapon(playerid)) {
            case 23..25, 27, 29..34, 41: {
                if(Ammo[playerid][GetPlayerWeapon(playerid)] > GetPlayerAmmo(playerid)) {
                    OnPlayerCBug(playerid);
                }
                return 1;
            }
        }
    }

    if(CheckCrouch[playerid] == 1) {
        switch(WeaponID[playerid]) {
            case 23..25, 27, 29..34, 41: {
                if((newkeys & KEY_CROUCH) && !((newkeys & KEY_FIRE) || (newkeys & KEY_HANDBRAKE)) && GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_DUCK ) {
                    if(Ammo[playerid][GetPlayerWeapon(playerid)] > GetPlayerAmmo(playerid)) {
                        OnPlayerCBug(playerid);
                    }
                }
            }
        }
    }

    //if(newkeys & KEY_CROUCH || (oldkeys & KEY_CROUCH)) return 1;

    else if(((newkeys & KEY_FIRE) && (newkeys & KEY_HANDBRAKE) && !((newkeys & KEY_SPRINT) || (newkeys & KEY_JUMP))) ||
    (newkeys & KEY_FIRE) && !((newkeys & KEY_SPRINT) || (newkeys & KEY_JUMP)) ||
    (NotMoving[playerid] && (newkeys & KEY_FIRE) && (newkeys & KEY_HANDBRAKE)) ||
    (NotMoving[playerid] && (newkeys & KEY_FIRE)) ||
    (newkeys & KEY_FIRE) && (oldkeys & KEY_CROUCH) && !((oldkeys & KEY_FIRE) || (newkeys & KEY_HANDBRAKE)) ||
    (oldkeys & KEY_FIRE) && (newkeys & KEY_CROUCH) && !((newkeys & KEY_FIRE) || (newkeys & KEY_HANDBRAKE)) ) {
        SetTimerEx("CrouchCheck", 3000, 0, "d", playerid);
        CheckCrouch[playerid] = 1;
        WeaponID[playerid] = GetPlayerWeapon(playerid);
        Ammo[playerid][GetPlayerWeapon(playerid)] = GetPlayerAmmo(playerid);
        return 1;
    }
    return 1;
}
OnPlayerUpdate
pawn Код:
public OnPlayerUpdate(playerid)
{
    if(IsPlayerConnected(playerid) && IsPlayerLoggedIn(playerid))
    {
        // Boxing
        if(Boxing[playerid] && !BoxTime)
        {
            new string[128];
            new Float:bH; GetPlayerHealth(playerid, bH);
            if(bH <= 20)
            {
                // Getting other boxer's ID
                new playerb = -1;
                foreach(Player, i)
                {
                    if(Boxing[i] && i != playerid) playerb = i;
                }
                if(playerb != -1)
                {
                    format(string, sizeof(string), "Boxing Ring: The boxing match has ended, %s has won the match.", RPN(playerb));
                    SendGymMessage(COLOR_WHITE, string);
                    // Putting them out of the ring
                    SetPlayerPos(playerb, 760.9759,4.7187,1000.7084);
                    SetPlayerFacingAngle(playerb, 268.9407);
                    SetPlayerPos(playerid, 760.9759,6.1794,1000.7093);
                    SetPlayerFacingAngle(playerid, 268.9407);
                    // Giving the winner extra skill point
                    new oldj = strval(RPJL(playerb, JOB_BOXER));
                    PlayerInfo[playerb][pJobSkill][JOB_BOXER] ++;
                    new newj = strval(RPJL(playerb, JOB_BOXER));
                    if(oldj < newj)
                    {
                        format(string, sizeof(string), "** Your Boxer level is now %d, you can now cause %d more damage. **", newj, (newj*2)-2);
                        SendClientMessage(playerb, COLOR_YELLOW, string);
                    }
                    //
                    SendClientMessage(playerb, COLOR_LIME, " You have won the boxing match.");
                    SendClientMessage(playerid, COLOR_LIGHTRED, " You have lost the boxing match.");
                    // Giving Bids
                    new winner = pBoxer[playerb];
                    foreach(Player, i)
                    {
                        if(BidBoxer[i] == winner)
                        {
                            new percent, profit;
                            percent = (BidAmount[i]/BoxerBid[winner]) * 100;
                            profit = (percent * BoxerBid[pBoxer[playerid]]) / 100;
                            GiveZaiatMoney(i, BidAmount[i] + profit);
                            format(string, sizeof(string), " You have won $%d from bidding in the match, the money you bid has been returned as well.", profit);
                            SendClientMessage(i, COLOR_LIME, string);
                        }
                        BidAmount[i] = 0;
                        BidBoxer[i] = 0;
                    }
                    for(new w = 0; w < 13; w++)
                    {
                        GiveZaiatWeapon(playerb, PlayerInfo[playerb][pWeapon][w], PlayerInfo[playerb][pWeaponAmmo][w]);
                    }
                }
                for(new w = 0; w < 13; w++)
                {
                    GiveZaiatWeapon(playerid, PlayerInfo[playerid][pWeapon][w], PlayerInfo[playerid][pWeaponAmmo][w]);
                }
                // Resetting Values
                BoxingMatch = 0;
                Boxer[1] = -1;
                pBoxer[playerb] = 0;
                Boxer[2] = -1;
                pBoxer[playerid] = 0;
                Boxing[playerb] = 0;
                Boxing[playerid] = 0;
                BoxerBid[1] = 0;
                BoxerBid[2] = 0;
            }
        }
        // Spikes
        if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
        {
            if(!IsACop(playerid))
            {
                for(new i = 0; i < sizeof(SpikeInfo); i++)
                {
                    if(IsPlayerInRangeOfPoint(playerid, 3.0, SpikeInfo[i][sX], SpikeInfo[i][sY], SpikeInfo[i][sZ]))
                    {
                        if(SpikeInfo[i][sCreated] == 1)
                        {
                            new panels, doors, lights, tires;
                            new carid = GetPlayerVehicleID(playerid);
                            GetVehicleDamageStatus(carid, panels, doors, lights, tires);
                            tires = encode_tires(1, 1, 1, 1);
                            UpdateVehicleDamageStatus(carid, panels, doors, lights, tires);
                        }
                    }
                }
            }
        }
        // Fuel
        new vehicleid = GetPlayerVehicleID(playerid);
        if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER && Fuel[vehicleid] <= 0)
        {
            new engine, lights, alarm, doors, bonnet, boot, objective, string[128];
            GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
            if(engine)
            {
                SetVehicleParamsEx(vehicleid, 0, 0, 0, 0, 0, 0, 0);
                if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVeh])
                {SetVehicleParamsEx(vehicleid, 0, 0, 0, PlayerInfo[playerid][vLocked], 0, 0, 0);}
                if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVVeh])
                {SetVehicleParamsEx(vehicleid, 0, 0, 0, PlayerInfo[playerid][vVLocked], 0, 0, 0);}
                format(string, sizeof(string), "* %s's vehicle stops as it has no fuel in its tank.", RPN(playerid));
                SendNearbyMessage(playerid, 15, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
            }
        }
        // Drag
        if(Dragged[playerid] != -1)
        {
            new playerb = Dragged[playerid];
            new Float:pos[3];
            GetPlayerPos(playerb, pos[0], pos[1], pos[2]);
            SetPlayerPos(playerid, pos[0]+0.5, pos[1]+0.5, pos[2]);
            SetPlayerInterior(playerid, GetPlayerInterior(playerb));
            SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(playerb));
        }
        // AntiCS
        new Keys, ud, lr;
        GetPlayerKeys(playerid, Keys, ud, lr);
        if(CheckCrouch[playerid] == 1) {
            switch(WeaponID[playerid]) {
                case 23..25, 27, 29..34, 41: {
                    if((Keys & KEY_CROUCH) && !((Keys & KEY_FIRE) || (Keys & KEY_HANDBRAKE)) && GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_DUCK ) {
                        if(Ammo[playerid][GetPlayerWeapon(playerid)] > GetPlayerAmmo(playerid)) {
                            OnPlayerCBug(playerid);
                        }
                    }
                    //else SendClientMessage(playerid, COLOR_RED, "Failed in onplayer update");
                }
            }
        }

        if(!ud && !lr) { NotMoving[playerid] = 1; /*OnPlayerKeyStateChange(playerid, Keys, 0);*/ }
        else { NotMoving[playerid] = 0; /*OnPlayerKeyStateChange(playerid, Keys, 0);*/ }
        // Alt-Tab detection
        AltTabbed[playerid] = 0;
        // Speedlimit
        if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER && Speedlimit[playerid])
        {
            new a, b, c;
            GetPlayerKeys(playerid, a, b ,c);
            if(a == 8 && GetVehicleSpeed(GetPlayerVehicleID(playerid), 0) > Speedlimit[playerid])
            {
                new newspeed = GetVehicleSpeed(GetPlayerVehicleID(playerid), 0) - Speedlimit[playerid];
                ModifyVehicleSpeed(GetPlayerVehicleID(playerid), -newspeed);
            }
        }
        // Ping Update
        if(GetPlayerState(playerid) == PLAYER_STATE_SPECTATING)
        {
            new string[64];
            format(string,sizeof(string),"~n~~n~~n~~n~~n~~n~~n~~n~~r~%s's Ping: ~w~%d", RPN(Specid[playerid]), GetPlayerPing(Specid[playerid]));
            GameTextForPlayer(playerid, string,1000, 3);
        }
        // Money Anticheat
        if(GetPlayerMoney(playerid) != PlayerInfo[playerid][pMoney])
        {
            ResetPlayerMoney(playerid);
            GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]);
        }
        // Speedometer
        if(Speedo[playerid] && IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
        {
            new string[64], speed = GetVehicleSpeed(GetPlayerVehicleID(playerid), 0);
            format(string,sizeof(string),"~n~~n~~n~~n~~n~~n~~n~~n~~r~Speedometer: ~w~%d MPH", speed);
            GameTextForPlayer(playerid, string,1000, 3);
        }
        // SpeedCheck
        if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER && !aDuty[playerid])
        {
            new speed = GetVehicleSpeed(GetPlayerVehicleID(playerid), 0);
            if(speed > 205 && GetVehicleModel(GetPlayerVehicleID(playerid)) != 519 && GetVehicleModel(GetPlayerVehicleID(playerid)) != 553 || speed > 240)
            {
                new string[128];
                format(string, sizeof(string), "AdmWarn: %s might be using speed hacks (%d MPH)", RPN(playerid), speed);
                SendAdminMessage(COLOR_DARKRED, 1, string);
            }
        }
        // Fuel
        if(fMeter[playerid] && IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
        {
            new string[64];
            format(string,sizeof(string),"~n~~n~~n~~n~~n~~n~~n~~n~~r~Fuel: ~w~%d%", Fuel[GetPlayerVehicleID(playerid)]);
            GameTextForPlayer(playerid, string,1000, 3);
        }
    }
    return 1;
}
Reply
#10

I'm sorry but I can't find any problem with your command and with anything else. Please try again compiling and restart your server.

Regards,
FalconX
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)