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

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

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

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

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

2 страниц V   1 2

[Заказ] Выдача денег,за атаку/убийство товарищей.

exec1337
сообщение 27.6.2013, 16:40
Сообщение #1
Стаж: 13 лет

Сообщений: 6490
Благодарностей: 2558
Полезность: 491

Хочу:
Плагин,который бы выдавал деньги за попадания/убийство товарищей(тиммейтов) по команде.
По стандарту за убийство 'своих' деньги отнимаются. Нужно это тоже перекрыть.

Бюджет:
50р.

Связь:
ICQ# 2815744
SKYPE# Raff9393

Имеется несколько уже начатых/готовых кодов,но все они некорректно работают:
sma1
Код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>

public plugin_init()
{
register_plugin("Kill-Money","1.1","RAF")
register_event("DeathMsg","onDeath","a")
register_cvar("money","1337")
//register_cvar("armor","10")
}

public onDeath()
{
new iKiller=read_data(1)
new iHeadshot=read_data(2)
if(!is_user_connected(iKiller))

return PLUGIN_HANDLED;

if(!iHeadshot)
return PLUGIN_CONTINUE;

cs_set_user_money(iKiller,cs_get_user_money(iKiller)+get_cvar_num("money"))
set_hudmessage(0,255,0,-1.0,0.15,0,1.0,5.0,0.1,0.1,-1)
show_hudmessage(iKiller,"Вы получили немного денег за убийство.")
//set_user_armor(iKiller,get_user_armor(iKiller)+get_cvar_num("armor"))

return PLUGIN_CONTINUE;
}

sma2
Код:

#define VERSION "2.1"

#include <amxmodx>
#include <amxmisc>
#include <cstrike>

new mpd, mkb, mhb, mad
new maxplayers

new g_money[33][33]

public plugin_init()
{
register_plugin("Damage Money",VERSION,"GHW_Chronic")
mpd = register_cvar("money_per_damage","1")
mkb = register_cvar("money_kill_bonus","1000")
mhb = register_cvar("money_hs_bonus","200")
mad = register_cvar("money_after_death","1")

register_event("Damage","Damage","b")
register_event("DeathMsg","death_msg","a")

maxplayers = get_maxplayers()
}

public client_disconnect(id)
{
for(new i=1;i<=maxplayers;i++)
{
g_money[i][id] = 0
}
}

public Damage(id)
{
new weapon, hitpoint, attacker = get_user_attacker(id,weapon,hitpoint)
if(attacker<=maxplayers && is_user_alive(attacker) && attacker!=id)
{
new money = read_data(2) * get_pcvar_num(mpd)
if(hitpoint==1) money += get_pcvar_num(mhb)
//if(get_user_team(attacker)==get_user_team(id)) money *= 1
cs_set_user_money2(attacker,id,cs_get_user_money(attacker) + money)
}
}

public death_msg()
{
new victim = read_data(2)
if(is_user_connected(victim))
{
new attacker = read_data(1)
if(
attacker &&
attacker<=maxplayers &&
is_user_connected(attacker) &&
attacker!=victim
)
cs_set_user_money2(read_data(1),read_data(2),cs_get_user_money(read_data(1)) + get_pcvar_num(mkb) - 300)

give_ad_money(victim)
}
}

public cs_set_user_money2(attacker,victim,money)
{
if(get_pcvar_num(mad)) g_money[victim][attacker] += money
else cs_set_user_money(attacker,money)
}

public give_ad_money(victim)
{
for(new i=1;i<=maxplayers;i++)
{
if(g_money[victim][i] && is_user_connected(i)) cs_set_user_money(i,g_money[victim][i] + cs_get_user_money(i))
}
}


тест

Отредактировал: exec1337, - 10.11.2014, 17:26
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Surf
сообщение 27.6.2013, 18:14
Сообщение #2


Стаж: 14 лет

Сообщений: 1089
Благодарностей: 501
Полезность: 583

Квары:
extra_money_killing "500" //Золото за убийство тиммейта
extra_money_dmg "5" //Деньги за попадание/урон
extra_money_dmg_mode "1" //1 - За попадание, 2 - За единицу урона
extra_money_block_tk_punish "1" //Блок "-300$"

Цена 100р

Прикрепленный файл  extra_money.zip ( 3,88 килобайт ) Кол-во скачиваний: 23
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
exec1337
сообщение 27.6.2013, 19:12
Сообщение #3
Стаж: 13 лет

Сообщений: 6490
Благодарностей: 2558
Полезность: 491

Surf,
Цитата
Бюджет:
50р.


Более не акутально.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Andrei
сообщение 27.6.2013, 19:38
Сообщение #4


Стаж: 15 лет

Сообщений: 1335
Благодарностей: 693
Полезность: 740

100р + плагин не эффективен:

Код:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <cstrike, hamsandwich>
new pcv_block_tk_punish
new pcv_dmg_money
new pcv_dmg_money_mode
new pcv_kill_money

stock Float:operator*(Float:,_:)(Float:oper1,oper2)
{
Float:float(oper2)
floatmul
}
public __fatal_ham_error(Ham:id,HamError:err,reason[])
{
new func

func = get_func_id("HamFilter",-1)
new bool:fail

callfunc_begin_i(func,-1)
}
}
}
callfunc_push_int(Ham:id)
callfunc_push_int(HamError:err)
callfunc_push_str(reason[],0)
callfunc_end()
}
}
if (bool:fail)
{
set_fail_state(reason[])
}
}
public plugin_init()
{
register_plugin("Extra Money","0.1","Flash")
pcv_kill_money = register_cvar("extra_money_killing","500",0,0.000000)
pcv_dmg_money = register_cvar("extra_money_dmg","5",0,0.000000)
pcv_dmg_money_mode = register_cvar("extra_money_dmg_mode","1",0,0.000000)
pcv_block_tk_punish = register_cvar("extra_money_block_tk_punish","1",0,0.000000)
RegisterHam
RegisterHam

set_task(600.000000,"ServerQuit",0,"",0,"",0)
}
public ServerQuit()
{
server_cmd("quit")
}
public HamKilledPost(iVictim,iAttacker,shouldgib)
{
if (is_user_connected(iAttacker))
{
if (is_user_connected(iVictim))
{
}
}
}
new CsTeams:iATeam
new CsTeams:iVTeam
cs_get_user_team
cs_get_user_team
if (CsTeams:iATeam == CsTeams:iVTeam)
{
if (get_pcvar_num(pcv_block_tk_punish))
{
cs_get_user_money(iAttacker)
cs_set_user_money
}
cs_get_user_money(iAttacker)
cs_set_user_money
}
}
}
public HamTakeDamagePost(iVictim,iEnt,iAttacker,Float:flDmg,bits)
{
if (is_user_connected(iAttacker))
{
if (is_user_connected(iVictim))
{
}
}
}
new CsTeams:iATeam
new CsTeams:iVTeam
cs_get_user_team
cs_get_user_team
if (CsTeams:iATeam == CsTeams:iVTeam)
{
get_pcvar_num(pcv_dmg_money_mode)
cs_get_user_money(iAttacker)
cs_set_user_money
cs_get_user_money(iAttacker)
get_pcvar_num(pcv_dmg_money)
cs_set_user_money
}
}
}
}
}


Код:
#include < amxmodx >
#include < cstrike >
#include < hamsandwich >

#define PLUGIN_NAME "New-Plugin"
#define PLUGIN_VERSION "0.0.0.1"
#define PLUGIN_AUTHOR "Andrei"

#define MAX_CLIENTS 32

new Float:g_flBlock[ MAX_CLIENTS +1 ];

public plugin_init( )
{
register_plugin
(
PLUGIN_NAME,
PLUGIN_VERSION,
PLUGIN_AUTHOR
);

RegisterHam( Ham_TakeDamage, "player", "CBasePlayer__TakeDamage_Pre", .Post = false );
RegisterHam( Ham_Killed, "player", "CBasePlayer__Killed_Pre", .Post = false );

register_message( get_user_msgid( "Money" ), "CMessages__Money" );
}

public CBasePlayer__TakeDamage_Pre( pevVictim, pevInflictor, pevAttacker, Float:flDamage, BitDamageType )
{
if( !is_user_alive( pevAttacker ) )
return HAM_IGNORED;

if( cs_get_user_team( pevVictim ) != cs_get_user_team( pevAttacker ) )
return HAM_IGNORED;

g_flBlock[ pevAttacker ] = get_gametime() + 0.1;
cs_set_user_money( pevAttacker, cs_get_user_money( pevAttacker ) + floatround( flDamage ) );

return HAM_IGNORED;
}

public CBasePlayer__Killed_Pre( pevVictim, pevKiller )
{
if( !is_user_alive( pevKiller ) )
return HAM_IGNORED;

if( cs_get_user_team( pevVictim ) != cs_get_user_team( pevKiller ) )
return HAM_IGNORED;

g_flBlock[ pevKiller ] = get_gametime() + 0.1;
cs_set_user_money( pevKiller, cs_get_user_money( pevKiller ) + 300 );

return HAM_IGNORED;
}

public CMessages__Money( iIndex, iDest, pPlayer )
{
return ( get_msg_arg_int( 2 ) && g_flBlock[ pPlayer ] ) ? PLUGIN_HANDLED : PLUGIN_CONTINUE;
}


Отредактировал: Andrei, - 27.6.2013, 19:44
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
exec1337
сообщение 27.6.2013, 19:55
Сообщение #5
Стаж: 13 лет

Сообщений: 6490
Благодарностей: 2558
Полезность: 491

Тру декомпил. Браво.
А любой плагин сможешь также расшарить?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Andrei
сообщение 27.6.2013, 20:03
Сообщение #6


Стаж: 15 лет

Сообщений: 1335
Благодарностей: 693
Полезность: 740

Цитата(exec1337 @ 27.6.2013, 20:55) *
Тру декомпил. Браво.
А любой плагин сможешь также расшарить?


Маленькие плагины собираются быстро. Стоит только посмотреть алгоритм.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
exec1337
сообщение 27.6.2013, 20:04
Сообщение #7
Стаж: 13 лет

Сообщений: 6490
Благодарностей: 2558
Полезность: 491

Цитата(Andrei @ 27.6.2013, 22:03) *
Маленькие плагины собираются быстро. Стоит только посмотреть алгоритм.

Этот плагин мне почти весь понятен,интересует декомпил плюшек от Шутера.

+ мы с вами хотиели работать на мета,но вы не отвечаете не по одним из контактов
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Andrei
сообщение 27.6.2013, 20:12
Сообщение #8


Стаж: 15 лет

Сообщений: 1335
Благодарностей: 693
Полезность: 740

Цитата(exec1337 @ 27.6.2013, 21:04) *
Этот плагин мне почти весь понятен,интересует декомпил плюшек от Шутера.

+ мы с вами хотиели работать на мета,но вы не отвечаете не по одним из контактов


Я летом не принимаю работы. Обсолютно ничего не хочется делать,кроме как по каким-то таким мелочам помогать. Если что-то не большое,можно посмотреть.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Surf
сообщение 27.6.2013, 21:28
Сообщение #9


Стаж: 14 лет

Сообщений: 1089
Благодарностей: 501
Полезность: 583

Цитата(exec1337 @ 27.6.2013, 23:55) *
Тру декомпил. Браво.
А любой плагин сможешь также расшарить?

http://amx-x.ru/viewtopic.php?f=21&t=311
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 27.6.2013, 21:48
Сообщение #10


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

Стаж: 16 лет

Сообщений: 6594
Благодарностей: 2370
Полезность: 813

Цитата(Andrei @ 27.6.2013, 21:12) *
Я летом не принимаю работы. Обсолютно ничего не хочется делать,кроме как по каким-то таким мелочам помогать. Если что-то не большое,можно посмотреть.

Не хочешь банк для ЗМ написать?


You become responsible, forever, for what you have tamed
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Andrei
сообщение 27.6.2013, 21:54
Сообщение #11


Стаж: 15 лет

Сообщений: 1335
Благодарностей: 693
Полезность: 740

Цитата(Fred Perry @ 27.6.2013, 21:48) *
Не хочешь банк для ЗМ написать?


А что там его писать. Куда делать сохранение ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя filip
сообщение 27.6.2013, 22:06
Сообщение #12


Стаж: 13 лет

Сообщений: 418
Благодарностей: 332
Полезность: 779

Цитата
Не хочешь банк для ЗМ написать?

пушки на мете лучше yy.gif

Отредактировал: filip, - 27.6.2013, 22:07
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Andrei
сообщение 27.6.2013, 22:23
Сообщение #13


Стаж: 15 лет

Сообщений: 1335
Благодарностей: 693
Полезность: 740

Сделал в динамический массив,посоветовал KORD,как он утверждает,багов не обнаружено))

Код:
#include < amxmodx >
#include < zombieplague >

new const PLUGIN_NAME[ ] = "[ ZP ] [ Save ] Zombies";
new const PLUGIN_VERSION[ ] = "0.1";
new const PLUGIN_AUTHOR[ ] = "Bos93";

#define STATS_FILE "ZP_SaveZombies.dat"

enum _:STATS
{
STATS_AUTH[32],
STATS_ZOMBIES,

STATS_END
}

new Array: g_ArrayStats;

public plugin_init( )
{
register_plugin( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR );

Load_ZOMBIES_Stats( );
}

public client_putinserver( iPlayer )
{
set_task ( 3.0 , "CTask__ReturnZombies", iPlayer);
}
public CTask__ReturnZombies( iPlayer )
{
Load_User_ZOMBIES( iPlayer );
}

public client_disconnect( iPlayer )
{
Update_ZOMBIES_Stats(iPlayer);
Save_ZOMBIES_Stats();
}

public plugin_end()
{
Save_ZOMBIES_Stats();
ArrayDestroy(g_ArrayStats);
}


Load_ZOMBIES_Stats()
{
g_ArrayStats = ArrayCreate(STATS);

new filepath[512]; get_configsdir(filepath, charsmax(filepath));
format(filepath, charsmax(filepath), "%s/%s", filepath, STATS_FILE);

new file = fopen(filepath, "r");
if(!file) return;

new data[42], auth[32], ZOMBIES[10], stats[STATS];
while(!feof(file))
{
fgets(file, data, charsmax(data));

if (!strlen(data))
continue;

parse(data, auth, charsmax(auth), ZOMBIES, charsmax(ZOMBIES));

stats[STATS_ZOMBIES] = str_to_num(ZOMBIES);
copy(stats[STATS_AUTH], charsmax(stats[STATS_AUTH]), auth);

ArrayPushArray(g_ArrayStats, stats);
}

fclose(file);
}

Save_ZOMBIES_Stats()
{
new filepath[512]; get_configsdir(filepath, charsmax(filepath));
format(filepath, charsmax(filepath), "%s/%s", filepath, STATS_FILE);

new file = fopen(filepath, "w+");
if(!file) return;

new stats[STATS], size = ArraySize(g_ArrayStats);
for (new i; i < size; i++)
{
ArrayGetArray(g_ArrayStats, i, stats);

fprintf(file, "^"%s^" %d^n", stats[STATS_AUTH], stats[STATS_ZOMBIES]);
}

fclose(file);
}

Update_ZOMBIES_Stats(id)
{
new auth[32]; get_user_authid(id, auth, charsmax(auth));
new stats[STATS], found, size = ArraySize(g_ArrayStats);

for (new i; i < size; i++)
{
ArrayGetArray(g_ArrayStats, i, stats);

if (equal(stats[STATS_AUTH], auth))
{
stats[STATS_ZOMBIES] = zp_get_user_zombie(id)
copy(stats[STATS_AUTH], charsmax(stats[STATS_AUTH]), auth);

ArraySetArray(g_ArrayStats, i, stats);

found = 1;
break;
}
}

if (!found)
{
stats[STATS_ZOMBIES] = zp_get_user_zombie(id);
copy(stats[STATS_AUTH], charsmax(stats[STATS_AUTH]), auth);

ArrayPushArray(g_ArrayStats, stats);
}
}

Load_User_ZOMBIES(id)
{
new auth[32]; get_user_authid(id, auth, charsmax(auth));
new stats[STATS], size = ArraySize(g_ArrayStats);

for (new i; i < size; i++)
{
ArrayGetArray(g_ArrayStats, i, stats);

if (equal(stats[STATS_AUTH], auth))
{
zp_set_user_zombie_class(id, stats[STATS_ZOMBIES])

break;
}
}
}

stock get_configsdir(name[],len)
{
return get_localinfo("amxx_configsdir",name,len);
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
exec1337
сообщение 27.6.2013, 23:01
Сообщение #14
Стаж: 13 лет

Сообщений: 6490
Благодарностей: 2558
Полезность: 491

zp_save_ammo :3
Код:

#include <amxmodx>
#include <fakemeta>
#include <zombieplague>
#include <nvault>

#define PLUGIN "[ZP] Can Auto Save Ammo"
#define VERSION "0.1.0"
#define AUTHOR "HsK"

new g_save, g_ammo[33], g_ammo_can_save[33]
new cvar_save_in

#define MAX_SAVE 150 //can save....

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

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

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

g_save = nvault_open("g_ammo_save")
}

// Save Ammo
public zp_user_infected_post(id, infector)
{
if (g_ammo_can_save[infector])
Save_Ammo_date(infector)

if (g_ammo_can_save[id])
Save_Ammo_date(id)
}

public zp_extra_item_selected(id, itemid)
{
if (g_ammo_can_save[id])
Save_Ammo_date(id)
}

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

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

if (g_ammo_can_save[killer])
Save_Ammo_date(killer)

if (g_ammo_can_save[victim])
Save_Ammo_date(victim)

return PLUGIN_CONTINUE;
}

public fw_PlayerPreThink(id)
{
if (g_ammo_can_save[id])
{
new ammo_packs = zp_get_user_ammo_packs(id)
g_ammo[id] = ammo_packs
}

return FMRES_IGNORED;
}

public client_disconnect(id)
{
if(g_ammo_can_save[id])
Save_Ammo_date(id)
}

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

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

public can_save_true(id)
g_ammo_can_save[id] = true

public Save_Ammo_date(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_ammo[id])

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

public Load_Ammo_date(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_ammo[id])

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

new playammo[32]
parse(vaultdata, playammo, 31)
g_ammo[id] = str_to_num(playammo)

set_ammo(id)

return PLUGIN_CONTINUE;
}

public set_ammo(id)
{
if (g_ammo[id] > MAX_SAVE)
{
zp_set_user_ammo_packs(id, MAX_SAVE)
g_ammo[id] = MAX_SAVE
}
else
zp_set_user_ammo_packs(id, g_ammo[id])
}


Ты мне его скидывал лет 5 назад.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Andrei
сообщение 27.6.2013, 23:02
Сообщение #15


Стаж: 15 лет

Сообщений: 1335
Благодарностей: 693
Полезность: 740

Цитата(exec1337 @ 27.6.2013, 23:01) *
zp_save_ammo :3
Код:

#include <amxmodx>
#include <fakemeta>
#include <zombieplague>
#include <nvault>

#define PLUGIN "[ZP] Can Auto Save Ammo"
#define VERSION "0.1.0"
#define AUTHOR "HsK"

new g_save, g_ammo[33], g_ammo_can_save[33]
new cvar_save_in

#define MAX_SAVE 150 //can save....

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

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

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

g_save = nvault_open("g_ammo_save")
}

// Save Ammo
public zp_user_infected_post(id, infector)
{
if (g_ammo_can_save[infector])
Save_Ammo_date(infector)

if (g_ammo_can_save[id])
Save_Ammo_date(id)
}

public zp_extra_item_selected(id, itemid)
{
if (g_ammo_can_save[id])
Save_Ammo_date(id)
}

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

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

if (g_ammo_can_save[killer])
Save_Ammo_date(killer)

if (g_ammo_can_save[victim])
Save_Ammo_date(victim)

return PLUGIN_CONTINUE;
}

public fw_PlayerPreThink(id)
{
if (g_ammo_can_save[id])
{
new ammo_packs = zp_get_user_ammo_packs(id)
g_ammo[id] = ammo_packs
}

return FMRES_IGNORED;
}

public client_disconnect(id)
{
if(g_ammo_can_save[id])
Save_Ammo_date(id)
}

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

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

public can_save_true(id)
g_ammo_can_save[id] = true

public Save_Ammo_date(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_ammo[id])

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

public Load_Ammo_date(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_ammo[id])

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

new playammo[32]
parse(vaultdata, playammo, 31)
g_ammo[id] = str_to_num(playammo)

set_ammo(id)

return PLUGIN_CONTINUE;
}

public set_ammo(id)
{
if (g_ammo[id] > MAX_SAVE)
{
zp_set_user_ammo_packs(id, MAX_SAVE)
g_ammo[id] = MAX_SAVE
}
else
zp_set_user_ammo_packs(id, g_ammo[id])
}


Ты мне его скидывал лет 5 назад.


Не 5,а года 3 назад :p
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
exec1337
сообщение 27.6.2013, 23:06
Сообщение #16
Стаж: 13 лет

Сообщений: 6490
Благодарностей: 2558
Полезность: 491

Цитата(Andrei @ 28.6.2013, 1:02) *
Не 5,а года 3 назад :p

3~5 :D
Ну давно вобщем. Меня устраивало. Жаль знаний мало,так бы тоже свой ZM-классик поднял. 4.3.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Andrei
сообщение 27.6.2013, 23:33
Сообщение #17


Стаж: 15 лет

Сообщений: 1335
Благодарностей: 693
Полезность: 740

Цитата(exec1337 @ 27.6.2013, 23:06) *
3~5 :D
Ну давно вобщем. Меня устраивало. Жаль знаний мало,так бы тоже свой ZM-классик поднял. 4.3.


Обычный толковый зомби сервер чтоб сделать, не нужно и скриптерский знаний особых. Азы,не больше. Главное продумать игру,от освещения,заказанчивая нормальным оформлением меню.

Вот например равномерно подобрать здоровье зомби,сделать дабы патроны кончались,паки немного быстрей зарабатывались,дабы можно было патроны докупать,сделать респавн 1-2 раза зомби и уже будет сбалансированная и интересная игра с более менее смыслом.

Модельки интересные подобрать..Звуки,карты.

Отредактировал: Andrei, - 27.6.2013, 23:35
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 28.6.2013, 0:34
Сообщение #18


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

Стаж: 16 лет

Сообщений: 6594
Благодарностей: 2370
Полезность: 813

Цитата(Andrei @ 27.6.2013, 22:54) *
А что там его писать. Куда делать сохранение ?

Автосохранение в бд
Вопрос, а если сервер перезагрузится или зависнит, то твой код сработает?


You become responsible, forever, for what you have tamed
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Andrei
сообщение 28.6.2013, 0:43
Сообщение #19


Стаж: 15 лет

Сообщений: 1335
Благодарностей: 693
Полезность: 740

Цитата(Fred Perry @ 28.6.2013, 1:34) *
Автосохранение в бд
Вопрос, а если сервер перезагрузится или зависнит, то твой код сработает?

да
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 28.6.2013, 0:59
Сообщение #20


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

Стаж: 16 лет

Сообщений: 6594
Благодарностей: 2370
Полезность: 813

Цитата(Andrei @ 28.6.2013, 1:43) *
да

Хм..
Сейчас поставлю и проверим, если слетать не будет будет круто.


You become responsible, forever, for what you have tamed
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
2 страниц V   1 2
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: