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

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

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

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

> Полезные ссылки

[Куплю] Доработка плагина.

, Оплачу.
Problem
сообщение 26.3.2015, 11:38
Сообщение #1
Стаж: 12 лет

Сообщений: 325
Благодарностей: 569
Полезность: 861

В общем. Проблема заключается в следующем : купить золотую m4a1 могут только СТ. Нужно сделать так , чтобы купить ее могли игроки всех команд.
Код

Код
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <hamsandwich>
#include <cstrike>
#include <fun>

#define is_valid_player(%1) (1 <= %1 <= 32)

new const M4_V_MODEL[] = { "models/v_gold_m4a1.mdl" }
new const M4_P_MODEL[] = { "models/p_gold_m4a1.mdl" }
new const M4_SPRITE[] = { "sprites/dot.spr" }

new cVar[2], bullammo, clip, ammo
new bool:g_HasM4[33]
new bullets[33]

const Wep_m4a1 = ((1<<CSW_M4A1))

public plugin_init() {
register_plugin("Gold M4A1", "1.0", "ServerBy905 Team & Tom")

cVar[0] = register_cvar("gold_m4_dmg", "2")
cVar[1] = register_cvar("gold_m4_cost", "500")

register_clcmd("say /goldm4a1", "CmdBuyM4")
register_clcmd("say_team /goldm4a1", "CmdBuyM4")

register_event("DeathMsg", "Death", "a")
register_event("WeapPickup","checkModel","b","1=19")
register_event("CurWeapon","checkWeapon","be","1=1")
register_event("CurWeapon", "make_tracer", "be", "1=1", "3>0")

RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)
}

public client_connect(id)
g_HasM4[id] = false

public client_disconnect(id)
g_HasM4[id] = false

public Death()
g_HasM4[read_data(2)] = false

public fwHamPlayerSpawnPost(id)
g_HasM4[id] = false

public plugin_precache() {
precache_model(M4_V_MODEL)
precache_model(M4_P_MODEL)
bullammo = precache_model(M4_SPRITE)
}

public checkModel(id) {
if(!g_HasM4[id])
return PLUGIN_HANDLED

new szWeapID = read_data(2)

if(szWeapID == CSW_M4A1 && g_HasM4[id] == true) {
set_pev(id, pev_viewmodel2, M4_V_MODEL)
set_pev(id, pev_weaponmodel2, M4_P_MODEL)
}
return PLUGIN_HANDLED
}

public checkWeapon(id) {
new plrClip, plrAmmo
new plrWeapId

plrWeapId = get_user_weapon(id, plrClip , plrAmmo)

if (plrWeapId == CSW_M4A1 && g_HasM4[id]) {
checkModel(id)
} else {
return PLUGIN_CONTINUE
}
return PLUGIN_HANDLED
}

public fw_TakeDamage(victim, inflictor, attacker, Float:damage) {
if(is_valid_player(attacker) && get_user_weapon(attacker) == CSW_M4A1 && g_HasM4[attacker]) {
SetHamParamFloat(4, damage * get_pcvar_float(cVar[0]))
}
}

public make_tracer(id) {
new wpnid = get_user_weapon(id, clip, ammo)

if ((bullets[id] > clip) && (wpnid == CSW_M4A1) && g_HasM4[id]) {
new vec1[3], vec2[3]
get_user_origin(id, vec1, 1)
get_user_origin(id, vec2, 4)

message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(0)
write_coord(vec1[0])
write_coord(vec1[1])
write_coord(vec1[2])
write_coord(vec2[0])
write_coord(vec2[1])
write_coord(vec2[2])
write_short(bullammo)
write_byte(1)
write_byte(5)
write_byte(2)
write_byte(10)
write_byte(0)
write_byte(255)
write_byte(215)
write_byte(0)
write_byte(200)
write_byte(150)
message_end()
}
bullets[id] = clip
}

public CmdBuyM4(id) {
if(cs_get_user_team(id) == CS_TEAM_CT || is_user_admin(id)) {
if (!is_user_alive(id)) {
client_print(id, print_center, "Ты мертв, чтобы купить золотой M4A1")
return PLUGIN_HANDLED
}
if(cs_get_user_money(id) >= get_pcvar_num(cVar[1])) {
cs_set_user_money(id, cs_get_user_money(id) - get_pcvar_num(cVar[1]))
give_item(id, "weapon_m4a1")
g_HasM4[id] = true
} else {
client_print(id, print_chat, "Нужно $%d, чтобы купить золотой M4A1", get_pcvar_num(cVar[1]))
return PLUGIN_HANDLED
}
} else {
client_print(id, print_center, "Чтобы купить золотой M4A1, вы должный быть Террором!")
}

return PLUGIN_HANDLED
}

stock drop_prim(id) {
new weapons[32], num
get_user_weapons(id, weapons, num)
for(new i = 0; i < num; i++) {
if (Wep_m4a1 & (1<<weapons[i])) {
static wname[32]
get_weaponname(weapons[i], wname, sizeof wname - 1)
engclient_cmd(id, "drop", wname)
}
}
}

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 26.3.2015, 11:41
Сообщение #2


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

Стаж: 13 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

Код:
cs_get_user_team(id) == CS_TEAM_CT || 

вот эту часть кода удали и все
ps.gif Мог бы и не создавать тему в "Куплю". А то сейчас налетят школьники
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Problem
сообщение 26.3.2015, 11:50
Сообщение #3
Стаж: 12 лет

Сообщений: 325
Благодарностей: 569
Полезность: 861

Теперь вообще не покупается. Не у одной команды. ))
Пишет : "Чтобы купить золотой M4A1, вы должный быть Террором!".

Мб , напишет кто плагин этот? Который будет нормально функционировать. Замучался искать уже)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 26.3.2015, 11:50
Сообщение #4


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

Стаж: 13 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

напиши в скуп
не хочу здесь засорять кр4)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Problem
сообщение 26.3.2015, 11:52
Сообщение #5
Стаж: 12 лет

Сообщений: 325
Благодарностей: 569
Полезность: 861

Кинул заявку. ;)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Machette
сообщение 26.3.2015, 11:54
Сообщение #6


Стаж: 14 лет

Сообщений: 546
Благодарностей: 419
Полезность: 947

Пробуй.
Код:
public CmdBuyM4(id)
{
if (!is_user_alive(id))
{
client_print(id, print_center, "Ты мертв, чтобы купить золотой M4A1")
return PLUGIN_HANDLED
}
if(cs_get_user_money(id) >= get_pcvar_num(cVar[1]))
{
cs_set_user_money(id, cs_get_user_money(id) - get_pcvar_num(cVar[1]))
give_item(id, "weapon_m4a1")
g_HasM4[id] = true
}
else
{
client_print(id, print_chat, "Нужно $%d, чтобы купить золотой M4A1", get_pcvar_num(cVar[1]))
return PLUGIN_HANDLED
}
return PLUGIN_HANDLED
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legend21
сообщение 26.3.2015, 11:57
Сообщение #7
Стаж: 14 лет
Город: Винница

Сообщений: 604
Благодарностей: 229
Полезность: 561

Код:
if(cs_get_user_team(id) == CS_TEAM_CT || cs_get_user_team(id) == CS_TEAM_T || is_user_admin(id))


Вставь это и все.

Отредактировал: Legend21, - 26.3.2015, 11:58
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Machette
сообщение 26.3.2015, 12:07
Сообщение #8


Стаж: 14 лет

Сообщений: 546
Благодарностей: 419
Полезность: 947

Legend21, зачем делать велосипед этот?
Когда он убрал cs_get_user_team(id) == CS_TEAM_CT ||, то проверка остается на админа и только админ может купить оружие, а текст - "Чтобы купить золотой M4A1, вы должный быть Террором!". остался.
Кинул ТС нормальный код.

Отредактировал: Machette, - 26.3.2015, 12:09
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Dukkhaz0r
сообщение 26.3.2015, 12:10
Сообщение #9


Стаж: 12 лет

Сообщений: 343
Благодарностей: 294
Полезность: 812

Legend21, cbf1b2bfde1a.gif


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ETO_BYLO_LETOM
сообщение 26.3.2015, 12:17
Сообщение #10


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

Стаж: 14 лет
Город: Краснодар

Сообщений: 3393
Благодарностей: 4387
Полезность: 805

Хотя не, фигню сморозил

Отредактировал: ETO_BYLO_LETOM, - 26.3.2015, 12:18


😄
MasterServer.su прозрачнее чем твои окна дома
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Problem
сообщение 26.3.2015, 12:40
Сообщение #11
Стаж: 12 лет

Сообщений: 325
Благодарностей: 569
Полезность: 861

Вопрос решен. Спасибо GOOD FELLOW.
Тему закройте. ;)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Problem
сообщение 26.3.2015, 23:45
Сообщение #12
Стаж: 12 лет

Сообщений: 325
Благодарностей: 569
Полезность: 861

Мб подскажет кто , в чем дело?
Если купить данное оружие , то оно появляется как бы в игроке.. как исправить?)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя samthugg
сообщение 27.3.2015, 0:48
Сообщение #13


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

Стаж: 15 лет

Сообщений: 1333
Благодарностей: 1476
Полезность: 1344

Цитата(Problem @ 26.3.2015, 23:45) *
Мб подскажет кто , в чем дело?
Если купить данное оружие , то оно появляется как бы в игроке.. как исправить?)

Не ставить w_ модель на место p_ модели, профит.

И почему никто не использует наработки зомби-мода с его экстра-оружием? Столько же примеров, удалить нативы zp_ и будет отличный код, с возможностью выбрасывать оружие, но далее золотого ак дело увы, уже 6 год не доходит, заканчивается на register_event("CurWeapon","checkWeapon","be","1=1") и register_event("CurWeapon", "make_tracer", "be", "1=1", "3>0") ..


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя miRror
сообщение 27.3.2015, 0:53
Сообщение #14


Стаж: 15 лет

Сообщений: 1151
Благодарностей: 1002
Полезность: 967

Меценат Меценат

Покажи пример, вместе посмотрим.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя samthugg
сообщение 27.3.2015, 2:09
Сообщение #15


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

Стаж: 15 лет

Сообщений: 1333
Благодарностей: 1476
Полезность: 1344

Цитата(miRror @ 27.3.2015, 0:53) *
Покажи пример, вместе посмотрим.

Да примеров масса на самом деле, на всякий вкус и потребности. Все юкоз-сайты и не только усеяны оружием под zp.
Не лучший пример, так как привязка к переменным, но уж явно не золотой ак-

upd. ps.gif Вот пример получше - https://forums.alliedmods.net/showthread.php?t=216070
Прикрепленные файлы:
Прикрепленный файл  CV_47_60R.zip ( 488,71 килобайт ) Кол-во скачиваний: 3


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