-tam gdzie admin ma celownik wciska klawisz np "q" i w trakcie trzymania go w miejscu celownika rusuje sie to jak rusza myszka np narusyje kolo (wiadomo oco lazi)
Czy udało by się coś takiego napisać, a moze ktos z was posiada juz taki plugin?
Znalazłem coś takiego:
--------------------------------------------------------------------------------------------
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <engine>
#include <xs>
#define PLUGIN "Display Sprite"
#define VERSION "1.0"
#define AUTHOR "R3X"
new bool:gbDisplaying[33];
new Float:fSpriteOrigin[33][3];
new const gszModel[] = "sprites/logo.spr";
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_think("myspriter", "thinkSpriter");
register_forward(FM_StartFrame, "fwStartFrame", 1);
register_clcmd("say /maluj", "cmdMaluj");
}
public plugin_precache(){
precache_model(gszModel);
}
public cmdMaluj(id){
if(!gbDisplaying[id])
Create_Spriter(id, 0.0, gszModel, 5.0, 10.0, 30.0);
return PLUGIN_HANDLED;
}
Create_Spriter(id, Float:fOffset, const model[], Float:fDuration, Float:fFramerate=0.0, Float:fMaxFrame=0.0){
if(!is_user_connected(id)) return;
new ent = create_entity("info_target");
set_pev(ent, pev_classname, "myspriter");
set_pev(ent, pev_movetype, MOVETYPE_FLY);
set_pev(ent, pev_solid, SOLID_NOT);
entity_set_model(ent, model);
entity_set_size(ent, Float:{-1.0, -1.0, -1.0}, Float:{1.0, 1.0, 1.0});
set_rendering(ent, kRenderFxNone, 255, 255, 255, kRenderTransAdd, 255);
set_pev(ent, pev_scale, 1.0);
set_pev(ent, pev_framerate, fFramerate);
set_pev(ent, pev_frame, 0.0);
set_pev(ent, pev_fuser3, fMaxFrame);
set_pev(ent, pev_owner, id);
set_pev(ent, pev_fuser4, fOffset);
new Float:fNow = get_gametime();
set_pev(ent, pev_nextthink, fNow+0.01);
set_pev(ent, pev_ltime, fNow + fDuration);
}
public fwStartFrame(){
new Float:fOrigin[3], Float:fAngle[3];
for(new id=1;id<33;id++){
if(is_user_connected(id) && gbDisplaying[id]){
pev(id, pev_origin, fOrigin);
fOrigin[2] += 20.0;
pev(id, pev_v_angle, fAngle);
angle_vector(fAngle, ANGLEVECTOR_FORWARD, fAngle);
xs_vec_mul_scalar(fAngle, 150.0, fAngle);
xs_vec_add(fOrigin, fAngle, fOrigin);
xs_vec_copy(fOrigin, fSpriteOrigin[id]);
}else
xs_vec_set(fSpriteOrigin[id], 0.0, 0.0, 0.0);
}
}
public thinkSpriter(ent){
if(pev_valid(ent) != 2)
return;
new id = pev(ent, pev_owner);
new Float:fOrigin[3];
xs_vec_copy(fSpriteOrigin[id], fOrigin);
new Float:fOffset;
pev(ent, pev_fuser4, fOffset);
new Float:fAngle[3];
pev(id, pev_v_angle, fAngle);
angle_vector(fAngle, ANGLEVECTOR_RIGHT, fAngle);
xs_vec_mul_scalar(fAngle, fOffset, fAngle);
xs_vec_add(fOrigin, fAngle, fOrigin);
set_pev(ent, pev_origin, fOrigin);
engfunc(EngFunc_SetOrigin, ent, fOrigin);
new Float:fNext = get_gametime()+0.01;
new Float:fKillTime;
pev(ent, pev_ltime, fKillTime);
if(fNext < fKillTime && is_user_alive(id)){
set_pev(ent, pev_nextthink, fNext);
gbDisplaying[id] = true;
}
else{
remove_entity(ent);
gbDisplaying[id] = false;
return;
}
new Float:fMaxFrame;
pev(ent, pev_fuser3, fMaxFrame);
new Float:fFrameRate;
pev(ent, pev_framerate, fFrameRate);
new Float:fFrame;
pev(ent, pev_frame, fFrame);
fFrame+= fFrameRate/100;
if(fFrame > fMaxFrame)
fFrame = 0.0;
set_pev(ent, pev_frame, fFrame);
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/
Nie wiem czy to pomoze ale proszę o pomoc.