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

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

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

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

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

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

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

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

Money

Статус пользователя roma1996
сообщение 17.9.2013, 20:32
Сообщение #1
Стаж: 15 лет

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

Всем доброго вечера, кто может из плагина удалить функцию, когда игрок коннектится на сервер и заходит за какую-то команду - у него количество сохраненных денег (к примеру 28000$) сбрасываются к 0$, проверял все плагины, понял, что это из-за buymenu, именно когда игрок заходит за любую команду количество его денег становится 0, если сидеть в наблюдателях - деньги будут на месте. Спасибо, если это реально за "спасибо", если нет - говорите сумму.
Прикрепленный файл  zbm_buy_menu_fix.sma ( 38,8 килобайт ) Кол-во скачиваний: 13


Отредактировал: roma1996, - 17.9.2013, 20:32
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
eckoecko
сообщение 17.9.2013, 20:34
Сообщение #2
Стаж: 14 лет

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

mp_startmoney "28000" не пробывали прописывать в server.cfg?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя roma1996
сообщение 17.9.2013, 20:41
Сообщение #3
Стаж: 15 лет

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

Цитата(eckoecko @ 17.9.2013, 21:34) *
mp_startmoney "28000" не пробывали прописывать в server.cfg?

Вы не поняли сути, мне нужно не именно 28000, а другая сумма, и у каждого игрока она будет разная, на серверах зм ксо все нужно покупать за деньги, которые надо добить, но вот не в кайф когда ты набиваешь 40к идет смена карты, и они пропадают
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя roma1996
сообщение 17.9.2013, 20:58
Сообщение #4
Стаж: 15 лет

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

Либо вот в этом плагине сделать так, чтобы как только игрок зашел за какую-то команду ему через 5 секунд выдались его сохраненные деньги, то есть когда он в наблюдателях, чтобы отсчет времени не происходил.
Скрытый текст
Код:
#include <amxmodx>
#include <cstrike>
#include <WPMGPrintChatColor>
#include <fakemeta>
#include <nvault>
#include <money>
#include <zombieplague>

#define PLUGIN "Ammo Transferer"
#define VERSION "1.0"
#define AUTHOR "kalash1k"

new players_menu, players[32], num, i
new accessmenu, iName[64], callback
new g_save, g_money[33], g_money_can_save[33]
new cvar_save_in

#define MAX_SAVE 200000

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /donate", "transfer_menu", ADMIN_ALL, "")
register_clcmd("say_team /donate", "transfer_menu", ADMIN_ALL, "")
register_clcmd("donate", "transfer_money", ADMIN_ALL, "")

register_event("DeathMsg","event_deathmsg","a")
register_forward(FM_PlayerPreThink, "fw_PlayerPreThink")

cvar_save_in = register_cvar("zp_money_save_in", "1") // 0 = name / 1 = ip / 2 = steam id

g_save = nvault_open("g_money_save")
}

public zp_user_infected_post(id, infector)
{
if (g_money_can_save[infector])
Money_save(infector)

if (g_money_can_save[id])
Money_save(id)
}

public zp_extra_item_selected(id, itemid)
{
if (g_money_can_save[id])
Money_save(id)
}

public event_deathmsg()
{
new killer = read_data(1)
new victim = read_data(2)

if (!killer && !victim)
return PLUGIN_CONTINUE;

if (g_money_can_save[killer])
Money_save(killer)

if (g_money_can_save[victim])
Money_save(victim)

return PLUGIN_CONTINUE;
}

public fw_PlayerPreThink(id)
{
if (g_money_can_save[id])
{
new money = zp_cs_get_user_money(id)
g_money[id] = money
}

return FMRES_IGNORED;
}

public client_disconnect(id)
{
if(g_money_can_save[id])
Money_save(id)
}

public client_putinserver(id)
set_task(10.0, "now_can_save", id)

public now_can_save(id)
{
Money_load(id)
set_task(0.5, "can_save_true", id)
}

public can_save_true(id)
g_money_can_save[id] = true

public Money_save(id)
{
new vaultkey[64], vaultdata[256]

switch (get_pcvar_num(cvar_save_in))
{
case 0:
{
new name[33];
get_user_name(id,name,32)

format(vaultkey, 63, "%s-/", name)
}
case 1:
{
new player_ip[33]
get_user_ip(id, player_ip, 32);

format(vaultkey, 63, "%s-/", player_ip)
}
case 2:
{
new AuthID[33];
get_user_authid(id, AuthID, 32);

formatex(vaultkey, 64, "%s-/", AuthID);
}
}

format(vaultdata, 255, "%i#", g_money[id])

nvault_set(g_save, vaultkey, vaultdata)
return PLUGIN_CONTINUE;
}

public Money_load(id)
{
new vaultkey[64], vaultdata[256]

switch (get_pcvar_num(cvar_save_in))
{
case 0:
{
new name[33];
get_user_name(id,name,32)

format(vaultkey, 63, "%s-/", name)
}
case 1:
{
new player_ip[33]
get_user_ip(id, player_ip, 32);

format(vaultkey, 63, "%s-/", player_ip)
}
case 2:
{
new AuthID[33];
get_user_authid(id, AuthID, 32);

formatex(vaultkey, 64, "%s-/", AuthID);
}
}

format(vaultdata, 255, "%i#", g_money[id])

nvault_get(g_save, vaultkey, vaultdata, 255)
replace_all(vaultdata, 255, "#", " ")

new playmoney[32]
parse(vaultdata, playmoney, 31)
g_money[id] = str_to_num(playmoney)

set_money(id)

return PLUGIN_CONTINUE;
}

public set_money(id)
{
if (g_money[id] > MAX_SAVE)
{
cs_set_user_money(id, MAX_SAVE)
g_money[id] = MAX_SAVE
}
else
{
zp_cs_set_user_money(id, g_money[id])
client_print(id, print_chat, "На вашем аккаунте %d $", g_money[id])
}
}

public transfer_menu(id)
{
get_players(players, num, "h")

if (num <= 1)
{
PrintChatColor(id, print_chat, "!Некому передать деньги")
return PLUGIN_HANDLED
}

new tempname[32], info[10]

players_menu = menu_create("Кому передаем?", "players_menu_handler")

for(i = 0; i < num; i++)
{
if(players[i] == id)
continue

get_user_name(players[i], tempname, 31)
num_to_str(players[i], info, 9)
menu_additem(players_menu, tempname, info, 0)
}

menu_setprop(players_menu,MPROP_EXITNAME,"Выход");
menu_setprop(players_menu, MPROP_EXIT, MEXIT_ALL)

menu_display(id, players_menu, 0)
return PLUGIN_CONTINUE
}

public players_menu_handler(id, players_menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(players_menu)
return PLUGIN_HANDLED
}

new data[6]

menu_item_getinfo(players_menu, item, accessmenu, data, charsmax(data), iName, charsmax(iName), callback)

new player = str_to_num(data)

client_cmd(id, "messagemode ^"donate %i^"", player)

return PLUGIN_CONTINUE
}

public transfer_money(id)
{
new param[6]
read_argv(2, param, charsmax(param))

for (new x; x < strlen(param); x++)
{
if(!isdigit(param[x]))
{
PrintChatColor(id, print_chat, "[ZP][Donate]Параметр должен быть числом")
return PLUGIN_HANDLED
}
}

new amount = str_to_num(param)

new money = zp_cs_get_user_money(id)

if (money < amount)
{
PrintChatColor(id, print_chat, "[ZP][Donate]У вас не хватает денег")
return PLUGIN_HANDLED
}

read_argv(1, param, charsmax(param))
new player = str_to_num(param)

new player_money = zp_cs_get_user_money(player)

zp_cs_set_user_money(id, money - amount)
zp_cs_set_user_money(player, player_money + amount)

new names[2][32]

get_user_name(id, names[0], 31)
get_user_name(player, names[1], 31)

PrintChatColor(0, print_chat, "[ZP][Donate]Р?РіСЂРѕРє %s передал %i $ %s", names[0], amount, names[1])

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