Добро пожаловать на форум, Гость, это ваша панель
  • Страница 1 из 1
  • 1
Как исправить отображение 3 вещей в спеке?
PATRUL
Дата: Вторник, 05.06.2012, 20:15 | Сообщение # 1
офлайн

  • Сообщения: 718
  • Награды: 5
  • Замечания:
 
Открываем war3ft.inl

Находим WC3_ShowSpecInfo( idUser, iTargetID )

Выделяем всю функцию и заменяем на:

Code
WC3_ShowSpecInfo( idUser, iTargetID )
{
    // Get the target's name
    new szTargetName[32];
    get_user_name( iTargetID, szTargetName, 31 );    
       
    // Get the target's race name
    new szRaceName[64];
    lang_GetRaceName( p_data[iTargetID][P_RACE], idUser, szRaceName, 63, true );
       
    new szMsg[512], iMsgPos = 0;

    // User is level 0
    if ( p_data[iTargetID][P_LEVEL] == 0 )
    {
  iMsgPos += formatex( szMsg, 511, "%s  XP: %d/%d",  
szRaceName, p_data[iTargetID][P_XP], XP_GetByLevel( p_data[iTargetID][P_LEVEL]+1 ) );
    }

    //CSSB
    // User is under level MAX_LEVELS
    else if ( p_data[iTargetID][P_LEVEL] < MAX_LEVELS )
    {
  iMsgPos += formatex( szMsg, 511, "%s %L: %d   XP: %d/%d",
  szRaceName, LANG_PLAYER, "WORD_LEVEL", p_data[iTargetID][P_LEVEL],
  p_data[iTargetID][P_XP], XP_GetByLevel( p_data[iTargetID][P_LEVEL]+1 ) );
    }      
       
    // User is level MAX_LEVELS
    else
    {
     iMsgPos += formatex( szMsg, 511, "%s %L: %d   XP: %d",
  szRaceName, LANG_PLAYER, "WORD_LEVEL",
  p_data[iTargetID][P_LEVEL], p_data[iTargetID][P_XP] );
    }
       
    //CSSB
    // Reset our position counter
    //new pos = 0;

    new szItemName[32], szItemName2[32], szItemName3[32], szCurrentItems[32];

    // Get the item and race names
    LANG_GetItemName( g_iShopMenuItems[iTargetID][ITEM_SLOT_ONE], idUser, szItemName, 31, true );
    LANG_GetItemName( g_iShopMenuItems[iTargetID][ITEM_SLOT_TWO], idUser, szItemName2, 31, true );
    LANG_GetItemName( g_iShopMenuItems[iTargetID][ITEM_SLOT_THREE], idUser, szItemName3, 31, true );
       
    new bool:ItemSlotOne = false;
    new bool:HasMoreThanOneRing = false;
       
    if ( g_iTotalRings[iTargetID] > 1 )
    HasMoreThanOneRing = true;

    //CSSB
    // User has one item
    if ( g_iShopMenuItems[iTargetID][ITEM_SLOT_ONE] > ITEM_NONE &&  
g_iShopMenuItems[iTargetID][ITEM_SLOT_ONE] != ITEM_MOLE )
    {
     formatex(szCurrentItems, 31, "%L:",LANG_PLAYER,"WC3_CURRENT_ITEMS" );
     /*
     // Then they have rings, lets print how many there are
     if ( HasMoreThanOneRing && g_iShopMenuItems[iTargetID][ITEM_SLOT_ONE] == ITEM_RING )
      iMsgPos += formatex( szMsg[iMsgPos], 512-iMsgPos, "^nItem: %s x%d",
  szItemName, g_iTotalRings[iTargetID] );
     else
      iMsgPos += formatex( szMsg[iMsgPos], 512-iMsgPos, "^nItem: %s", szItemName );
     */
     // Then they have rings, lets print how many there are
     if ( HasMoreThanOneRing && g_iShopMenuItems[iTargetID][ITEM_SLOT_ONE] == ITEM_RING )
     iMsgPos += formatex( szMsg[iMsgPos], 512-iMsgPos, "^n%s %s x%d",
szCurrentItems, szItemName, g_iTotalRings[iTargetID] );
     else
     iMsgPos += formatex( szMsg[iMsgPos], 512-iMsgPos, "^n%s %s",szCurrentItems, szItemName );     

     ItemSlotOne = true;
    }

    // User has another item
    if ( g_iShopMenuItems[iTargetID][ITEM_SLOT_TWO] > ITEM_NONE &&  
g_iShopMenuItems[iTargetID][ITEM_SLOT_TWO] != ITEM_MOLE )
    {
     // Then the string isn't empty and we have information in it (so we have a first item)
     if ( ItemSlotOne )
     {

      // Then they have rings, lets print how many there are
      if (HasMoreThanOneRing && g_iShopMenuItems[iTargetID][ITEM_SLOT_TWO] == ITEM_RING)
      iMsgPos += formatex( szMsg[iMsgPos], 512-iMsgPos, " %L %s x%d",
  LANG_PLAYER, "WORD_AND", szItemName2, g_iTotalRings[iTargetID] );
      else
      iMsgPos += formatex( szMsg[iMsgPos], 512-iMsgPos, " %L %s",  
LANG_PLAYER, "WORD_AND", szItemName2 );
     }

     //CSSB
     // We don't need the word "and"
     else
     {
      formatex(szCurrentItems, 31, "%L:",LANG_PLAYER,"WC3_CURRENT_ITEMS" );

      /*
      // Then they have rings, lets print how many there are
      if (HasMoreThanOneRing && g_iShopMenuItems[iTargetID][ITEM_SLOT_TWO] == ITEM_RING)
       iMsgPos += formatex( szMsg[iMsgPos], 512-iMsgPos, "^nItem: %s x%d",
  szItemName2, g_iTotalRings[iTargetID] );
      else
       iMsgPos += formatex( szMsg[iMsgPos], 512-iMsgPos, "^nItem: %s", szItemName2 );
       */

         

      // Then they have rings, lets print how many there are
      if (HasMoreThanOneRing && g_iShopMenuItems[iTargetID][ITEM_SLOT_TWO] == ITEM_RING)
      iMsgPos += formatex( szMsg[iMsgPos], 512-iMsgPos, "^n%s %s x%d",
szCurrentItems, szItemName2, g_iTotalRings[iTargetID] );
      else
      iMsgPos += formatex( szMsg[iMsgPos], 512-iMsgPos, "^n%s %s",
szCurrentItems, szItemName2 );    
         
     }
        
    }
    if ( g_iShopMenuItems[iTargetID][ITEM_SLOT_THREE] > ITEM_NONE &&  
g_iShopMenuItems[iTargetID][ITEM_SLOT_TWO] != ITEM_MOLE )
    {
     // Then the string isn't empty and we have information in it (so we have a first item)
     if ( ItemSlotOne )
     {

      // Then they have rings, lets print how many there are
      if (HasMoreThanOneRing && g_iShopMenuItems[iTargetID][ITEM_SLOT_THREE] == ITEM_RING)
      iMsgPos += formatex( szMsg[iMsgPos], 512-iMsgPos, " %L %s x%d",
  LANG_PLAYER, "WORD_AND", szItemName3, g_iTotalRings[iTargetID] );
      else
      iMsgPos += formatex( szMsg[iMsgPos], 512-iMsgPos, " %L %s",
  LANG_PLAYER, "WORD_AND", szItemName3 );
     }
    }

    // Add the Health + Armor to the message
    if ( g_MOD == GAME_CSTRIKE || g_MOD == GAME_CZERO )
    {
     iMsgPos += formatex( szMsg[iMsgPos], 512-iMsgPos, "^n%L: %d^n%L: %d",
  LANG_PLAYER, "CURRENT_HEALTH", get_user_health( iTargetID ),
  LANG_PLAYER, "WORD_ARMOR", get_user_armor( iTargetID ) );
    }
       
    // Format the message
    new Float:fSpecTime = SPEC_HOLDTIME;

    if ( get_pcvar_num( CVAR_wc3_spec_position ) == 0 )
    {
     set_hudmessage( 255, 255, 255, 0.018, 0.9, 2, 1.5, fSpecTime, 0.02, 5.0, HUD_SPEC_INFO );
    }
    else
    {
     set_hudmessage( 255, 255, 255, 0.65, 0.9, 2, 1.5, fSpecTime, 0.02, 5.0, HUD_SPEC_INFO );
    }
       
    // Show the message
    show_hudmessage( idUser, szMsg );
}


Скриншот до исправления:

После:





Сообщение отредактировал PATRUL - Вторник, 05.06.2012, 20:27
 
Ихtианdр
Дата: Понедельник, 09.07.2012, 15:27 | Сообщение # 2
офлайн

  • Сообщения: 142
  • Награды: 0
  • Замечания:
 
У меня выдаёт ошибки 3 ошибки в этом файле, поменял


на код, который написан тут, в чём может быть проблема? подскажите пожалуйста
 
PATRUL
Дата: Вторник, 10.07.2012, 21:17 | Сообщение # 3
офлайн

  • Сообщения: 718
  • Награды: 5
  • Замечания:
 
Что за ошибки?


 
runetov
Дата: Среда, 11.07.2012, 07:51 | Сообщение # 4
офлайн

  • Сообщения: 283
  • Награды: 8
  • Замечания:
 
Ихtианdр, Ты хотя бы сделал чтобы у тя можно было покупать 3 вещи из shopmenu и shopmenu2

 
Ихtианdр
Дата: Воскресенье, 15.07.2012, 18:22 | Сообщение # 5
офлайн

  • Сообщения: 142
  • Награды: 0
  • Замечания:
 
Нет. как это сделать?
 
PATRUL
Дата: Воскресенье, 15.07.2012, 19:19 | Сообщение # 6
офлайн

  • Сообщения: 718
  • Награды: 5
  • Замечания:
 
Quote (Ихtианdр)
Нет. как это сделать?

Поиск удалили?
http://perfect-soft.su/forum/56-216-1



 
runetov
Дата: Воскресенье, 15.07.2012, 19:49 | Сообщение # 7
офлайн

  • Сообщения: 283
  • Награды: 8
  • Замечания:
 
PATRUL, Ты прав совсем поиском пользоваться не умеют!! :)

 
Ихtианdр
Дата: Понедельник, 16.07.2012, 10:54 | Сообщение # 8
офлайн

  • Сообщения: 142
  • Награды: 0
  • Замечания:
 
там без шопменю3, а мне с ним надо - это не имеет значения? способ один и тот же?
 
PATRUL
Дата: Понедельник, 16.07.2012, 12:24 | Сообщение # 9
офлайн

  • Сообщения: 718
  • Награды: 5
  • Замечания:
 
Ихtианdр, shop3 это другой мод совсем,хотя есть всякие shop3 в виде плагинов,но это все "мусор" имхо.
Тем более мне не понятно,почему ты спрашиваешь такие вопросы именно в эту тему.



 
B@RB@DO$
Дата: Среда, 09.10.2013, 23:14 | Сообщение # 10
офлайн

  • Сообщения: 72
  • Награды: 0
  • Замечания:
 
PATRUL, Спасибо давно хотел решить эту проблему помог очень wink
 
  • Страница 1 из 1
  • 1
Поиск: