Добро пожаловать на форум, Гость, это ваша панель
  • Страница 1 из 1
  • 1
Архив - только для чтения
XP Tome на респе )
GooDgashish
Дата: Вторник, 21.05.2013, 11:04 | Сообщение # 1
офлайн

  • Сообщения: 36
  • Награды: 0
  • Замечания:
 
Вообщем помогите пожалуйста сделать так что XP которое покупаешь, то есть Tome давался всем своим игрокам только на респе, но в 2 раза меньше чем кто покупает его вообщем если ты покупаешь Tome тебе дается +200XP  а другим игрокам по +100XP за то что ты покупаешь Tome помогите это основать smile заранее спасибо )
 
sarumangreat
Дата: Вторник, 21.05.2013, 14:26 | Сообщение # 2
офлайн

  • Сообщения: 46
  • Награды: 0
  • Замечания:
 
GooDgashish, Бред первый раз слышу такое wacko


Цитата
вообщем если ты покупаешь Tome тебе дается +200XP  а другим игрокам по+100XP за то что ты покупаешь Tome
 
nymbus2000
Дата: Вторник, 21.05.2013, 15:44 | Сообщение # 3
офлайн

  • Сообщения: 130
  • Награды: 0
  • Замечания:
 
GooDgashish, бесплатно тебе такое никто не сделает!

CS: -=*{Vitaliy}*=-
Skype: opa_nao_O
 
NooB2
Дата: Вторник, 21.05.2013, 19:12 | Сообщение # 4
офлайн

  • Сообщения: 136
  • Награды: 2
  • Замечания:
 
1) Не будем изобретать велосипед, используем код SMaster"a.
2) Добавляешь первый код в items.inl перед самым ITEM_Tome( idUser ), потом меняешь ITEM_Tome( idUser ) на тот, который я написал. Говорю сразу не проверял.
Код
bool:GiveTomeOnRespawn( idUser )        
        {        
          new vPlayerOrigin[3];        
           get_user_origin( idUser, vPlayerOrigin );        
               
          new iSpawnID,vOrigin[3];        
          new entInfoSpawn = -1;        
          new Float:fSpawnOrigin[3];        
          new bool:bFound = false;        
                    
          new iTeam = get_user_team( idUser );        
          iTeam = ( ( iTeam == TEAM_CT ) ? TEAM_T : TEAM_CT );        
          iSpawnID = ( ( iTeam == TEAM_CT ) ? 0 : 1 );        
                    
          do {        
           entInfoSpawn = find_ent_by_class( entInfoSpawn, szSpawnEnt [iSpawnID]);        
                     
           if ( entInfoSpawn != 0 )        
           {        
            entity_get_vector( entInfoSpawn, EV_VEC_origin, fSpawnOrigin );        
                      
            FVecIVec( fSpawnOrigin, vOrigin );        
               
            if ( get_distance( vPlayerOrigin, vOrigin ) < 250 )        
            {        
             bFound = true;        
               
             break;        
            }        
           }        
          }        
          while ( entInfoSpawn && !bFound )        
                    
          return bFound;        
        }


Код
ITEM_Tome( idUser )    
    {    
       new iXp = get_pcvar_num( CVAR_wc3_tome ) + XP_GivenByLevel( p_data[idUser][P_LEVEL] );    
       new iBonusXP;    
       iBonusXP = XP_Give( idUser, iXp );    
       
      if(GiveTomeOnRespawn(idUser) == true)    
    {    
         new players[32], numberofplayers, idWordPlayer;    
         get_players( players, numberofplayers, "a" );    
       for ( new i = 0; i < numberofplayers; i++ )    
     {    
         idWordPlayer = players[i];    
       if(get_user_team(idUser) == get_user_team(idWordPlayer))    
      {    
        iBonusXP = XP_Give( idWordPlayer,( iXp / 2) );    
     if ( iBonusXP != 0 )    
        {    
          format(szMessage, sizeof(szMessage) - 1, "^x01%L^x03%L^x01%L ^x04%L ^x03%d ^x04XP",    
          LANG_PLAYER,"WC3_BRACKET_LEFT",LANG_PLAYER,"WC3_MODCLIENT",LANG_PLAYER,"WC3_BRACKET_RIGHT",    
          LANG_PLAYER,"INFO_SHOPMENU_9",    
          iBonusXP);          
                           
          cssbColoredPrint(idWordPlayer, szMessage);             
        }    
      }    
     }    
    }    
       
          if ( iBonusXP != 0 )    
          {    
             format(szMessage, sizeof(szMessage) - 1, "^x01%L^x03%L^x01%L ^x04%L ^x03%d ^x04XP",    
                   LANG_PLAYER,"WC3_BRACKET_LEFT",LANG_PLAYER,"WC3_MODCLIENT",LANG_PLAYER,"WC3_BRACKET_RIGHT",    
                   LANG_PLAYER,"INFO_SHOPMENU_9",    
                   iBonusXP);          
                           
             cssbColoredPrint(idUser, szMessage);             
          }    
       
          emit_sound( idUser, CHAN_STATIC, "warcraft3/Tomes.wav", 1.0, ATTN_NORM, 0, PITCH_NORM );    
       
          return;    
    }


Сообщение отредактировал NooB2 - Вторник, 21.05.2013, 20:41
 
nymbus2000
Дата: Среда, 22.05.2013, 17:35 | Сообщение # 5
офлайн

  • Сообщения: 130
  • Награды: 0
  • Замечания:
 
NooB2, написал бесплатно когда увидел мой пост?  roll

CS: -=*{Vitaliy}*=-
Skype: opa_nao_O
 
NooB2
Дата: Среда, 22.05.2013, 17:40 | Сообщение # 6
офлайн

  • Сообщения: 136
  • Награды: 2
  • Замечания:
 
nymbus2000, где-то же надо помогать все-таки.
 
GooDgashish
Дата: Среда, 22.05.2013, 19:03 | Сообщение # 7
офлайн

  • Сообщения: 36
  • Награды: 0
  • Замечания:
 
nymbus2000, думаешь только все за деньги делают а нет и бесплатно помогут biggrin

Добавлено (22.05.2013, 19:03)
---------------------------------------------
NooB2, Спасибо за помощь, но не работает этот код не дается XP кто рядом на респе( а можешь чучуть подправить и что бы в радиусе от того игрока который покупал "Tome"  давалась XP своим кто рядом с ним находится, например в радиусах 150 так где нибудь )))
буду очень признателен если поможешь smile

 
NooB2
Дата: Среда, 22.05.2013, 20:46 | Сообщение # 8
офлайн

  • Сообщения: 136
  • Награды: 2
  • Замечания:
 
Код
ITEM_Tome( idUser )       
       {       
          new iXp = get_pcvar_num( CVAR_wc3_tome ) + XP_GivenByLevel( p_data[idUser][P_LEVEL] );       
          new iBonusXP;       
          iBonusXP = XP_Give( idUser, iXp );       
              
         if(GiveTomeOnRespawn(idUser) == true)       
       {       
            new players[32], numberofplayers, idWordPlayer;       
            get_players( players, numberofplayers, "a" );       
          for ( new i = 0; i < numberofplayers; i++ )       
        {       
            idWordPlayer = players[i];      
            new idWordPlayerOrigin[3], idUserOrigin[3];
            get_user_origin( idWordPlayer, idWordPlayerOrigin);
      get_user_origin( idUser, idUserOrigin);
          if(get_user_team(idUser) == get_user_team(idWordPlayer) &&
           ( get_distance(idUserOrigin, idWordPlayerOrigin) < XP_TOME_ORIGIN ))       
         {       
           iBonusXP = XP_Give( idWordPlayer,( iXp / 2) );       
             if ( iBonusXP != 0 )       
           {       
             format(szMessage, sizeof(szMessage) - 1, "^x01%L^x03%L^x01%L ^x04%L ^x03%d ^x04XP",       
             LANG_PLAYER,"WC3_BRACKET_LEFT",LANG_PLAYER,"WC3_MODCLIENT",LANG_PLAYER,"WC3_BRACKET_RIGHT",       
             LANG_PLAYER,"INFO_SHOPMENU_9",       
             iBonusXP);             
                        
             cssbColoredPrint(idWordPlayer, szMessage);                
           }       
         }       
        }       
       }       
              
             if ( iBonusXP != 0 )       
             {       
                format(szMessage, sizeof(szMessage) - 1, "^x01%L^x03%L^x01%L ^x04%L ^x03%d ^x04XP",       
                      LANG_PLAYER,"WC3_BRACKET_LEFT",LANG_PLAYER,"WC3_MODCLIENT",LANG_PLAYER,"WC3_BRACKET_RIGHT",       
                      LANG_PLAYER,"INFO_SHOPMENU_9",       
                      iBonusXP);             
                        
                cssbColoredPrint(idUser, szMessage);                
             }       
              
             emit_sound( idUser, CHAN_STATIC, "warcraft3/Tomes.wav", 1.0, ATTN_NORM, 0, PITCH_NORM );       
              
             return;       
       }


в items.h добавь:
Код
#define XP_TOME_ORIGIN 250 // Какая дистанция от игрока, для раздачи хр


Сообщение отредактировал NooB2 - Среда, 22.05.2013, 20:48
 
nymbus2000
Дата: Четверг, 23.05.2013, 19:15 | Сообщение # 9
офлайн

  • Сообщения: 130
  • Награды: 0
  • Замечания:
 
GooDgashish, если бы не мой пост, сомневаюсь что NooB2 тебе помог бы.

CS: -=*{Vitaliy}*=-
Skype: opa_nao_O
 
LBR-810
Дата: Четверг, 23.05.2013, 20:04 | Сообщение # 10
офлайн

  • Сообщения: 62
  • Награды: 2
  • Замечания:
 
nymbus2000, С чего ты взял? Просто не все же должно быть за деньги, тем более если подобный код существует

Встраиваю расы, shopmenu в war3ft, пишу плагины, могу работать с DeathRun
Писать только в лс
 
cs-contra
Дата: Суббота, 25.05.2013, 11:53 | Сообщение # 11
офлайн

  • Сообщения: 28
  • Награды: 0
  • Замечания:
 
nymbus2000, mda!
 
  • Страница 1 из 1
  • 1
Поиск: