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

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

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

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

Помогите подправить плагин piss

zlou
сообщение 16.4.2015, 14:16
Сообщение #1
Стаж: 11 лет

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

1. Как изменять текст (не могу найди текста)
2. Как изменить цвет текста когда сыл (с примером)
Скрытый текст
CODE
#include <amxmodx>
#if !defined NO_CS_CZ
#include <fun>
#endif
#include <engine>


new piss_model
new piss_sprite
new water_splash
new count_piss[33]
new count_puddle[33]
new bool:PissFlag[33]
new bool:aim[33]
new Float:aim_origin[33][3]
#if !defined NO_CS_CZ
new player_origins[33][3]
new mod_name[32]
#endif

public piss_on_player(id)
{

if (get_cvar_num("amx_maxpees")==0)
return PLUGIN_HANDLED
if (!is_user_alive(id))
return PLUGIN_HANDLED
if ( (get_cvar_num("amx_piss_admin")==1) && !(get_user_flags(id) & ADMIN_RESERVATION) )
{
console_print(id, "[MastaMan] Y BAC HET goCTyna.")
return PLUGIN_HANDLED
}
if(PissFlag[id])
return PLUGIN_HANDLED

#if !defined NO_CS_CZ
new player_origin[3], players[32], inum=0, dist, last_dist=99999, last_id

get_user_origin(id,player_origin,0)
get_players(players,inum,"b")
if (inum>0) {
for (new i=0;i<inum;i++) {
if (players[i]!=id) {
dist = get_distance(player_origin,player_origins[players[i]])
if (dist<last_dist) {
last_id = players[i]
last_dist = dist
}
}
}
if (last_dist<80) {
#endif
if (count_piss[id] > get_cvar_num("amx_maxpees")) {
client_print(id,print_chat,"Вы не можете ссать на игрока %d только %s раз за раунд !", get_cvar_num("amx_maxpees"), (get_cvar_num("amx_maxpees")>1) ? "s" : "")
return PLUGIN_CONTINUE
}
new player_name[32]
get_user_name(id, player_name, 31)
#if !defined NO_CS_CZ
new dead_name[32]
get_user_name(last_id, dead_name, 31)
client_print(0,print_chat,"%s поссал на труп %s's Гы Гы Гы !!", player_name, dead_name)
#else
client_print(0,print_chat,"%s ссыт !!", player_name)
#endif
count_piss[id]+=1
count_puddle[id]=1
new ids[1]
ids[0]=id
PissFlag[id]=true
aim[id]=false
#if !defined NO_CS_CZ
if( (equali(mod_name,"cstrike")) || (equali(mod_name,"czero")) )
{
client_cmd(id, "weapon_knife")
set_user_maxspeed(id, -1.0)
}
#endif
emit_sound(id,CHAN_VOICE,"piss/pissing.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
switch(get_cvar_num("amx_piss_effect"))
{
case 0: set_task(0.2,"make_pee",1481+id,ids,1,"a",48)
case 1: set_task(0.1,"make_pee",1481+id,ids,1,"a",102)
default: set_task(0.2,"make_pee",1481+id,ids,1,"a",48)
}
set_task(2.2,"place_puddle",3424+id,ids,1,"a",4)
#if !defined NO_CS_CZ
set_task(12.0,"weapons_back",6794+id,ids,1)
}
else
{
client_print(id,print_chat,"Возле вас нет трупов.")
return PLUGIN_HANDLED
}
}
#endif
return PLUGIN_HANDLED
}

public sqrt(num)
{
new div = num
new result = 1
while (div > result) {
div = (div + result) / 2
result = num / div
}
return div
}

public make_pee(ids[])
{
new id=ids[0]
new vec[3]
new aimvec[3]
new velocityvec[3]
new length
get_user_origin(id,vec)
get_user_origin(id,aimvec,3)
new distance = get_distance(vec,aimvec)
new speed = floatround(distance*1.9)

velocityvec[0]=aimvec[0]-vec[0]
velocityvec[1]=aimvec[1]-vec[1]
velocityvec[2]=aimvec[2]-vec[2]

length=sqrt(velocityvec[0]*velocityvec[0]+velocityvec[1]*velocityvec[1]+velocity
vec[2]*velocityvec[2])

velocityvec[0]=velocityvec[0]*speed/length
velocityvec[1]=velocityvec[1]*speed/length
velocityvec[2]=velocityvec[2]*speed/length

switch(get_cvar_num("amx_piss_effect"))
{
case 0:
{
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(101)
write_coord(vec[0])
write_coord(vec[1])
write_coord(vec[2])
write_coord(velocityvec[0])
write_coord(velocityvec[1])
write_coord(velocityvec[2])
write_byte(102) // color
write_byte(160) // speed
message_end()
}
case 1:
{
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(106)
write_coord(vec[0])
write_coord(vec[1])
write_coord(vec[2])
write_coord(velocityvec[0])
write_coord(velocityvec[1])
write_coord(velocityvec[2]+100)
write_angle (0)
write_short (piss_model)
write_byte (0)
write_byte (255)
message_end()

message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte (1)
write_short (id)
write_coord(aimvec[0])
write_coord(aimvec[1])
write_coord(aimvec[2])
write_short(piss_sprite)
write_byte( 1 ) // framestart
write_byte( 6 ) // framerate
write_byte( 1 ) // life
write_byte( 8 ) // width
write_byte( 0 ) // noise
write_byte( 255 ) // r, g, b
write_byte( 255 ) // r, g, b
write_byte( 0 ) // r, g, b
write_byte( 200 ) // brightness
write_byte( 10 ) // speed
message_end()

message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(17)
write_coord(aimvec[0])
write_coord(aimvec[1])
write_coord(aimvec[2])
write_short(water_splash)
write_byte(16)
write_byte(18)
message_end()

}
default:
{
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(101)
write_coord(vec[0])
write_coord(vec[1])
write_coord(vec[2])
write_coord(velocityvec[0])
write_coord(velocityvec[1])
write_coord(velocityvec[2])
write_byte(102) // color
write_byte(160) // speed
message_end()
}
}
}

public place_puddle(ids[])
{
new id=ids[0]
if(!aim[id])
{
new origin[3]
get_user_origin(id,origin,3)
aim_origin[id][0]=float(origin[0])
aim_origin[id][1]=float(origin[1])
aim_origin[id][2]=float(origin[2])
}

new puddle_entity
puddle_entity = create_entity("info_target")

if(puddle_entity == 0) {
return PLUGIN_HANDLED_MAIN
}

new Float:MinBox[3]
new Float:MaxBox[3]

MinBox[0] = -1.0
MinBox[1] = -1.0
MinBox[2] = -1.0
MaxBox[0] = 1.0
MaxBox[1] = 1.0
MaxBox[2] = 1.0

entity_set_vector(puddle_entity, EV_VEC_mins, MinBox)
entity_set_vector(puddle_entity, EV_VEC_maxs, MaxBox)

switch(count_puddle[id])
{
case 1:
{
entity_set_string(puddle_entity, EV_SZ_classname, "piss_puddle1")
entity_set_model(puddle_entity, "models/piss/piss_puddle1.mdl")
}
case 2:
{
entity_set_string(puddle_entity, EV_SZ_classname, "piss_puddle2")
entity_set_model(puddle_entity, "models/piss/piss_puddle2.mdl")
}
case 3:
{
entity_set_string(puddle_entity, EV_SZ_classname, "piss_puddle3")
entity_set_model(puddle_entity, "models/piss/piss_puddle3.mdl")
}
case 4:
{
entity_set_string(puddle_entity, EV_SZ_classname, "piss_puddle4")
entity_set_model(puddle_entity, "models/piss/piss_puddle4.mdl")
}
case 5:
{
entity_set_string(puddle_entity, EV_SZ_classname, "piss_puddle5")
entity_set_model(puddle_entity, "models/piss/piss_puddle5.mdl")
#if defined NO_CS_CZ
PissFlag[id]=false
#endif
}
default: {}
}

entity_set_origin(puddle_entity, aim_origin[id])
entity_set_int(puddle_entity, EV_INT_solid, 3)
entity_set_int(puddle_entity, EV_INT_movetype, 6)
entity_set_edict(puddle_entity, EV_ENT_owner, id)

count_puddle[id]+=1
aim[id]=true

return PLUGIN_CONTINUE
}

public death_event()
{
new victim = read_data(2)
#if !defined NO_CS_CZ
get_user_origin(victim,player_origins[victim],0)
if( (equali(mod_name,"cstrike")) || (equali(mod_name,"czero")) )
set_user_maxspeed(victim, 250.0)
#endif

if(PissFlag[victim])
reset_piss(victim)

return PLUGIN_CONTINUE
}

#if !defined NO_CS_CZ
public weapons_back(ids[])
{
PissFlag[ids[0]]=false
if( (equali(mod_name,"cstrike")) || (equali(mod_name,"czero")) )
{
set_user_maxspeed(ids[0], 250.0)
}
}

public cur_weapon(id)
{
if(PissFlag[id])
{
if( (equali(mod_name,"cstrike")) || (equali(mod_name,"czero")) )
{
client_cmd(id, "weapon_knife")
set_user_maxspeed(id, -1.0)
}
}

return PLUGIN_CONTINUE
}
#endif

public reset_piss(id)
{
if(task_exists(1481+id))
remove_task(1481+id)
if(task_exists(3424+id))
remove_task(3424+id)
#if !defined NO_CS_CZ
if(task_exists(6794+id))
remove_task(6794+id)
#endif
emit_sound(id,CHAN_VOICE,"piss/pissing.wav", 0.0, ATTN_NORM, 0, PITCH_NORM)
PissFlag[id]=false

return PLUGIN_CONTINUE
}

public reset_hud(id)
{
if(task_exists(1481+id))
remove_task(1481+id)
if(task_exists(3424+id))
remove_task(3424+id)
#if !defined NO_CS_CZ
if(task_exists(6794+id))
remove_task(6794+id)
#endif
emit_sound(id,CHAN_VOICE,"piss/pissing.wav", 0.0, ATTN_NORM, 0, PITCH_NORM)
PissFlag[id]=false

new iCurrent

for (new i=1 ; i<count_piss[id] ; i++)
{
iCurrent = find_ent_by_class(-1, "piss_puddle1")
if(iCurrent != -1)
remove_entity(iCurrent)
iCurrent = find_ent_by_class(-1, "piss_puddle2")
if(iCurrent != -1)
remove_entity(iCurrent)
iCurrent = find_ent_by_class(-1, "piss_puddle3")
if(iCurrent != -1)
remove_entity(iCurrent)
iCurrent = find_ent_by_class(-1, "piss_puddle4")
if(iCurrent != -1)
remove_entity(iCurrent)
iCurrent = find_ent_by_class(-1, "piss_puddle5")
if(iCurrent != -1)
remove_entity(iCurrent)
}
count_piss[id]=1

return PLUGIN_CONTINUE
}

public piss_help(id)
{
client_print(id, print_chat, "Что бы поссать на труп забиндите : piss")
client_print(id, print_chat, "Откройте консоль и напишите: bind ^"key^" ^"piss^"")
client_print(id, print_chat, "Пример: bind ^"x^" ^"piss^"")

return PLUGIN_CONTINUE
}

public handle_say(id)
{
new said[192]
read_args(said,192)
remove_quotes(said)

if( (containi(said, "piss") != -1) && !(containi(said, "/piss") != -1) ) {
client_print(id, print_chat, "[AMXX] For Piss help say /piss")
}

return PLUGIN_CONTINUE
}

public plugin_precache()
{
if (file_exists("sound/piss/pissing.wav"))
precache_sound( "piss/pissing.wav")
if (file_exists("models/piss/piss_puddle1.mdl"))
precache_model("models/piss/piss_puddle1.mdl")
if (file_exists("models/piss/piss_puddle2.mdl"))
precache_model("models/piss/piss_puddle2.mdl")
if (file_exists("models/piss/piss_puddle3.mdl"))
precache_model("models/piss/piss_puddle3.mdl")
if (file_exists("models/piss/piss_puddle4.mdl"))
precache_model("models/piss/piss_puddle4.mdl")
if (file_exists("models/piss/piss_puddle5.mdl"))
precache_model("models/piss/piss_puddle5.mdl")
if (file_exists("models/piss/piss.mdl"))
piss_model = precache_model("models/piss/piss.mdl")
piss_sprite = precache_model("sprites/plasma.spr")
water_splash = precache_model("sprites/wsplash3.spr")

return PLUGIN_CONTINUE
}

public client_connect(id)
{
#if !defined NO_CS_CZ
if( (equali(mod_name,"cstrike")) || (equali(mod_name,"czero")) )
set_user_maxspeed(id, 250.0)
#endif
PissFlag[id]=false
count_piss[id]=1

return PLUGIN_CONTINUE
}

public client_disconnect(id)
{
#if !defined NO_CS_CZ
if( (equali(mod_name,"cstrike")) || (equali(mod_name,"czero")) )
set_user_maxspeed(id, 250.0)
#endif
reset_hud(id)

return PLUGIN_CONTINUE
}

public plugin_init()
{
register_plugin("AMXX Piss","2.0","KRoTaL")
register_clcmd("piss","piss_on_player",0,"- Поссать на мертвого игрока")
register_clcmd("say /piss","piss_help",0,"- Показать помощь")
register_clcmd("say","handle_say")
register_cvar("amx_maxpees","6")
register_cvar("amx_piss_admin","0")
register_cvar("amx_piss_effect","1")
register_event("DeathMsg","death_event","a")
register_event("ResetHUD", "reset_hud", "be")
#if !defined NO_CS_CZ
register_event("CurWeapon","cur_weapon","be","1=1")
get_modname(mod_name,31)
#endif

return PLUGIN_CONTINUE
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Fullserver
сообщение 16.4.2015, 14:25
Сообщение #2


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

Стаж: 11 лет

Сообщений: 5122
Благодарностей: 2100
Полезность: 1394

Ищите print_chat
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
zlou
сообщение 16.4.2015, 14:26
Сообщение #3
Стаж: 11 лет

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

я не знаю этот играть
Цитата
client_print(id, print_chat, "Что бы поссать на труп забиндите : piss")
client_print(id, print_chat, "Откройте консоль и напишите: bind ^"key^" ^"piss^"")
client_print(id, print_chat, "Пример: bind ^"x^" ^"piss^"")

return PLUGIN_CONTINUE
}

public handle_say(id)
{
new said[192]
read_args(said,192)
remove_quotes(said)

if( (containi(said, "piss") != -1) && !(containi(said, "/piss") != -1) ) {
client_print(id, print_chat, "[AMXX] For Piss help say /piss")
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fullserver
сообщение 16.4.2015, 14:30
Сообщение #4


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

Стаж: 11 лет

Сообщений: 5122
Благодарностей: 2100
Полезность: 1394

zlou, правильно. В вашем случае текст сломан из-за сохранения или открытия в неправильной кодировке. Попробуйте переоткрыть в UTF-8, а сохранить в UTF-8 без Bom

Отредактировал: Fullserver, - 16.4.2015, 14:31
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
zlou
сообщение 16.4.2015, 14:34
Сообщение #5
Стаж: 11 лет

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

мне надо иго кодировать ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 16.4.2015, 16:36
Сообщение #6


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

zlou, нужно перекодировать. Проще заново текст набрать и сохранить в нужно кодировке.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
zlou
сообщение 16.4.2015, 17:37
Сообщение #7
Стаж: 11 лет

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

а как цвет менять ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя admir
сообщение 16.4.2015, 17:53
Сообщение #8
Стаж: 13 лет

Сообщений: 192
Благодарностей: 31
Полезность: 138

прочитать. статьи
заменить client_print на colorchat
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
zlou
сообщение 16.4.2015, 17:59
Сообщение #9
Стаж: 11 лет

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

можете пример цветного текста кинуть чтоб я видел
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 16.4.2015, 18:02
Сообщение #10


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

Код
client_print_color(id, DontChange, "^4[AMXX] ^1Строка ^3цветного чата")
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя admir
сообщение 16.4.2015, 18:04
Сообщение #11
Стаж: 13 лет

Сообщений: 192
Благодарностей: 31
Полезность: 138

там есть примеры. ну да ладно.
Код:
ColorChat(id, GREEN, "GREEN")

или
Код:
ColorChat(id,NORMAL,"^4GREEN")

как вариант без include
Цитата(Bloo @ 16.4.2015, 19:02) *
Код
client_print_color(id, DontChange, "^4[AMXX] ^1Строка ^3цветного чата")



Отредактировал: admir, - 16.4.2015, 18:06
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
zlou
сообщение 16.4.2015, 20:08
Сообщение #12
Стаж: 11 лет

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

можете готовый скинуть я ваше запутался
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 16.4.2015, 20:19
Сообщение #13


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

zlou, ты с нормальными сообщениями скинь, а не иероглифами.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
zlou
сообщение 18.4.2015, 6:40
Сообщение #14
Стаж: 11 лет

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

скинь весь исходник готовый текст сам поменяю
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 18.4.2015, 16:27
Сообщение #15


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

Код:
#include <amxmodx>
#if !defined NO_CS_CZ
#include <fun>
#endif
#include <engine>
#include <colorchat>


new piss_model
new piss_sprite
new water_splash
new count_piss[33]
new count_puddle[33]
new bool:PissFlag[33]
new bool:aim[33]
new Float:aim_origin[33][3]
#if !defined NO_CS_CZ
new player_origins[33][3]
new mod_name[32]
#endif

public piss_on_player(id)
{

if (get_cvar_num("amx_maxpees")==0)
return PLUGIN_HANDLED
if (!is_user_alive(id))
return PLUGIN_HANDLED
if ( (get_cvar_num("amx_piss_admin")==1) && !(get_user_flags(id) & ADMIN_RESERVATION) )
{
console_print(id, "[MastaMan] Y BAC HET goCTyna.")
return PLUGIN_HANDLED
}
if(PissFlag[id])
return PLUGIN_HANDLED

#if !defined NO_CS_CZ
new player_origin[3], players[32], inum=0, dist, last_dist=99999, last_id

get_user_origin(id,player_origin,0)
get_players(players,inum,"b")
if (inum>0) {
for (new i=0;i<inum;i++) {
if (players[i]!=id) {
dist = get_distance(player_origin,player_origins[players[i]])
if (dist<last_dist) {
last_id = players[i]
last_dist = dist
}
}
}
if (last_dist<80) {
#endif
if (count_piss[id] > get_cvar_num("amx_maxpees")) {
client_print_color(id,DontChange,"Вы не можете ссать на игрока %d только %s раз за раунд !", get_cvar_num("amx_maxpees"), (get_cvar_num("amx_maxpees")>1) ? "s" : "")
return PLUGIN_CONTINUE
}
new player_name[32]
get_user_name(id, player_name, 31)
#if !defined NO_CS_CZ
new dead_name[32]
get_user_name(last_id, dead_name, 31)
client_print(0,print_chat,"%s поссал на труп %s's Гы Гы Гы !!", player_name, dead_name)
#else
client_print(0,print_chat,"%s ссыт !!", player_name)
#endif
count_piss[id]+=1
count_puddle[id]=1
new ids[1]
ids[0]=id
PissFlag[id]=true
aim[id]=false
#if !defined NO_CS_CZ
if( (equali(mod_name,"cstrike")) || (equali(mod_name,"czero")) )
{
client_cmd(id, "weapon_knife")
set_user_maxspeed(id, -1.0)
}
#endif
emit_sound(id,CHAN_VOICE,"piss/pissing.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
switch(get_cvar_num("amx_piss_effect"))
{
case 0: set_task(0.2,"make_pee",1481+id,ids,1,"a",48)
case 1: set_task(0.1,"make_pee",1481+id,ids,1,"a",102)
default: set_task(0.2,"make_pee",1481+id,ids,1,"a",48)
}
set_task(2.2,"place_puddle",3424+id,ids,1,"a",4)
#if !defined NO_CS_CZ
set_task(12.0,"weapons_back",6794+id,ids,1)
}
else
{
client_print_color(id,DontChange,"Возле вас нет трупов.")
return PLUGIN_HANDLED
}
}
#endif
return PLUGIN_HANDLED
}

public sqrt(num)
{
new div = num
new result = 1
while (div > result) {
div = (div + result) / 2
result = num / div
}
return div
}

public make_pee(ids[])
{
new id=ids[0]
new vec[3]
new aimvec[3]
new velocityvec[3]
new length
get_user_origin(id,vec)
get_user_origin(id,aimvec,3)
new distance = get_distance(vec,aimvec)
new speed = floatround(distance*1.9)

velocityvec[0]=aimvec[0]-vec[0]
velocityvec[1]=aimvec[1]-vec[1]
velocityvec[2]=aimvec[2]-vec[2]

length=sqrt(velocityvec[0]*velocityvec[0]+velocityvec[1]*velocityvec[1]+velocity
vec[2]*velocityvec[2])

velocityvec[0]=velocityvec[0]*speed/length
velocityvec[1]=velocityvec[1]*speed/length
velocityvec[2]=velocityvec[2]*speed/length

switch(get_cvar_num("amx_piss_effect"))
{
case 0:
{
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(101)
write_coord(vec[0])
write_coord(vec[1])
write_coord(vec[2])
write_coord(velocityvec[0])
write_coord(velocityvec[1])
write_coord(velocityvec[2])
write_byte(102) // color
write_byte(160) // speed
message_end()
}
case 1:
{
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(106)
write_coord(vec[0])
write_coord(vec[1])
write_coord(vec[2])
write_coord(velocityvec[0])
write_coord(velocityvec[1])
write_coord(velocityvec[2]+100)
write_angle (0)
write_short (piss_model)
write_byte (0)
write_byte (255)
message_end()

message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte (1)
write_short (id)
write_coord(aimvec[0])
write_coord(aimvec[1])
write_coord(aimvec[2])
write_short(piss_sprite)
write_byte( 1 ) // framestart
write_byte( 6 ) // framerate
write_byte( 1 ) // life
write_byte( 8 ) // width
write_byte( 0 ) // noise
write_byte( 255 ) // r, g, b
write_byte( 255 ) // r, g, b
write_byte( 0 ) // r, g, b
write_byte( 200 ) // brightness
write_byte( 10 ) // speed
message_end()

message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(17)
write_coord(aimvec[0])
write_coord(aimvec[1])
write_coord(aimvec[2])
write_short(water_splash)
write_byte(16)
write_byte(18)
message_end()

}
default:
{
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(101)
write_coord(vec[0])
write_coord(vec[1])
write_coord(vec[2])
write_coord(velocityvec[0])
write_coord(velocityvec[1])
write_coord(velocityvec[2])
write_byte(102) // color
write_byte(160) // speed
message_end()
}
}
}

public place_puddle(ids[])
{
new id=ids[0]
if(!aim[id])
{
new origin[3]
get_user_origin(id,origin,3)
aim_origin[id][0]=float(origin[0])
aim_origin[id][1]=float(origin[1])
aim_origin[id][2]=float(origin[2])
}

new puddle_entity
puddle_entity = create_entity("info_target")

if(puddle_entity == 0) {
return PLUGIN_HANDLED_MAIN
}

new Float:MinBox[3]
new Float:MaxBox[3]

MinBox[0] = -1.0
MinBox[1] = -1.0
MinBox[2] = -1.0
MaxBox[0] = 1.0
MaxBox[1] = 1.0
MaxBox[2] = 1.0

entity_set_vector(puddle_entity, EV_VEC_mins, MinBox)
entity_set_vector(puddle_entity, EV_VEC_maxs, MaxBox)

switch(count_puddle[id])
{
case 1:
{
entity_set_string(puddle_entity, EV_SZ_classname, "piss_puddle1")
entity_set_model(puddle_entity, "models/piss/piss_puddle1.mdl")
}
case 2:
{
entity_set_string(puddle_entity, EV_SZ_classname, "piss_puddle2")
entity_set_model(puddle_entity, "models/piss/piss_puddle2.mdl")
}
case 3:
{
entity_set_string(puddle_entity, EV_SZ_classname, "piss_puddle3")
entity_set_model(puddle_entity, "models/piss/piss_puddle3.mdl")
}
case 4:
{
entity_set_string(puddle_entity, EV_SZ_classname, "piss_puddle4")
entity_set_model(puddle_entity, "models/piss/piss_puddle4.mdl")
}
case 5:
{
entity_set_string(puddle_entity, EV_SZ_classname, "piss_puddle5")
entity_set_model(puddle_entity, "models/piss/piss_puddle5.mdl")
#if defined NO_CS_CZ
PissFlag[id]=false
#endif
}
default: {}
}

entity_set_origin(puddle_entity, aim_origin[id])
entity_set_int(puddle_entity, EV_INT_solid, 3)
entity_set_int(puddle_entity, EV_INT_movetype, 6)
entity_set_edict(puddle_entity, EV_ENT_owner, id)

count_puddle[id]+=1
aim[id]=true

return PLUGIN_CONTINUE
}

public death_event()
{
new victim = read_data(2)
#if !defined NO_CS_CZ
get_user_origin(victim,player_origins[victim],0)
if( (equali(mod_name,"cstrike")) || (equali(mod_name,"czero")) )
set_user_maxspeed(victim, 250.0)
#endif

if(PissFlag[victim])
reset_piss(victim)

return PLUGIN_CONTINUE
}

#if !defined NO_CS_CZ
public weapons_back(ids[])
{
PissFlag[ids[0]]=false
if( (equali(mod_name,"cstrike")) || (equali(mod_name,"czero")) )
{
set_user_maxspeed(ids[0], 250.0)
}
}

public cur_weapon(id)
{
if(PissFlag[id])
{
if( (equali(mod_name,"cstrike")) || (equali(mod_name,"czero")) )
{
client_cmd(id, "weapon_knife")
set_user_maxspeed(id, -1.0)
}
}

return PLUGIN_CONTINUE
}
#endif

public reset_piss(id)
{
if(task_exists(1481+id))
remove_task(1481+id)
if(task_exists(3424+id))
remove_task(3424+id)
#if !defined NO_CS_CZ
if(task_exists(6794+id))
remove_task(6794+id)
#endif
emit_sound(id,CHAN_VOICE,"piss/pissing.wav", 0.0, ATTN_NORM, 0, PITCH_NORM)
PissFlag[id]=false

return PLUGIN_CONTINUE
}

public reset_hud(id)
{
if(task_exists(1481+id))
remove_task(1481+id)
if(task_exists(3424+id))
remove_task(3424+id)
#if !defined NO_CS_CZ
if(task_exists(6794+id))
remove_task(6794+id)
#endif
emit_sound(id,CHAN_VOICE,"piss/pissing.wav", 0.0, ATTN_NORM, 0, PITCH_NORM)
PissFlag[id]=false

new iCurrent

for (new i=1 ; i<count_piss[id] ; i++)
{
iCurrent = find_ent_by_class(-1, "piss_puddle1")
if(iCurrent != -1)
remove_entity(iCurrent)
iCurrent = find_ent_by_class(-1, "piss_puddle2")
if(iCurrent != -1)
remove_entity(iCurrent)
iCurrent = find_ent_by_class(-1, "piss_puddle3")
if(iCurrent != -1)
remove_entity(iCurrent)
iCurrent = find_ent_by_class(-1, "piss_puddle4")
if(iCurrent != -1)
remove_entity(iCurrent)
iCurrent = find_ent_by_class(-1, "piss_puddle5")
if(iCurrent != -1)
remove_entity(iCurrent)
}
count_piss[id]=1

return PLUGIN_CONTINUE
}

public piss_help(id)
{
client_print(id, print_chat, "Что бы поссать на труп забиндите : piss")
client_print(id, print_chat, "Откройте консоль и напишите: bind ^"key^" ^"piss^"")
client_print(id, print_chat, "Пример: bind ^"x^" ^"piss^"")

return PLUGIN_CONTINUE
}

public handle_say(id)
{
new said[192]
read_args(said,192)
remove_quotes(said)

if( (containi(said, "piss") != -1) && !(containi(said, "/piss") != -1) ) {
client_print(id, print_chat, "[AMXX] For Piss help say /piss")
}

return PLUGIN_CONTINUE
}

public plugin_precache()
{
if (file_exists("sound/piss/pissing.wav"))
precache_sound( "piss/pissing.wav")
if (file_exists("models/piss/piss_puddle1.mdl"))
precache_model("models/piss/piss_puddle1.mdl")
if (file_exists("models/piss/piss_puddle2.mdl"))
precache_model("models/piss/piss_puddle2.mdl")
if (file_exists("models/piss/piss_puddle3.mdl"))
precache_model("models/piss/piss_puddle3.mdl")
if (file_exists("models/piss/piss_puddle4.mdl"))
precache_model("models/piss/piss_puddle4.mdl")
if (file_exists("models/piss/piss_puddle5.mdl"))
precache_model("models/piss/piss_puddle5.mdl")
if (file_exists("models/piss/piss.mdl"))
piss_model = precache_model("models/piss/piss.mdl")
piss_sprite = precache_model("sprites/plasma.spr")
water_splash = precache_model("sprites/wsplash3.spr")

return PLUGIN_CONTINUE
}

public client_connect(id)
{
#if !defined NO_CS_CZ
if( (equali(mod_name,"cstrike")) || (equali(mod_name,"czero")) )
set_user_maxspeed(id, 250.0)
#endif
PissFlag[id]=false
count_piss[id]=1

return PLUGIN_CONTINUE
}

public client_disconnect(id)
{
#if !defined NO_CS_CZ
if( (equali(mod_name,"cstrike")) || (equali(mod_name,"czero")) )
set_user_maxspeed(id, 250.0)
#endif
reset_hud(id)

return PLUGIN_CONTINUE
}

public plugin_init()
{
register_plugin("AMXX Piss","2.0","KRoTaL")
register_clcmd("piss","piss_on_player",0,"- Поссать на мертвого игрока")
register_clcmd("say /piss","piss_help",0,"- Показать помощь")
register_clcmd("say","handle_say")
register_cvar("amx_maxpees","6")
register_cvar("amx_piss_admin","0")
register_cvar("amx_piss_effect","1")
register_event("DeathMsg","death_event","a")
register_event("ResetHUD", "reset_hud", "be")
#if !defined NO_CS_CZ
register_event("CurWeapon","cur_weapon","be","1=1")
get_modname(mod_name,31)
#endif

return PLUGIN_CONTINUE
}

Код
^1 - Обычный (Желтый)
^3 - Цвет команды
^4 - Зеленый
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: