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

Реклама


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

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

    Использование PvarInt <Закрыто>

    Здравствуйте, я хотел спросить как сделать взаимосвязь между игроком, типо продажа дома на Y N , или автомобиля, я пытался написать но у меня ничего не получилось не понимаю как реализовать данную систему
    уже готовый код который я написал
    PHP код:
    CMD:cmd(playeridparams[])
    {
        new 
    string[250];
        if(
    sscanf(params"ud"params[0],params[1])) return SendClientMessage(playeridCOLOR_RED"Ведите команду примером /cmd [id] [цена]");
        if(
    params[1] < 100 || params[1] > 300SendClientMessage(playeridCOLOR_RED"Цена ниже 100 выше 300"); return true;
        if(
    params[1] == playerid) return SendClientMessage(playeridCOLOR_RED"Вы указали свой айди");
        
    format(stringsizeof(string),"Вы предложили %s сделать за %d$"player[playerid][pName],params[1]);
        
    SendClientMessage(playeridCOLOR_REDstring);
        
    format(stringsizeof(string), "%s предлагает сделать за %d"player[playerid][pName],params[1]);
        
    SendClientMessage(playeridCOLOR_REDstring);


    Вот что дальше не знаю как писать! помогите изучить данный промежуток прошу

  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Под какими наркотиками ты писал этот код?

    Как-то так
    PHP код:
    CMD:cmd(playeridparams[])
    {
        new 
    giveplayerid,
            
    price;
        if(
    sscanf(params"ud"giveplayeridprice))
                                    return 
    SendClientMessage(playeridCOLOR_RED"Пример: /cmd [id] [цена]");
        if(
    price 100 || price 300)
                                    return 
    SendClientMessage(playeridCOLOR_RED"Цена ниже 100 выше 300");
        if(
    giveplayerid == playerid)
                                    return 
    SendClientMessage(playeridCOLOR_RED"Вы указали свой айди");
        if(
    GetPVarInt(playerid"Start_Of_Something"))
                                    return 
    SendClientMessage(playeridCOLOR_RED"Данному игроку уже предложили сделать *это*");
        new 
    string[27+MAX_PLAYER_NAME+11];
        
    format(stringsizeof(string),"Вы предложили %s сделать за %d$"player[giveplayerid][pName], price);
        
    SendClientMessage(playeridCOLOR_REDstring);
        
    format(stringsizeof(string), "%s предлагает сделать за %d"player[playerid][pName], price);
        
    SendClientMessage(giveplayeridCOLOR_REDstring);
        
    SetPVarInt(giveplayerid"Start_Of_Something"1);
        
    SetPVarInt(giveplayerid"Something_ID"playerid);
        
    SetPVarInt(giveplayerid"Something_Price"price);
        return 
    1;



    PHP код:
    public OnPlayerKeyStateChange(playeridnewkeysoldkeys)
    {
        if(
    newkeys KEY_YES)
        {
            if(
    GetPVarInt(playerid"Start_Of_Something"))
            {
                if(!
    IsPlayerConnected(GetPVarInt(playerid"Something_ID")))
                {
                    
    SendClientMessage(playerid, -1"Игрок, предложивший Вам какие-то услуги, покинул сервер");
                    
    DeletePVar(playerid"Start_Of_Something");
                    
    DeletePVar(playerid"Something_ID");
                    
    DeletePVar(playerid"Something_Price");
                    return 
    1;
                }
                
    /*
                ...
                ...
                GivePlayerMoney(GetPVarInt(playerid, "Something_ID"), GetPVarInt(playerid, "Something_Price"));
                Нужное действие при согласии
                ...
                ...
                */
                
    new string[49+MAX_PLAYER_NAME+11];
                
    format(stringsizeof(string), "Вы согласились на какие-то услуги от игрока %s за %d$"player[GetPVarInt(playerid"Something_ID")][pName], GetPVarInt(playerid"Something_Price"));
                
    SendClientMessage(playerid, -1string);
                
    format(stringsizeof(string), "Игрок %s согласился на ваши услуги. Вы получили %d$"player[playerid][pName], GetPVarInt(playerid"Something_Price"));
                
    SendClientMessage(GetPVarInt(playerid"Something_ID"), -1string);
                
    DeletePVar(playerid"Start_Of_Something");
                
    DeletePVar(playerid"Something_ID");
                
    DeletePVar(playerid"Something_Price");
                return 
    1;
            }
        }
        else if(
    newkeys KEY_NO)
        {
            if(
    GetPVarInt(playerid"Start_Of_Something"))
            {
                if(!
    IsPlayerConnected(GetPVarInt(playerid"Something_ID")))
                {
                    
    SendClientMessage(playerid, -1"Игрок, предложивший Вам какие-то услуги, покинул сервер");
                    
    DeletePVar(playerid"Start_Of_Something");
                    
    DeletePVar(playerid"Something_ID");
                    
    DeletePVar(playerid"Something_Price");
                    return 
    1;
                }
                
    /*
                ...
                Нужное действие при отказе
                ...
                ...
                */
                
    new string[42+MAX_PLAYER_NAME];
                
    format(stringsizeof(string), "Вы отказались от каких-то услуг от игрока %s"player[GetPVarInt(playerid"Something_ID")][pName]);
                
    SendClientMessage(playerid, -1string);
                
    format(stringsizeof(string), "Игрок %s отказался от ваших услуг."player[playerid][pName]);
                
    SendClientMessage(GetPVarInt(playerid"Something_ID"), -1string);
                
    DeletePVar(playerid"Start_Of_Something");
                
    DeletePVar(playerid"Something_ID");
                
    DeletePVar(playerid"Something_Price");
                return 
    1;
            }
        }
        return 
    1;

    Связаться со мной можно в личных сообщениях этой группы

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

 

 

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

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

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

Ваши права

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