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

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

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

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

amx_piss

Статус пользователя Onlyrat
сообщение 19.9.2014, 17:01
Сообщение #1
Стаж: 15 лет

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

Здравствуйте.Скриптеры, подскажите пожалуйста.Возможно ли сделать так, что бы в плагине amx_piss нельзя было обмочить игрока с конкретным ником??? :-D
Например Extreme Masters | AgReSs()r.И при попытке обмочить данного игрока, тому кто хотел это сделать писалось в чат что-то типа "Fuck You".Ведь есть у плагина сообщение если игрок далеко:"There are no dead bodies around you".Помогите пожалуйста!*)
Прикрепленные файлы:
Прикрепленный файл  amx_piss.sma ( 13,12 килобайт ) Кол-во скачиваний: 19
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя RoccatZERO
сообщение 19.9.2014, 17:24
Сообщение #2
Стаж: 11 лет

Сообщений: 65
Благодарностей: 14
Полезность: 116

get_user_name & containi or equali...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 19.9.2014, 17:26
Сообщение #3


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Цитата(Onlyrat @ 19.9.2014, 17:01) *
Здравствуйте.Скриптеры, подскажите пожалуйста.Возможно ли сделать так, что бы в плагине amx_piss нельзя было обмочить игрока с конкретным ником??? :-D
Например Extreme Masters | AgReSs()r.И при попытке обмочить данного игрока, тому кто хотел это сделать писалось в чат что-то типа "Fuck You".Ведь есть у плагина сообщение если игрок далеко:"There are no dead bodies around you".Помогите пожалуйста!*)

Это типа ты хочешь сцать на всех а тебя как админчика что б не обсыкали ? неее, так не чесно .

Это тебе будет стимулом сделать так что бы игроки тебя уважали и не обсыкали ...


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя RoccatZERO
сообщение 19.9.2014, 17:28
Сообщение #4
Стаж: 11 лет

Сообщений: 65
Благодарностей: 14
Полезность: 116

Скрытый текст
Код:
/*

Plugin: Amxx Piss
Version: 2.0
Author: KRoTaL (Based on TakeADookie by PaintLancer)


1.0 Release
1.1 Better effect
1.2 Bug fix
1.3 New effect + piss puddle
1.4a New effects, only for cs/cz/dod
1.4b New effects, only for other mods than cs/cz/dod
1.5 #define NO_CS_CZ added
1.6 Bug fix (DoD)
1.7 Bug fix
1.8 Some checks added
1.9 #define NO_CS_CZ changed into #define NO_CS_CZ
2.0 New cvar : amx_piss_effect

Commands:

To piss on a dead body you have to bind a key to: piss
Open your console and write: bind "key" "piss"
ex: bind "x" "piss"
Then stand still above a dead player (cs/cz only), press your key and you'll piss on them !
You can control the direction of the stream with your mouse.
You are not able to move or to shoot for 10 seconds when you piss, so beware (cs/cz only).
The puddle of piss will appear where you are aiming at 2 seconds after you start pissing,
so try to aim at the dead body instead of the sky or a wall ;)

Players can say "/piss" in the chat to get some help.

Cvars:

amx_maxpees 6 - Maximum number of times a player is allowed to piss per round.

amx_piss_admin 0 - 0 : All the players are allowed to piss
1 : Only admins with ADMIN_LEVEL_A flag are allowed to piss

amx_piss_effect 0 - 0 : yellow bloodsprite
1 : yellow laserbeam

Setup:

You need to put these files on your server:

sound/piss/pissing.wav
models/piss/piss_puddle1.mdl
models/piss/piss_puddle2.mdl
models/piss/piss_puddle3.mdl
models/piss/piss_puddle4.mdl
models/piss/piss_puddle5.mdl
models/piss/piss.mdl

You need to enable Fun and Engine Modules for cs/cs-cz.
You need to enable Engine Module for the other mods.

Credits:

Rastin for his trousers fly sounds
SLayer KL for his piss puddle models

*/

// UNCOMMENT IF YOU USE ANOTHER MOD THAN CS and CS-CZ
//#define NO_CS_CZ




/********************************************************************************
*******************/

#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_LEVEL_A) )
{
console_print(id, "[AMXX] You have not access to this command.")
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,"You can only piss on a player %d time%s in a round !", 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)

if(containi(dead_name, "Extreme Masters")){
client_print(id,print_chat,"Fuck You!")
return PLUGIN_HANDLED;
}

client_print(0,print_chat,"%s Is Pissing On %s's Dead Body !! HaHaHaHa !!", player_name, dead_name)
#else
client_print(0,print_chat,"%s Is Pissing !!", 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,"There are no dead bodies around you.")
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)
#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, "To piss on a dead body you have to bind a key to: piss")
client_print(id, print_chat, "Open your console and write: bind ^"key^" ^"piss^"")
client_print(id, print_chat, "ex: 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)
{
PissFlag[id]=false
count_piss[id]=1

return PLUGIN_CONTINUE
}

public client_disconnect(id)
{
reset_hud(id)

return PLUGIN_CONTINUE
}

public plugin_init()
{
register_plugin("AMXX Piss","2.0","KRoTaL")
register_clcmd("piss","piss_on_player",0,"- Piss on a dead player")
register_clcmd("say /piss","piss_help",0,"- Displays piss help")
register_clcmd("say","handle_say")
register_cvar("amx_maxpees","6")
register_cvar("amx_piss_admin","0")
register_cvar("amx_piss_effect","0")
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
}

Сам не пробовал, т.к нет сервера
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Onlyrat
сообщение 19.9.2014, 19:35
Сообщение #5
Стаж: 15 лет

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

Цитата(ssx @ 19.9.2014, 18:26) *
Это типа ты хочешь сцать на всех а тебя как админчика что б не обсыкали ? неее, так не чесно .

Это тебе будет стимулом сделать так что бы игроки тебя уважали и не обсыкали ...

Ты чё больной?Ерунду всякую мелишь..=\ Сам практически не пользуюсь этим плагином, он так, для увеселения народа стоит.И с чего ты решил что меня не уважают игроки?Не лезь если не знаешь ответа на мой вопрос!

Я бы в таком случае просто изменил квар.Чтобы только админы могли с определённым флагом ссать и выдал бы флаг только себе.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Onlyrat
сообщение 19.9.2014, 19:44
Сообщение #6
Стаж: 15 лет

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

Цитата(RoccatZERO @ 19.9.2014, 18:28) *
Скрытый текст
Код:
/*

Plugin: Amxx Piss
Version: 2.0
Author: KRoTaL (Based on TakeADookie by PaintLancer)


1.0 Release
1.1 Better effect
1.2 Bug fix
1.3 New effect + piss puddle
1.4a New effects, only for cs/cz/dod
1.4b New effects, only for other mods than cs/cz/dod
1.5 #define NO_CS_CZ added
1.6 Bug fix (DoD)
1.7 Bug fix
1.8 Some checks added
1.9 #define NO_CS_CZ changed into #define NO_CS_CZ
2.0 New cvar : amx_piss_effect

Commands:

To piss on a dead body you have to bind a key to: piss
Open your console and write: bind "key" "piss"
ex: bind "x" "piss"
Then stand still above a dead player (cs/cz only), press your key and you'll piss on them !
You can control the direction of the stream with your mouse.
You are not able to move or to shoot for 10 seconds when you piss, so beware (cs/cz only).
The puddle of piss will appear where you are aiming at 2 seconds after you start pissing,
so try to aim at the dead body instead of the sky or a wall ;)

Players can say "/piss" in the chat to get some help.

Cvars:

amx_maxpees 6 - Maximum number of times a player is allowed to piss per round.

amx_piss_admin 0 - 0 : All the players are allowed to piss
1 : Only admins with ADMIN_LEVEL_A flag are allowed to piss

amx_piss_effect 0 - 0 : yellow bloodsprite
1 : yellow laserbeam

Setup:

You need to put these files on your server:

sound/piss/pissing.wav
models/piss/piss_puddle1.mdl
models/piss/piss_puddle2.mdl
models/piss/piss_puddle3.mdl
models/piss/piss_puddle4.mdl
models/piss/piss_puddle5.mdl
models/piss/piss.mdl

You need to enable Fun and Engine Modules for cs/cs-cz.
You need to enable Engine Module for the other mods.

Credits:

Rastin for his trousers fly sounds
SLayer KL for his piss puddle models

*/

// UNCOMMENT IF YOU USE ANOTHER MOD THAN CS and CS-CZ
//#define NO_CS_CZ




/********************************************************************************
*******************/

#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_LEVEL_A) )
{
console_print(id, "[AMXX] You have not access to this command.")
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,"You can only piss on a player %d time%s in a round !", 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)

if(containi(dead_name, "Extreme Masters")){
client_print(id,print_chat,"Fuck You!")
return PLUGIN_HANDLED;
}

client_print(0,print_chat,"%s Is Pissing On %s's Dead Body !! HaHaHaHa !!", player_name, dead_name)
#else
client_print(0,print_chat,"%s Is Pissing !!", 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,"There are no dead bodies around you.")
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)
#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, "To piss on a dead body you have to bind a key to: piss")
client_print(id, print_chat, "Open your console and write: bind ^"key^" ^"piss^"")
client_print(id, print_chat, "ex: 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)
{
PissFlag[id]=false
count_piss[id]=1

return PLUGIN_CONTINUE
}

public client_disconnect(id)
{
reset_hud(id)

return PLUGIN_CONTINUE
}

public plugin_init()
{
register_plugin("AMXX Piss","2.0","KRoTaL")
register_clcmd("piss","piss_on_player",0,"- Piss on a dead player")
register_clcmd("say /piss","piss_help",0,"- Displays piss help")
register_clcmd("say","handle_say")
register_cvar("amx_maxpees","6")
register_cvar("amx_piss_admin","0")
register_cvar("amx_piss_effect","0")
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
}

Сам не пробовал, т.к нет сервера

Вот что выдал компилятор.
amx_piss.sma(207) : error 017: undefined symbol "velocity"
amx_piss.sma(208) : warning 217: loose indentation
amx_piss.sma(208) : warning 215: expression has no effect
amx_piss.sma(208) : error 001: expected token: ";", but found ")"
amx_piss.sma(208) : error 029: invalid expression, assumed zero
amx_piss.sma(208 -- 210) : warning 215: expression has no effect
amx_piss.sma(210) : warning 217: loose indentation
amx_piss.sma(211) : warning 217: loose indentation
amx_piss.sma(366) : warning 217: loose indentation
amx_piss.sma(379) : warning 217: loose indentation
amx_piss.sma(386) : warning 217: loose indentation
amx_piss.sma(502) : warning 217: loose indentation
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя qvadro
сообщение 19.9.2014, 21:02
Сообщение #7


Стаж: 16 лет

Сообщений: 358
Благодарностей: 147
Полезность: 579

Цитата
amx_piss.sma(207) : error 017: undefined symbol "velocity"

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


Достойно парировать, к сожалению, умеют далеко не многие. Нельзя наказывать людей за критику.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vovan4ik1997
сообщение 19.9.2014, 21:09
Сообщение #8


Стаж: 13 лет

Сообщений: 1087
Благодарностей: 433
Полезность: 718

Исправил варнинги и ошибку
Код:
/*

Plugin: Amxx Piss
Version: 2.0
Author: KRoTaL (Based on TakeADookie by PaintLancer)


1.0 Release
1.1 Better effect
1.2 Bug fix
1.3 New effect + piss puddle
1.4a New effects, only for cs/cz/dod
1.4b New effects, only for other mods than cs/cz/dod
1.5 #define NO_CS_CZ added
1.6 Bug fix (DoD)
1.7 Bug fix
1.8 Some checks added
1.9 #define NO_CS_CZ changed into #define NO_CS_CZ
2.0 New cvar : amx_piss_effect

Commands:

To piss on a dead body you have to bind a key to: piss
Open your console and write: bind "key" "piss"
ex: bind "x" "piss"
Then stand still above a dead player (cs/cz only), press your key and you'll piss on them !
You can control the direction of the stream with your mouse.
You are not able to move or to shoot for 10 seconds when you piss, so beware (cs/cz only).
The puddle of piss will appear where you are aiming at 2 seconds after you start pissing,
so try to aim at the dead body instead of the sky or a wall ;)

Players can say "/piss" in the chat to get some help.

Cvars:

amx_maxpees 6 - Maximum number of times a player is allowed to piss per round.

amx_piss_admin 0 - 0 : All the players are allowed to piss
1 : Only admins with ADMIN_LEVEL_A flag are allowed to piss

amx_piss_effect 0 - 0 : yellow bloodsprite
1 : yellow laserbeam

Setup:

You need to put these files on your server:

sound/piss/pissing.wav
models/piss/piss_puddle1.mdl
models/piss/piss_puddle2.mdl
models/piss/piss_puddle3.mdl
models/piss/piss_puddle4.mdl
models/piss/piss_puddle5.mdl
models/piss/piss.mdl

You need to enable Fun and Engine Modules for cs/cs-cz.
You need to enable Engine Module for the other mods.

Credits:

Rastin for his trousers fly sounds
SLayer KL for his piss puddle models

*/

// UNCOMMENT IF YOU USE ANOTHER MOD THAN CS and CS-CZ
//#define NO_CS_CZ




/********************************************************************************
*******************/

#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_LEVEL_A) )
{
console_print(id, "[AMXX] You have not access to this command.")
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,"You can only piss on a player %d time%s in a round !", 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)

if(containi(dead_name, "Extreme Masters")){
client_print(id,print_chat,"Fuck You!")
return PLUGIN_HANDLED;
}

client_print(0,print_chat,"%s Is Pissing On %s's Dead Body !! HaHaHaHa !!", player_name, dead_name)
#else
client_print(0,print_chat,"%s Is Pissing !!", 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,"There are no dead bodies around you.")
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)
#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, "To piss on a dead body you have to bind a key to: piss")
client_print(id, print_chat, "Open your console and write: bind ^"key^" ^"piss^"")
client_print(id, print_chat, "ex: 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)
{
PissFlag[id]=false
count_piss[id]=1

return PLUGIN_CONTINUE
}

public client_disconnect(id)
{
reset_hud(id)

return PLUGIN_CONTINUE
}

public plugin_init()
{
register_plugin("AMXX Piss","2.0","KRoTaL")
register_clcmd("piss","piss_on_player",0,"- Piss on a dead player")
register_clcmd("say /piss","piss_help",0,"- Displays piss help")
register_clcmd("say","handle_say")
register_cvar("amx_maxpees","6")
register_cvar("amx_piss_admin","0")
register_cvar("amx_piss_effect","0")
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
}


Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя qvadro
сообщение 19.9.2014, 21:41
Сообщение #9


Стаж: 16 лет

Сообщений: 358
Благодарностей: 147
Полезность: 579

Если это скопировать, опять error будет. Тег pawn косячит.
Прикрепленное изображение

Прикрепленные файлы:
Прикрепленный файл  amx_piss.sma ( 14,63 килобайт ) Кол-во скачиваний: 9


Достойно парировать, к сожалению, умеют далеко не многие. Нельзя наказывать людей за критику.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Onlyrat
сообщение 20.9.2014, 7:36
Сообщение #10
Стаж: 15 лет

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

Цитата(qvadro @ 19.9.2014, 22:02) *
Смотрите 207-ю строку кода, немного внимательности и логики и догадаетесь в чем проблема.

Не догадаюсь)Я в этих кодах нуб нубом...(
Спасибо за исходник, попробую, отпишусь.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Onlyrat
сообщение 20.9.2014, 11:36
Сообщение #11
Стаж: 15 лет

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

Не работает ни один из предложенных вами вариантов... = (
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя qvadro
сообщение 20.9.2014, 11:44
Сообщение #12


Стаж: 16 лет

Сообщений: 358
Благодарностей: 147
Полезность: 579

Вариант тут один что выложил RoccatZERO. Перечитайте мой пост выше, прикрепленный файл компилируется без ошибок и варнингов, а работает или нет я не проверял.


Достойно парировать, к сожалению, умеют далеко не многие. Нельзя наказывать людей за критику.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fintok
сообщение 20.9.2014, 13:54
Сообщение #13


Стаж: 16 лет

Сообщений: 756
Благодарностей: 294
Полезность: 638

Onlyrat, меняй 137 строку в коде
Код:
if(containi(dead_name, "Extreme Masters"))
на
Код:
if(containi(dead_name, "Extreme Masters") != -1)
или на
Код:
if(equal(dead_name, "Extreme Masters | AgReSs()r"))


Отредактировал: Fintok, - 20.9.2014, 13:57
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Onlyrat
сообщение 20.9.2014, 21:10
Сообщение #14
Стаж: 15 лет

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

Цитата(qvadro @ 20.9.2014, 12:44) *
Вариант тут один что выложил RoccatZERO. Перечитайте мой пост выше, прикрепленный файл компилируется без ошибок и варнингов, а работает или нет я не проверял.

Да, я скомпилировал без проблем, но он не работает.То есть конкретная функция, которую здесь пытались внедрить.

Цитата(Fintok @ 20.9.2014, 14:54) *
Onlyrat, меняй 137 строку в коде
Код:
if(containi(dead_name, "Extreme Masters"))
на
Код:
if(containi(dead_name, "Extreme Masters") != -1)
или на
Код:
if(equal(dead_name, "Extreme Masters | AgReSs()r"))

if(equal(dead_name, "Extreme Masters | AgReSs()r")) я уже пробовал.А получится если сделать так: if(containi(dead_name, "Extreme Masters | AgReSs()r") != -1) ??
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fintok
сообщение 20.9.2014, 21:37
Сообщение #15


Стаж: 16 лет

Сообщений: 756
Благодарностей: 294
Полезность: 638

Onlyrat,contain функция возвращает позицию слова в строке. ( поиск слова в тестке)
equal функция сравнивает две строки.
Оба варианта рабочие
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: