Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Показано с 1 по 7 из 7
  1. #1
    Аватар для man876
    Пользователь

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

    Передача ключей от авто

    Ключи не передаются. Помогите исправить.

    PHP код:
         if(strcmp(cmd"/123"true) == 0)
        {
          new 
    vid GetPlayerVehicleID(playerid), playa;
          
    tmp strtok(cmdtextidx);
          if(!
    strlen(tmp)) return SendClientMessage(playeridCOLOR_GRAD1"Test: /123 [playerid/PartOfName]");
          
    playa ReturnUser(tmp);
          if(
    PlayerInfo[playerid][pCarKey] == vid-&& GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
          {
            
    Idavto[playa] = vid;
            
    SendClientMessage(playeridCOLOR_BISQUE"Вы передали ключ от своего первого транспорта.");
            
    SendClientMessage(playaCOLOR_LIGHTBLUE"Вам передали ключ от автомобиля.");
          }
          else if(
    PlayerInfo[playerid][pCarKey2] == vid-&& GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
          {
            
    Idavto[playa] = vid;
            
    SendClientMessage(playeridCOLOR_BISQUE"Вы передали ключ от своего второго транспорта.");
            
    SendClientMessage(playaCOLOR_LIGHTBLUE"Вам передали ключ от автомобиля.");
          }
          else if(
    PlayerInfo[playerid][pCarKey3] == vid-&& GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
          {
            
    Idavto[playa] = vid;
            
    SendClientMessage(playeridCOLOR_BISQUE"Вы передали ключ от своего третьего транспорта.");
            
    SendClientMessage(playaCOLOR_LIGHTBLUE"Вам передали ключ от автомобиля.");
          }
          else 
    SendClientMessage(playeridCOLOR_LIGHTRED"Test: Вы должны находится в своём транспорте на месте водителя!");
          return 
    true;
         } 

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

    Статус
    Оффлайн
    Регистрация
    29.09.2014
    Сообщений
    59
    Репутация:
    40 ±
    Видимо, стоит добавить саму передачу ключей:
    PHP код:
    Idavto[playa] = vid;
    PlayerInfo[playa][pCarKey] = PlayerInfo[playerid][pCarKey]; // Передача ключей
    SendClientMessage(playeridCOLOR_BISQUE"Вы передали ключ от своего первого транспорта.");
    SendClientMessage(playaCOLOR_LIGHTBLUE"Вам передали ключ от автомобиля."); 

  3. #3
    Аватар для man876
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.05.2014
    Сообщений
    15
    Репутация:
    0 ±
    Цитата Сообщение от NewGreen Посмотреть сообщение
    Видимо, стоит добавить саму передачу ключей:
    PHP код:
    Idavto[playa] = vid;
    PlayerInfo[playa][pCarKey] = PlayerInfo[playerid][pCarKey]; // Передача ключей
    SendClientMessage(playeridCOLOR_BISQUE"Вы передали ключ от своего первого транспорта.");
    SendClientMessage(playaCOLOR_LIGHTBLUE"Вам передали ключ от автомобиля."); 
    Так авто передаётся другому владельцу.( будет 2 владельца ) Нужно чтобы временно ( до перезахода ).

  4. #4
    Аватар для Blood
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.12.2013
    Сообщений
    65
    Репутация:
    2 ±
    Делай вот так
    PHP код:
    Idavto[playa] = PlayerInfo[playerid][pCarKey]; 
    и все

  5. #5
    Аватар для NewGreen
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.09.2014
    Сообщений
    59
    Репутация:
    40 ±
    Цитата Сообщение от man876 Посмотреть сообщение
    Так авто передаётся другому владельцу.( будет 2 владельца ) Нужно чтобы временно ( до перезахода ).
    Тогда нужно сделать временную переменную:
    PHP код:
    Idavto[playa] = vid;
    SetPVarInt(playa,"CarKeyOne",PlayerInfo[playerid][pCarKey]); // Передача ключей
    PlayerInfo[playerid][pCarKey] = -1// отнимим ключ владельца
    SendClientMessage(playeridCOLOR_BISQUE"Вы передали ключ от своего первого транспорта.");
    SendClientMessage(playaCOLOR_LIGHTBLUE"Вам передали ключ от автомобиля."); 
    теперь когда игрок с ключем начнет заводить машину нужно сделать проверку, примерно так:
    PHP код:
    if(PlayerInfo[playerid][pCarKey] == || GetPVarInt(playa,"CarKeyOne")) 
    Я также добавил строку PlayerInfo[playerid][pCarKey] = -1; которая отбирает ключи у владельца (для чистоты), важно не забыть отдать ключи (например автоматически при отключении, ну или по всем правилам, чтобы игрок отдал их обратно владельцу), уберите если вам это не нужно.
    Последний раз редактировалось NewGreen; 26.10.2015 в 00:03.

  6. #6
    Аватар для man876
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.05.2014
    Сообщений
    15
    Репутация:
    0 ±
    Не работает. Нужно просто сделать разрешение на заводку авто.

  7. #7
    Аватар для Danny_Marcelo
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.11.2015
    Сообщений
    29
    Репутация:
    0 ±
    Попробуй вот эту команду.Вырезал из своего мода.У меня она работает.

    PHP код:
    if(strcmp(cmd"/allow"true) == 0)
        {
            if(
    PlayerInfo[playerid][pHouse] == 999) return SendClientMessage(playeridCOLOR_GRAD1"У Вас нет дома.");
            if(
    HouseInfo[PlayerInfo[playerid][pHouse]][hCar] == 0) return SendClientMessage(playeridCOLOR_GRAD1"У Вас нет домашнего транспорта.");
            
    tmp strtok(cmdtextidx);
            if(!
    strlen(tmp)) return SendClientMessage(playeridCOLOR_GRAD2"Используйте: /allow [id игрока]");
            new 
    givid;
            
    givid ReturnUser(tmp);
            if(
    PlayerInfo[playerid][pHouse] < 999)
            {
                if(
    IsPlayerConnected(givid))
                {
                    if(
    givid != INVALID_PLAYER_ID)
                    {
                        if(
    givid == playerid) return SendClientMessage(playeridCOLOR_GRAD1"Такого игрока нет.");
                        if(
    GetDistanceBetweenPlayers(playeridgivid) > || GetPlayerVirtualWorld(playerid) != GetPlayerVirtualWorld(givid)) return SendClientMessage(playeridCOLOR_GRAD1"Игрок слишком далеко от Вас.");
                        if(
    PlayerInfo[givid][pAllowCar] == caridhouse[playerid])
                        {
                            
    format(querysizeof(query), "%s забрал у Вас ключи от своего домашнего транспорта",PlayerInfo[playerid][pName]);
                            
    SendClientMessage(givid0xFF6600AAquery);
                            
    format(querysizeof(query), "Вы забрали ключи от своего домашнего транспорта у %s",PlayerInfo[givid][pName]);
                            
    SendClientMessage(playerid0xFF6600AAquery);
                            
    PlayerInfo[givid][pAllowCar] = 0;
                        }
                        else
                        {
                            
    format(querysizeof(query), "%s дал Вам ключи от своего домашнего транспорта",PlayerInfo[playerid][pName]);
                            
    SendClientMessage(givid0x0099FFAAquery);
                            
    format(querysizeof(query), "Вы дали ключи от своего домашнего транспорта игроку %s",PlayerInfo[givid][pName]);
                            
    SendClientMessage(playerid0x0099FFAAquery);
                            
    PlayerInfo[givid][pAllowCar] = caridhouse[playerid];
                        }
                        return 
    true;
                    }
                }
                else
                {
                    
    SendClientMessage(playeridCOLOR_GRAD1"Такого игрока нет.");
                }
            }
            return 
    true;
        } 

 

 

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

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

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

Ваши права

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