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

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

    Команда для подачи звезд /su

    Здравствуйте! У меня проблема с командой /su . Когда Правоохранительные органы дают звезды , то сами звезды не высвечиваются .
      Открыть/закрыть

    else if(strcmp(cmd, "/suspect", true) == 0 || strcmp(cmd, "/su", true) == 0)
    {
    if(!IsACop(playerid)) return send(playerid, COLOR_GREY,"Вы не законник");
    tmp = strtok(cmdtext, idx);
    if(PlayerToKvadrat(playerid,GZInfo[playerid][gCoords][0], GZInfo[playerid][gCoords][1],GZInfo[playerid][gCoords][2],GZInfo[playerid][gCoords][3]) && GZInfo[playerid][gFrakVlad] != faction && ZoneOnBattle[playerid] == 0) return send(playerid, COLOR_WHITE, "Нельзя давать розыск на территории банд");
    if(!strlen(tmp)) return send(playerid, COLOR_GREY, Используйте: /su [ID/Ник] [звезды][причина]");
    giveplayerid = ReturnUser(tmp);
    if(!IsPlayerConnected(giveplayerid)) return send(playerid, COLOR_WHITE,noconnect);
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(IsACop(giveplayerid)) return send(playerid, COLOR_WHITE,"Вы не можете подозревать полицейского !");
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    tmp = strtok(cmdtext, idx);
    new points = strval(tmp);
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result)) return send(playerid, COLOR_GREY, "Используйте: /su [ID/Ник] [Зв] [причина]");
    if(PlayerInfo[giveplayerid][pJailTime] > 0) return send(playerid, COLOR_WHITE, "Игрок уже в тюрьме!");
    if(WantedLevel[giveplayerid] == 10) return send(playerid,COLOR_WHITE,""#cancel"• {FFFFFF}Нельзя давать больше 10зв!");
    if(WantedLevel[giveplayerid] > points) return send(playerid,COLOR_WHITE,""#cancel"• {FFFFFF}Нельзя давай розыск меньше чем сейчас!");
    if(points > 10) return send(playerid,COLOR_WHITE,"Больше 10 зв кидать нельзя");
    WantedLevel[giveplayerid] = WantedLevel[giveplayerid] = points;
    SetPlayerCriminal(giveplayerid,playerid, result);
    if(PlayerInfo[giveplayerid][pSuDost] < 1000) PlayerInfo[giveplayerid][pSuDost]++;
    vremg[giveplayerid] = 180;
    format(string,sizeof(string),"%s[%d] Рация: %s[%d] - %s, уровень розыска: %d",PlayerInfo[playerid][pName],playerid,PlayerInfo[giveplayerid][pName],giveplayerid,(result),WantedLevel[giveplayerid]);
    SendTeamMessage(1,0x2943f8FF,string);
    return true;
    }
    return true;
    }


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

    P.S на 10звезд не обращайте внимания высвечиваться должны 6 зв ))

  2. #2
    Аватар для L0ndl3m
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    PHP код:
    WantedLevel[giveplayerid] = WantedLevel[giveplayerid] = points;
    SetPlayerCriminal(giveplayeridplayeridresult); 
    замените на
    PHP код:
    SetPlayerCriminal(giveplayeridplayeridresult);
    SetPlayerWantedLevel(giveplayeridWantedLevel[giveplayerid] = points); 
    Последний раз редактировалось L0ndl3m; 14.08.2014 в 11:19.

  3. Пользователь сказал cпасибо:
    Doctor_Madrid (14.08.2014)
  4. #3
    Аватар для Doctor_Madrid
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.07.2014
    Сообщений
    11
    Репутация:
    0 ±
    Цитата Сообщение от Londlem Посмотреть сообщение
    PHP код:
    WantedLevel[giveplayerid] = WantedLevel[giveplayerid] = points;
    SetPlayerCriminal(giveplayeridplayeridresult); 
    замените на
    PHP код:
    SetPlayerCriminal(giveplayeridplayeridresult);
    SetPlayerWantedLevel(giveplayeridWantedLevel[giveplayerid] = points); 
    Работает , но почему то не снижаются звезды . В чем проблема ?

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

    Цитата Сообщение от Londlem Посмотреть сообщение
    PHP код:
    WantedLevel[giveplayerid] = WantedLevel[giveplayerid] = points;
    SetPlayerCriminal(giveplayeridplayeridresult); 
    замените на
    PHP код:
    SetPlayerCriminal(giveplayeridplayeridresult);
    SetPlayerWantedLevel(giveplayeridWantedLevel[giveplayerid] = points); 
    И вот сам паблик
      Открыть/закрыть
    public SetPlayerCriminal(playerid,declare,reason[])
    {
    if(IsPlayerConnected(playerid))
    {
    PlayerInfo[playerid][pCrimes] += 1;
    new points = WantedLevel[playerid];
    new turned[MAX_PLAYER_NAME];
    new turner[MAX_PLAYER_NAME];
    new turnmes[128];
    new wantedmes[128];
    strmid(PlayerCrime[playerid][pAccusedof], reason, 0, strlen(reason), 255);
    GetPlayerName(playerid, turned, sizeof(turned));
    if(declare == 255)
    {
    format(turner, sizeof(turner), "Неизвестный");
    strmid(PlayerCrime[playerid][pVictim], turner, 0, strlen(turner), 255);
    }
    else
    {
    if(IsPlayerConnected(declare))
    {
    GetPlayerName(declare, turner, sizeof(turner));
    strmid(PlayerCrime[playerid][pVictim], turner, 0, strlen(turner), 255);
    strmid(PlayerCrime[declare][pBplayer], turned, 0, strlen(turned), 255);
    strmid(PlayerCrime[declare][pAccusing], reason, 0, strlen(reason), 255);
    }
    }
    format(turnmes, sizeof(turnmes), "Вы совершили преступление: %s; Обвинил: %s",reason,turner);
    send(playerid, COLOR_YELLOW, turnmes);
    PlayCrimeReportForPlayer(playerid,declare,3);
    if(points > 0)
    {
    format(wantedmes, sizeof(wantedmes), "Текущий уровень розыска: %d", points);
    send(playerid, COLOR_YELLOW, wantedmes);
    }
    }
    }

 

 

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

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

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

Ваши права

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