Existing user? Sign in
Sign up
Games
Servers
Useful
User
Pass
2FA
[rezolvat]Cerere plugin iarna
Freakz Forum Index
->
Trash Bin
->
CS 2006-2019 (Archived)
->
Plugins - Help / Support
Author
Message
1389
Codrin Bradea
[Mentally Stable]
Status: Offline
(since 30-03-2015 15:58)
Joined: 01 Sep 2014
Posts: 63
,
Topics: 30
Location:
Oradea
Reputation:
-84.9
Votes
: 6
Posted: 29-11-2014, 11:27:37
| Translate post to:
... (
Click for more languages
)
As vrea si eu un plugin care sa contina in felu urmator :
Cand un T moare , apare un model (cadou) jos care sa contina random (viata/gravitatie/speed/invizibilitate)
Multumesc
sau doar sa apara cadourile cand moare.
0
0
Back to top
EDUTz
[HardcoreAmxxScripter]
Status: Offline
(since 15-08-2021 16:34)
Joined: 27 Dec 2010
Posts: 4306
,
Topics: 244
Location:
Jud. Miserupia, sat Bagadanc
Reputation:
4085
Votes
: 179
Posted: 29-11-2014, 12:56:54
| Translate post to:
... (
Click for more languages
)
Code:
#include <amxmodx>
#include <amxmisc>
/* Module necesare */
#include <fakemeta>
#include <hamsandwich>
#include <engine>
/* INC-uri */
#include <cellarray>
#include <xs>
/* Model la cadouri */
new const model_present[][] = { "models/present/w_present.mdl","models/present/w_present2.mdl" }
/* Extras din Fakemeta Util */
#define fm_find_ent_by_class(%1,%2) engfunc(EngFunc_FindEntityByString, %1, "classname", %2)
#define fm_create_entity(%1) engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, %1))
/* Extras din Super Spawns */
#define SS_VERSION "1.0"
#define SS_MIN_DISTANCE 500.0
#define SS_MAX_LOOPS 100000
new Array:g_vecSsOrigins
new Array:g_vecSsSpawns
new Array:g_vecSsUsed
new Float:g_flSsMinDist
new g_iSsTime
new const g_szStarts[][] = { "info_player_start", "info_player_deathmatch" }
new const Float:g_flOffsets[] = { 3500.0, 3500.0, 1500.0 }
/* Offset-uri */
#if cellbits == 32
const OFFSET_CSMONEY = 115
#else
const OFFSET_CSMONEY = 140
#endif
const OFFSET_LINUX = 5
new pcvar_respawn_time, pcvar_presents_on_map
new g_money
new g_bonus[33]
public plugin_init()
{
register_plugin("XMAS GIFTS", "2.2", "KronoS")
/*====================================
==============Eventuri==============*/
register_event("HLTV", "spawn_gifts", "a", "1=0", "2=0")
RegisterHam(Ham_Spawn, "player", "round_start", 1)
RegisterHam(Ham_Killed, "player", "client_death", 1)
RegisterHam(Ham_Item_PreFrame, "player", "FwdPreFramePost", 1)
register_forward(FM_Touch,"forward_touch")
/*====================================
==============Cvar-uri==============*/
pcvar_respawn_time = register_cvar("presents_respawn_time","60.0")
pcvar_presents_on_map = register_cvar("presents_on_map", "11")
SsInit(800.0)
SsScan()
g_money = get_user_msgid("Money")
}
public plugin_precache()
{
new i
for(i = 0; i < sizeof model_present; i++)
engfunc(EngFunc_PrecacheModel,model_present[i])
}
public spawn_gifts()
{
func_spawn()
}
public round_start(id)
{
if(g_bonus[id] > 0)
{
switch(g_bonus[id])
{
case 1:
{
fm_set_user_health(id, get_user_health(id) + 50)
}
case 2:
{
fm_set_user_gravity(id, 0.4)
}
}
}
}
public func_spawn()
{
new Float:origin[3]
new i
for(i=0; i< get_pcvar_num(pcvar_presents_on_map); i++)
{
if(SsGetOrigin(origin))
{
new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
if(pev_valid(ent))
{
engfunc(EngFunc_SetModel,ent,model_present[random_num(0,sizeof model_present - 1)])
engfunc(EngFunc_SetOrigin, ent, origin)
static Float:fMaxs[3] = { 2.0, 2.0, 4.0 }
static Float:fMins[3] = { -2.0, -2.0, -4.0 }
set_pev(ent,pev_solid,SOLID_BBOX)
engfunc(EngFunc_SetSize,ent,fMins,fMaxs)
engfunc(EngFunc_DropToFloor, ent)
switch(random_num(0,1))
{
case 0:
{
set_pev(ent,pev_classname,"small_present")
}
case 1:
{
set_pev(ent,pev_classname,"large_present")
}
}
}
}
}
}
public client_death(id)
{
if(g_bonus[id] > 0)
{
g_bonus[id] = 0
}
}
public FwdPreFramePost(iClient)
{
if(is_user_connected(iClient))
{
if(g_bonus[iClient] == 3)
{
fm_set_user_maxspeed(iClient, 350.0)
}
if(g_bonus[iClient] == 4)
{
fm_set_user_maxspeed(iClient, 200.0)
}
}
}
public forward_touch(ent,id)
{
if(!pev_valid(ent))
return FMRES_IGNORED
static class[20]
pev(ent,pev_classname,class,sizeof class - 1)
if((!equali(class,"small_present") && !equali(class,"large_present")))
return FMRES_IGNORED
if((equali(class,"large_present") && (g_bonus[id] > 0)))
return FMRES_IGNORED
if(!is_user_alive(id))
return FMRES_IGNORED
set_pev(ent,pev_solid,SOLID_NOT)
set_pev(ent,pev_effects,EF_NODRAW)
set_task(get_pcvar_float(pcvar_respawn_time), "func_spawn", ent)
if(equali(class,"small_present"))
{
switch(random_num(0,4))
{
case 0:
{
fm_set_user_money(id, fm_get_user_money(id) + 500)
set_hudmessage(255, 165, 0, 0.02, 0.73, 0, 6.0, 12.0)
show_hudmessage(id, "[XMAS Gift] Mosul ti-a oferit 500$")
}
case 1:
{
fm_set_user_money(id, 16000)
set_hudmessage(255, 165, 0, 0.02, 0.73, 0, 6.0, 12.0)
show_hudmessage(id, "[XMAS Gift] Mosul ti-a oferit 16000$")
}
case 2:
{
fm_set_user_money(id, 0)
set_hudmessage(255, 165, 0, 0.02, 0.73, 0, 6.0, 12.0)
show_hudmessage(id, "[XMAS Gift] Mosul ti-a furat toti banii")
}
case 3:
{
fm_set_user_money(id, fm_get_user_money(id) - 500)
set_hudmessage(255, 165, 0, 0.02, 0.73, 0, 6.0, 12.0)
show_hudmessage(id, "[XMAS Gift] Mosul ti-a furat 500$")
}
case 4:
{
fm_give_item(id, "weapon_awp")
set_hudmessage(255, 165, 0, 0.02, 0.73, 0, 6.0, 12.0)
show_hudmessage(id, "[XMAS Gift] Mosul ti-a oferit un AWP")
}
}
}
if(equali(class,"large_present"))
{
switch(random_num(0,3))
{
case 0:
{
fm_set_user_health(id, get_user_health(id) + 50)
g_bonus[id] = 1
large_present_hud(id)
}
case 1:
{
fm_set_user_gravity(id, 0.4)
g_bonus[id] = 2
large_present_hud(id)
}
case 2:
{
fm_set_user_maxspeed(id, 350.0)
g_bonus[id] = 3
large_present_hud(id)
}
case 3:
{
fm_set_user_maxspeed(id, 200.0)
g_bonus[id] = 4
large_present_hud(id)
}
}
}
return FMRES_IGNORED
}
public large_present_hud(id)
{
if(is_user_alive(id))
{
if(g_bonus[id] > 0)
{
switch(g_bonus[id])
{
case 1:
{
set_hudmessage(0, 255, 0, 0.02, 0.73, 0, 6.0, 12.0)
show_hudmessage(id, "[XMAS Gift] Viata+")
}
case 2:
{
set_hudmessage(0, 255, 0, 0.02, 0.73, 0, 6.0, 12.0)
show_hudmessage(id, "[XMAS Gift] Gravitatie-")
}
case 3:
{
set_hudmessage(0, 255, 0, 0.02, 0.73, 0, 6.0, 12.0)
show_hudmessage(id, "[XMAS Gift] Viteza+")
}
case 4:
{
set_hudmessage(200, 0, 0, 0.02, 0.73, 0, 6.0, 12.0)
show_hudmessage(id, "[XMAS Gift] Viteza-")
}
}
set_task(12.0, "large_present_hud", id)
}
}
}
public client_disconnect(id)
{
g_bonus[id] = 0
}
/*====================================
========Inceput Fakemeta Util=======*/
stock fm_set_user_money(id,money,flash=1)
{
set_pdata_int(id,OFFSET_CSMONEY,money,OFFSET_LINUX)
message_begin(MSG_ONE,g_money,{0,0,0},id)
write_long(money)
write_byte(flash)
message_end()
}
stock fm_get_user_money(id)
{
return get_pdata_int(id,OFFSET_CSMONEY,OFFSET_LINUX)
}
stock fm_set_user_health(id, health)
{
(health > 0) ? set_pev(id, pev_health, float(health)) : dllfunc(DLLFunc_ClientKill, id)
return 1
}
stock fm_give_item(index, const item[]) {
if (!equal(item, "weapon_", 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5) && !equal(item, "tf_weapon_", 10))
return 0
new ent = fm_create_entity(item)
if (!pev_valid(ent))
return 0
new Float:origin[3]
pev(index, pev_origin, origin)
set_pev(ent, pev_origin, origin)
set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN)
dllfunc(DLLFunc_Spawn, ent)
new save = pev(ent, pev_solid)
dllfunc(DLLFunc_Touch, ent, index)
if (pev(ent, pev_solid) != save)
return ent
engfunc(EngFunc_RemoveEntity, ent)
return -1
}
stock fm_set_user_gravity(index, Float:gravity = 1.0) {
set_pev(index, pev_gravity, gravity)
return 1
}
stock fm_set_user_maxspeed(index, Float:speed = -1.0) {
engfunc(EngFunc_SetClientMaxspeed, index, speed);
set_pev(index, pev_maxspeed, speed);
return 1;
}
/*====================================
========Sfarsit Fakemeta Util=======*/
/*====================================
========Inceput Super Spawns========*/
public SsInit(Float:mindist)
{
new cmd[32]
format(cmd, 15, "_ss_dump%c%c%c%c", random_num('A', 'Z'), random_num('A', 'Z'), random_num('A', 'Z'), random_num('A', 'Z'))
register_cvar("sv_superspawns", SS_VERSION, (FCVAR_SERVER|FCVAR_SPONLY))
register_concmd(cmd, "SsDump")
g_flSsMinDist = mindist
g_vecSsOrigins = ArrayCreate(3, 1)
g_vecSsSpawns = ArrayCreate(3, 1)
g_vecSsUsed = ArrayCreate(3, 1)
}
stock SsClean()
{
g_flSsMinDist = 0.0
ArrayClear(g_vecSsOrigins)
ArrayClear(g_vecSsSpawns)
ArrayClear(g_vecSsUsed)
}
stock SsGetOrigin(Float:origin[3])
{
new Float:data[3], size
new ok = 1
while((size = ArraySize(g_vecSsOrigins)))
{
new idx = random_num(0, size - 1)
ArrayGetArray(g_vecSsOrigins, idx, origin)
new used = ArraySize(g_vecSsUsed)
for(new i = 0; i < used; i++)
{
ok = 0
ArrayGetArray(g_vecSsUsed, i, data)
if(get_distance_f(data, origin) >= g_flSsMinDist)
{
ok = 1
break
}
}
ArrayDeleteItem(g_vecSsOrigins, idx)
if(ok)
{
ArrayPushArray(g_vecSsUsed, origin)
return true
}
}
return false
}
public SsDump()
{
new Float:origin[3]
new count = ArraySize(g_vecSsOrigins)
server_print("-------------------------------------------------------")
for(new i = 0; i < count; i++)
{
ArrayGetArray(g_vecSsOrigins, i, origin)
server_print("Origin: %f %f %f", origin[0], origin[1], origin[2])
}
server_print("-------------------------------------------------------")
server_print("Number of origins: %i", count)
server_print("Time: %i", g_iSsTime)
server_print("-------------------------------------------------------")
}
public SsScan()
{
new start, Float:origin[3], starttime
starttime = get_systime()
for(start = 0; start < sizeof(g_szStarts); start++)
{
server_print("Searching for %s", g_szStarts[start])
new ent
if((ent = engfunc(EngFunc_FindEntityByString, ent, "classname", g_szStarts[start])))
{
new counter
pev(ent, pev_origin, origin)
ArrayPushArray(g_vecSsSpawns, origin)
while(counter < SS_MAX_LOOPS)
{
counter = GetLocation(origin, counter)
}
}
}
g_iSsTime = get_systime()
g_iSsTime -= starttime
}
GetLocation(Float:start[3], &counter)
{
new Float:end[3]
for(new i = 0; i < 3; i++)
{
end[i] += random_float(0.0 - g_flOffsets[i], g_flOffsets[i])
}
if(IsValid(start, end))
{
start[0] = end[0]
start[1] = end[1]
start[2] = end[2]
ArrayPushArray(g_vecSsOrigins, end)
}
counter++
return counter
}
IsValid(Float:start[3], Float:end[3])
{
SetFloor(end)
end[2] += 36.0
new point = engfunc(EngFunc_PointContents, end)
if(point == CONTENTS_EMPTY)
{
if(CheckPoints(end) && CheckDistance(end) && CheckVisibility(start, end))
{
if(!trace_hull(end, HULL_LARGE, -1))
{
return true
}
}
}
return false
}
CheckVisibility(Float:start[3], Float:end[3])
{
new tr
engfunc(EngFunc_TraceLine, start, end, IGNORE_GLASS, -1, tr)
return (get_tr2(tr, TR_pHit) < 0)
}
SetFloor(Float:start[3])
{
new tr, Float:end[3]
end[0] = start[0]
end[1] = start[1]
end[2] = -99999.9
engfunc(EngFunc_TraceLine, start, end, DONT_IGNORE_MONSTERS, -1, tr)
get_tr2(tr, TR_vecEndPos, start)
}
CheckPoints(Float:origin[3])
{
new Float:data[3], tr, point
data[0] = origin[0]
data[1] = origin[1]
data[2] = 99999.9
engfunc(EngFunc_TraceLine, origin, data, DONT_IGNORE_MONSTERS, -1, tr)
get_tr2(tr, TR_vecEndPos, data)
point = engfunc(EngFunc_PointContents, data)
if(point == CONTENTS_SKY && get_distance_f(origin, data) < 250.0)
{
return false
}
data[2] = -99999.9
engfunc(EngFunc_TraceLine, origin, data, DONT_IGNORE_MONSTERS, -1, tr)
get_tr2(tr, TR_vecEndPos, data)
point = engfunc(EngFunc_PointContents, data)
if(point < CONTENTS_SOLID)
return false
return true
}
CheckDistance(Float:origin[3])
{
new Float:dist, Float:data[3]
new count = ArraySize(g_vecSsSpawns)
for(new i = 0; i < count; i++)
{
ArrayGetArray(g_vecSsSpawns, i, data)
dist = get_distance_f(origin, data)
if(dist < SS_MIN_DISTANCE)
return false
}
count = ArraySize(g_vecSsOrigins)
for(new i = 0; i < count; i++)
{
ArrayGetArray(g_vecSsOrigins, i, data)
dist = get_distance_f(origin, data)
if(dist < SS_MIN_DISTANCE)
return false
}
return true
}
Pentru pluginuri complicate le fac cu $$ pe paypal/psc. PM
0
0
Back to top
Codrin Bradea
[Mentally Stable]
Status: Offline
(since 30-03-2015 15:58)
Joined: 01 Sep 2014
Posts: 63
,
Topics: 30
Location:
Oradea
Reputation:
-84.9
Votes
: 6
Posted: 29-11-2014, 13:00:23
| Translate post to:
... (
Click for more languages
)
asta sunt cadouri random pe mapa
Eu vroiam cand omori pe cineva sa cada un codou unde a murit el daca ma intelegi
0
0
Back to top
-P!C@-
[Simply Normal]
Status: Offline
(since 21-04-2022 19:07)
Joined: 28 May 2012
Posts: 21086
,
Topics: 1601
Location:
Constanta
Reputation:
1870.3
Votes
: 781
Posted: 29-11-2014, 14:17:13
| Translate post to:
... (
Click for more languages
)
Ti-am pus un plugin care iti lasa cadouri pe harta, nu cand moare cineva:
http://www8.zippyshare.com/v/32602196/file.html
Cvar: presents_on_map 11,15,20 etc -pentru numarul de cadouri care sunt pe harta.
0
0
Back to top
Topic locked
Topic is closed, you cannot post any messages in it anymore
Locked by
EDUTz
, 09 December 2014 10:28
Freakz Forum Index
->
Trash Bin
->
CS 2006-2019 (Archived)
->
Plugins - Help / Support
The time now is 28-07-2025, 16:43:56
Copyright info
Based on phpBB
ro
/
com
B
Login
I forgot my password
World of Warcraft
Login for more...
Download WoW 7.3.5
Misc
eSports
Achievements
Buy reputation with votes
Reputation trades
Forum rules
Ban list
Members list
User guide (FAQ)
World of Warcraft
View details