help with a command
#1

Hi! this code just moves the player up when it supposed to drag behind another player how would i fix this?

pawn Код:
public Dragging(playerid,giveplayerid){
new Float:X1, Float:Y1, Float:Z1, Float:A1;
GetPlayerFacingAngle(playerid,A1);
GetPlayerPos(playerid,X1,Y1,Z1);
SetPlayerInterior(giveplayerid,GetPlayerInterior(playerid));
SetPlayerFacingAngle(giveplayerid,A1+180);
SetPlayerPos(giveplayerid,X1,Y1,Z1+3);
TogglePlayerControllable(giveplayerid,0);
return 1;
}
pawn Код:
if (!strcmp(cmd, "/drag", true)){
        if(gTeam[playerid] == TEAM_LSPD-Cop || gTeam[playerid] == TEAM_LSPD_Cop2 || gTeam[playerid] == TEAM_SFPD-Cop || gTeam[playerid] == TEAM_LVPD-Cop || gTeam[playerid] == TEAM_ElQuebrados-Cop || gTeam[playerid] == TEAM_Swat || gTeam[playerid] == TEAM_FBI || gTeam[playerid] == TEAM_Army || gTeam[playerid] == TEAM_Army2 || gTeam[playerid] == TEAM_GirlCop || gTeam[playerid] == TEAM_Undercover1 || gTeam[playerid] == TEAM_Undercover2 || gTeam[playerid] == TEAM_Undercover3 || gTeam[playerid] == TEAM_Undercover4)
    {
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp))
        {
            SendClientMessage(playerid, 0xFF0000AA, "/drag [playerid]");
            return 1;
        }
        giveplayerid = ReturnUser(tmp);
        if(!IsNumeric(tmp)) {
        SendClientMessage(playerid,COLOR_RED, "/drag [playerid] Playerid must be a number!");
        return 1;
    }

        if(IsPlayerConnected(giveplayerid))
        {
        if(GetDistanceBetweenPlayers(playerid,giveplayerid) > 3)
        {
            SendClientMessage(playerid, 0xFF0000AA, "You are too far away from that player.");
        return 1;
    }
        if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_RED, "You cannot drag yourself!"); return 1; }
        if(Dragged[giveplayerid] == 0){
        if(Tazed[giveplayerid] == 1){
        format(string, sizeof(string), "Officer %s is dragging %s", PlayerName(playerid),PlayerName(giveplayerid));
        SendCopMessage(0xFFFFFFFF, string);
        format(string, sizeof(string), "Officer %s is dragging you!", PlayerName(playerid));
        SendClientMessage(giveplayerid, 0xFFFFFFFF, string);
        TogglePlayerControllable(giveplayerid,1);
        Dragged[giveplayerid] = 1;
        ResetPlayerWeapons(giveplayerid);
        SendClientMessage(playerid, COLOR_RED, "The suspect is being dragged! good job!");
        IsDragged[playerid] = SetTimerEx("Dragging", 1000, true, "i", giveplayerid);
        }
                            else
    {
    SendClientMessage(playerid, 0xFF0000AA, "Player needs to be tazed first!");
  }
  }

                    else
    {
    SendClientMessage(playerid, 0xFF0000AA, "This player is already being dragged");
  }
  }
        else
        {
            format(string, sizeof(string), "%d is not an active player.", giveplayerid);
            SendClientMessage(playerid,0xFF0000AA, string);
 }
    }

  else
  {
    SendClientMessage(playerid, 0xFF0000AA, "You are not a officer!");
    }
    return 1;
}
srry for the crappy indentation...
Reply
#2

bump.
Reply
#3

the player is moving up because of this SetPlayerPos(giveplayerid,X1,Y1,Z1+3); why set his z position +3?? just get the position behind the dragger and put the dragged personne on that location?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)