1. sayfa (Toplam 1 sayfa)

Takım Kazandı Plugini hk.

Gönderilme zamanı: Pzr Eki 31, 2021 1:39 am
gönderen ZaptYReis44
Merhabalar , arkadaşlar resimde gösterdiğim takım kazandı sprite için bir plugine ihtiyacım var , sprite dosyasını ben kendim ayarlıyacam , t ve ct farklı olacak şekilde ayarlarsanız sevinirim.

Ekran Görüntüsü ;

Resim

Takım Kazandı Plugini hk.

Gönderilme zamanı: Pzr Eki 31, 2021 1:43 pm
gönderen orucoglukayra
2. eklenti kurulu olsun. 1. eklentide sprite içinde t ya da ct kazandı olarak değiştirmen gerek.Tam işlevini bilmediğim için seninde denemen lazım.
Yakın zamanda ilgilenemem ancak sen deneyerek yapabilirsin.

Kod: Tümünü seç

#include <amxmodx>
#include <reapi>

native addPlayerSprite(id,Float:scale,Float:frameRate,szModel[],Float:fAngle, Float:fLen, Float:fTime,Float:fDistance , bool: bTransparent );

new gszModel[] = "sprites/slowdown3.spr";

public plugin_init() {
	register_plugin("ElSonuSprite", "0.1", "LyNcH + DarkGL");
	
	RegisterHookChain(RG_RoundEnd, "@RoundEnd", .post = true);
}

public plugin_precache(){
	precache_model(gszModel);
}

@RoundEnd(WinStatus:status, ScenarioEventEndRound:event, Float:tmDelay) {
	for(new i = 0; i < MaxClients; i++)
	{
		if(is_user_connected(i)) 
		{
			switch(status) 
			{
				case WINSTATUS_CTS: 
				{
					addPlayerSprite(i,0.02,10.0,gszModel,20.0,10.0,9999.0, 13.0 , true );
				}
				case WINSTATUS_TERRORISTS: 
				{
					addPlayerSprite(i,0.02,10.0,gszModel,20.0,10.0,9999.0, 13.0 , true );
				}
			}
		}
	}
}

Kod: Tümünü seç

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <engine>
#include <xs>

#include <hamsandwich>

#define PLUGIN "spriteFixer"
#define VERSION "1.0"
#define AUTHOR "AMXX.PL Team"

#define SPRITES_PER_PLAYER 3
#define MAX_PLAYERS 33

#define AUTH_STEAM 2

new const spriteClass[]	=	"spriteFix";

new pcv_dp_r_id_provider;

new bool:gbHaveSprite[MAX_PLAYERS];
new giEntsIds[MAX_PLAYERS][SPRITES_PER_PLAYER];
new Float:gfOffset[MAX_PLAYERS][SPRITES_PER_PLAYER][2];
new Float:gfOffsetLen[MAX_PLAYERS][SPRITES_PER_PLAYER];
new Float:gfPosition[MAX_PLAYERS][3];
new Float: fBob[ MAX_PLAYERS ] ,
Float: fBobUp[ MAX_PLAYERS ]


public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_forward(FM_AddToFullPack, "fwAddToFullPack", 0 );
	
	register_think( spriteClass, "fwSpriteThink");
	
	pcv_dp_r_id_provider = get_cvar_pointer("dp_r_id_provider");
	
	if( !pcv_dp_r_id_provider ){
		state onlysteam;
	}
	else {
		state dproto;
	}
}

public client_disconnect(id){
	for(new i=0;i<SPRITES_PER_PLAYER;i++){
		if(pev_valid(giEntsIds[id][i])){
			remove_entity(giEntsIds[id][i]);
		}
		giEntsIds[id][i] = 0;
	}
}

public client_authorized(id){
	
	checkUserCvars( id );
	
	gbHaveSprite[id] = false;
}

public checkUserCvars( id ){
	
	if( !is_user_steam( id ) ){
		
		fBob[ id ]		=	0.01;
		fBobUp[ id ]	=	0.5;
		
		return PLUGIN_CONTINUE;
	}
	
	query_client_cvar( id , "cl_bob" , "clBobResult" )
	query_client_cvar( id , "cl_bobup" , "clBobUpResult" )
	
	return PLUGIN_CONTINUE;
}

public clBobResult(id, const cvar[], const value[]){
	fBob[ id ]	=	str_to_float( value );
}

public clBobUpResult(id, const cvar[], const value[]){
	fBobUp[ id ]	=	str_to_float( value );
}

public resetUserCvars( id ){
	
	client_cmd( id , "cl_bob %f" , fBob[ id ] );
	client_cmd( id , "cl_bobup %f" , fBobUp[ id ] );
	
}

public setUserCvars( id ){
	
	client_cmd( id , "cl_bob 0" );
	client_cmd( id , "cl_bobup 0" );
	
}

public plugin_natives(){
	register_native("addPlayerSprite","addSprite");
	
	register_native( "setSpriteFX" , "setSpriteFX" , 1 );
	register_native( "setSpriteRender" , "setSpriteRender" , 1 );
	register_native( "setSpriteColor" , "setSpriteColor" , 1 );
	register_native( "setSpriteSequence" , "setSpriteSequence" , 1 );
	register_native( "setSpriteScale" , "setSpriteScale" , 1 );
	register_native( "setSpriteFrameRate" , "setSpriteFrameRate" , 1 );
	register_native( "setSpriteAmount" , "setSpriteAmount" , 1 );
	
	register_native( "setSpriteAngle" , "setSpriteAngle" , 1 );
}

public setSpriteFX( id , indexSprite , fx ){
	
	if( checkSprite( id , indexSprite ) ){
		
		return PLUGIN_CONTINUE;
		
	}
	
	set_pev( giEntsIds[ id ][ indexSprite - 1 ] , pev_renderfx , fx );
	
	return PLUGIN_CONTINUE;
}

public setSpriteRender( id , indexSprite , render ){
	
	if( checkSprite( id , indexSprite ) ){
		
		return PLUGIN_CONTINUE;
		
	}
	
	set_pev( giEntsIds[ id ][ indexSprite - 1 ] , pev_rendermode , render );
	
	return PLUGIN_CONTINUE;
	
}

public setSpriteColor( id , indexSprite , Float: fColor[ 3 ] ){
	
	if( checkSprite( id , indexSprite ) ){
		
		return PLUGIN_CONTINUE;
		
	}
	
	set_pev( giEntsIds[ id ][ indexSprite - 1 ] , pev_rendercolor , fColor );
	
	return PLUGIN_CONTINUE;
}

public setSpriteSequence( id , indexSprite , iSequence ){
	
	if( checkSprite( id , indexSprite ) ){
		
		return PLUGIN_CONTINUE;
		
	}
	
	set_pev( giEntsIds[ id ][ indexSprite - 1 ] , pev_sequence , iSequence );
	
	return PLUGIN_CONTINUE;
}

public setSpriteScale( id , indexSprite , Float: fScale ){
	
	if( checkSprite( id , indexSprite ) ){
		
		return PLUGIN_CONTINUE;
		
	}
	
	set_pev( giEntsIds[ id ][ indexSprite - 1 ] , pev_scale , fScale );
	
	return PLUGIN_CONTINUE;
}

public setSpriteFrameRate( id , indexSprite , Float: fFrameRate ){
	
	if( checkSprite( id , indexSprite ) ){
		
		return PLUGIN_CONTINUE;
		
	}
	
	set_pev( giEntsIds[ id ][ indexSprite - 1 ] , pev_framerate , fFrameRate );
	
	return PLUGIN_CONTINUE;
}

public setSpriteAmount( id , indexSprite , Float: fAmount ){
	
	if( checkSprite( id , indexSprite ) ){
		
		return PLUGIN_CONTINUE;
		
	}
	
	set_pev( giEntsIds[ id ][ indexSprite - 1 ] , pev_renderamt , fAmount );
	
	return PLUGIN_CONTINUE;
}

public setSpriteAngle( id , indexSprite , Float: fAngle ){
	
	if( checkSprite( id , indexSprite ) ){
		
		return PLUGIN_CONTINUE;
		
	}
	
	gfOffset[id][ indexSprite ][ 0 ]	=	fAngle;
	
	return PLUGIN_CONTINUE;
}


bool: checkSprite( id , indexSprite ){
	return bool: ( indexSprite <= 0 || !pev_valid( giEntsIds[ id ][ indexSprite - 1 ] ) );
}

public addSprite(plugin,params){
	if(params < 7){
		log_amx("addSprite zbyt malo parametrow!");
		return 0;
	}
	new ent = create_entity("env_sprite");
	
	new id = get_param(1);
	
	set_pev(ent, pev_classname, spriteClass );
	set_pev(ent, pev_solid, SOLID_NOT);
	set_pev( ent, pev_movetype, MOVETYPE_FLY );
	
	new szModel[256]
	get_string(4, szModel, charsmax(szModel));
	
	entity_set_model(ent, szModel);
	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, get_param( 9 ) ? kRenderTransAdd : kRenderNormal , 255 );
	
	set_pev(ent, pev_scale, get_param_f(2));
	set_pev(ent, pev_owner, id);
	set_pev(ent, pev_framerate, get_param_f(3));
	
	new Float:fLTime = get_param_f(7);
	
	new iIndex	=	addFixedSprite(id, ent, get_param_f(5), get_param_f(6), get_param_f(8), fLTime);
	
	if( !iIndex ){
		remove_entity(ent);
		return 0;
	}
	
	if( !gbHaveSprite[ id ] ){
		setUserCvars( id );
	}
	
	gbHaveSprite[id] = true;
	
	if(fLTime >= 0.0){
		set_pev(ent, pev_nextthink, get_gametime()+fLTime);
	}
	
	return iIndex;
}

public ent_get(id){
	for(new i=0;i<SPRITES_PER_PLAYER;i++){
		if(giEntsIds[id][i] == 0){
			return i;
		}
	}
	return -1;
}

/**
* Dodaje do kolejki nowy byt
*
*	@param 	id 		Gracz
*	@param 	ent		Byt
*	@param 	fOffset		Przesuniecie katowe (tarcza zegara)
*	@param  fOffsetLen	Odleglosc od srodka ekranu
*	@param  fOffsetDistance	Odleglosc od gracza
*/
addFixedSprite(id, ent, const Float:fOffset, Float:fOffsetLen, Float:fOffsetDistance, Float:fLTime = -1.0){	
	new index = ent_get(id);
	if(index == -1){
		return 0;
	}
	
	gfOffset[id][index][0] = fOffset;
	gfOffset[id][index][1] = fOffsetLen;
	
	gfOffsetLen[id][index] = fOffsetDistance;
	giEntsIds[id][index] = ent;
	
	if(fLTime >= 0.0)
		set_pev(ent, pev_ltime, get_gametime()+fLTime);
	else
	set_pev(ent, pev_ltime, 0.0);
	
	getPosition(id);
	
	return index + 1;
}
removeFixedSprite(id, ent){
	new index = -1;
	for(new i=0;i<SPRITES_PER_PLAYER;i++){
		if(giEntsIds[id][i] == ent){
			index = i;
			break;
		}
	}
	
	if(index < 0){
		gbHaveSprite[id] = false;
		
		resetUserCvars( id );
		
		return;
	}
	
	giEntsIds[id][index] = 0;
	gfOffsetLen[id][index] = 0.0;
	
	xs_vec_copy(Float:{0.0,0.0,0.0}, gfOffset[id][index]);
}
public fwAddToFullPack(es_handle, e, ENT, HOST, hostflags, player, set){
	if(player || !pev_valid( ENT ) ) return FMRES_IGNORED;
	
	new szClassName[ 64 ];
	
	pev( ENT , pev_classname , szClassName , charsmax( szClassName ) );
	
	if( !equal( szClassName , spriteClass ) ){
		return FMRES_IGNORED;
	}
	
	for(new i=0;i<SPRITES_PER_PLAYER;i++){
		
		if(giEntsIds[HOST][i] == ENT){
			
			getPosition( HOST );
			
			new Float:fAngles[3];
			new Float:fVector[3];
			
			pev(HOST, pev_v_angle, fAngles);
			
			angle_vector(fAngles, ANGLEVECTOR_FORWARD, fVector);
			xs_vec_mul_scalar(fVector, gfOffsetLen[HOST][i], fVector);
			
			fAngles[2] = gfOffset[HOST][i][0];
			angle_vector(fAngles, ANGLEVECTOR_RIGHT, fAngles);
			
			xs_vec_mul_scalar(fAngles, gfOffset[HOST][i][1], fAngles);
			
			xs_vec_add(gfPosition[HOST], fVector, fVector);
			xs_vec_add(fVector, fAngles, fVector);
			
			set_pev(giEntsIds[HOST][i], pev_origin, fVector);
			
			set_es( es_handle , ES_Origin , fVector );
			
			return FMRES_HANDLED;
		}
		
	}
	
	set_es( es_handle , ES_Scale , 0.001 );
	set_es( es_handle , ES_Origin , { 9999.0 , 9999.0 , 9999.0 } );
	
	return FMRES_HANDLED;
}
public fwSpriteThink(ent){
	if(!pev_valid(ent)) 
		return PLUGIN_CONTINUE;
	
	new Float:fNow = get_gametime();
	new Float:fLTime;
	if(pev(ent, pev_ltime, fLTime) && fLTime > 0.0 && fLTime <= fNow){
		removeFixedSprite(pev(ent, pev_owner), ent);
		remove_entity(ent);
	}
	else
	set_pev(ent, pev_nextthink, fNow+0.1);
	return PLUGIN_CONTINUE;
}
getPosition(id){
	pev(id, pev_origin, gfPosition[id]);
	
	static Float:fOffset[3];
	pev(id, pev_view_ofs, fOffset);
	
	xs_vec_add(gfPosition[id], fOffset, gfPosition[id]);
}

stock bool: is_user_steam(id) <dproto>
{
	if( is_user_bot( id ) ){
		return false;
	}
	
	server_cmd("dp_clientinfo %d", id);
	server_exec();
	
	static uClient;
	uClient = get_pcvar_num(pcv_dp_r_id_provider);
	
	if ( uClient == AUTH_STEAM )
		return true;
	
	return false;
}

stock bool: is_user_steam(id) <onlysteam>
{
	return !is_user_bot( id );
	
	#pragma unused id
}

Takım Kazandı Plugini hk.

Gönderilme zamanı: Pzr Eki 31, 2021 1:56 pm
gönderen ZaptYReis44
orucoglukayra yazdı: Pzr Eki 31, 2021 1:43 pm 2. eklenti kurulu olsun. 1. eklentide sprite içinde t ya da ct kazandı olarak değiştirmen gerek.Tam işlevini bilmediğim için seninde denemen lazım.
Yakın zamanda ilgilenemem ancak sen deneyerek yapabilirsin.

Kod: Tümünü seç

#include <amxmodx>
#include <reapi>

native addPlayerSprite(id,Float:scale,Float:frameRate,szModel[],Float:fAngle, Float:fLen, Float:fTime,Float:fDistance , bool: bTransparent );

new gszModel[] = "sprites/slowdown3.spr";

public plugin_init() {
	register_plugin("ElSonuSprite", "0.1", "LyNcH + DarkGL");
	
	RegisterHookChain(RG_RoundEnd, "@RoundEnd", .post = true);
}

public plugin_precache(){
	precache_model(gszModel);
}

@RoundEnd(WinStatus:status, ScenarioEventEndRound:event, Float:tmDelay) {
	for(new i = 0; i < MaxClients; i++)
	{
		if(is_user_connected(i)) 
		{
			switch(status) 
			{
				case WINSTATUS_CTS: 
				{
					addPlayerSprite(i,0.02,10.0,gszModel,20.0,10.0,9999.0, 13.0 , true );
				}
				case WINSTATUS_TERRORISTS: 
				{
					addPlayerSprite(i,0.02,10.0,gszModel,20.0,10.0,9999.0, 13.0 , true );
				}
			}
		}
	}
}

Kod: Tümünü seç

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <engine>
#include <xs>

#include <hamsandwich>

#define PLUGIN "spriteFixer"
#define VERSION "1.0"
#define AUTHOR "AMXX.PL Team"

#define SPRITES_PER_PLAYER 3
#define MAX_PLAYERS 33

#define AUTH_STEAM 2

new const spriteClass[]	=	"spriteFix";

new pcv_dp_r_id_provider;

new bool:gbHaveSprite[MAX_PLAYERS];
new giEntsIds[MAX_PLAYERS][SPRITES_PER_PLAYER];
new Float:gfOffset[MAX_PLAYERS][SPRITES_PER_PLAYER][2];
new Float:gfOffsetLen[MAX_PLAYERS][SPRITES_PER_PLAYER];
new Float:gfPosition[MAX_PLAYERS][3];
new Float: fBob[ MAX_PLAYERS ] ,
Float: fBobUp[ MAX_PLAYERS ]


public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_forward(FM_AddToFullPack, "fwAddToFullPack", 0 );
	
	register_think( spriteClass, "fwSpriteThink");
	
	pcv_dp_r_id_provider = get_cvar_pointer("dp_r_id_provider");
	
	if( !pcv_dp_r_id_provider ){
		state onlysteam;
	}
	else {
		state dproto;
	}
}

public client_disconnect(id){
	for(new i=0;i<SPRITES_PER_PLAYER;i++){
		if(pev_valid(giEntsIds[id][i])){
			remove_entity(giEntsIds[id][i]);
		}
		giEntsIds[id][i] = 0;
	}
}

public client_authorized(id){
	
	checkUserCvars( id );
	
	gbHaveSprite[id] = false;
}

public checkUserCvars( id ){
	
	if( !is_user_steam( id ) ){
		
		fBob[ id ]		=	0.01;
		fBobUp[ id ]	=	0.5;
		
		return PLUGIN_CONTINUE;
	}
	
	query_client_cvar( id , "cl_bob" , "clBobResult" )
	query_client_cvar( id , "cl_bobup" , "clBobUpResult" )
	
	return PLUGIN_CONTINUE;
}

public clBobResult(id, const cvar[], const value[]){
	fBob[ id ]	=	str_to_float( value );
}

public clBobUpResult(id, const cvar[], const value[]){
	fBobUp[ id ]	=	str_to_float( value );
}

public resetUserCvars( id ){
	
	client_cmd( id , "cl_bob %f" , fBob[ id ] );
	client_cmd( id , "cl_bobup %f" , fBobUp[ id ] );
	
}

public setUserCvars( id ){
	
	client_cmd( id , "cl_bob 0" );
	client_cmd( id , "cl_bobup 0" );
	
}

public plugin_natives(){
	register_native("addPlayerSprite","addSprite");
	
	register_native( "setSpriteFX" , "setSpriteFX" , 1 );
	register_native( "setSpriteRender" , "setSpriteRender" , 1 );
	register_native( "setSpriteColor" , "setSpriteColor" , 1 );
	register_native( "setSpriteSequence" , "setSpriteSequence" , 1 );
	register_native( "setSpriteScale" , "setSpriteScale" , 1 );
	register_native( "setSpriteFrameRate" , "setSpriteFrameRate" , 1 );
	register_native( "setSpriteAmount" , "setSpriteAmount" , 1 );
	
	register_native( "setSpriteAngle" , "setSpriteAngle" , 1 );
}

public setSpriteFX( id , indexSprite , fx ){
	
	if( checkSprite( id , indexSprite ) ){
		
		return PLUGIN_CONTINUE;
		
	}
	
	set_pev( giEntsIds[ id ][ indexSprite - 1 ] , pev_renderfx , fx );
	
	return PLUGIN_CONTINUE;
}

public setSpriteRender( id , indexSprite , render ){
	
	if( checkSprite( id , indexSprite ) ){
		
		return PLUGIN_CONTINUE;
		
	}
	
	set_pev( giEntsIds[ id ][ indexSprite - 1 ] , pev_rendermode , render );
	
	return PLUGIN_CONTINUE;
	
}

public setSpriteColor( id , indexSprite , Float: fColor[ 3 ] ){
	
	if( checkSprite( id , indexSprite ) ){
		
		return PLUGIN_CONTINUE;
		
	}
	
	set_pev( giEntsIds[ id ][ indexSprite - 1 ] , pev_rendercolor , fColor );
	
	return PLUGIN_CONTINUE;
}

public setSpriteSequence( id , indexSprite , iSequence ){
	
	if( checkSprite( id , indexSprite ) ){
		
		return PLUGIN_CONTINUE;
		
	}
	
	set_pev( giEntsIds[ id ][ indexSprite - 1 ] , pev_sequence , iSequence );
	
	return PLUGIN_CONTINUE;
}

public setSpriteScale( id , indexSprite , Float: fScale ){
	
	if( checkSprite( id , indexSprite ) ){
		
		return PLUGIN_CONTINUE;
		
	}
	
	set_pev( giEntsIds[ id ][ indexSprite - 1 ] , pev_scale , fScale );
	
	return PLUGIN_CONTINUE;
}

public setSpriteFrameRate( id , indexSprite , Float: fFrameRate ){
	
	if( checkSprite( id , indexSprite ) ){
		
		return PLUGIN_CONTINUE;
		
	}
	
	set_pev( giEntsIds[ id ][ indexSprite - 1 ] , pev_framerate , fFrameRate );
	
	return PLUGIN_CONTINUE;
}

public setSpriteAmount( id , indexSprite , Float: fAmount ){
	
	if( checkSprite( id , indexSprite ) ){
		
		return PLUGIN_CONTINUE;
		
	}
	
	set_pev( giEntsIds[ id ][ indexSprite - 1 ] , pev_renderamt , fAmount );
	
	return PLUGIN_CONTINUE;
}

public setSpriteAngle( id , indexSprite , Float: fAngle ){
	
	if( checkSprite( id , indexSprite ) ){
		
		return PLUGIN_CONTINUE;
		
	}
	
	gfOffset[id][ indexSprite ][ 0 ]	=	fAngle;
	
	return PLUGIN_CONTINUE;
}


bool: checkSprite( id , indexSprite ){
	return bool: ( indexSprite <= 0 || !pev_valid( giEntsIds[ id ][ indexSprite - 1 ] ) );
}

public addSprite(plugin,params){
	if(params < 7){
		log_amx("addSprite zbyt malo parametrow!");
		return 0;
	}
	new ent = create_entity("env_sprite");
	
	new id = get_param(1);
	
	set_pev(ent, pev_classname, spriteClass );
	set_pev(ent, pev_solid, SOLID_NOT);
	set_pev( ent, pev_movetype, MOVETYPE_FLY );
	
	new szModel[256]
	get_string(4, szModel, charsmax(szModel));
	
	entity_set_model(ent, szModel);
	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, get_param( 9 ) ? kRenderTransAdd : kRenderNormal , 255 );
	
	set_pev(ent, pev_scale, get_param_f(2));
	set_pev(ent, pev_owner, id);
	set_pev(ent, pev_framerate, get_param_f(3));
	
	new Float:fLTime = get_param_f(7);
	
	new iIndex	=	addFixedSprite(id, ent, get_param_f(5), get_param_f(6), get_param_f(8), fLTime);
	
	if( !iIndex ){
		remove_entity(ent);
		return 0;
	}
	
	if( !gbHaveSprite[ id ] ){
		setUserCvars( id );
	}
	
	gbHaveSprite[id] = true;
	
	if(fLTime >= 0.0){
		set_pev(ent, pev_nextthink, get_gametime()+fLTime);
	}
	
	return iIndex;
}

public ent_get(id){
	for(new i=0;i<SPRITES_PER_PLAYER;i++){
		if(giEntsIds[id][i] == 0){
			return i;
		}
	}
	return -1;
}

/**
* Dodaje do kolejki nowy byt
*
*	@param 	id 		Gracz
*	@param 	ent		Byt
*	@param 	fOffset		Przesuniecie katowe (tarcza zegara)
*	@param  fOffsetLen	Odleglosc od srodka ekranu
*	@param  fOffsetDistance	Odleglosc od gracza
*/
addFixedSprite(id, ent, const Float:fOffset, Float:fOffsetLen, Float:fOffsetDistance, Float:fLTime = -1.0){	
	new index = ent_get(id);
	if(index == -1){
		return 0;
	}
	
	gfOffset[id][index][0] = fOffset;
	gfOffset[id][index][1] = fOffsetLen;
	
	gfOffsetLen[id][index] = fOffsetDistance;
	giEntsIds[id][index] = ent;
	
	if(fLTime >= 0.0)
		set_pev(ent, pev_ltime, get_gametime()+fLTime);
	else
	set_pev(ent, pev_ltime, 0.0);
	
	getPosition(id);
	
	return index + 1;
}
removeFixedSprite(id, ent){
	new index = -1;
	for(new i=0;i<SPRITES_PER_PLAYER;i++){
		if(giEntsIds[id][i] == ent){
			index = i;
			break;
		}
	}
	
	if(index < 0){
		gbHaveSprite[id] = false;
		
		resetUserCvars( id );
		
		return;
	}
	
	giEntsIds[id][index] = 0;
	gfOffsetLen[id][index] = 0.0;
	
	xs_vec_copy(Float:{0.0,0.0,0.0}, gfOffset[id][index]);
}
public fwAddToFullPack(es_handle, e, ENT, HOST, hostflags, player, set){
	if(player || !pev_valid( ENT ) ) return FMRES_IGNORED;
	
	new szClassName[ 64 ];
	
	pev( ENT , pev_classname , szClassName , charsmax( szClassName ) );
	
	if( !equal( szClassName , spriteClass ) ){
		return FMRES_IGNORED;
	}
	
	for(new i=0;i<SPRITES_PER_PLAYER;i++){
		
		if(giEntsIds[HOST][i] == ENT){
			
			getPosition( HOST );
			
			new Float:fAngles[3];
			new Float:fVector[3];
			
			pev(HOST, pev_v_angle, fAngles);
			
			angle_vector(fAngles, ANGLEVECTOR_FORWARD, fVector);
			xs_vec_mul_scalar(fVector, gfOffsetLen[HOST][i], fVector);
			
			fAngles[2] = gfOffset[HOST][i][0];
			angle_vector(fAngles, ANGLEVECTOR_RIGHT, fAngles);
			
			xs_vec_mul_scalar(fAngles, gfOffset[HOST][i][1], fAngles);
			
			xs_vec_add(gfPosition[HOST], fVector, fVector);
			xs_vec_add(fVector, fAngles, fVector);
			
			set_pev(giEntsIds[HOST][i], pev_origin, fVector);
			
			set_es( es_handle , ES_Origin , fVector );
			
			return FMRES_HANDLED;
		}
		
	}
	
	set_es( es_handle , ES_Scale , 0.001 );
	set_es( es_handle , ES_Origin , { 9999.0 , 9999.0 , 9999.0 } );
	
	return FMRES_HANDLED;
}
public fwSpriteThink(ent){
	if(!pev_valid(ent)) 
		return PLUGIN_CONTINUE;
	
	new Float:fNow = get_gametime();
	new Float:fLTime;
	if(pev(ent, pev_ltime, fLTime) && fLTime > 0.0 && fLTime <= fNow){
		removeFixedSprite(pev(ent, pev_owner), ent);
		remove_entity(ent);
	}
	else
	set_pev(ent, pev_nextthink, fNow+0.1);
	return PLUGIN_CONTINUE;
}
getPosition(id){
	pev(id, pev_origin, gfPosition[id]);
	
	static Float:fOffset[3];
	pev(id, pev_view_ofs, fOffset);
	
	xs_vec_add(gfPosition[id], fOffset, gfPosition[id]);
}

stock bool: is_user_steam(id) <dproto>
{
	if( is_user_bot( id ) ){
		return false;
	}
	
	server_cmd("dp_clientinfo %d", id);
	server_exec();
	
	static uClient;
	uClient = get_pcvar_num(pcv_dp_r_id_provider);
	
	if ( uClient == AUTH_STEAM )
		return true;
	
	return false;
}

stock bool: is_user_steam(id) <onlysteam>
{
	return !is_user_bot( id );
	
	#pragma unused id
}
Teşekkürler deneyeceğim.

Takım Kazandı Plugini hk.

Gönderilme zamanı: Pzr Eki 31, 2021 3:56 pm
gönderen ZaptYReis44
orucoglukayra yazdı: Pzr Eki 31, 2021 1:43 pm 2. eklenti kurulu olsun. 1. eklentide sprite içinde t ya da ct kazandı olarak değiştirmen gerek.Tam işlevini bilmediğim için seninde denemen lazım.
Yakın zamanda ilgilenemem ancak sen deneyerek yapabilirsin.

Kod: Tümünü seç

#include <amxmodx>
#include <reapi>

native addPlayerSprite(id,Float:scale,Float:frameRate,szModel[],Float:fAngle, Float:fLen, Float:fTime,Float:fDistance , bool: bTransparent );

new gszModel[] = "sprites/slowdown3.spr";

public plugin_init() {
	register_plugin("ElSonuSprite", "0.1", "LyNcH + DarkGL");
	
	RegisterHookChain(RG_RoundEnd, "@RoundEnd", .post = true);
}

public plugin_precache(){
	precache_model(gszModel);
}

@RoundEnd(WinStatus:status, ScenarioEventEndRound:event, Float:tmDelay) {
	for(new i = 0; i < MaxClients; i++)
	{
		if(is_user_connected(i)) 
		{
			switch(status) 
			{
				case WINSTATUS_CTS: 
				{
					addPlayerSprite(i,0.02,10.0,gszModel,20.0,10.0,9999.0, 13.0 , true );
				}
				case WINSTATUS_TERRORISTS: 
				{
					addPlayerSprite(i,0.02,10.0,gszModel,20.0,10.0,9999.0, 13.0 , true );
				}
			}
		}
	}
}

Kod: Tümünü seç

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <engine>
#include <xs>

#include <hamsandwich>

#define PLUGIN "spriteFixer"
#define VERSION "1.0"
#define AUTHOR "AMXX.PL Team"

#define SPRITES_PER_PLAYER 3
#define MAX_PLAYERS 33

#define AUTH_STEAM 2

new const spriteClass[]	=	"spriteFix";

new pcv_dp_r_id_provider;

new bool:gbHaveSprite[MAX_PLAYERS];
new giEntsIds[MAX_PLAYERS][SPRITES_PER_PLAYER];
new Float:gfOffset[MAX_PLAYERS][SPRITES_PER_PLAYER][2];
new Float:gfOffsetLen[MAX_PLAYERS][SPRITES_PER_PLAYER];
new Float:gfPosition[MAX_PLAYERS][3];
new Float: fBob[ MAX_PLAYERS ] ,
Float: fBobUp[ MAX_PLAYERS ]


public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_forward(FM_AddToFullPack, "fwAddToFullPack", 0 );
	
	register_think( spriteClass, "fwSpriteThink");
	
	pcv_dp_r_id_provider = get_cvar_pointer("dp_r_id_provider");
	
	if( !pcv_dp_r_id_provider ){
		state onlysteam;
	}
	else {
		state dproto;
	}
}

public client_disconnect(id){
	for(new i=0;i<SPRITES_PER_PLAYER;i++){
		if(pev_valid(giEntsIds[id][i])){
			remove_entity(giEntsIds[id][i]);
		}
		giEntsIds[id][i] = 0;
	}
}

public client_authorized(id){
	
	checkUserCvars( id );
	
	gbHaveSprite[id] = false;
}

public checkUserCvars( id ){
	
	if( !is_user_steam( id ) ){
		
		fBob[ id ]		=	0.01;
		fBobUp[ id ]	=	0.5;
		
		return PLUGIN_CONTINUE;
	}
	
	query_client_cvar( id , "cl_bob" , "clBobResult" )
	query_client_cvar( id , "cl_bobup" , "clBobUpResult" )
	
	return PLUGIN_CONTINUE;
}

public clBobResult(id, const cvar[], const value[]){
	fBob[ id ]	=	str_to_float( value );
}

public clBobUpResult(id, const cvar[], const value[]){
	fBobUp[ id ]	=	str_to_float( value );
}

public resetUserCvars( id ){
	
	client_cmd( id , "cl_bob %f" , fBob[ id ] );
	client_cmd( id , "cl_bobup %f" , fBobUp[ id ] );
	
}

public setUserCvars( id ){
	
	client_cmd( id , "cl_bob 0" );
	client_cmd( id , "cl_bobup 0" );
	
}

public plugin_natives(){
	register_native("addPlayerSprite","addSprite");
	
	register_native( "setSpriteFX" , "setSpriteFX" , 1 );
	register_native( "setSpriteRender" , "setSpriteRender" , 1 );
	register_native( "setSpriteColor" , "setSpriteColor" , 1 );
	register_native( "setSpriteSequence" , "setSpriteSequence" , 1 );
	register_native( "setSpriteScale" , "setSpriteScale" , 1 );
	register_native( "setSpriteFrameRate" , "setSpriteFrameRate" , 1 );
	register_native( "setSpriteAmount" , "setSpriteAmount" , 1 );
	
	register_native( "setSpriteAngle" , "setSpriteAngle" , 1 );
}

public setSpriteFX( id , indexSprite , fx ){
	
	if( checkSprite( id , indexSprite ) ){
		
		return PLUGIN_CONTINUE;
		
	}
	
	set_pev( giEntsIds[ id ][ indexSprite - 1 ] , pev_renderfx , fx );
	
	return PLUGIN_CONTINUE;
}

public setSpriteRender( id , indexSprite , render ){
	
	if( checkSprite( id , indexSprite ) ){
		
		return PLUGIN_CONTINUE;
		
	}
	
	set_pev( giEntsIds[ id ][ indexSprite - 1 ] , pev_rendermode , render );
	
	return PLUGIN_CONTINUE;
	
}

public setSpriteColor( id , indexSprite , Float: fColor[ 3 ] ){
	
	if( checkSprite( id , indexSprite ) ){
		
		return PLUGIN_CONTINUE;
		
	}
	
	set_pev( giEntsIds[ id ][ indexSprite - 1 ] , pev_rendercolor , fColor );
	
	return PLUGIN_CONTINUE;
}

public setSpriteSequence( id , indexSprite , iSequence ){
	
	if( checkSprite( id , indexSprite ) ){
		
		return PLUGIN_CONTINUE;
		
	}
	
	set_pev( giEntsIds[ id ][ indexSprite - 1 ] , pev_sequence , iSequence );
	
	return PLUGIN_CONTINUE;
}

public setSpriteScale( id , indexSprite , Float: fScale ){
	
	if( checkSprite( id , indexSprite ) ){
		
		return PLUGIN_CONTINUE;
		
	}
	
	set_pev( giEntsIds[ id ][ indexSprite - 1 ] , pev_scale , fScale );
	
	return PLUGIN_CONTINUE;
}

public setSpriteFrameRate( id , indexSprite , Float: fFrameRate ){
	
	if( checkSprite( id , indexSprite ) ){
		
		return PLUGIN_CONTINUE;
		
	}
	
	set_pev( giEntsIds[ id ][ indexSprite - 1 ] , pev_framerate , fFrameRate );
	
	return PLUGIN_CONTINUE;
}

public setSpriteAmount( id , indexSprite , Float: fAmount ){
	
	if( checkSprite( id , indexSprite ) ){
		
		return PLUGIN_CONTINUE;
		
	}
	
	set_pev( giEntsIds[ id ][ indexSprite - 1 ] , pev_renderamt , fAmount );
	
	return PLUGIN_CONTINUE;
}

public setSpriteAngle( id , indexSprite , Float: fAngle ){
	
	if( checkSprite( id , indexSprite ) ){
		
		return PLUGIN_CONTINUE;
		
	}
	
	gfOffset[id][ indexSprite ][ 0 ]	=	fAngle;
	
	return PLUGIN_CONTINUE;
}


bool: checkSprite( id , indexSprite ){
	return bool: ( indexSprite <= 0 || !pev_valid( giEntsIds[ id ][ indexSprite - 1 ] ) );
}

public addSprite(plugin,params){
	if(params < 7){
		log_amx("addSprite zbyt malo parametrow!");
		return 0;
	}
	new ent = create_entity("env_sprite");
	
	new id = get_param(1);
	
	set_pev(ent, pev_classname, spriteClass );
	set_pev(ent, pev_solid, SOLID_NOT);
	set_pev( ent, pev_movetype, MOVETYPE_FLY );
	
	new szModel[256]
	get_string(4, szModel, charsmax(szModel));
	
	entity_set_model(ent, szModel);
	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, get_param( 9 ) ? kRenderTransAdd : kRenderNormal , 255 );
	
	set_pev(ent, pev_scale, get_param_f(2));
	set_pev(ent, pev_owner, id);
	set_pev(ent, pev_framerate, get_param_f(3));
	
	new Float:fLTime = get_param_f(7);
	
	new iIndex	=	addFixedSprite(id, ent, get_param_f(5), get_param_f(6), get_param_f(8), fLTime);
	
	if( !iIndex ){
		remove_entity(ent);
		return 0;
	}
	
	if( !gbHaveSprite[ id ] ){
		setUserCvars( id );
	}
	
	gbHaveSprite[id] = true;
	
	if(fLTime >= 0.0){
		set_pev(ent, pev_nextthink, get_gametime()+fLTime);
	}
	
	return iIndex;
}

public ent_get(id){
	for(new i=0;i<SPRITES_PER_PLAYER;i++){
		if(giEntsIds[id][i] == 0){
			return i;
		}
	}
	return -1;
}

/**
* Dodaje do kolejki nowy byt
*
*	@param 	id 		Gracz
*	@param 	ent		Byt
*	@param 	fOffset		Przesuniecie katowe (tarcza zegara)
*	@param  fOffsetLen	Odleglosc od srodka ekranu
*	@param  fOffsetDistance	Odleglosc od gracza
*/
addFixedSprite(id, ent, const Float:fOffset, Float:fOffsetLen, Float:fOffsetDistance, Float:fLTime = -1.0){	
	new index = ent_get(id);
	if(index == -1){
		return 0;
	}
	
	gfOffset[id][index][0] = fOffset;
	gfOffset[id][index][1] = fOffsetLen;
	
	gfOffsetLen[id][index] = fOffsetDistance;
	giEntsIds[id][index] = ent;
	
	if(fLTime >= 0.0)
		set_pev(ent, pev_ltime, get_gametime()+fLTime);
	else
	set_pev(ent, pev_ltime, 0.0);
	
	getPosition(id);
	
	return index + 1;
}
removeFixedSprite(id, ent){
	new index = -1;
	for(new i=0;i<SPRITES_PER_PLAYER;i++){
		if(giEntsIds[id][i] == ent){
			index = i;
			break;
		}
	}
	
	if(index < 0){
		gbHaveSprite[id] = false;
		
		resetUserCvars( id );
		
		return;
	}
	
	giEntsIds[id][index] = 0;
	gfOffsetLen[id][index] = 0.0;
	
	xs_vec_copy(Float:{0.0,0.0,0.0}, gfOffset[id][index]);
}
public fwAddToFullPack(es_handle, e, ENT, HOST, hostflags, player, set){
	if(player || !pev_valid( ENT ) ) return FMRES_IGNORED;
	
	new szClassName[ 64 ];
	
	pev( ENT , pev_classname , szClassName , charsmax( szClassName ) );
	
	if( !equal( szClassName , spriteClass ) ){
		return FMRES_IGNORED;
	}
	
	for(new i=0;i<SPRITES_PER_PLAYER;i++){
		
		if(giEntsIds[HOST][i] == ENT){
			
			getPosition( HOST );
			
			new Float:fAngles[3];
			new Float:fVector[3];
			
			pev(HOST, pev_v_angle, fAngles);
			
			angle_vector(fAngles, ANGLEVECTOR_FORWARD, fVector);
			xs_vec_mul_scalar(fVector, gfOffsetLen[HOST][i], fVector);
			
			fAngles[2] = gfOffset[HOST][i][0];
			angle_vector(fAngles, ANGLEVECTOR_RIGHT, fAngles);
			
			xs_vec_mul_scalar(fAngles, gfOffset[HOST][i][1], fAngles);
			
			xs_vec_add(gfPosition[HOST], fVector, fVector);
			xs_vec_add(fVector, fAngles, fVector);
			
			set_pev(giEntsIds[HOST][i], pev_origin, fVector);
			
			set_es( es_handle , ES_Origin , fVector );
			
			return FMRES_HANDLED;
		}
		
	}
	
	set_es( es_handle , ES_Scale , 0.001 );
	set_es( es_handle , ES_Origin , { 9999.0 , 9999.0 , 9999.0 } );
	
	return FMRES_HANDLED;
}
public fwSpriteThink(ent){
	if(!pev_valid(ent)) 
		return PLUGIN_CONTINUE;
	
	new Float:fNow = get_gametime();
	new Float:fLTime;
	if(pev(ent, pev_ltime, fLTime) && fLTime > 0.0 && fLTime <= fNow){
		removeFixedSprite(pev(ent, pev_owner), ent);
		remove_entity(ent);
	}
	else
	set_pev(ent, pev_nextthink, fNow+0.1);
	return PLUGIN_CONTINUE;
}
getPosition(id){
	pev(id, pev_origin, gfPosition[id]);
	
	static Float:fOffset[3];
	pev(id, pev_view_ofs, fOffset);
	
	xs_vec_add(gfPosition[id], fOffset, gfPosition[id]);
}

stock bool: is_user_steam(id) <dproto>
{
	if( is_user_bot( id ) ){
		return false;
	}
	
	server_cmd("dp_clientinfo %d", id);
	server_exec();
	
	static uClient;
	uClient = get_pcvar_num(pcv_dp_r_id_provider);
	
	if ( uClient == AUTH_STEAM )
		return true;
	
	return false;
}

stock bool: is_user_steam(id) <onlysteam>
{
	return !is_user_bot( id );
	
	#pragma unused id
}
Denedim fakat 2 hata oldu ;
1. T takımı kazanmasına rağmen Ct için yaptığım spr yi gösterdi
2. Görüntü geldi fakat ekranın ortasına gelmedi oyuncunun yan tarafında çıktı.

Takım Kazandı Plugini hk.

Gönderilme zamanı: Pzr Eki 31, 2021 4:11 pm
gönderen ENESIZM

Kod: Tümünü seç

#include <amxmodx>
#include <reapi>

native addPlayerSprite(id,Float:scale,Float:frameRate,szModel[],Float:fAngle, Float:fLen, Float:fTime,Float:fDistance , bool: bTransparent );

new gszModelCT[] = "sprites/CTWin.spr";
new gszModelT[] = "sprites/TWin.spr";

public plugin_init() {
    register_plugin("ElSonuSprite", "0.1", "LyNcH + DarkGL");
    
    RegisterHookChain(RG_RoundEnd, "@RoundEnd", .post = true);
}

public plugin_precache(){

    precache_model(gszModelCT);
    precache_model(gszModelT);

}

@RoundEnd(WinStatus:status, ScenarioEventEndRound:event, Float:tmDelay) {
    for(new i = 0; i < MaxClients; i++)
    {
        if(is_user_connected(i)) 
        {
            switch(status) 
            {
                case WINSTATUS_CTS: 
                {
                    addPlayerSprite(i,0.02,10.0,gszModelCT,20.0,10.0,9999.0, 13.0 , true );
                }
                case WINSTATUS_TERRORISTS: 
                {
                    addPlayerSprite(i,0.02,10.0,gszModelT,20.0,10.0,9999.0, 13.0 , true );
                }
            }
        }
    }
}
lokasyonlarını ayarlamadım dener misin ? 2 farklı spr yükleyeceksin unutma. mümkünse spr isimlerini değiştir.

Takım Kazandı Plugini hk.

Gönderilme zamanı: Pzr Eki 31, 2021 4:47 pm
gönderen ZaptYReis44
ENESIZM yazdı: Pzr Eki 31, 2021 4:11 pm

Kod: Tümünü seç

#include <amxmodx>
#include <reapi>

native addPlayerSprite(id,Float:scale,Float:frameRate,szModel[],Float:fAngle, Float:fLen, Float:fTime,Float:fDistance , bool: bTransparent );

new gszModelCT[] = "sprites/CTWin.spr";
new gszModelT[] = "sprites/TWin.spr";

public plugin_init() {
    register_plugin("ElSonuSprite", "0.1", "LyNcH + DarkGL");
    
    RegisterHookChain(RG_RoundEnd, "@RoundEnd", .post = true);
}

public plugin_precache(){

    precache_model(gszModelCT);
    precache_model(gszModelT);

}

@RoundEnd(WinStatus:status, ScenarioEventEndRound:event, Float:tmDelay) {
    for(new i = 0; i < MaxClients; i++)
    {
        if(is_user_connected(i)) 
        {
            switch(status) 
            {
                case WINSTATUS_CTS: 
                {
                    addPlayerSprite(i,0.02,10.0,gszModelCT,20.0,10.0,9999.0, 13.0 , true );
                }
                case WINSTATUS_TERRORISTS: 
                {
                    addPlayerSprite(i,0.02,10.0,gszModelT,20.0,10.0,9999.0, 13.0 , true );
                }
            }
        }
    }
}
lokasyonlarını ayarlamadım dener misin ? 2 farklı spr yükleyeceksin unutma. mümkünse spr isimlerini değiştir.
Deniyorum şimdi

Takım Kazandı Plugini hk.

Gönderilme zamanı: Pzr Eki 31, 2021 6:02 pm
gönderen ZaptYReis44
ENESIZM yazdı: Pzr Eki 31, 2021 4:11 pm

Kod: Tümünü seç

#include <amxmodx>
#include <reapi>

native addPlayerSprite(id,Float:scale,Float:frameRate,szModel[],Float:fAngle, Float:fLen, Float:fTime,Float:fDistance , bool: bTransparent );

new gszModelCT[] = "sprites/CTWin.spr";
new gszModelT[] = "sprites/TWin.spr";

public plugin_init() {
    register_plugin("ElSonuSprite", "0.1", "LyNcH + DarkGL");
    
    RegisterHookChain(RG_RoundEnd, "@RoundEnd", .post = true);
}

public plugin_precache(){

    precache_model(gszModelCT);
    precache_model(gszModelT);

}

@RoundEnd(WinStatus:status, ScenarioEventEndRound:event, Float:tmDelay) {
    for(new i = 0; i < MaxClients; i++)
    {
        if(is_user_connected(i)) 
        {
            switch(status) 
            {
                case WINSTATUS_CTS: 
                {
                    addPlayerSprite(i,0.02,10.0,gszModelCT,20.0,10.0,9999.0, 13.0 , true );
                }
                case WINSTATUS_TERRORISTS: 
                {
                    addPlayerSprite(i,0.02,10.0,gszModelT,20.0,10.0,9999.0, 13.0 , true );
                }
            }
        }
    }
}
lokasyonlarını ayarlamadım dener misin ? 2 farklı spr yükleyeceksin unutma. mümkünse spr isimlerini değiştir.
Bu spr dosyasını nasıl sağa sola oynatabilirim acaba ?

Takım Kazandı Plugini hk.

Gönderilme zamanı: Pzt Kas 01, 2021 1:53 am
gönderen ENESIZM
ZaptYReis44 yazdı: Pzr Eki 31, 2021 6:02 pm
ENESIZM yazdı: Pzr Eki 31, 2021 4:11 pm

Kod: Tümünü seç

#include <amxmodx>
#include <reapi>

native addPlayerSprite(id,Float:scale,Float:frameRate,szModel[],Float:fAngle, Float:fLen, Float:fTime,Float:fDistance , bool: bTransparent );

new gszModelCT[] = "sprites/CTWin.spr";
new gszModelT[] = "sprites/TWin.spr";

public plugin_init() {
    register_plugin("ElSonuSprite", "0.1", "LyNcH + DarkGL");
    
    RegisterHookChain(RG_RoundEnd, "@RoundEnd", .post = true);
}

public plugin_precache(){

    precache_model(gszModelCT);
    precache_model(gszModelT);

}

@RoundEnd(WinStatus:status, ScenarioEventEndRound:event, Float:tmDelay) {
    for(new i = 0; i < MaxClients; i++)
    {
        if(is_user_connected(i)) 
        {
            switch(status) 
            {
                case WINSTATUS_CTS: 
                {
                    addPlayerSprite(i,0.02,10.0,gszModelCT,20.0,10.0,9999.0, 13.0 , true );
                }
                case WINSTATUS_TERRORISTS: 
                {
                    addPlayerSprite(i,0.02,10.0,gszModelT,20.0,10.0,9999.0, 13.0 , true );
                }
            }
        }
    }
}
lokasyonlarını ayarlamadım dener misin ? 2 farklı spr yükleyeceksin unutma. mümkünse spr isimlerini değiştir.
Bu spr dosyasını nasıl sağa sola oynatabilirim acaba ?
gördüğün ondalık değerlerden bazıları koordinat, hangisi koordinat ben de bilmiyorum