Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 1 из 1
  1. #1
    Аватар для Pawn.Dima
    Пользователь

    Статус
    Оффлайн
    Регистрация
    05.04.2020
    Сообщений
    37
    Репутация:
    0 ±

    Расстояние между 2 игроками

    Здравствуйте подскажите функцию между 2 игроками на примере нужно установить крышу для игрока мафиям если избить его до 25 хп
    в моем случае избиение будет происходить если у игрока ID 0 подскажите пожалуйста что я не правильно сделал :(
    PHP код:
        if(RELEASED(KEY_HANDBRAKE KEY_SECONDARY_ATTACK))
        {
            new 
    Float:healthFloatxFloatyFloatzgiveplayerid;
            
    GetPlayerPos(giveplayeridxyz);
            new 
    Floatdistance GetPlayerDistanceFromPoint(playeridxyz);
            
    GetPlayerHealth(giveplayeridhealth);
            if(
    distance 10)
                return 
    1;
            switch(
    PlayerInfo[playerid][pMember])
            {
                case 
    12:
                {
                    if(
    KrishaOffer[giveplayerid] == INVALID_PLAYER_ID)
                        return 
    1;
                    if(
    health <= 25 && PlayerInfo[giveplayerid][pJob] != 0)
                    {
                        
    SendClientMessage(playeridCOLOR_BLUE"Вы избили должника до 25 хп, крыша была автоматически установлена!");
                        
    SendClientMessage(giveplayeridCOLOR_BLUE"Вас избили до 25 хп, крыша была автоматически установлена!");
                        
    PlayerInfo[giveplayerid][pMafia] = 12;
                        
    KrishaOffer[giveplayerid] = INVALID_PLAYER_ID;
                    }
                }
            }
        } 
    Команда для выдачи крыши
    PHP код:
        if(strcmp(cmd"/setdebt"true) == 0)
        {
            if(!
    IsAMafia(playerid))
                return 
    SendClientMessage(playeridCOLOR_WHITE, !"Вы не член мафии!");
            
    cmd strtok(cmdtextidx);
            if(!
    strlen(cmd))
                return 
    SendClientMessage(playeridCOLOR_WHITE, !"Введите: /setdebt [id]");
            
    giveplayerid ReturnUser(cmd);
            if(!
    IsPlayerConnected(giveplayerid))
                return 
    SendClientMessage(playeridCOLOR_WHITE, !"Игрок не найден!");
            if(
    giveplayerid == INVALID_PLAYER_ID)
                return 
    SendClientMessage(playeridCOLOR_WHITE, !"Игрок не найден!");
            if(!
    ProxDetectorS(10.0playeridgiveplayerid))
                return 
    SendClientMessage(playeridCOLOR_WHITE, !"Игрок не рядом с вами!");
            if(
    PlayerInfo[giveplayerid][pJob] == 0)
                return 
    SendClientMessage(playeridCOLOR_WHITE, !"Данный человек не работает");
            if(
    giveplayerid == playerid)
                return 
    SendClientMessage(playeridCOLOR_WHITE"Нельзя себе!");
            if(
    PlayerInfo[playerid][pRank] < 3)
                return 
    SendClientMessage(playeridCOLOR_WHITE, !"Доступно с 3 ранга!");
            
    format(stringsizeof(string), "%s предлагает вам Крышу (( Введите: /accept debt, чтобы принять ))"PlayerInfo[playerid][pName]);
            
    SendClientMessage(giveplayerid0x6495EDFFstring);
            
    format(stringsizeof(string), "%s предлагает крышу %s"PlayerInfo[playerid][pName], PlayerInfo[giveplayerid][pName]);
            
    ProxDetector(playerid30.0COLOR_PURPLEstring);
            
    Krisha[giveplayerid] = PlayerInfo[playerid][pMember];
            
    KrishaOffer[giveplayerid] = playerid;
            return 
    true;
        } 
    - - - Добавлено - - -

    Проблема решена (изменил условие выдачи по Id и все за работало)

    - - - Добавлено - - -

    Решение:

    PHP код:
        if(strcmp(cmd"/setdebt"true) == 0)
        {
            if(!
    IsAMafia(playerid))
                return 
    SendClientMessage(playeridCOLOR_WHITE, !"Вы не член мафии!");
            
    cmd strtok(cmdtextidx);
            if(!
    strlen(cmd))
                return 
    SendClientMessage(playeridCOLOR_WHITE, !"Введите: /setdebt [id]");
            
    giveplayerid ReturnUser(cmd);
            if(!
    IsPlayerConnected(giveplayerid))
                return 
    SendClientMessage(playeridCOLOR_WHITE, !"Игрок не найден!");
            if(
    giveplayerid == INVALID_PLAYER_ID)
                return 
    SendClientMessage(playeridCOLOR_WHITE, !"Игрок не найден!");
            if(!
    ProxDetectorS(10.0playeridgiveplayerid))
                return 
    SendClientMessage(playeridCOLOR_WHITE, !"Игрок не рядом с вами!");
            if(
    PlayerInfo[giveplayerid][pJob] == 0)
                return 
    SendClientMessage(playeridCOLOR_WHITE, !"Данный человек не работает");
            if(
    giveplayerid == playerid)
                return 
    SendClientMessage(playeridCOLOR_WHITE"Нельзя себе!");
            if(
    PlayerInfo[playerid][pRank] < 3)
                return 
    SendClientMessage(playeridCOLOR_WHITE, !"Доступно с 3 ранга!");
            
    format(stringsizeof(string), "%s предлагает вам Крышу (( Введите: /accept debt, чтобы принять ))"PlayerInfo[playerid][pName]);
            
    SendClientMessage(giveplayerid0x6495EDFFstring);
            
    format(stringsizeof(string), "%s предлагает крышу %s"PlayerInfo[playerid][pName], PlayerInfo[giveplayerid][pName]);
            
    ProxDetector(playerid30.0COLOR_PURPLEstring);
            
    Krisha[giveplayerid] = PlayerInfo[playerid][pMember];
            
    KrishaOffer[playerid] = giveplayerid;
            return 
    true;
        } 
    PHP код:
        if(RELEASED(KEY_HANDBRAKE KEY_SECONDARY_ATTACK))
        {
            new 
    Float:healthgiveplayerid KrishaOffer[playerid];
            
    GetPlayerHealth(giveplayeridhealth);
            if(!
    ProxDetectorS(10.0playeridgiveplayerid))
                return 
    1;
            switch(
    PlayerInfo[playerid][pMember])
            {
                case 
    12:
                {
                    if(
    giveplayerid == INVALID_PLAYER_ID)
                        return 
    1;
                    if(
    health <= 25 && PlayerInfo[giveplayerid][pJob] != 0)
                    {
                        
    SendClientMessage(playeridCOLOR_BLUE"Вы избили должника до 25 хп, крыша была автоматически установлена!");
                        
    SendClientMessage(giveplayeridCOLOR_BLUE"Вас избили до 25 хп, крыша была автоматически установлена!");
                        
    PlayerInfo[giveplayerid][pMafia] = 12;
                        
    KrishaOffer[giveplayerid] = INVALID_PLAYER_ID;
                    }
                }
            }
        } 
    Последний раз редактировалось Pawn.Dima; 04.11.2021 в 13:12.

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •