Заказать игровой сервер Контакты (заказать плагин/исправить ошибки/другое) Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Стрельба (Настрока выстрелов)
Стрельба
serm Дата: Вторник, 25.02.2014, 13:35:28 | Сообщение # 1
Сообщений: 137
Репутация: 7 [ +/- ]
Всем привет !
У меня проблемка , вот эта функция не работает так как мне нужно .
Вот код .
Код

#pragma semicolon 1

#include <sourcemod>
#include <sdktools>
#include <cstrike>
#include <sdkhooks>

new ent1, ent2;
new Float:f_PosSoldier[3];

public OnPluginStart(){
     RegConsoleCmd("ztest", cmd_spaws);
}       

public Action:cmd_spaws(client, args){
     GetEntPropVector(client, Prop_Send, "m_vecOrigin", f_PosSoldier);  
     SpawnSoldierHm(client);
}

public SpawnSoldierHm(client){
  f_PosSoldier[2]+=50;
  f_PosSoldier[1]+=150;
  new test_model1=CreateEntityByName("prop_dynamic");
  DispatchKeyValue(test_model1, "model", "models/barney.mdl");
  DispatchKeyValue(test_model1, "name", "stall2");
     DispatchSpawn(test_model1);    
  DispatchKeyValue(test_model1, "name", "stall2");
  TeleportEntity(test_model1, f_PosSoldier, NULL_VECTOR, NULL_VECTOR);
  f_PosSoldier[1]-=300;
  new test_model2=CreateEntityByName("prop_dynamic");
  DispatchKeyValue(test_model2, "model", "models/barney.mdl");
  DispatchKeyValue(test_model2, "name", "stall1");
     DispatchSpawn(test_model2);    
  DispatchKeyValue(test_model2, "name", "stall1");
  TeleportEntity(test_model2, f_PosSoldier, NULL_VECTOR, NULL_VECTOR);
  ent1=test_model1;
  ent2=test_model2;
   
  CreateTimer(5.0, Stest, _, TIMER_FLAG_NO_MAPCHANGE);
   
}

public Action:Stest(Handle:timer, any:data){
  new gunfire = CreateEntityByName("env_gunfire");
     DispatchKeyValue(gunfire, "bias", "1");
     DispatchKeyValue(gunfire, "collisions", "1");
     DispatchKeyValue(gunfire, "maxburstdelay", "0");
     DispatchKeyValue(gunfire, "maxburstsize", "1");
     DispatchKeyValue(gunfire, "minburstdelay", "0");
     DispatchKeyValue(gunfire, "minburstsize", "1");
  DispatchKeyValue(gunfire, "parentname", "stall2");  
     DispatchKeyValue(gunfire, "rateoffire", "300");
     DispatchKeyValue(gunfire, "shootsound", "weapons/ar2/fire1.wav");
     DispatchKeyValue(gunfire, "spread", "15");
     DispatchKeyValue(gunfire, "StartDisabled", "0");
  DispatchKeyValue(gunfire, "target", "stall1");  
  DispatchKeyValue(gunfire, "targetname", "minigun_fire");  
  DispatchSpawn(gunfire);
   
  DispatchKeyValue(gunfire, "target", "stall1");  
  DispatchKeyValue(gunfire, "targetname", "minigun_fire");  
  DispatchKeyValue(gunfire, "parentname", "stall2");  
   
  f_PosSoldier[1]+=150;
  TeleportEntity(gunfire, f_PosSoldier, NULL_VECTOR, NULL_VECTOR);
}


Вот пытаюсь создать эффект выстрела через sm но никак не получается , я уже замучился и сделал с таймером в надежду вдруг сработает так вот нифига !
ПРОБЛЕМА : Создается эффект выстрела но не на цель а на центр карты с координатами {0.0, 0.0, 0.0} !

Пробовал сделать через hammer на карте все получается а через см пробую никак не идет дело .

Может я что то не так делаю ??
 
Vor4uN Дата: Вторник, 25.02.2014, 18:54:58 | Сообщение # 2
Сообщений: 49
Репутация: 3 [ +/- ]
serm, Скинь vmf с хамера посмотрю что ты там намудрил, может помогу с координатами если это то что я думаю.
 
panorama Дата: Среда, 26.02.2014, 09:46:13 | Сообщение # 3
Сообщений: 203
Репутация: 2 [ +/- ]
Цитата Vor4uN ()
serm, Скинь vmf с хамера посмотрю что ты там намудрил, может помогу с координатами если это то что я думаю.

это не текстура выстрела а entity так что vfm не нужен


Сообщение отредактировал panorama - Среда, 26.02.2014, 11:26:54
 
Vor4uN Дата: Среда, 26.02.2014, 12:02:39 | Сообщение # 4
Сообщений: 49
Репутация: 3 [ +/- ]
Цитата panorama ()
это не текстура выстрела а entity так что vfm не нужен


Странно , а разве я тебе написал про исходник хамера ?
Может тебе он ничего не даст, а мне вот например даст объяснение того что хочет человек получить в итоге.
 
serm Дата: Суббота, 01.03.2014, 18:50:09 | Сообщение # 5
Сообщений: 137
Репутация: 7 [ +/- ]
Цитата Vor4uN ()
Странно , а разве я тебе написал про исходник хамера ?
Может тебе он ничего не даст, а мне вот например даст объяснение того что хочет человек получить в итоге.

Он прав я создаю entity вот с такими параметрами в hammer и все работает Вот исходник карты http://yadi.sk/d/nd-t7ffTJdDhM

Добавлено (01.03.2014, 10:02:46)
---------------------------------------------
Ну так что никто не поможет ?

Добавлено (01.03.2014, 18:50:09)
---------------------------------------------
Никто не знает что ли ?

 
Vor4uN Дата: Воскресенье, 02.03.2014, 16:10:14 | Сообщение # 6
Сообщений: 49
Репутация: 3 [ +/- ]
serm, Если честно, я так и не понял что ты хочешь реализовать. Карта с твоего vmf показывает что знтити env_gunfire имеет парент (имя) к которому оно приклеплено и я так полагаяю что именно проп к которому она приклепрена отвечает за координаты ее рождения и направления пуль. В коде плагина видно, что ты ставишь проп даешь ему имя и после спавнишь env_gunfire с парентонеймом.

Попробуй сделать так
- ставь проп с координатами согласно уроку http://world-source.ru/forum/100-2383-1
- после ставь env_gunfire не выдавая ей координаты (пусть унаследует от пропа)

ну и припарентить не забудь.
 
serm Дата: Воскресенье, 02.03.2014, 16:58:50 | Сообщение # 7
Сообщений: 137
Репутация: 7 [ +/- ]
Цитата Vor4uN ()
serm, Если честно, я так и не понял что ты хочешь реализовать. Карта с твоего vmf показывает что знтити env_gunfire имеет парент (имя) к которому оно приклеплено и я так полагаяю что именно проп к которому она приклепрена отвечает за координаты ее рождения и направления пуль. В коде плагина видно, что ты ставишь проп даешь ему имя и после спавнишь env_gunfire с парентонеймом.

Попробуй сделать так
- ставь проп с координатами согласно уроку http://world-source.ru/forum/100-2383-1
- после ставь env_gunfire не выдавая ей координаты (пусть унаследует от пропа)

ну и припарентить не забудь.


Вот я еще раз скину код который был в первом посту он полностью соответствует тому что ты написал но вот только через hammer на карте все работает , а через sm создаю он не работает !

Код


#pragma semicolon 1  

#include <sourcemod>  
#include <sdktools>  
#include <cstrike>  
#include <sdkhooks>  

new Float:f_PosSoldier[3];  

public OnPluginStart(){  
      RegConsoleCmd("ztest", cmd_spaws);  
}        

public Action:cmd_spaws(client, args){  
      GetEntPropVector(client, Prop_Send, "m_vecOrigin", f_PosSoldier);   
      SpawnSoldierHm(client);  
}  

public SpawnSoldierHm(client){  
   f_PosSoldier[2]+=50;  
   f_PosSoldier[1]+=150;  
   new test_model1=CreateEntityByName("prop_dynamic");  
   DispatchKeyValue(test_model1, "model", "models/barney.mdl");  
   DispatchKeyValue(test_model1, "name", "stall2");  
      DispatchSpawn(test_model1);     
   DispatchKeyValue(test_model1, "name", "stall2");  
   TeleportEntity(test_model1, f_PosSoldier, NULL_VECTOR, NULL_VECTOR);  
   f_PosSoldier[1]-=300;  
   new test_model2=CreateEntityByName("prop_dynamic");  
   DispatchKeyValue(test_model2, "model", "models/barney.mdl");  
   DispatchKeyValue(test_model2, "name", "stall1");  
      DispatchSpawn(test_model2);     
   DispatchKeyValue(test_model2, "name", "stall1");  
   TeleportEntity(test_model2, f_PosSoldier, NULL_VECTOR, NULL_VECTOR);  
     
   CreateTimer(5.0, Stest, _, TIMER_FLAG_NO_MAPCHANGE);  
     
}  

public Action:Stest(Handle:timer, any:data){  
   new gunfire = CreateEntityByName("env_gunfire");  
      DispatchKeyValue(gunfire, "bias", "1");  
      DispatchKeyValue(gunfire, "collisions", "1");  
      DispatchKeyValue(gunfire, "maxburstdelay", "0");  
      DispatchKeyValue(gunfire, "maxburstsize", "1");  
      DispatchKeyValue(gunfire, "minburstdelay", "0");  
      DispatchKeyValue(gunfire, "minburstsize", "1");  
   DispatchKeyValue(gunfire, "parentname", "stall2");   
      DispatchKeyValue(gunfire, "rateoffire", "300");  
      DispatchKeyValue(gunfire, "shootsound", "weapons/ar2/fire1.wav");  
      DispatchKeyValue(gunfire, "spread", "15");  
      DispatchKeyValue(gunfire, "StartDisabled", "0");  
   DispatchKeyValue(gunfire, "target", "stall1");   
   DispatchKeyValue(gunfire, "targetname", "minigun_fire");   
   DispatchSpawn(gunfire);  
     
   DispatchKeyValue(gunfire, "target", "stall1");   
   DispatchKeyValue(gunfire, "targetname", "minigun_fire");   
   DispatchKeyValue(gunfire, "parentname", "stall2");   
     
   f_PosSoldier[1]+=150;  
f_PosSoldier[2]+=50;  
   TeleportEntity(gunfire, f_PosSoldier, NULL_VECTOR, NULL_VECTOR);  
}  



Скомпилируй и посмотри все создается но вот стреляет он в центр карты !
 
hakerok Дата: Воскресенье, 02.03.2014, 18:43:29 | Сообщение # 8
Сообщений: 1
Репутация: -2 [ +/- ]
реклама
 
Vor4uN Дата: Понедельник, 03.03.2014, 00:36:39 | Сообщение # 9
Сообщений: 49
Репутация: 3 [ +/- ]
Цитата serm ()
Вот я еще раз скину код который был в первом посту он полностью соответствует тому что ты написал но вот только через hammer на карте все работает , а через sm создаю он не работает !


Подправил немного твой код, проверь то не?

Код

#pragma semicolon 1     

#include <sourcemod>     
#include <sdktools>     
#include <cstrike>     
#include <sdkhooks>     

new Float:f_PosSoldier[3];     

public OnPluginStart()
{     
         RegConsoleCmd("ztest", cmd_spaws);     
}           

public Action:cmd_spaws(client, args)
{     
         GetEntPropVector(client, Prop_Send, "m_vecOrigin", f_PosSoldier);      
         SpawnSoldierHm(client);     
}     

public SpawnSoldierHm(client)
{     
      f_PosSoldier[2]+=50;     
      f_PosSoldier[1]+=150;     
      new test_model1=CreateEntityByName("prop_dynamic");     
      DispatchKeyValue(test_model1, "model", "models/barney.mdl");     
      DispatchKeyValue(test_model1, "targetname", "stall2");     
      DispatchSpawn(test_model1);        
      TeleportEntity(test_model1, f_PosSoldier, NULL_VECTOR, NULL_VECTOR);     
      f_PosSoldier[1]-=300;    
         
      new test_model2=CreateEntityByName("prop_dynamic");     
      DispatchKeyValue(test_model2, "model", "models/barney.mdl");     
      DispatchKeyValue(test_model2, "targetname", "stall1");     
      DispatchSpawn(test_model2);        
      TeleportEntity(test_model2, f_PosSoldier, NULL_VECTOR, NULL_VECTOR);     
           
      CreateTimer(5.0, Stest, _, TIMER_FLAG_NO_MAPCHANGE);     
           
}     

public Action:Stest(Handle:timer, any:data)
{     
    new gunfire = CreateEntityByName("env_gunfire");     
       DispatchKeyValue(gunfire, "bias", "1");     
       DispatchKeyValue(gunfire, "collisions", "1");     
       DispatchKeyValue(gunfire, "maxburstdelay", "0");     
       DispatchKeyValue(gunfire, "maxburstsize", "1");     
       DispatchKeyValue(gunfire, "minburstdelay", "0");     
       DispatchKeyValue(gunfire, "minburstsize", "1");     
       DispatchKeyValue(gunfire, "rateoffire", "300");     
       DispatchKeyValue(gunfire, "shootsound", "weapons/ar2/fire1.wav");     
       DispatchKeyValue(gunfire, "spread", "15");     
       DispatchKeyValue(gunfire, "StartDisabled", "0");     
       DispatchSpawn(gunfire);     
       DispatchKeyValue(gunfire, "targetname", "minigun_fire");   - Зачем давать имя если используешь название при создании(спавне) ентити???
       DispatchKeyValue(gunfire, "SetParent", "stall2");      
           
    f_PosSoldier[1]+=150;     
    f_PosSoldier[2]+=50;     
    TeleportEntity(gunfire, f_PosSoldier, NULL_VECTOR, NULL_VECTOR);     
}    


Добавлено (03.03.2014, 00:36:39)
---------------------------------------------
По моему ты просто копирнул откуда то код и приспособил на свой, так как ошибки есть в нем и вообще какое то странное написание, Ну я хз твой код твои правила )))


Сообщение отредактировал Vor4uN - Понедельник, 03.03.2014, 00:41:00
 
serm Дата: Понедельник, 03.03.2014, 12:05:58 | Сообщение # 10
Сообщений: 137
Репутация: 7 [ +/- ]
Цитата Vor4uN ()
Цитата serm писал(а):
Вот я еще раз скину код который был в первом посту он полностью соответствует тому что ты написал но вот только через hammer на карте все работает , а через sm создаю он не работает !

Подправил немного твой код, проверь то не?

Код

#pragma semicolon 1     

#include <sourcemod>     
#include <sdktools>     
#include <cstrike>     
#include <sdkhooks>     

new Float:f_PosSoldier[3];     

public OnPluginStart()
{     
         RegConsoleCmd("ztest", cmd_spaws);     
}           

public Action:cmd_spaws(client, args)
{     
         GetEntPropVector(client, Prop_Send, "m_vecOrigin", f_PosSoldier);      
         SpawnSoldierHm(client);     
}     

public SpawnSoldierHm(client)
{     
      f_PosSoldier[2]+=50;     
      f_PosSoldier[1]+=150;     
      new test_model1=CreateEntityByName("prop_dynamic");     
      DispatchKeyValue(test_model1, "model", "models/barney.mdl");     
      DispatchKeyValue(test_model1, "targetname", "stall2");     
      DispatchSpawn(test_model1);        
      TeleportEntity(test_model1, f_PosSoldier, NULL_VECTOR, NULL_VECTOR);     
      f_PosSoldier[1]-=300;    
         
      new test_model2=CreateEntityByName("prop_dynamic");     
      DispatchKeyValue(test_model2, "model", "models/barney.mdl");     
      DispatchKeyValue(test_model2, "targetname", "stall1");     
      DispatchSpawn(test_model2);        
      TeleportEntity(test_model2, f_PosSoldier, NULL_VECTOR, NULL_VECTOR);     
           
      CreateTimer(5.0, Stest, _, TIMER_FLAG_NO_MAPCHANGE);     
           
}     

public Action:Stest(Handle:timer, any:data)
{     
    new gunfire = CreateEntityByName("env_gunfire");     
       DispatchKeyValue(gunfire, "bias", "1");     
       DispatchKeyValue(gunfire, "collisions", "1");     
       DispatchKeyValue(gunfire, "maxburstdelay", "0");     
       DispatchKeyValue(gunfire, "maxburstsize", "1");     
       DispatchKeyValue(gunfire, "minburstdelay", "0");     
       DispatchKeyValue(gunfire, "minburstsize", "1");     
       DispatchKeyValue(gunfire, "rateoffire", "300");     
       DispatchKeyValue(gunfire, "shootsound", "weapons/ar2/fire1.wav");     
       DispatchKeyValue(gunfire, "spread", "15");     
       DispatchKeyValue(gunfire, "StartDisabled", "0");     
       DispatchSpawn(gunfire);     
       DispatchKeyValue(gunfire, "targetname", "minigun_fire");   - Зачем давать имя если используешь название при создании(спавне) ентити???
       DispatchKeyValue(gunfire, "SetParent", "stall2");      
           
    f_PosSoldier[1]+=150;     
    f_PosSoldier[2]+=50;     
    TeleportEntity(gunfire, f_PosSoldier, NULL_VECTOR, NULL_VECTOR);     
}    

Добавлено (03.03.2014, 00:36:39)
---------------------------------------------
По моему ты просто копирнул откуда то код и приспособил на свой, так как ошибки есть в нем и вообще какое то странное написание, Ну я хз твой код твои правила )))



Ну во первых из за передвижения entity ничего не случится фатального т.к. после я ее креплю на prop
Во вторых так
Код

DispatchKeyValue(gunfire, "SetParent", "stall2");      

категорически делать нельзя SetParent нет такого параметра у этой entity !
В третьих код я правда взял из других своих наработок если ты придирчивый vshapke вот на
Код
#pragma semicolon 1     // Люблю подключать все нужные библиотеки

#include <sourcemod>     // Люблю подключать все нужные библиотеки
#include <sdktools>     // Люблю подключать все нужные библиотеки
#include <cstrike>     // Люблю подключать все нужные библиотеки
#include <sdkhooks>     // Люблю подключать все нужные библиотеки

new Float:f_PosGun[3];     //    Создаю Float Для Позиции

public OnPluginStart() RegConsoleCmd("fire_test", console_test_gun); // Добавляю отлавливаемую команду

public Action:console_test_gun(client, args){ // Выполнию команду
     if(client < 0 || !IsClientInGame(client) || !IsPlayerAlive(client)) return; // Если client с потолка взят останавливаю
     GetEntPropVector(client, Prop_Send, "m_vecOrigin", f_PosGun);      // Сохраняю позицию lient
     SpawnSoldierHm(client);     // Передаю функцию
}      

public SpawnSoldierHm(client){     // Получаю функцию
     f_PosGun[2]+=50;     // Настраиваю координаты чтобы не в земле заспавнился
     f_PosGun[1]+=150;     // Двигаю чтобы не во мне заспавнился
     new test_model1=CreateEntityByName("prop_dynamic");     // Создаем маникен
     DispatchKeyValue(test_model1, "model", "models/barney.mdl");      
     DispatchKeyValue(test_model1, "targetname", "stall2");      
     DispatchSpawn(test_model1);         
     TeleportEntity(test_model1, f_PosGun, NULL_VECTOR, NULL_VECTOR);     // Телепортируем
     f_PosGun[1]-=300;       // Двигаю чтобы заспавнился не в test_model1
     new test_model2=CreateEntityByName("prop_dynamic");     // Создаем еще один
     DispatchKeyValue(test_model2, "model", "models/barney.mdl");      
     DispatchKeyValue(test_model2, "targetname", "stall1");      
     DispatchSpawn(test_model2);         
     TeleportEntity(test_model2, f_PosGun, NULL_VECTOR, NULL_VECTOR);     // Телепортируем
      
     CreateTimer(5.0, AfterCreate, _, TIMER_FLAG_NO_MAPCHANGE);     // Подождем немного
}      

public Action:AfterCreate(Handle:timer, any:data){      
     new gunfire = CreateEntityByName("env_gunfire");     // Создаю эффект
     DispatchKeyValue(gunfire, "bias", "1");      
     DispatchKeyValue(gunfire, "collisions", "1");      
     DispatchKeyValue(gunfire, "maxburstdelay", "0");      
     DispatchKeyValue(gunfire, "maxburstsize", "1");      
     DispatchKeyValue(gunfire, "minburstdelay", "0");      
     DispatchKeyValue(gunfire, "minburstsize", "1");      
     DispatchKeyValue(gunfire, "rateoffire", "300");      
     DispatchKeyValue(gunfire, "shootsound", "weapons/ar2/fire1.wav");      
     DispatchKeyValue(gunfire, "spread", "15");      
     DispatchKeyValue(gunfire, "StartDisabled", "0");      
     DispatchSpawn(gunfire);      
     DispatchKeyValue(gunfire, "targetname", "minigun_fire");
     DispatchKeyValue(gunfire, "parentname", "stall2");      
      
     f_PosGun[1]+=150;      
     f_PosGun[2]+=50;      
     TeleportEntity(gunfire, f_PosGun, NULL_VECTOR, NULL_VECTOR);     // Телепортирую
}    


Думаю тут все будет понятно !

А теперь ХХЕЕЕЛЛПП ЛЮДИ !
 
Vor4uN Дата: Понедельник, 03.03.2014, 12:59:47 | Сообщение # 11
Сообщений: 49
Репутация: 3 [ +/- ]
Цитата serm ()
категорически делать нельзя SetParent нет такого параметра у этой entity !

Этот параметр есть у ентити. Параметром ты указываешь в коде к чему припарентить ее. А если взять все параметры с хамера то будет направельно.
Я не придирчивый, просто не могу сообразить суть твоего плагина.
Вот например куда должна быть направлена твоя стрельба?
Зачем два пропа ?
Зачем давать имя пропу если его не используешь?


Сообщение отредактировал Vor4uN - Понедельник, 03.03.2014, 13:08:58
 
serm Дата: Среда, 05.03.2014, 10:35:05 | Сообщение # 12
Сообщений: 137
Репутация: 7 [ +/- ]
Цитата Vor4uN ()
Этот параметр есть у ентити. Параметром ты указываешь в коде к чему припарентить ее. А если взять все параметры с хамера то будет направельно.
Я не придирчивый, просто не могу сообразить суть твоего плагина.
Вот например куда должна быть направлена твоя стрельба?
Зачем два пропа ?
Зачем давать имя пропу если его не используешь?


1. Плагин я сделал для того чтобы сделать полную копию того что в хамере !
2. Стрельба должна быть направленна на stall1
3. Для того чтобы на первый прикрепить эту entity а второй будет целью
4. С чего взял что я его не использую
Код
DispatchKeyValue(gunfire, "target", "stall1");  
В первом посту это указанно
5. Я еще раз говорю нет такого параметра у entity ты спутал его с
Код
AcceptEntityInput(entity, "SetParent");


Вот как то так gut

Добавлено (04.03.2014, 05:54:54)
---------------------------------------------
WS Может ты знаешь ?

Добавлено (05.03.2014, 10:35:05)
---------------------------------------------
Ладно ребят всем спасибо , я так понимаю тут никто не знает в чем проблема дальше сам разбираться буду !

 
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Стрельба (Настрока выстрелов)
  • Страница 1 из 1
  • 1
Поиск: