Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Ошибочка native "cs_set_weapon_ammo"

, Исходник прилагается
Статус пользователя usercn
сообщение 27.10.2014, 10:36
Сообщение #1


Стаж: 12 лет

Сообщений: 341
Благодарностей: 140
Полезность: 495

Использую на карте de_dust2_2x2 бонусы. Каждый раунд даёт дигл, броню и бонусные деньги.
Плагин пишет в лог кучу одинаковых ошибок. Привожу одну, но в логе их десятки-сотни.
Подскажите проблему?

Код
L 10/27/2014 - 02:30:26: Start of error session.
L 10/27/2014 - 02:30:26: Info (map "de_dust2_2x2") (file "addons/amxmodx/logs/error_20141027.log")
L 10/27/2014 - 02:30:26: [CSTRIKE] Non-player entity -1 out of range
L 10/27/2014 - 02:30:26: [AMXX] Displaying debug trace (plugin "de_dust2_2x2_v1.amxx")
L 10/27/2014 - 02:30:26: [AMXX] Run time error 10: native error (native "cs_set_weapon_ammo")
L 10/27/2014 - 02:30:26: [AMXX]    [0] de_dust2_2x2_v1.sma::Player_Spawn (line 46)


Код:
#include <amxmodx>
#include <fun>
#include <cstrike>
#include <engine>
#include <hamsandwich>
#include <fakemeta_util>
#include <colorchat>

new ent1, ent2

public plugin_init()
{
register_plugin("DE_DUST2_2x2 Weapon Giver", "0.1", "S0m3Th1nG")
new mapname[32]
get_mapname(mapname,31)
if(equali(mapname,"de_dust2_2x2"))
{
ents_removing()
RegisterHam(Ham_Spawn, "player", "Player_Spawn", 1)
}
}

public ents_removing()
{
while((ent1 = find_ent_by_class(ent1,"game_player_equip") != 0) || (ent2 = find_ent_by_class(ent2, "player_weaponstrip") != 0))
{
remove_entity(find_ent_by_class(ent1, "game_player_equip"))
remove_entity(find_ent_by_class(ent2, "player_weaponstrip"))
}
}

public Player_Spawn(id)
{
new money

if(is_user_alive(id))
{
// Выдаём броню, нож и НР
give_item(id, "item_assaultsuit")
give_item(id, "weapon_knife")
set_user_health(id, 100)
// Забираем стандартные пистолеты и выдаём дигл
if(user_has_weapon(id, CSW_GLOCK18)) fm_strip_user_gun(id, CSW_GLOCK18); else if(user_has_weapon(id, CSW_USP)) fm_strip_user_gun(id, CSW_USP);

cs_set_weapon_ammo(give_item(id, "weapon_deagle"), 7)
cs_set_user_bpammo(id, CSW_DEAGLE, 35)

money = cs_get_user_money(id)
// Выдаём бонусные деньги
if (money < 1000)
{
cs_set_user_money(id, money + 3000)
ColorChat(id,NORMAL,"^04Вам выдан бонус +3000$")
client_print(id,print_chat,"")
}
else if ((money > 999) && (money < 2000))
{
cs_set_user_money(id, money + 2500)
ColorChat(id,NORMAL,"^04Вам выдан бонус +2500$")
}
else if ((money > 1999) && (money < 4000))
{
cs_set_user_money(id, money + 2000)
ColorChat(id,NORMAL,"^04Вам выдан бонус +2000$")
}
else if ((money > 3999) && (money < 8000))
{
cs_set_user_money(id, money + 1500)
ColorChat(id,NORMAL,"^04Вам выдан бонус +1500$")
}
else if ((money > 7999) && (money < 12000))
{
cs_set_user_money(id, money + 1000)
ColorChat(id,NORMAL,"^04Вам выдан бонус +1000$")
}

}
}


Просунутий сервер з максимумом зброї, можливо старійший в Україні
[UA] DNET CS Public Server #1
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Realution
сообщение 27.10.2014, 11:06
Сообщение #2


Стаж: 11 лет

Сообщений: 102
Благодарностей: 64
Полезность: 355

Код:
#include <amxmodx>
#include <fun>
#include <cstrike>
#include <engine>
#include <hamsandwich>
#include <fakemeta_util>
#include <colorchat>

new ent1, ent2;

public plugin_init()
{
register_plugin("DE_DUST2_2x2 Weapon Giver", "0.1", "S0m3Th1nG");
new mapname[32];
get_mapname(mapname,31);
if(equali(mapname,"de_dust2_2x2"))
{
ents_removing();
RegisterHam(Ham_Spawn, "player", "Player_Spawn", 1);
}
}

public ents_removing()
{
while((ent1 = find_ent_by_class(ent1,"game_player_equip") != 0) || (ent2 = find_ent_by_class(ent2, "player_weaponstrip") != 0))
{
remove_entity(find_ent_by_class(ent1, "game_player_equip"));
remove_entity(find_ent_by_class(ent2, "player_weaponstrip"));
}
}

public Player_Spawn(id)
{
if(is_user_alive(id))
{
give_item(id, "item_assaultsuit");
give_item(id, "weapon_knife");
set_user_health(id, 100);

if(user_has_weapon(id, CSW_GLOCK18))
fm_strip_user_gun(id, CSW_GLOCK18);
else if(user_has_weapon(id, CSW_USP))
fm_strip_user_gun(id, CSW_USP);

give_item(id, "weapon_deagle");
cs_set_user_bpammo(id, CSW_DEAGLE, 35);

new money = cs_get_user_money(id);
if (money < 1000)
{
cs_set_user_money(id, money + 3000);
ColorChat(id,NORMAL,"^04Вам выдан бонус +3000$");
}
else if ((money > 999) && (money < 2000))
{
cs_set_user_money(id, money + 2500);
ColorChat(id,NORMAL,"^04Вам выдан бонус +2500$");
}
else if ((money > 1999) && (money < 4000))
{
cs_set_user_money(id, money + 2000);
ColorChat(id,NORMAL,"^04Вам выдан бонус +2000$");
}
else if ((money > 3999) && (money < 8000))
{
cs_set_user_money(id, money + 1500);
ColorChat(id,NORMAL,"^04Вам выдан бонус +1500$");
}
else if ((money > 7999) && (money < 12000))
{
cs_set_user_money(id, money + 1000);
ColorChat(id,NORMAL,"^04Вам выдан бонус +1000$");
}
}
}


Отредактировал: Realution, - 27.10.2014, 11:14
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя usercn
сообщение 27.10.2014, 11:21
Сообщение #3


Стаж: 12 лет

Сообщений: 341
Благодарностей: 140
Полезность: 495

Спасибо! В конце строки вы расставили "точку с запятой", а разве по синтаксису это обязательно??
Ведь именитые скриптеры игнорируют это правило.


Просунутий сервер з максимумом зброї, можливо старійший в Україні
[UA] DNET CS Public Server #1
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AndrewZ
сообщение 27.10.2014, 11:31
Сообщение #4


Иконка группы

Стаж: 18 лет
Город: Санкт-Петербург


Сообщений: 4700
Благодарностей: 2452
Полезность: 1018

Цитата(usercn @ 27.10.2014, 13:21) *
Спасибо! В конце строки вы расставили "точку с запятой", а разве по синтаксису это обязательно??
Ведь именитые скриптеры игнорируют это правило.

В амхх не обязательно


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
shel
сообщение 28.10.2014, 6:34
Сообщение #5
Стаж: 12 лет

Сообщений: 79
Благодарностей: 7
Полезность: 0

Цитата(usercn @ 27.10.2014, 13:21) *
Спасибо! В конце строки вы расставили "точку с запятой", а разве по синтаксису это обязательно??
Ведь именитые скриптеры игнорируют это правило.

#pragma semicolon 1
c
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 28.10.2014, 7:37
Сообщение #6
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

намучал меня этот set_weapon ammo

set_pdata_int( cw , Clipoffs, 10)
и нет проблем

cw = cbase current item offset
clipoffset итак понятно


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: