Archived copy of war3source.com, the War3Source forum (2009–2020), rebuilt from the Internet Archive by wc3mods.net. This page was captured on 2012-09-22 (original capture). Forum · All archived topics · Wiki · Bug tracker · Blog
Chat

War3:Source
September 21, 2012, 10:14:51 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: Download: http://war3source.com/index.php?board=9.0
What is War3Source?: http://war3source.com/index.php?topic=200.0
Sample Stats: http://war3source.com/war3stats
Steam Community Group: http://steamcommunity.com/groups/war3source
War3Source SVN Checkout: http://ownageclan.com/svn/war3source/
War3Source servers: http://www.game-monitor.com/search.php?vars=war3_version=
 
   Home   Help Search Login Register  
Pages: 1 ... 19 20 [21] 22
  Print  
Author Topic: [Russian] Помощь в обновлении/исправлении рас  (Read 18189 times)
senator141
Newbie
*
Posts: 40


View Profile
« Reply #500 on: May 18, 2012, 03:45:53 AM »

public EventWeaponFire(Handle:event,const String:name[],bool:dontBroadcast) {
   new client = GetClientOfUserId(GetEventInt(event, "userid"));
   if (ValidPlayer(client,true) && War3_GetRace(client) == thisRaceID)
   {
      static String:sWeapon[32];
      GetEventString(event, "weapon", sWeapon, sizeof(sWeapon));
      if (StrEqual(sWeapon, "knife") && (g_iCurrentKnifes[client] > 0))
         ThrowKnife(client);
      new shadow_level = War3_GetSkillLevel(client,thisRaceID,SKILL_SHADOW);
      if(shadow_level>0)
      {
         caninvistime[client]=GetGameTime() + g_flShadowTimer[shadow_level];
      }
   }
}

вот исходник, Frenzzy я не очень понял.
Logged
Frenzzy
Moderator
Full Member
*****
Posts: 217


337905984 frenzzy@live.ru
View Profile WWW
« Reply #501 on: May 18, 2012, 03:48:58 AM »

"knife" -> "awp" или "weapon_awp"
Logged

O_o
senator141
Newbie
*
Posts: 40


View Profile
« Reply #502 on: May 18, 2012, 04:04:40 AM »

"knife" -> "awp" или "weapon_awp"

теперь ошибка тут.

     GetEventString(event, "weapon", sWeapon, sizeof(sWeapon));
      if (StrEqual(sWeapon, "knife") && (g_iCurrentKnifes[client] > 0))
         ThrowKnife(client);

Вот , что пишет компилятор

//// 1War3Source_CustomRace_spector.sp
// C:\Users\1\Desktop\╚╤╒╬─═╚╩\cstrike\шёїюфэшъш\1War3Source_CustomRace_spector.
sp(349) : error 017: undefined symbol "g_iCurrentKnifes"
// C:\Users\1\Desktop\╚╤╒╬─═╚╩\cstrike\шёїюфэшъш\1War3Source_CustomRace_spector.
sp(349) : error 029: invalid expression, assumed zero
// C:\Users\1\Desktop\╚╤╒╬─═╚╩\cstrike\шёїюфэшъш\1War3Source_CustomRace_spector.
sp(349) : error 029: invalid expression, assumed zero
// C:\Users\1\Desktop\╚╤╒╬─═╚╩\cstrike\шёїюфэшъш\1War3Source_CustomRace_spector.
sp(349) : fatal error 127: too many error messages on one line
//
// Compilation aborted.
// 4 Errors.
Logged
Frenzzy
Moderator
Full Member
*****
Posts: 217


337905984 frenzzy@live.ru
View Profile WWW
« Reply #503 on: May 18, 2012, 05:22:48 AM »

StrEqual(sWeapon, "knife") => StrEqual(sWeapon, "awp")
от этого изменения ошибка не появится, скорее всего твой код с ошибкой
Logged

O_o
senator141
Newbie
*
Posts: 40


View Profile
« Reply #504 on: May 18, 2012, 05:41:38 AM »

StrEqual(sWeapon, "knife") => StrEqual(sWeapon, "awp")
от этого изменения ошибка не появится, скорее всего твой код с ошибкой

if (StrEqual(sWeapon, "knife") && (g_iCurrentKnifes[client] > 0))
         ThrowKnife(client);

ThrowKnife, CurrentKnifes сдесь же все идет про нож, как это изменить.
Logged
senator141
Newbie
*
Posts: 40


View Profile
« Reply #505 on: May 18, 2012, 05:48:30 AM »


// C:\Users\1\Desktop\╚╤╒╬─═╚╩\cstrike\шёїюфэшъш\1War3Source_CustomRace_spector.
sp(350) : error 001: expected token: ")", but found "-identifier-"
// C:\Users\1\Desktop\╚╤╒╬─═╚╩\cstrike\шёїюфэшъш\1War3Source_CustomRace_spector.
sp(350) : error 017: undefined symbol "ThrowKnife"

теперь вот так.
      static String:sWeapon[32];
      GetEventString(event, "weapon", sWeapon, sizeof(sWeapon));
      if (StrEqual(sWeapon, "awp")
         ThrowKnife(client);
Logged
Frenzzy
Moderator
Full Member
*****
Posts: 217


337905984 frenzzy@live.ru
View Profile WWW
« Reply #506 on: May 18, 2012, 06:51:25 AM »

В том куске кода что ты приложил нет никакой информации по поводу инвиза. Поэтому либо выкладывай код расы, либо разбирайся самостоятельно.
Logged

O_o
senator141
Newbie
*
Posts: 40


View Profile
« Reply #507 on: May 18, 2012, 07:05:35 AM »

public Action:CalcVis(Handle:timer)
{
   for(new i=1;i<=MaxClients;i++)
   {
      if(ValidPlayer(i,true)&&War3_GetRace(i)==thisRaceID)
      {
         new shadow_level = War3_GetSkillLevel(i,thisRaceID,SKILL_SHADOW);
         if(caninvistime<GetGameTime() && shadow_level>0)
         {
            War3_SetBuff(i,fInvisibilitySkill,thisRaceID,0.0);
         }
         else
         {
            War3_SetBuff(i,fInvisibilitySkill,thisRaceID,1.0);
         }
         decl Float:velocity[3];
         GetEntDataVector(i,m_vecVelocity,velocity);
         if(shadow_level>0&&GetVectorLength(velocity) > 0)
         {
            caninvistime=GetGameTime() + g_flShadowTimer[shadow_level];
         }
      }
   }   
}


другово ничего не нашел.
Код брал из призрачного Стража.


public EventWeaponFire(Handle:event,const String:name[],bool:dontBroadcast) {
   new client = GetClientOfUserId(GetEventInt(event, "userid"));
   if (ValidPlayer(client,true) && War3_GetRace(client) == thisRaceID)
   {
      static String:sWeapon[32];
      GetEventString(event, "weapon", sWeapon, sizeof(sWeapon));
      if (StrEqual(sWeapon, "awp")
         ThrowKnife(client);
      new shadow_level = War3_GetSkillLevel(client,thisRaceID,SKILL_SHADOW);
      if(shadow_level>0)
      {
         caninvistime[client]=GetGameTime() + g_flShadowTimer[shadow_level];
      }
   }
}
Logged
senator141
Newbie
*
Posts: 40


View Profile
« Reply #508 on: May 18, 2012, 08:44:37 AM »

L 05/18/2012 - 18:41:26: [SM] Plugin encountered error 15: Array index is out of bounds
L 05/18/2012 - 18:41:26: [SM] Displaying call stack trace for plugin "War3Source_CustomRace_jagger.smx":
L 05/18/2012 - 18:41:26: [SM]   
  •   Line 122, C:\Users\1\Desktop\ИСХОДНИК\cstrike\исходники\War3Source_CustomRace_jagger.sp::InitPassiveSkills()
L 05/18/2012 - 18:41:26: [SM]   [1]  Line 175, C:\Users\1\Desktop\ИСХОДНИК\cstrike\исходники\War3Source_CustomRace_jagger.sp::OnWar3EventSpawn()
L 05/18/2012 - 18:41:40: [SM] Plugin encountered error 15: Array index is out of bounds
L 05/18/2012 - 18:41:40: [SM] Displaying call stack trace for plugin "War3Source_CustomRace_jagger.smx":
L 05/18/2012 - 18:41:40: [SM]   
  •   Line 122, C:\Users\1\Desktop\ИСХОДНИК\cstrike\исходники\War3Source_CustomRace_jagger.sp::InitPassiveSkills()
L 05/18/2012 - 18:41:40: [SM]   [1]  Line 175, C:\Users\1\Desktop\ИСХОДНИК\cstrike\исходники\War3Source_CustomRace_jagger.sp::OnWar3EventSpawn()

как исправить данную ошибку.
При компиляции проблем нету.
Logged
Divix
Sr. Member
****
Posts: 280


View Profile Email
« Reply #509 on: May 18, 2012, 08:52:57 AM »

senator141, во-первых, исправить ошибку можно увеличив размер массива. Во-вторых, я не могу понять, что тебе с расой GhostSentinel надо ? Я атакую с авп и невидимость сбивается - так ? Если так, то оно по идеи сейчас так и работает ("так" - тавтология - бла бла бла  Tongue; если работает не так, то скажи, я поставлю проверю).
Logged
senator141
Newbie
*
Posts: 40


View Profile
« Reply #510 on: May 18, 2012, 09:36:10 AM »

senator141, во-первых, исправить ошибку можно увеличив размер массива. Во-вторых, я не могу понять, что тебе с расой GhostSentinel надо ? Я атакую с авп и невидимость сбивается - так ? Если так, то оно по идеи сейчас так и работает ("так" - тавтология - бла бла бла  Tongue; если работает не так, то скажи, я поставлю проверю).

GhostSentinel = я от туда только код, и мне уже Frenzzy подсказал.

А с массивом я не понял.
Logged
Divix
Sr. Member
****
Posts: 280


View Profile Email
« Reply #511 on: May 18, 2012, 10:17:40 AM »

А с массивом я не понял.

Ну к примеру:
Quote
new Float:fl[2];
fl[0] = 1.0;
fl[1] = 2.0;

fl[2] = 3.0;
В основном такие ошибки возникают в строках (к примеру пытаешься получить имя клиента "123вася", а указываешь размер строки 2:
Quote
new String:str[2];
GetClientName(client, str, sizeof(str));
) или же при попытке получить/сделать что-то с entity/клиентом, но путать при этом MaxClient и т.п. define.

Все что ниже можно не читать, поперло Cheesy.
Паскаль, школа, задание "Отсортировать массив по возрастанию/убыванию", найдите ошибку:
Quote
cons N=5;
     for i:=1 to N do
         for j:=1 to N do
             if a[j]>a[j+1] then
             begin
               k:=a[j];
               a[j]:=a[j+1];
               a[j+1]:=k;
             end;
В таком коде если мы введем 5 чисел, то будет такая же ошибка.
« Last Edit: May 18, 2012, 10:21:23 AM by Divix » Logged
senator141
Newbie
*
Posts: 40


View Profile
« Reply #512 on: May 18, 2012, 12:16:42 PM »

А с массивом я не понял.

Ну к примеру:
Quote
new Float:fl[2];
fl[0] = 1.0;
fl[1] = 2.0;

fl[2] = 3.0;
В основном такие ошибки возникают в строках (к примеру пытаешься получить имя клиента "123вася", а указываешь размер строки 2:
Quote
new String:str[2];
GetClientName(client, str, sizeof(str));
) или же при попытке получить/сделать что-то с entity/клиентом, но путать при этом MaxClient и т.п. define.

Все что ниже можно не читать, поперло Cheesy.
Паскаль, школа, задание "Отсортировать массив по возрастанию/убыванию", найдите ошибку:
Quote
cons N=5;
     for i:=1 to N do
         for j:=1 to N do
             if a[j]>a[j+1] then
             begin
               k:=a[j];
               a[j]:=a[j+1];
               a[j+1]:=k;
             end;
В таком коде если мы введем 5 чисел, то будет такая же ошибка.

Ошибка в скиле, но как её исправить я незнаю.
Logged
Divix
Sr. Member
****
Posts: 280


View Profile Email
« Reply #513 on: May 18, 2012, 12:31:54 PM »

Ошибка в скиле, но как её исправить я незнаю.

Ну а код ? Я описал проблему и решение само выплывает, а если хочешь, чтобы тебе помогли, то:
Quote
Если нету Вашей ошибки или Вы не можете ее решить самостоятельно:
1) Выкладывайте пожалуйста полный код расы;
Logged
senator141
Newbie
*
Posts: 40


View Profile
« Reply #514 on: May 22, 2012, 11:58:35 AM »

Помогите с расой, не могу понять, в чем ошибка.
При компиляции вылетает:
//SourceMod Batch Compiler
// by the SourceMod Dev Team


//// 1War3Source_CustomRace_Illidan_Stormrage.sp
// C:\Users\1\Desktop\╚╤╒╬─═╚╩\cstrike\шёїюфэшъш\1War3Source_CustomRace_Illidan_
Stormrage.sp(208) : error 017: undefined symbol "GetClientByName"
// C:\Users\1\Desktop\╚╤╒╬─═╚╩\cstrike\шёїюфэшъш\1War3Source_CustomRace_Illidan_
Stormrage.sp(231) : error 017: undefined symbol "GetClientByName"
//
// 2 Errors.
//
// Compilation Time: 0,7 sec
// ----------------------------------------

Press enter to exit ...
Logged
alex0310
Full Member
***
Posts: 170



View Profile
« Reply #515 on: May 25, 2012, 01:16:22 AM »

Помогите с расой, не могу понять, в чем ошибка.
При компиляции вылетает:
//SourceMod Batch Compiler
// by the SourceMod Dev Team


//// 1War3Source_CustomRace_Illidan_Stormrage.sp
// C:\Users\1\Desktop\╚╤╒╬─═╚╩\cstrike\шёїюфэшъш\1War3Source_CustomRace_Illidan_
Stormrage.sp(208) : error 017: undefined symbol "GetClientByName"
// C:\Users\1\Desktop\╚╤╒╬─═╚╩\cstrike\шёїюфэшъш\1War3Source_CustomRace_Illidan_
Stormrage.sp(231) : error 017: undefined symbol "GetClientByName"
//
// 2 Errors.
//
// Compilation Time: 0,7 sec
// ----------------------------------------

Press enter to exit ...
Ты пытаешься вызвать функцию которой НЕТ!
тебе либо нужно описать её внутри расы, либо подключить нужную библиотеку..

Ищи эту функцию, там откуда  ты взял этот код,
я думаю там должно быть что-то вроде этого..
Code:
stock GetClientByName(const String:name[])
{
new String:iname[32];
for(new i=1;i<=MaxClients;i++)
{
if(IsClientInGame(i) && IsFakeClient(i))
{
Format(iname, sizeof(iname), "%N", i);
if(StrEqual(name, iname, true))
{
return i;
}
}
}
Format(iname, sizeof(iname), "%N", 0); //check console last as a player could mask themselves as console
if(StrEqual(name, iname, true))
{
return 0;
}
return -1;
}
Logged
Divix
Sr. Member
****
Posts: 280


View Profile Email
« Reply #516 on: May 25, 2012, 02:27:05 AM »

alex, не будет работать, надо GetClientName. В твоем коде перебираются числа от 1 до макс. клиент (не помню сколько) и эти числа сравниваются  с именем введенным в функцию, т.е. твой ник на сервере alex, код будет сравнить 1-alex, 2-alex и т.д.

Потом выложу иллидана, занятость ( Все время отвлекаюсь.
Code:
stock GetClientByName(const String:name[], bool:caseSensitive = true)
{
decl String:Name[MAX_NAME_LENGTH]; // незнаю почему, но у меня был баг: указано 32 - не всегда работает, MAX_NAME_LENGTH - всегда работает.
for(new client; client <= MaxClients; client++)
{
if(ValidPlayer(client, false))
{
GetClientName(client, Name, sizeof(Name));
if(StrEqual(name, Name, caseSensitive))
{
return client;
}
}
}
return -1;
}
Logged
Chuck
Jr. Member
**
Posts: 98


View Profile Email
« Reply #517 on: June 04, 2012, 05:09:02 PM »

Eta race nerabotayet! vso delayet a damage netu.....
Logged
salavat
Jr. Member
**
Posts: 84



View Profile Email
« Reply #518 on: June 16, 2012, 08:58:35 AM »

подскажите как отключить разминирование бомбы, стрельбу?
Logged

alex0310
Full Member
***
Posts: 170



View Profile
« Reply #519 on: June 16, 2012, 09:53:47 AM »

подскажите как отключить разминирование бомбы, стрельбу?
По бомбе, лови событие - "bomb_begindefuse":
Code:
public OnPluginStart()
{
HookEvent("bomb_begindefuse",Bomb_Begindefuse);
}
public Bomb_Begindefuse(Handle:event, const String:name[], bool:dontBroadcast)
{
new client = GetClientOfUserId(GetEventInt(event, "userid"));
if(проверка твоих условий)
{
Твой код..
PrintHintText(client,"%T", "You can not defuse...",client);
}
}
По стрельбе непонятно...
что нужно, чтобы не было урона или что?..
Logged
salavat
Jr. Member
**
Posts: 84



View Profile Email
« Reply #520 on: June 16, 2012, 10:10:13 AM »

что б вообще не стрелял, помню в какой то расе было такое, но забыл в какой.
Logged

alex0310
Full Member
***
Posts: 170



View Profile
« Reply #521 on: June 16, 2012, 12:41:11 PM »

что б вообще не стрелял, помню в какой то расе было такое, но забыл в какой.
Тогда - "weapon_fire"
Logged
salavat
Jr. Member
**
Posts: 84



View Profile Email
« Reply #522 on: June 17, 2012, 12:04:07 AM »

спс
Logged

salavat
Jr. Member
**
Posts: 84



View Profile Email
« Reply #523 on: June 18, 2012, 10:33:01 PM »

можно как нибудь сделать игрока невидимым для радара?
Logged

stinkyfax
Full Member
***
Posts: 116


View Profile Email
« Reply #524 on: June 21, 2012, 11:04:30 AM »

Mozhno.

Gdeto v global:

InitOffsets() {
g_minimapoffset=FindSendPropOffs("CCSPlayerResource", "m_bPlayerSpotted");
}


public OnThinkPost(entity)
{
  for(new target = 1; target < GetMaxClients(); target++) {

    if(IsClientInGame(target) && ( IsMageInvis(target) || (GetClass(target)==2 && (wcGetTalentLevel(target,1,3,3) > 0 && GetElusive(target))  ) ) )   {  //removed IsInvisible() in respect to rogues nerf
      SetEntData(entity, g_minimapoffset + target, false, 1, true);
    }
  }
}


Budu rad esli ne zabudesh' dat' credits
Logged

Pages: 1 ... 19 20 [21] 22
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!