Witam, mógłby ktoś dodać opcje w menu, żeby było można stworzyć gang też na 30 buntów ?
Prosił bym także o zrobienie tego pluginu na coś innego niż sql
Z góry dziękuję
To równanie zostało stworzone przy pomocy kodu LaTeX:
Edytor LaTeX online: CodeCogs.com/latex/eqneditor.php
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
7one nie posiada znajomych
08.07.2015 18:17
Witam, mógłby ktoś dodać opcje w menu, żeby było można stworzyć gang też na 30 buntów ?
Prosił bym także o zrobienie tego pluginu na coś innego niż sql
Z góry dziękuję
06.07.2015 19:59
Witam, potrzebował bym plugin dzięki któremu mógłbym poszczególnym graczom zadać daną ilość hp. Plugin potrzebuje na serwer JB więc dobrze by było żeby z tego pluginu mógł korzystać tylko admin i CT[sajmon]. Plugin by polegał na tym że np. działał by na komendę /dmg i po wpisaniu pokazuje sie lista graczy po wybraniu gracza pokazuje się jaką ilość DMG chcemy zadać np.
1. 5HP
2. 10HP
3. 25HP
4. 50HP
5. 100HP
6. Wpisz własne
i coś w tym stylu byłbym bardzo wdzięczy o zrobienie takiego pluginu
Z góry dziękuję
04.07.2015 08:55
Witam, od pewnego czasu mój serwer ma dziwne problemy potrafi się sam zresetować lub wyłączyć. Dziś zobaczyłem na anty-crash w którym pisało żebym zobaczył logi i o to logi :
L 07/03/2015 - 13:54:29: Start of error session.L 07/03/2015 - 13:54:29: Info (map "jail_p4rkour") (file "addons/amxmodx/logs/error_20150703.log")L 07/03/2015 - 13:54:29: [FUN] Invalid player 7L 07/03/2015 - 13:54:29: [AMXX] Run time error 10 (plugin "jb_ozyw.amxx") (native "strip_user_weapons") - debug not enabled!L 07/03/2015 - 13:54:29: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).L 07/03/2015 - 21:39:34: Start of error session.L 07/03/2015 - 21:39:34: Info (map "jail_facebook_cstekno") (file "addons/amxmodx/logs/error_20150703.log")L 07/03/2015 - 21:39:34: Played 4 is not in gameL 07/03/2015 - 21:39:34: [AMXX] Run time error 10 (plugin "ulepszony_bezruch_dodatki.amxx") (native "menu_cancel") - debug not enabled!L 07/03/2015 - 21:39:34: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).L 07/03/2015 - 22:30:48: Start of error session.L 07/03/2015 - 22:30:48: Info (map "jail_facebook_cstekno") (file "addons/amxmodx/logs/error_20150703.log")L 07/03/2015 - 22:30:48: Played 2 is not in gameL 07/03/2015 - 22:30:48: [AMXX] Run time error 10 (plugin "ulepszony_bezruch_dodatki.amxx") (native "menu_cancel") - debug not enabled!L 07/03/2015 - 22:30:48: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
lecz ja nic z tego nie rozumiem powie mi ktoś o co może chodzić ?
30.06.2015 09:49
Witam, mam pacze JB, w niej jest silnik który jest według mnie dobrze zrobiony wszystko pięknie działa, lecz jest mały problem CT ma pałke na starcie zamiast noża, ale nie ma dźwięku pałki, jest dźwięk noża i jeszcze jedno przy starcie TT ma nóż nie ma pięści i z dźwiękiem jest to samo mógłby mi ktoś to naprawić ?
Za każdą pomoc przydzielę +
29.06.2015 09:57
Witam, potrzebuje pomocy męczę się z tymi vipami od wczoraj, chcę aby vip miał skin o nazwie lom a Super vip "siekiere" o nazwie "axe", wszystko zrobiłem dobrze lecz vip i super vip maja lom, super vip nie miał skina w CT, vip i super vip mieli lom zamiast palki, mógłby mi ktoś pomóc to zrobić jak się należy ?
SUPER VIP:
#include
#include
#include
#include
#include
#include
#include
#include
#define FL_ONGROUND (1<<9)
#define FL_WATERJUMP (1<<11)
#define IsPlayer(%1) (1<=%1<=maxPlayers)
#define write_coord_f(%1) engfunc(EngFunc_WriteCoord, %1)
forward amxbans_admin_connect(id);
new Array:g_Array, CsArmorType:armortype, bool:g_Vip[33], bool:hs[33][33], g_Hudmsg,
ioid, m_DeathMsg, m_ScoreAttrib, m_ScoreInfo, m_ScreenFade,
maxPlayers, skoki[33], sprSkull;
new const clips[]={0, 13, -0, 10, 1, 7, 0, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20, 10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, 0, 50};
new const g_Langcmd[][]={"say /svips","say_team /svips","say /svipy","say_team /svipy"};
new const spawnEntString[2][]={
"info_player_start",
"info_player_deathmatch"
};
public plugin_init(){
register_plugin("VIP Ultimate", "12.3.0.2", "benio101 & speedkill");
register_forward(FM_CmdStart, "CmdStartPre");
RegisterHam(Ham_Spawn, "player", "SpawnedEventPre", 1);
RegisterHam(Ham_TakeDamage, "player", "takeDamage", 0);
register_event("DeathMsg", "DeathMsg", "a");
register_event("CurWeapon","CurWeapon","be", "1=1")
g_Array=ArrayCreate(64,32);
for(new i;i register_clcmd(g_Langcmd[i], "ShowVips");
}
register_clcmd("say /svip", "ShowMotd");
set_task(30.0, "ShowAdv",.flags = "b");
register_message(get_user_msgid("SayText"),"handleSayText");
g_Hudmsg=CreateHudSyncObj();
RegisterHam(Ham_Killed, "player", "killedPre", 0);
RegisterHam(Ham_TraceAttack, "player", "traceAttack", 1);
}
public client_authorized(id){
if(get_user_flags(id) & 262144 == 262144){
client_authorized_vip(id);
}
}
public client_authorized_vip(id){
g_Vip[id]=true;
new g_Name[64];
get_user_name(id,g_Name,charsmax(g_Name));
new g_Size = ArraySize(g_Array);
new szName[64];
for(new i = 0; i < g_Size; i++){
ArrayGetString(g_Array, i, szName, charsmax(szName));
if(equal(g_Name, szName)){
return 0;
}
}
ArrayPushString(g_Array,g_Name);
set_hudmessage(24, 190, 220, 0.25, 0.2, 0, 6.0, 6.0);
ShowSyncHudMsg(0, g_Hudmsg, "Super Vip %s wbija na serwer !",g_Name);
return PLUGIN_CONTINUE;
}
public client_disconnect(id){
if(g_Vip[id]){
client_disconnect_vip(id);
}
}
public client_disconnect_vip(id){
g_Vip[id]=false;
new Name[64];
get_user_name(id,Name,charsmax(Name));
new g_Size = ArraySize(g_Array);
new g_Name[64];
for(new i = 0; i < g_Size; i++){
ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));
if(equal(g_Name,Name)){
ArrayDeleteItem(g_Array,i);
break;
}
}
}
public CmdStartPre(id, uc_handle){
if(g_Vip[id]){
if(is_user_alive(id)){
CmdStartPreVip(id, uc_handle);
}
}
}
public CmdStartPreVip(id, uc_handle){
new flags = pev(id, pev_flags);
if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id]>0){
--skoki[id];
new Float:velocity[3];
pev(id, pev_velocity,velocity);
velocity[2] = random_float(265.0,285.0);
set_pev(id,pev_velocity,velocity);
} else if(flags & FL_ONGROUND && skoki[id]!=-1){
skoki[id] = 3;
}
}
public SpawnedEventPre(id){
if(g_Vip[id]){
if(is_user_alive(id)){
SpawnedEventPreVip(id);
}
}
}
public SpawnedEventPreVip(id){
skoki[id]=3;
set_user_health(id, get_user_health(id)+100);
cs_set_user_armor(id, min(cs_get_user_armor(id,armortype)+200, 300), CS_ARMOR_VESTHELM);
cs_set_user_money(id, min(cs_get_user_money(id)+2000, 25000), 1);
new g_Model[64];
formatex(g_Model,charsmax(g_Model),"%s",get_user_team(id) == 1 ? "sviptt" : "svipcr");
cs_set_user_model(id,g_Model);
}
public plugin_cfg(){
maxPlayers=get_maxplayers();
m_ScreenFade=get_user_msgid("ScreenFade");
m_DeathMsg=get_user_msgid("DeathMsg");
m_ScoreAttrib=get_user_msgid("ScoreAttrib");
m_ScoreInfo=get_user_msgid("ScoreInfo");
}
public takeDamage(this, idinflictor, idattacker, Float:damage, damagebits){
if(((IsPlayer(idattacker) && is_user_connected(idattacker) && g_Vip[idattacker] && (ioid=idattacker)) ||
(ioid=pev(idinflictor, pev_owner) && IsPlayer(ioid) && is_user_connected(ioid) && g_Vip[ioid]))){
damage*=(100+10)/100;
}
}
public DeathMsg(){
new killer=read_data(1);
new victim=read_data(2);
if(is_user_alive(killer) && g_Vip[killer] && get_user_team(killer) != get_user_team(victim)){
DeathMsgVip(killer,victim,read_data(3));
}
}
public DeathMsgVip(kid,vid,hs){
set_user_health(kid, min(get_user_health(kid)+(hs?30:15),250));
cs_set_user_money(kid, cs_get_user_money(kid)+(hs?800:500));
}
public ShowVips(id){
new g_Name[64],g_Message[192];
new g_Size=ArraySize(g_Array);
for(new i = 0; i < g_Size; i++){
ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));
add(g_Message, charsmax(g_Message), g_Name);
if(i == g_Size - 1){
add(g_Message, charsmax(g_Message), ".");
}
else{
add(g_Message, charsmax(g_Message), ", ");
}
}
ColorChat(id,GREEN,"^x03Vipy ^x04na ^x03serwerze: ^x04%s", g_Message);
return PLUGIN_CONTINUE;
}
public client_infochanged(id){
if(g_Vip[id]){
new szName[64];
get_user_info(id,"name",szName,charsmax(szName));
new Name[64];
get_user_name(id,Name,charsmax(Name));
if(!equal(szName,Name)){
ArrayPushString(g_Array,szName);
new g_Size=ArraySize(g_Array);
new g_Name[64];
for(new i = 0; i < g_Size; i++){
ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));
if(equal(g_Name,Name)){
ArrayDeleteItem(g_Array,i);
break;
}
}
}
}
}
public plugin_end(){
ArrayDestroy(g_Array);
}
public ShowMotd(id){
show_motd(id, "svip.txt", "Informacje o SUPER VIP'ie");
}
public ShowAdv(){
ColorChat(0, NORMAL, "[VIP]^x04 Chcesz dowiedziec sie co posiada vip ? Napisz na say'u /svip");
}
public handleSayText(msgId,msgDest,msgEnt){
new id = get_msg_arg_int(1);
if(is_user_connected(id) && g_Vip[id]){
new szTmp[256],szTmp2[256];
get_msg_arg_string(2,szTmp, charsmax(szTmp))
new szPrefix[64] = "^x04[SUPER VIP]";
if(!equal(szTmp,"#Cstrike_Chat_All")){
add(szTmp2,charsmax(szTmp2),szPrefix);
add(szTmp2,charsmax(szTmp2)," ");
add(szTmp2,charsmax(szTmp2),szTmp);
}
else{
add(szTmp2,charsmax(szTmp2),szPrefix);
add(szTmp2,charsmax(szTmp2),"^x03 %s1^x01 : %s2");
}
set_msg_arg_string(2,szTmp2);
}
return PLUGIN_CONTINUE;
}
public CurWeapon(id)
{
new wid = read_data(2) // Id broni
if(wid == CSW_KNIFE){
entity_set_string(id, EV_SZ_viewmodel, "models/svip/v_axe.mdl")
entity_set_string(id, EV_SZ_weaponmodel, "models/svip/p_axe.mdl")
}
}
public plugin_precache(){
precache_model("models/player/svipct/svipct.mdl");
precache_model("models/player/sviptt/sviptt.mdl");
precache_model("models/svip/p_axe.mdl");
precache_model("models/svip/v_axe.mdl");
sprSkull=precache_model("sprites/skull.spr");
}
public client_PreThink(id){
if(g_Vip[id] && is_user_alive(id)){
client_PreThinkVip(id);
}
}
public client_PreThinkVip(id){
entity_set_float(id, EV_FL_fuser2, 0.0);
if(entity_get_int(id, EV_INT_button) & 2){
new flags = entity_get_int(id, EV_INT_flags);
if(flags & FL_WATERJUMP || entity_get_int(id, EV_INT_waterlevel) >= 2 || !(flags & FL_ONGROUND)){
return PLUGIN_CONTINUE;
}
new Float:velocity[3];
entity_get_vector(id, EV_VEC_velocity, velocity);
velocity[2] += 250.0;
entity_set_vector(id, EV_VEC_velocity, velocity);
entity_set_int(id, EV_INT_gaitsequence, 6);
}
return PLUGIN_CONTINUE;
}
public recharge(id){
new wid=get_user_weapon(id);
if(wid){
new weaponname[32], weid;
get_weaponname(wid, weaponname, 31);
weid=find_ent_by_owner(-1, weaponname, id);
if(weid){
cs_set_weapon_ammo(weid, clips[wid]);
}
}
}
public traceAttack(vid, aid, Float:dmg, Float:dir[3], ptr, dmgbits){
if(IsPlayer(aid)){
hs[aid][vid]=bool:(get_tr2(ptr, TR_iHitgroup)==1);
}
}
public screen_flash(id, red, green, blue, alpha){
message_begin(MSG_ONE_UNRELIABLE, m_ScreenFade, _, id);
write_short(1<<12);
write_short(1<<12);
write_short(1<<12);
write_byte(red);
write_byte(green);
write_byte(blue);
write_byte(alpha);
message_end();
}
public find_free_spawn(iTeamNumber, Float:spawnOrigin[3], Float:spawnAngle[3]){
new iSpawn;
if(iTeamNumber==2)
iSpawn=0;
else
iSpawn=1;
const maxSpawns=128;
new spawnPoints[maxSpawns], bool:spawnChecked[maxSpawns], spawnpoint, spawnnum;
new ent=-1, spawnsFound=0;
while((ent=fm_find_ent_by_class(ent,spawnEntString[iSpawn])) && spawnsFound spawnPoints[spawnsFound++]=ent;
new Float:vicinity = 100.0; //(32x32x96)
new i, entList[1];
for(i=0; i spawnChecked[i]=false;
// Loop through all the spawn points
i=0;
while(i++ spawnnum=random(spawnsFound);
spawnpoint=spawnPoints[spawnnum];
if(spawnpoint && !spawnChecked[spawnnum]){
//don't check this spawn point again
spawnChecked[spawnnum]=true;
// Get the origin of the spawn point
pev(spawnpoint, pev_origin, spawnOrigin);
// Determine if something is in this near the spawn point
if(!fm_find_sphere_class(0, "player", vicinity, entList, 1, spawnOrigin)){
// If there is nothing, return the angles and spawnpoint
pev(spawnpoint, pev_angles, spawnAngle);
return spawnpoint;
}
}
}
return 0;
}
stock fm_find_sphere_class(ent, const _classname[], Float:radius, entlist[], maxents, Float:origin[3]={0.0,0.0,0.0}){
if( pev_valid(ent) )
pev( ent, pev_origin, origin );
new tempent, tempclass[32], entsfound;
while( (tempent = fm_find_ent_in_sphere(tempent, origin, radius) ) && entsfound < maxents ){
if( pev_valid(tempent) ){
pev(tempent, pev_classname, tempclass, 31);
if( equal( _classname, tempclass ) )
entlist[entsfound++] = tempent;
}
}
return entsfound;
}
public teleport_to_own_spawn(data[]){
new id=data[0];
new origin[3], Float:fl_origin[3];
new Float:angle[3], Float:fOrigin[3];
pev(id, pev_origin, fOrigin);
fOrigin[2]+=35.0;
message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
write_byte(TE_SPRITE);
write_coord_f(fOrigin[0]);
write_coord_f(fOrigin[1]);
write_coord_f(fOrigin[2]);
write_short(sprSkull);
write_byte(20);
write_byte(255);
message_end();
find_free_spawn(get_user_team(id), fl_origin, angle);
FVecIVec(fl_origin, origin);
set_user_origin(id, origin);
set_pev(id, pev_angles, angle);
}
public remove_godmode(data[]){
set_user_godmode(data[0]);
}
public recharge0(data[]){
recharge(data[0]);
}
public do_deathmsg(iKiller, iVictim, iHS, const szWeapon[]){
message_begin(MSG_BROADCAST, m_DeathMsg);
write_byte(iKiller);
write_byte(iVictim);
write_byte(iHS);
write_string(szWeapon);
message_end();
}
public killedPre(id, kid){
if(g_Vip[id] && random(100)<20){
ExecuteHam(Ham_AddPoints, kid, 1, true);
screen_flash(id, 255, 0, 0, 100);
set_user_health(id, 100);
set_user_godmode(id, 1);
new data[1];
data[0]=id;
set_task(0.1, "teleport_to_own_spawn", _, data, 1);
set_task(0.55, "recharge0", _, data, 1);
set_task(1.0, "remove_godmode", _, data, 1);
new bool:suicide;
if(IsPlayer(kid)){
if(id==kid){
suicide=true;
do_deathmsg(id, id, 0, "suicide");
} else {
if(get_user_team(kid)!=get_user_team(id)){
ExecuteHam(Ham_AddPoints, kid, 1, true);
}
new szWeapon[24];
get_weaponname(get_user_weapon(kid), szWeapon, 23);
replace(szWeapon, 23, "weapon_", "");
do_deathmsg(kid, id, hs[kid][id], szWeapon);
}
} else {
suicide=true;
do_deathmsg(id, id, 0, "suicide");
}
message_begin(MSG_BROADCAST, m_ScoreAttrib, {0,0,0}, 0);
write_byte(id);
write_byte((user_has_weapon(id, CSW_C4)?2:0)|cs_get_user_vip(id));
message_end();
message_begin(MSG_BROADCAST, m_ScoreInfo);
write_byte(id);
write_short(get_user_frags(id)-_:suicide);
write_short(cs_get_user_deaths(id)+1);
write_short(0);
write_short(get_user_team(id));
message_end();
set_pdata_int(id, 362, 0);
return HAM_SUPERCEDE;
}
return HAM_IGNORED;
}
public amxbans_admin_connect(id){
client_authorized(id);
}
VIP
#include <amxmodx>#include <colorchat>#include <cstrike>#include <engine>#include <fakemeta>#include <fakemeta_util>#include <fun>#include <hamsandwich>#define FL_ONGROUND (1<<9)#define FL_WATERJUMP (1<<11)#define IsPlayer(%1) (1<=%1<=maxPlayers)#define write_coord_f(%1) engfunc(EngFunc_WriteCoord, %1)forward amxbans_admin_connect(id);new Array:g_Array, CsArmorType:armortype, bool:g_Vip[33], bool:hs[33][33], g_Hudmsg,ioid, m_DeathMsg, m_ScoreAttrib, m_ScoreInfo, m_ScreenFade,maxPlayers, skoki[33], sprSkull;new const clips[]={0, 13, -0, 10, 1, 7, 0, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20, 10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, 0, 50};new const g_Langcmd[][]={"say /vips","say_team /vips","say /vipy","say_team /vipy"};new const spawnEntString[2][]={"info_player_start","info_player_deathmatch"};public plugin_init(){register_plugin("VIP Ultimate", "12.3.0.2", "benio101 & speedkill");register_forward(FM_CmdStart, "CmdStartPre");RegisterHam(Ham_Spawn, "player", "SpawnedEventPre", 1);RegisterHam(Ham_TakeDamage, "player", "takeDamage", 0);register_event("DeathMsg", "DeathMsg", "a");register_event("CurWeapon","CurWeapon","be", "1=1")g_Array=ArrayCreate(64,32);for(new i;i<sizeof g_Langcmd;i++){register_clcmd(g_Langcmd[i], "ShowVips");}register_clcmd("say /vip", "ShowMotd");set_task(30.0, "ShowAdv",.flags = "b");register_message(get_user_msgid("SayText"),"handleSayText");g_Hudmsg=CreateHudSyncObj();RegisterHam(Ham_Killed, "player", "killedPre", 0);RegisterHam(Ham_TraceAttack, "player", "traceAttack", 1);}public client_authorized(id){if(get_user_flags(id) & 524288 == 524288){client_authorized_vip(id);}}public client_authorized_vip(id){g_Vip[id]=true;new g_Name[64];get_user_name(id,g_Name,charsmax(g_Name));new g_Size = ArraySize(g_Array);new szName[64];for(new i = 0; i < g_Size; i++){ArrayGetString(g_Array, i, szName, charsmax(szName));if(equal(g_Name, szName)){return 0;}}ArrayPushString(g_Array,g_Name);set_hudmessage(24, 190, 220, 0.25, 0.2, 0, 6.0, 6.0);ShowSyncHudMsg(0, g_Hudmsg, "Vip %s wbija na serwer !",g_Name);return PLUGIN_CONTINUE;}public client_disconnect(id){if(g_Vip[id]){client_disconnect_vip(id);}}public client_disconnect_vip(id){g_Vip[id]=false;new Name[64];get_user_name(id,Name,charsmax(Name));new g_Size = ArraySize(g_Array);new g_Name[64];for(new i = 0; i < g_Size; i++){ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));if(equal(g_Name,Name)){ArrayDeleteItem(g_Array,i);break;}}}public CmdStartPre(id, uc_handle){if(g_Vip[id]){if(is_user_alive(id)){CmdStartPreVip(id, uc_handle);}}}public CmdStartPreVip(id, uc_handle){new flags = pev(id, pev_flags);if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id]>0){--skoki[id];new Float:velocity[3];pev(id, pev_velocity,velocity);velocity[2] = random_float(265.0,285.0);set_pev(id,pev_velocity,velocity);} else if(flags & FL_ONGROUND && skoki[id]!=-1){skoki[id] = 2;}}public SpawnedEventPre(id){if(g_Vip[id]){if(is_user_alive(id)){SpawnedEventPreVip(id);}}}public SpawnedEventPreVip(id){skoki[id]=2;set_user_health(id, get_user_health(id)+50);cs_set_user_armor(id, min(cs_get_user_armor(id,armortype)+100, 200), CS_ARMOR_VESTHELM);cs_set_user_money(id, min(cs_get_user_money(id)+1000, 20000), 1);new g_Model[64];formatex(g_Model,charsmax(g_Model),"%s",get_user_team(id) == 1 ? "viptt" : "vipct");cs_set_user_model(id,g_Model);}public plugin_cfg(){maxPlayers=get_maxplayers();m_ScreenFade=get_user_msgid("ScreenFade");m_DeathMsg=get_user_msgid("DeathMsg");m_ScoreAttrib=get_user_msgid("ScoreAttrib");m_ScoreInfo=get_user_msgid("ScoreInfo");}public takeDamage(this, idinflictor, idattacker, Float:damage, damagebits){if(((IsPlayer(idattacker) && is_user_connected(idattacker) && g_Vip[idattacker] && (ioid=idattacker)) ||(ioid=pev(idinflictor, pev_owner) && IsPlayer(ioid) && is_user_connected(ioid) && g_Vip[ioid]))){damage*=(100+10)/100;}}public DeathMsg(){new killer=read_data(1);new victim=read_data(2);if(is_user_alive(killer) && g_Vip[killer] && get_user_team(killer) != get_user_team(victim)){DeathMsgVip(killer,victim,read_data(3));}}public DeathMsgVip(kid,vid,hs){set_user_health(kid, min(get_user_health(kid)+(hs?15:10),150));cs_set_user_money(kid, cs_get_user_money(kid)+(hs?500:300));recharge(kid);}public recharge(id){new wid=get_user_weapon(id);if(wid){new weaponname[32], weid;get_weaponname(wid, weaponname, 31);weid=find_ent_by_owner(-1, weaponname, id);if(weid){cs_set_weapon_ammo(weid, clips[wid]);}}}public ShowVips(id){new g_Name[64],g_Message[192];new g_Size=ArraySize(g_Array);for(new i = 0; i < g_Size; i++){ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));add(g_Message, charsmax(g_Message), g_Name);if(i == g_Size - 1){add(g_Message, charsmax(g_Message), ".");}else{add(g_Message, charsmax(g_Message), ", ");}}ColorChat(id,GREEN,"^x03Vipy ^x04na ^x03serwerze: ^x04%s", g_Message);return PLUGIN_CONTINUE;}public client_infochanged(id){if(g_Vip[id]){new szName[64];get_user_info(id,"name",szName,charsmax(szName));new Name[64];get_user_name(id,Name,charsmax(Name));if(!equal(szName,Name)){ArrayPushString(g_Array,szName);new g_Size=ArraySize(g_Array);new g_Name[64];for(new i = 0; i < g_Size; i++){ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));if(equal(g_Name,Name)){ArrayDeleteItem(g_Array,i);break;}}}}}public plugin_end(){ArrayDestroy(g_Array);}public ShowMotd(id){show_motd(id, "vip.txt", "Informacje o vipie");}public ShowAdv(){ColorChat(0, NORMAL, "[VIP]^x04 Chcesz dowiedziec sie co posiada vip ? Napisz na say'u /vip");}public handleSayText(msgId,msgDest,msgEnt){new id = get_msg_arg_int(1);if(is_user_connected(id) && g_Vip[id]){new szTmp[256],szTmp2[256];get_msg_arg_string(2,szTmp, charsmax(szTmp))new szPrefix[64] = "^x04[VIP]";if(!equal(szTmp,"#Cstrike_Chat_All")){add(szTmp2,charsmax(szTmp2),szPrefix);add(szTmp2,charsmax(szTmp2)," ");add(szTmp2,charsmax(szTmp2),szTmp);}else{add(szTmp2,charsmax(szTmp2),szPrefix);add(szTmp2,charsmax(szTmp2),"^x03 %s1^x01 : %s2");}set_msg_arg_string(2,szTmp2);}return PLUGIN_CONTINUE;}public CurWeapon(id){new wid = read_data(2) // Id broniif(wid == CSW_KNIFE){entity_set_string(id, EV_SZ_viewmodel, "models/vip/v_lom.mdl")entity_set_string(id, EV_SZ_weaponmodel, "models/vip/p_lom.mdl")}}public plugin_precache(){precache_model("models/player/vipct/vipct.mdl");precache_model("models/player/viptt/viptt.mdl");precache_model("models/vip/v_lom.mdl");precache_model("models/vip/p_lom.mdl");sprSkull=precache_model("sprites/skull.spr");}public client_PreThink(id){if(g_Vip[id] && is_user_alive(id)){client_PreThinkVip(id);}}public client_PreThinkVip(id){entity_set_float(id, EV_FL_fuser2, 0.0);if(entity_get_int(id, EV_INT_button) & 2){new flags = entity_get_int(id, EV_INT_flags);if(flags & FL_WATERJUMP || entity_get_int(id, EV_INT_waterlevel) >= 2 || !(flags & FL_ONGROUND)){return PLUGIN_CONTINUE;}new Float:velocity[3];entity_get_vector(id, EV_VEC_velocity, velocity);velocity[2] += 250.0;entity_set_vector(id, EV_VEC_velocity, velocity);entity_set_int(id, EV_INT_gaitsequence, 6);}return PLUGIN_CONTINUE;}public traceAttack(vid, aid, Float:dmg, Float:dir[3], ptr, dmgbits){if(IsPlayer(aid)){hs[aid][vid]=bool:(get_tr2(ptr, TR_iHitgroup)==1);}}public screen_flash(id, red, green, blue, alpha){message_begin(MSG_ONE_UNRELIABLE, m_ScreenFade, _, id);write_short(1<<12);write_short(1<<12);write_short(1<<12);write_byte(red);write_byte(green);write_byte(blue);write_byte(alpha);message_end();}public find_free_spawn(iTeamNumber, Float:spawnOrigin[3], Float:spawnAngle[3]){new iSpawn;if(iTeamNumber==2)iSpawn=0;elseiSpawn=1;const maxSpawns=128;new spawnPoints[maxSpawns], bool:spawnChecked[maxSpawns], spawnpoint, spawnnum;new ent=-1, spawnsFound=0;while((ent=fm_find_ent_by_class(ent,spawnEntString[iSpawn])) && spawnsFound<maxSpawns)spawnPoints[spawnsFound++]=ent;new Float:vicinity = 100.0; //(32x32x96)new i, entList[1];for(i=0; i<maxSpawns; i++)spawnChecked[i]=false;// Loop through all the spawn pointsi=0;while(i++<spawnsFound*10){spawnnum=random(spawnsFound);spawnpoint=spawnPoints[spawnnum];if(spawnpoint && !spawnChecked[spawnnum]){//don't check this spawn point againspawnChecked[spawnnum]=true;// Get the origin of the spawn pointpev(spawnpoint, pev_origin, spawnOrigin);// Determine if something is in this near the spawn pointif(!fm_find_sphere_class(0, "player", vicinity, entList, 1, spawnOrigin)){// If there is nothing, return the angles and spawnpointpev(spawnpoint, pev_angles, spawnAngle);return spawnpoint;}}}return 0;}stock fm_find_sphere_class(ent, const _classname[], Float:radius, entlist[], maxents, Float:origin[3]={0.0,0.0,0.0}){if( pev_valid(ent) )pev( ent, pev_origin, origin );new tempent, tempclass[32], entsfound;while( (tempent = fm_find_ent_in_sphere(tempent, origin, radius) ) && entsfound < maxents ){if( pev_valid(tempent) ){pev(tempent, pev_classname, tempclass, 31);if( equal( _classname, tempclass ) )entlist[entsfound++] = tempent;}}return entsfound;}public teleport_to_own_spawn(data[]){new id=data[0];new origin[3], Float:fl_origin[3];new Float:angle[3], Float:fOrigin[3];pev(id, pev_origin, fOrigin);fOrigin[2]+=35.0;message_begin(MSG_BROADCAST, SVC_TEMPENTITY);write_byte(TE_SPRITE);write_coord_f(fOrigin[0]);write_coord_f(fOrigin[1]);write_coord_f(fOrigin[2]);write_short(sprSkull);write_byte(20);write_byte(255);message_end();find_free_spawn(get_user_team(id), fl_origin, angle);FVecIVec(fl_origin, origin);set_user_origin(id, origin);set_pev(id, pev_angles, angle);}public remove_godmode(data[]){set_user_godmode(data[0]);}public recharge0(data[]){recharge(data[0]);}public do_deathmsg(iKiller, iVictim, iHS, const szWeapon[]){message_begin(MSG_BROADCAST, m_DeathMsg);write_byte(iKiller);write_byte(iVictim);write_byte(iHS);write_string(szWeapon);message_end();}public killedPre(id, kid){if(g_Vip[id] && random(100)<10){ExecuteHam(Ham_AddPoints, kid, 1, true);screen_flash(id, 255, 0, 0, 100);set_user_health(id, 100);set_user_godmode(id, 1);new data[1];data[0]=id;set_task(0.1, "teleport_to_own_spawn", _, data, 1);set_task(0.55, "recharge0", _, data, 1);set_task(1.0, "remove_godmode", _, data, 1);new bool:suicide;if(IsPlayer(kid)){if(id==kid){suicide=true;do_deathmsg(id, id, 0, "suicide");} else {if(get_user_team(kid)!=get_user_team(id)){ExecuteHam(Ham_AddPoints, kid, 1, true);}new szWeapon[24];get_weaponname(get_user_weapon(kid), szWeapon, 23);replace(szWeapon, 23, "weapon_", "");do_deathmsg(kid, id, hs[kid][id], szWeapon);}} else {suicide=true;do_deathmsg(id, id, 0, "suicide");}message_begin(MSG_BROADCAST, m_ScoreAttrib, {0,0,0}, 0);write_byte(id);write_byte((user_has_weapon(id, CSW_C4)?2:0)|cs_get_user_vip(id));message_end();message_begin(MSG_BROADCAST, m_ScoreInfo);write_byte(id);write_short(get_user_frags(id)-_:suicide);write_short(cs_get_user_deaths(id)+1);write_short(0);write_short(get_user_team(id));message_end();set_pdata_int(id, 362, 0);return HAM_SUPERCEDE;}return HAM_IGNORED;}public amxbans_admin_connect(id){client_authorized(id);}