It is currently 15 Dec 2018 12:34



Forum rules


Accesează link-ul pentru a putea vedea regulile forumului

Daca doriti sa vi se modifice un plugin, va rugam postati aici .



Reply to topic  [ 18 posts ]  Go to page 1, 2  Next
 Plugin 
Author Message
Membru, skill 0
Membru, skill 0

Joined: 24 Nov 2017 19:00
Posts: 17
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Salut as dori si eu un plugin de cs 1.6 in care sa imi inlocuiasca smoke-ul cu molotov


30 Jul 2018 19:59
Profile multumesc WWW
Membru, skill 0
Membru, skill 0

Joined: 28 Jul 2018 20:06
Posts: 11
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
https://forums.alliedmods.net/showthread.php?t=80745&highlight=molotov+cocktail?t=80745&highlight=molotov+cocktail


30 Jul 2018 21:28
Profile multumesc WWW
Membru, skill 0
Membru, skill 0

Joined: 24 Nov 2017 19:00
Posts: 17
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Pai stiu plughinul numai ca eu il vreau il locul-ul la smoke sa fie nu al HE


31 Jul 2018 19:19
Profile multumesc WWW
Membru, skill 0
Membru, skill 0
User avatar

Joined: 30 Sep 2017 21:12
Posts: 52
Location: Resita
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
TheLyon wrote:
Pai stiu plughinul numai ca eu il vreau il locul-ul la smoke sa fie nu al HE


Hmm pai ai incercat sa schimbi CSW_HEGRENADE in CSW_SMOKEGRENADE?


01 Aug 2018 23:12
Profile multumesc WWW
Membru, skill 0
Membru, skill 0

Joined: 24 Nov 2017 19:00
Posts: 17
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
L-am facut insa nu da dmg


02 Aug 2018 15:47
Profile multumesc WWW
Membru, skill 0
Membru, skill 0
User avatar

Joined: 30 Sep 2017 21:12
Posts: 52
Location: Resita
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Daca cautai unpic mai infata la link-ul dat de @alex121223 gaseai pluginu editat pentru smoke.

http://www.mediafire.com/file/0q5giyguc ... 9.sma/file

Bafta.


05 Aug 2018 13:26
Profile multumesc WWW
Membru, skill 0
Membru, skill 0

Joined: 24 Nov 2017 19:00
Posts: 17
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Aceasi problema nu da dmg l-am scos am adaugat modele le-am scos tot aceasi probleme


08 Aug 2018 11:54
Profile multumesc WWW
Membru, skill 0
Membru, skill 0
User avatar

Joined: 30 Sep 2017 21:12
Posts: 52
Location: Resita
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Incearca

pluginuri-extream/molotov-cocktail-t13695.html
https://forums.alliedmods.net/showthread.php?t=80745
https://www.csplague.com/jail-deathrun- ... ri-xd.html


08 Aug 2018 20:21
Profile multumesc WWW
Membru, skill 0
Membru, skill 0

Joined: 24 Nov 2017 19:00
Posts: 17
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
L-am adaugat insa problema e ca da dmg cand e pe HE insa cand e pe smoke nu da dc ?


10 Aug 2018 10:25
Profile multumesc WWW
Membru, skill 0
Membru, skill 0
User avatar

Joined: 30 Sep 2017 21:12
Posts: 52
Location: Resita
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
posibil ca plugin-ul sa preiea dmg dat de he si de accea nu ar merge.. nu stiu zic =))


11 Aug 2018 19:51
Profile multumesc WWW
Membru, skill 0
Membru, skill 0

Joined: 24 Nov 2017 19:00
Posts: 17
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
UP Cineva ?


13 Aug 2018 16:00
Profile multumesc WWW
Moderator ajutator
Moderator ajutator
User avatar

Joined: 10 May 2013 13:25
Posts: 2864
Location: Gura Humorului, Suceava
Detinator Steam: Nu
Reputatie: Moderator ajutator
Fost scripter eXtreamCS
Fond eXtream: 0
DanN wrote:
TheLyon wrote:
Pai stiu plughinul numai ca eu il vreau il locul-ul la smoke sa fie nu al HE


Hmm pai ai incercat sa schimbi CSW_HEGRENADE in CSW_SMOKEGRENADE?

Degeaba, insuficient. Mai trebuiau editate unele bucati de cod
| Afiseaza codul
/*

Molotov Cocktail
Version 3.1c
by: SAMURAI & [ --<-@ ] Black Rose

* Commands:
- say molotov - buy a molotov.
- say /molotov - buya molotov.
- molotov_give [optional:player] - give player a molotov, if no player id will be given a molotov.
- molotov_cocktail - See the plugin status


* Cvars
- New - Enable/disable the plugin [1= enabled ; 0 = disabled]
- molotov_price - Set the molotov price [default = 1200]
- molotov_damage - set the damage done by molotov [default = 40.0]
- molotov_radius - set the radius of molotov damage [default = 200.0]
- molotov_firetime - duration of fire effects, sounds etc [default = 6]
- molotov_firedamage - ammount of damage done by fire effects. [default = 1] ( every 0.2 secs )
- molotov_tk - disable/enable the ability to damage/kill someone on your team with molotov. [default = 1]
- molotov_tempoverride - override the original hegrenade autmoaticly with molotov. [default = 0]
- molotov_max - max num of molotovs able to carry. [default = 1] ( Does not work with override )
- molotov_inmenu - Puts molotov in the end of the equipment buymenu. [default = 0] ( if the override cvar is enabled the hegrenade will be replaced instead. )
- molotov_buyzone - do you have to be in buyzone? [default = 1] ( if inmenu this is ignored )

* Required Modules:
- Fakemeta
- Fun
- Cstrike
- CSX

* Have a nice day now
*/

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <cstrike>
#include <csx>
#include <fun>
#include <fakemeta_util>

#define AUTHORS "SAMURAI & Black Rose"

#define ADMIN_ACCESS ADMIN_KICK

#define ICON_R 255
#define ICON_G 170
#define ICON_B 0

#define ANTI_LAGG 7.0 // Defines max calculations before a flame is spawned without check if onground
// This is to prevent lagg at really narrow ents where you could end up with 400 calculations per flame
// Suggested: <= 10

new pnumplugin, pprice, pMlDamage, pMlRadius, pFireTime, pOverride;
new pTeamKill, pFireDmg, pMaxMolotovs, pBuyMenu, pBuyZone;

new gmsgScoreInfo, gmsgDeathMsg;

new g_pAllocModel, g_vAllocModel;

new g_frags[33];
new g_hasMolotov[33];
new g_restarted;
new g_MaxPlayers;
new g_bomb_map;

new firespr, smokespr[2];


public plugin_init() {

register_plugin("Molotov Cocktail", "3.1c", AUTHORS);

register_clcmd("say /molotov","buy_molotov");
register_clcmd("say molotov","buy_molotov");
register_concmd("molotov_give", "cmd_MolotovGive", ADMIN_ACCESS);
register_concmd("molotov_override", "cmd_Override", ADMIN_ACCESS);
register_concmd("molotov_cocktail", "cmd_PluginStatus", ADMIN_ACCESS);

pnumplugin = register_cvar("molotov_tempcocktail","1", FCVAR_SPONLY);
pOverride = register_cvar("molotov_tempoverride", "0", FCVAR_SPONLY);

pprice = register_cvar("molotov_price","1200");
pMlDamage = register_cvar("molotov_damage","40.0");
pMlRadius = register_cvar("molotov_radius","200.0");
pFireTime = register_cvar("molotov_firetime", "6");
pFireDmg = register_cvar("molotov_firedamage", "1");
pTeamKill = register_cvar("molotov_tk", "1");
pMaxMolotovs = register_cvar("molotov_max", "1");
pBuyMenu = register_cvar("molotov_inmenu", "0");
pBuyZone = register_cvar("molotov_buyzone", "1");

register_event("CurWeapon", "Event_CurWeapon","be", "1=1");
register_event("HLTV","event_new_round", "a","1=0", "2=0");
register_event("TextMsg","Event_GameRestart","a","2=#Game_Commencing","2=#Game_will_restart_in");
register_event("DeathMsg", "event_DeathMsg", "a");

register_event("ShowMenu", "event_BuyMenuT", "b", "4=#T_BuyItem", "1=575");
register_event("ShowMenu", "event_BuyMenuCT", "b", "4=#CT_BuyItem", "1=703");
register_event("ShowMenu", "event_BuyMenuT", "b", "4=#DT_BuyItem", "1=575");
register_event("ShowMenu", "event_BuyMenuCT", "b", "4=#DCT_BuyItem", "1=767");

register_menucmd(register_menuid("#CT_BuyItem"), 1023, "handle_BuyMenuCT");
register_menucmd(register_menuid("#T_BuyItem"), 1023, "handle_BuyMenuT");

register_forward(FM_EmitSound, "fw_EmitSound");

g_MaxPlayers = get_maxplayers();

gmsgScoreInfo = get_user_msgid("ScoreInfo");
gmsgDeathMsg = get_user_msgid("DeathMsg");

g_pAllocModel = engfunc(EngFunc_AllocString, "models/p_molotov.mdl");
g_vAllocModel = engfunc(EngFunc_AllocString, "models/v_molotov.mdl");

g_bomb_map = engfunc(EngFunc_FindEntityByString, g_MaxPlayers, "classname", "info_bomb_target") ? 1 : 0;
}

public cmd_Override(id,level,cid) {

if ( ! cmd_access(id, level,cid,1) )
return PLUGIN_HANDLED;


if ( ! get_pcvar_num(pnumplugin) )
return PLUGIN_HANDLED;

new arg[2];
read_argv(1, arg, 1);

new num = str_to_num(arg);

if ( 1 < num < 0 ) {
if ( id )
client_print(id, print_console, "Invalid argument(%d). Valid arguments are ^"0^" and ^"1^".", num);
else
server_print("Invalid argument(%d). Valid arguments are ^"0^" and ^"1^".", num);
return PLUGIN_HANDLED;
}

if ( num == get_pcvar_num(pOverride) ) {
if ( id )
client_print(id, print_console, "Override is already %s.", num ? "enabled" : "disabled");
else
server_print("Override is already %s.", num ? "enabled" : "disabled");
return PLUGIN_HANDLED;
}

set_pcvar_num(pOverride, num);

if ( id )
client_print(id, print_console, "Override was %s.", num ? "enabled" : "disabled");
else
server_print("Override was %s.", num ? "enabled" : "disabled");

if ( num )
set_molotovs();
else
reset_molotovs();

return PLUGIN_HANDLED;
}

public cmd_PluginStatus(id,level,cid) {

if ( ! cmd_access(id,level,cid,2))
return PLUGIN_HANDLED;


new arg[2];
read_argv(1, arg, 1);

new num = str_to_num(arg);

if ( 1 < num < 0 ) {
if ( id )
client_print(id, print_console, "Invalid argument(%d). Valid arguments are ^"0^" and ^"1^".", num);
else
server_print("Invalid argument(%d). Valid arguments are ^"0^" and ^"1^".", num);
return PLUGIN_HANDLED;
}

if ( num == get_pcvar_num(pnumplugin) ) {
if ( id )
client_print(id, print_console, "Plugin is already %s.", num ? "enabled" : "disabled");
else
server_print("Plugin is already %s.", num ? "enabled" : "disabled");
return PLUGIN_HANDLED;
}

set_pcvar_num(pnumplugin, num);

if ( id )
client_print(id, print_console, "Plugin was %s.", num ? "enabled" : "disabled");
else
server_print("Plugin was %s.", num ? "enabled" : "disabled");

if ( num && get_pcvar_num(pOverride) )
set_molotovs();
else
reset_molotovs();

return PLUGIN_HANDLED;
}

public cmd_MolotovGive(id,level,cid) {

if( !cmd_access(id,level,cid,2) )
return PLUGIN_HANDLED;


if ( ! get_pcvar_num(pnumplugin) )
return PLUGIN_HANDLED;

new arg[32];
read_argv(1, arg, 31);

new target;

if ( ! arg[0] ) {
if ( id )
target = id;
else
server_print("You have to enter a name of a client to give the molotov to");
}
else
target = cmd_target(id, arg, 6);

if ( ! target )
{
id ? client_print(id, print_console, "None or multiple clients found with that name.") : server_print("None or multiple clients found with that name.");
return PLUGIN_HANDLED;
}

if ( g_hasMolotov[target] == get_pcvar_num(pMaxMolotovs) ) {
if ( g_hasMolotov[target] == 1 ) {
if ( id )
client_print(id, print_center, "Client already have a Molotov Cocktail.");
else
server_print("Client already have a Molotov Cocktail.");
}
else {
if ( id )
client_print(id, print_center, "Client already have %d Molotov Cocktails.", g_hasMolotov[target]);
else
server_print("Client already have %d Molotov Cocktails.", g_hasMolotov[target]);
}

return PLUGIN_CONTINUE;
}

if ( ! g_hasMolotov[target] && user_has_weapon(target, CSW_SMOKEGRENADE) ) {
if ( id )
client_print(id, print_console, "Client already has a Smoke Grenade");
else
server_print("Client already has a Smoke Grenade");
return PLUGIN_HANDLED;
}

g_hasMolotov[target]++;

give_item(target, "weapon_smokegrenade");
cs_set_user_bpammo(target, CSW_SMOKEGRENADE, g_hasMolotov[id]);
client_print(target, print_chat, "You got a Molotov Cocktail!");

return PLUGIN_HANDLED;
}

public buy_molotov(id) {

if ( ! get_pcvar_num(pnumplugin) )
return PLUGIN_HANDLED;

if ( get_pcvar_num(pOverride) ) {
if ( get_pcvar_num(pBuyMenu) )
client_print(id, print_center, "Buy them in the buy equipment menu.");
else
client_print(id, print_center, "Just buy a smoke grenade and get molotov automaticly!");
return PLUGIN_HANDLED;
}

if ( ! is_user_alive(id) ) {
client_print(id, print_center, "You can't buy Molotov Cocktails because you are dead.");
return PLUGIN_HANDLED;
}

if ( ! cs_get_user_buyzone(id) && get_pcvar_num(pBuyZone) ) {
client_print(id, print_center, "You are not in a buyzone.");
return PLUGIN_HANDLED;
}

new money = cs_get_user_money(id);

if ( money < get_pcvar_num(pprice) ) {
client_print(id, print_center, "You don't have enough $ to buy a Molotov Cocktail.");
return PLUGIN_HANDLED;
}

if ( g_hasMolotov[id] == get_pcvar_num(pMaxMolotovs) ) {
if ( g_hasMolotov[id] == 1 )
client_print(id, print_center, "You already have a Molotov Cocktail.");
else
client_print(id, print_center, "You already have %d Molotov Cocktails.", g_hasMolotov[id]);
return PLUGIN_HANDLED;
}

if ( ! g_hasMolotov[id] && user_has_weapon(id, CSW_SMOKEGRENADE) ) {
client_print(id, print_center, "You already have a Smoke Grenade");
return PLUGIN_HANDLED;
}

g_hasMolotov[id]++;

cs_set_user_money(id, money - get_pcvar_num(pprice) );
give_item(id, "weapon_smokegrenade");
cs_set_user_bpammo(id, CSW_SMOKEGRENADE, g_hasMolotov[id]);
client_print(id, print_chat, "You got a Molotov Cocktail!");

return PLUGIN_HANDLED;
}

public plugin_precache() {

precache_model("models/p_molotov.mdl");
precache_model("models/v_molotov.mdl");
precache_model("models/w_molotov.mdl");

firespr = precache_model("sprites/flame.spr");

smokespr[0] = precache_model("sprites/black_smoke3.spr");
smokespr[1] = precache_model("sprites/steam1.spr");

precache_sound("misc/molotov_fire.wav");
precache_sound("misc/molotov_explosion.wav");
}

public fw_EmitSound(ent, channel, sample[]) {

if ( equal(sample[8], "sg_explode", 10) ) {

new model[32];
pev(ent, pev_model, model, 31);

if ( equal(model[9], "molotov.mdl") )
grenade_explode(ent);
}
}

public Event_CurWeapon(id) {

if ( ! get_pcvar_num(pnumplugin) || ! is_user_alive(id) )
return PLUGIN_CONTINUE;

if ( ! g_hasMolotov[id] && ! get_pcvar_num(pOverride) )
return PLUGIN_CONTINUE;

new WeaponID = get_user_weapon(id, WeaponID, WeaponID);

if ( WeaponID != CSW_SMOKEGRENADE )
return PLUGIN_CONTINUE;

set_pev(id, pev_viewmodel, g_vAllocModel);
set_pev(id, pev_weaponmodel, g_pAllocModel);
set_pev(id, pev_weaponanim, 9);

return PLUGIN_CONTINUE;
}

public Event_GameRestart() g_restarted = 1;

public event_DeathMsg() g_hasMolotov[read_data(2)] = 0;

public event_new_round() {

if ( ! get_pcvar_num(pnumplugin) )
return PLUGIN_CONTINUE;

for ( new i ; i < g_MaxPlayers ; i++ ) {
if ( g_frags[i] && is_user_connected(i) )
set_user_frags(i, get_user_frags(i) + g_frags[i]);
g_frags[i] = 0;
}

if ( g_restarted ) {
for ( new i ; i < g_MaxPlayers ; i++ )
g_hasMolotov[i] = 0;
g_restarted = 0;
}

if ( get_pcvar_num(pOverride) )
set_molotovs();
else
reset_molotovs();

return PLUGIN_CONTINUE;
}

public event_BuyMenuCT(id) {

if ( ! get_pcvar_num(pnumplugin) || ! get_pcvar_num(pBuyMenu) )
return PLUGIN_CONTINUE;

new Override = get_pcvar_num(pOverride);

new menu[1024];
new len = formatex(menu, 1023, "\yBuy Equipment\R$ Cost");
len += formatex(menu[len], 1023-len, "^n^n\w1. Kevlar Vest\R\y650");
len += formatex(menu[len], 1023-len, "^n\w2. Kevlar Vest & Helmet\R\y1000");
len += formatex(menu[len], 1023-len, "^n\w3. Flashbang\R\y200");
len += formatex(menu[len], 1023-len, "^n\w4. HE Grenade\R\y300");

if ( Override )
len += formatex(menu[len], 1023-len, "^n\w5. Molotov Cocktail\R\y%d", get_pcvar_num(pprice));
else
len += formatex(menu[len], 1023-len, "^n\w5. Smoke Grenade\R\y300");

len += formatex(menu[len], 1023-len, "^n\w6. NightVision Goggles\R\y1250");
len += formatex(menu[len], 1023-len, "^n\%c7. Defuse Kit\R\y200 ", g_bomb_map ? 'w' : 'd');
len += formatex(menu[len], 1023-len, "^n\w8. Tactical Shield\R\y2200");

if ( ! Override )
len += formatex(menu[len], 1023-len, "^n\w9. Molotov Cocktail\R\y%d", get_pcvar_num(pprice));

len += formatex(menu[len], 1023-len, "^n^n\w0. Exit");

show_menu(id, read_data(1)|MENU_KEY_9, menu, -1, "#CT_BuyItem");

return PLUGIN_HANDLED;
}

public event_BuyMenuT(id) {

if ( ! get_pcvar_num(pnumplugin) || ! get_pcvar_num(pBuyMenu) )
return PLUGIN_CONTINUE;

new Override = get_pcvar_num(pOverride);

new menu[1024];
new len = formatex(menu, 1023, "\yBuy Equipment\R$ Cost");
len += formatex(menu[len], 1023-len, "^n^n\w1. Kevlar Vest\R\y650");
len += formatex(menu[len], 1023-len, "^n\w2. Kevlar Vest & Helmet\R\y1000");
len += formatex(menu[len], 1023-len, "^n\w3. Flashbang\R\y200");
len += formatex(menu[len], 1023-len, "^n\w4. HE Grenade\R\y300");

if ( Override )
len += formatex(menu[len], 1023-len, "^n\w5. Molotov Cocktail\R\y%d", get_pcvar_num(pprice));
else
len += formatex(menu[len], 1023-len, "^n\w5. Smoke Grenade\R\y300");

len += formatex(menu[len], 1023-len, "^n\w6. NightVision Goggles\R\y1250");

if ( !Override )
len += formatex(menu[len], 1023-len, "^n\w7. Molotov Cocktail\R\y%d", get_pcvar_num(pprice));

len += formatex(menu[len], 1023-len, "^n^n\w0. Exit");

show_menu(id, read_data(1)|MENU_KEY_7, menu, -1, "#T_BuyItem");

return PLUGIN_HANDLED;
}

public handle_BuyMenuCT(id, key)
{

if ( get_pcvar_num(pOverride) )
{
if ( key != 4 )
return PLUGIN_CONTINUE;
}

else
{
if ( key != 8 )
return PLUGIN_CONTINUE;
}

handle_BuyMenu(id);

return PLUGIN_HANDLED;
}

public handle_BuyMenuT(id, key)
{

if ( get_pcvar_num(pOverride) )
{
if ( key != 4 )
return PLUGIN_CONTINUE;
}

else
{
if ( key != 6 )
return PLUGIN_CONTINUE;
}

handle_BuyMenu(id);

return PLUGIN_HANDLED;
}

stock handle_BuyMenu(id) {

new money = cs_get_user_money(id);

if ( money < get_pcvar_num(pprice) ) {
client_print(id, print_center, "You don't have enough $ to buy a Molotov Cocktail.");
return PLUGIN_HANDLED;
}

if ( g_hasMolotov[id] == get_pcvar_num(pMaxMolotovs) ) {
if ( g_hasMolotov[id] == 1 )
client_print(id, print_center, "You already have a Molotov Cocktail.");
else
client_print(id, print_center, "You already have %d Molotov Cocktails.", g_hasMolotov[id]);
return PLUGIN_HANDLED;
}

else if ( ! g_hasMolotov[id] && user_has_weapon(id, CSW_SMOKEGRENADE) ) {
client_print(id, print_center, "You already have a Smoke Grenade");
return PLUGIN_HANDLED;
}

g_hasMolotov[id]++;

cs_set_user_money(id, money - get_pcvar_num(pprice) );
give_item(id, "weapon_smokegrenade");
cs_set_user_bpammo(id, CSW_SMOKEGRENADE, g_hasMolotov[id]);
client_print(id, print_chat, "You got a Molotov Cocktail!");

return PLUGIN_HANDLED;
}

public grenade_throw(id, ent, wid) {

if ( ! get_pcvar_num(pnumplugin) || ! is_user_connected(id) || wid != CSW_SMOKEGRENADE )
return PLUGIN_CONTINUE;

if ( ! g_hasMolotov[id] && ! get_pcvar_num(pOverride) )
return PLUGIN_CONTINUE;

g_hasMolotov[id]--;
engfunc(EngFunc_SetModel, ent, "models/w_molotov.mdl");
set_pev(ent, pev_nextthink, 99999.0);

return PLUGIN_CONTINUE;
}

public grenade_explode(ent) {

new Float:fOrigin[3];
pev(ent, pev_origin, fOrigin);

new owner = pev(ent, pev_owner);
new ent2 = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));

new param[5], iOrigin[3];
param[0] = owner;
param[1] = iOrigin[0] = floatround(fOrigin[0]);
param[2] = iOrigin[1] = floatround(fOrigin[1]);
param[3] = iOrigin[2] = floatround(fOrigin[2]);
param[4] = ent2;

radius_damage(owner, fOrigin, get_pcvar_float(pMlDamage), get_pcvar_float(pMlRadius), DMG_BLAST);
emit_sound(ent, CHAN_AUTO, "misc/molotov_explosion.wav", VOL_NORM, ATTN_NORM, 0, PITCH_NORM);

engfunc(EngFunc_RemoveEntity, ent);

ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));

new param2[2];
param2[0] = ent;
param2[1] = ent2;

random_fire(iOrigin, ent2);

new Float:FireTime = get_pcvar_float(pFireTime);

set_task(0.2, "fire_damage", 56235 + random_num(-100, 100), param, 5, "a", floatround(FireTime / 0.2, floatround_floor));
set_task(1.0, "fire_sound", 37235 + random_num(-100, 100), param2, 2, "a", floatround(FireTime) - 1);
set_task(FireTime, "fire_stop", 27367 + random_num(-100, 100), param2, 2);

return PLUGIN_CONTINUE;
}

public fire_sound(param[])
emit_sound(param[0], CHAN_AUTO, "misc/molotov_fire.wav", VOL_NORM, ATTN_NORM, 0, PITCH_NORM);

new Float:g_i;
new Float:g_g;

public fire_stop(param[]) {
g_g = 0.0;
g_i = 0.0;
engfunc(EngFunc_RemoveEntity, param[0]);
}

public fire_damage(param[]) {

new iOrigin[3], Float:fOrigin[3];
iOrigin[0] = param[1];
iOrigin[1] = param[2];
iOrigin[2] = param[3];

random_fire(iOrigin, param[4]);

IVecFVec(iOrigin, fOrigin);
radius_damage(param[0], fOrigin, get_pcvar_float(pFireDmg), get_pcvar_float(pMlRadius), DMG_BURN, 0);
}

stock radius_damage(attacker, Float:origin[3], Float:damage, Float:range, dmgtype, calc = 1) {

new Float:pOrigin[3], Float:dist, Float:tmpdmg/*, iOrigin[3] */;
new i, ateam = get_user_team(attacker), TK = get_pcvar_num(pTeamKill);

while ( i++ < g_MaxPlayers ) {

if ( ! is_user_alive(i) )
continue;

if ( ! TK && ateam == get_user_team(i) )
continue;

pev(i, pev_origin, pOrigin);
dist = get_distance_f(origin, pOrigin);

if ( dist > range )
continue;

if ( calc )
tmpdmg = damage - ( damage / range ) * dist;
else
tmpdmg = damage;

if ( pev(i, pev_health) < tmpdmg )
kill(attacker, i);
else
fm_fakedamage(i, "molotov", tmpdmg, dmgtype);

// FVecIVec(pOrigin, iOrigin);
// Flame(iOrigin, 1);
}

while ( ( i = engfunc(EngFunc_FindEntityInSphere, i, origin, range) ) ) {
if ( pev(i, pev_takedamage) ) {
if ( calc ) {
pev(i, pev_origin, pOrigin);
tmpdmg = damage - ( damage / range ) * get_distance_f(origin, pOrigin);
}
else
tmpdmg = damage;

// FVecIVec(pOrigin, iOrigin);
// Flame(iOrigin, 1);

fm_fakedamage(i, "molotov", tmpdmg, dmgtype);
}
}
}

stock random_fire(Origin[3], ent) {

new range = get_pcvar_num(pMlRadius);
new iOrigin[3];

for ( new i = 1 ; i <= 5 ; i++ ) {

g_i++;
g_g++;

iOrigin[0] = Origin[0] + random_num(-range, range);
iOrigin[1] = Origin[1] + random_num(-range, range);
iOrigin[2] = Origin[2];
iOrigin[2] = ground_z(iOrigin, ent);

while ( get_distance(iOrigin, Origin) > range ) {
g_g++;
iOrigin[0] = Origin[0] + random_num(-range, range);
iOrigin[1] = Origin[1] + random_num(-range, range);
iOrigin[2] = Origin[2];
if ( g_g / g_i >= ANTI_LAGG )
iOrigin[2] = ground_z(iOrigin, ent, 1);
else
iOrigin[2] = ground_z(iOrigin, ent);
}

if ( ! ( i % 4 ) )
Flame(iOrigin, (!(i%4)));
else
Flame(iOrigin, 0);
}
}

stock Flame(iOrigin[3], smoke) {

new rand = random_num(5, 15);

message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
write_byte(TE_SPRITE);
write_coord(iOrigin[0]);
write_coord(iOrigin[1]);
write_coord(iOrigin[2] + rand * 10);
write_short(firespr);
write_byte(rand);
write_byte(100);
message_end();

if ( smoke ) {
message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
write_byte(TE_SMOKE);
write_coord(iOrigin[0]);
write_coord(iOrigin[1]);
write_coord(iOrigin[2] + 120);
write_short(smokespr[random_num(0, 1)]);
write_byte(random_num(10, 30));
write_byte(random_num(10, 20));
message_end();
}

}

stock kill(k, v) {

user_silentkill(v);

new kteam = get_user_team(k);
new vteam = get_user_team(v);

new kfrags = get_user_frags(k) + 1;
new kdeaths = get_user_deaths(k);
if ( kteam == vteam )
kfrags = get_user_frags(k) - 2;

new vfrags = get_user_frags(v);
new vdeaths = get_user_deaths(v);

message_begin(MSG_ALL, gmsgScoreInfo);
write_byte(k);
write_short(kfrags);
write_short(kdeaths);
write_short(0);
write_short(kteam);
message_end();

message_begin(MSG_ALL, gmsgScoreInfo);
write_byte(v);
write_short(vfrags + 1);
write_short(vdeaths);
write_short(0);
write_short(vteam);
message_end();

message_begin(MSG_ALL, gmsgDeathMsg, {0,0,0}, 0);
write_byte(k);
write_byte(v);
write_byte(0);
write_string("molotov");
message_end();

g_frags[k]++;

if ( kteam != vteam )
cs_set_user_money(k, cs_get_user_money(k) + 300);
else
cs_set_user_money(k, cs_get_user_money(k) - 300);
}

stock ground_z(iOrigin[3], ent, skip = 0) {

iOrigin[2] += random_num(5, 80);

new Float:fOrigin[3];

IVecFVec(iOrigin, fOrigin);

set_pev(ent, pev_origin, fOrigin);

engfunc(EngFunc_DropToFloor, ent);

if ( ! skip && ! engfunc(EngFunc_EntIsOnFloor, ent) )
return ground_z(iOrigin, ent);

pev(ent, pev_origin, fOrigin);

return floatround(fOrigin[2]);
}

stock reset_molotovs() {
new ent = g_MaxPlayers;
while ((ent = engfunc(EngFunc_FindEntityByString, ent, "model", "models/w_molotov.mdl")))
engfunc(EngFunc_SetModel, ent, "models/w_smokegrenade.mdl");
}

stock set_molotovs() {
new ent = g_MaxPlayers;
while ((ent = engfunc(EngFunc_FindEntityByString, ent, "model", "models/w_smokegrenade.mdl")))
engfunc(EngFunc_SetModel, ent, "models/w_molotov.mdl");
}

Resursele le iei de aici:
https://forums.alliedmods.net/showthrea ... post449045

_________________
„Peste douăzeci de ani vei fi dezamăgit din cauza lucrurilor pe care nu le-ai făcut, nu din cauza celor pe care le-ai făcut.” - Mark Twain
„Asa e si in viata, hotii castiga, prostii care invata pierd.” - Mihai Nemeș

Pluginurile mele publice | Afiseaza codul
Control HE Damage(s)
[Zombie mod] Liderul oamenilor
NO RUSH (MANUAL)
Salvatorul Craciunului
Harry Potter's Magic Wand [0.0.3]
New HE Grenade Effects
Upgrades Menu -> Health/Armor/Damage

Serverele care au achizitonat pluginurile mele: #1 #2

CONTACT: sef_yontu@yahoo.com | skype: cyp_yontu
Creez pluginuri contra cost


13 Aug 2018 21:29
Profile multumesc YIM WWW
Display posts from previous:  Sort by  
Reply to topic   [ 18 posts ]  Go to page 1, 2  Next

Who is online

Users browsing this forum: Diversity, Madalyn, UnFoRgIvEnNn and 78 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  

În cazul în care aveți probleme cu contul trimiteți un email sau mesaj la servicii_extream[arond]yahoo[punct]com

Powered by phpBB® Forum Software © phpBB Group