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

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

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

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

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

Помощь с магазином для CSDM

Статус пользователя qTemplier
сообщение 15.4.2013, 23:55
Сообщение #1
Стаж: 13 лет

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

Всем доброй ночи, сегодня столкнулся с проблемой после установки army_ranks (ссылка) захотел установить такой магазин для csdm сервера.Но беда , магазин не хочет сотрудничать ни с самим модом csdm,ни с army_ranks.Тоесть он не работает вообще.
Вот код shop:
Скрытый текст
#include<amxmodx>
#include<amxmisc>
#include<army_ranks>
#include<fun>
#include<cstrike>

new iKeys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<5 | 1<<6 | 1<<7 | 1<< 8 | 1<<9 )
new speed_fix_active[33]

public plugin_init()
{
register_plugin("Shop csdm","1.0","Your Name")
register_clcmd("say /shop","shop") // Команда вызова меню в данном случае /shop
register_menu("Shop", iKeys, "menu_handler") // Кнопки меню
register_event("CurWeapon", "speedfix", "be", "1=1") // Смена оружия
register_event("HLTV", "EventRoundStart", "a", "1=0", "2=0") // Начало нового раунда
register_event("DeathMsg", "eDeath", "a"); // Смерть игрока
}

public EventRoundStart()
{
for(new id=1;id<get_maxplayers();id++)
speed_fix_active[id] = 0
}

public eDeath(id)
{
new victem = read_data(2)
speed_fix_active[victem] = 0
}

public speedfix(id)
{
if(speed_fix_active[id])
set_user_maxspeed(id,400.0)
}

public shop(id)
{
new szBuffer[512], iLen;
new money = cs_get_user_money(id) // получаем деньги угрока
new level = get_user_lvl(id) // из army_ranks.inc получаем уровень игрока
iLen = formatex(szBuffer, sizeof szBuffer - 1, "\rМагазин сервера^nДеньги %d | Уровень %d ^n",money,level);
if(money >= 1500 || level >= 3) // делаем проверку на уровень и на деньги
{
iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r1. \wПатроны 1500 $ и 3 lvl^n"); // если условия возможны
}else{
iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r1. \dПатроны 1500 $ и 3 lvl^n"); // если условия невозможны
}
if(money >= 3500 || level >= 4) // делаем проверку на уровень и на деньги
{
iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r2. \w25 брони 3500 $ и 4 lvl^n"); // если условия возможны
}else{
iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r2. \d25 брони 3500 $ и 4 lvl^n"); // если условия невозможны
}
if(money >= 2800 || level >= 5) // делаем проверку на уровень и на деньги
{
iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r3. \w+20 hp 2800 $ и 5 lvl^n"); // если условия возможны
}else{
iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r3. \d+20 hp 2800 $ и 5 lvl^n"); // если условия невозможны
}
if(money >= 3400 || level >= 6) // делаем проверку на уровень и на деньги
{
iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r4. \w+40 hp 3400 $ и 6 lvl^n"); // если условия возможны
}else{
iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r4. \d+40 hp 3400 $ и 6 lvl^n"); // если условия невозможны
}
if(money >= 5000 || level >= 8) // делаем проверку на уровень и на деньги
{
iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r5. \wHE grenade 5000 $ и 8 lvl^n"); // если условия возможны
}else{
iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r5. \dHE grenade 5000 $ и 8 lvl^n"); // если условия невозможны
}
if(money >= 10000 || level >= 12) // делаем проверку на уровень и на деньги
{
iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r6. \wУскорение (30 сек) 10000 $ и 12 lvl^n"); // если условия возможны
}else{
iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r6. \dУскорение (30 сек) 10000 $ и 12 lvl^n"); // если условия невозможны
}
if(money >= 18000 || level >= 19) // делаем проверку на уровень и на деньги
{
iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r7. \wAwp 18000 $ и 19 lvl^n^n^n"); // если условия возможны
}else{
iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r7. \dAwp 18000 $ и 19 lvl^n^n^n"); // если условия невозможны
}
iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r0. \wВыход^n");
show_menu(id, iKeys, szBuffer, -1, "Shop");
return PLUGIN_HANDLED
}

public Shop(id,key)
{
switch(key)
{
case 0:
{
new money = cs_get_user_money(id)
new level = get_user_lvl(id)
if(money >= 1500)
{
if(level >= 3)
{
new clip,ammo,weapon = get_user_weapon(id,clip,ammo)
cs_set_user_bpammo(id,weapon,200)
cs_set_user_money(id,money-1500)
client_print(id,print_chat,"ты купил патроны")
}else{
client_print(id,print_center,"Нужен 3 lvl")
}
}else{
client_print(id,print_center,"Тебе нужно 1500 $")
}
}
case 1:
{
new money = cs_get_user_money(id)
new level = get_user_lvl(id)
if(money>=3500)
{
if(level>=4)
{
new ar = get_user_armor(id)
set_user_armor(id,ar+25)
cs_set_user_money(id,money-3500)
}else{
client_print(id,print_center,"Нужен 4 lvl")
}
}else{
client_print(id,print_chat,"Тебе нужно 3500$")
}
}
case 2:
{
new money = cs_get_user_money(id)
new level = get_user_lvl(id)
if(money>=2800)
{
if(level>=5)
{
new hp = get_user_health(id)
set_user_armor(id,hp+20)
cs_set_user_money(id,money-2800)
}else{
client_print(id,print_center,"Нужен 5 lvl")
}
}else{
client_print(id,print_chat,"Тебе нужно 2800$")
}
}
case 3:
{
new money = cs_get_user_money(id)
new level = get_user_lvl(id)
if(money>=3400)
{
if(level>=6)
{
new hp = get_user_health(id)
set_user_armor(id,hp+40)
cs_set_user_money(id,money-3400)
}else{
client_print(id,print_center,"Нужен 6 lvl")
}
}else{
client_print(id,print_chat,"Тебе нужно 3400$")
}
}
case 4:
{
new money = cs_get_user_money(id)
new level = get_user_lvl(id)
if(money>=5000)
{
if(level>=8)
{
give_item(id,"weapon_hegrenade")
cs_set_user_money(id,money-5000)
}else{
client_print(id,print_center,"Нужен 8 lvl")
}
}else{
client_print(id,print_chat,"Тебе нужно 5000$")
}
}
case 5:
{
new money = cs_get_user_money(id)
new level = get_user_lvl(id)
if(money>=10000)
{
if(level>=12)
{
set_user_maxspeed(id,400.0)
set_task(30.0,"remove_speed",id)
speed_fix_active[id]++
cs_set_user_money(id,money-10000)
}else{
client_print(id,print_center,"Нужен 12 lvl")
}
}else{
client_print(id,print_chat,"Тебе нужно 10000$")
}
}
case 6:
{
new money = cs_get_user_money(id)
new level = get_user_lvl(id)
if(money>=18000)
{
if(level>=19)
{
give_item(id,"weapon_awp")
cs_set_user_bpammo(id,CSW_AWP,200)
cs_set_user_money(id,money-18000)
}else{
client_print(id,print_center,"Нужен 19 lvl")
}
}else{
client_print(id,print_chat,"Тебе нужно 18000$")
}
}
}
return PLUGIN_HANDLED
}

public remove_speed(id)
{
set_user_maxspeed(id,320.0)
speed_fix_active[id] = 0
client_print(id,print_center,"У тебя нормальная скорость")
}

Компилируется он нормально.
Вот пример рабочего csdm shop'a на одном из серверов:


Помогите написать работающий csdm shop что-бы он дружил с версией army_ranks, повторю ,вот мой army_ranks -> клац


!
Предупреждение:
Неверный раздел!


Отредактировал: Johnny, - 16.4.2013, 12:36
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: