Pomoč za ranjavanje


Započeo LudiYoutuber65, Maj 29, 2021, 19:23:47 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Problem(error/warning): Imam sistem kada neko nekoga ubije ne spawna ga nego ide ono kao da krvari ako me kontate ali kad ga ubijem i kad počne odbrojavanje on je meni afk a on je u igri
Deo skripte:
public OnPlayerDamageDone(playerid, Float:amount, issuerid, weapon, bodypart)
{


	if( IsPlayerNPC( playerid ) || AdminDuty[ playerid ] || antiSpawnKill[ playerid ] == 1 ) return 0;

	if( issuerid != INVALID_PLAYER_ID ) {

		if( NaDmEventu[ playerid ] == false && WARPInfo[ playerid ][ WARIgrac ] == -1 && tdm_player_info[ playerid ][ tdm_Team ] == 0 ) {

        	if( weapon >= 22 && weapon <= 42 ) {

		        if( GetWeapon( issuerid ) == 23 && ImaTazer[ issuerid ] == true ) { }
		        else {

				    if( !dsys_info[ playerid ][ ds_b_w ] && GetPlayerInterior( playerid ) == 0 && GetPlayerVirtualWorld( playerid ) == 0 ) {

			            new Float:HP;
						GetPlayerHealth( playerid, HP );

				        if( HP <= 10 ) {

						    HP = 10;

	                        if( !dsys_info[ playerid ][ ds_b_w ] ) {

								dsys_info[ playerid ][ ds_b_w ] = true;
								dsys_info[ playerid ][ ds_b_istek ] = true;
								dsys_info[ playerid ][ ds_bl_time ] = 30;
								dsys_info[ playerid ][ ds_b_reason ] = weapon;
								dsys_info[ playerid ][ ds_b_killed_ID ] = issuerid;
	    						dsys_info[ playerid ][ ds_b_killed_xID ] = PlayerInfo[ issuerid ][ xID ];
	    						

								new stringce[ 40 ];
								format( stringce, sizeof( stringce ), "Umirete za %d sekundi", dsys_info[ playerid ][ ds_bl_time ] );	
								NotifyPlayer( playerid, "Ranjeni ste", stringce, 0, 30000 );
								
								if( GetPlayerVehicleID( playerid ) != INVALID_VEHICLE_ID ) KGEyes_RemovePlayerFromVehicle( playerid );

								SetPlayerHealth( playerid, 10.0 );

								format( globalstring, sizeof( globalstring ), "(( Ovaj igrac je ranjen, imate %ds da mu pomognete. ))", dsys_info[ playerid ][ ds_bl_time ] );
								SetPlayerChatBubble( playerid, globalstring, SVETLOCRVENA, 9.5, 600000 );

							    KGEyes_TogglePlayerControllable( playerid, false );
								ApplyAnimation( playerid, "SWEET","Sweet_injuredloop", 4.0, 1, 0, 0, 0, 0);
								ApplyAnimation( playerid, "SWEET","Sweet_injuredloop", 4.0, 1, 0, 0, 0, 0);

								SendInfoMessage( playerid, "Ranjeni ste, imate %ds da vam neko pomogne.", dsys_info[ playerid ][ ds_bl_time ] );
								
								if( GetFactionType( issuerid ) != ORG_TIP_PD ) PostaviWanted( issuerid, "Pokusaj ubistva", "Nepoznati", 6 );
						       	
								switch( weapon ) {
	    							case 4, 41, 42: {
	    								damagedPlayersCounter[ issuerid ] ++;
			    						if( attackedPlayerTimer[ issuerid ] > gettime() ) {
			    							if(damagedPlayersCounter[ issuerid ] > 3 ) {

			    								if( PlayerInfo[ issuerid ][ xAdmin ] < 1 ) format( globalstring, sizeof( globalstring ), "~r~ANTICHEAT)~w~ %s je kikovan, Cheat: Multi Kill!!", ImeIgraca( issuerid ) );
												p_sendboxmessage(globalstring);
												new acstr[ 144 ];
												format( acstr, sizeof acstr, ""col_red"(ANTICHEAT) "col_white"Ti si kickovan sa servera. Razlog: "col_server"MultiKill - in 3 seconds ranjavanje" );
												SendClientMessage(issuerid, -1, acstr);
												AntiCheatKickWithDesync(issuerid, 28);

												foreach( new p : Player) {
													if( attackedPlayer[ p ] == issuerid ) {
														SetPlayerHealth(p, damagedPlayerHealth[ p ]);
														KGEyes_SetPlayerArmour(p, damagedPlayerArmour[ p ]);
														attackedPlayer[ p ] = INVALID_PLAYER_ID;
														damagedPlayerHealth[ p ] = 0.0;
														damagedPlayerArmour[ p ] = 0.0;
														PlayerInfo[ p ][ xGoToHospital ] = 0;
														SetPlayerChatBubble( p, " ", BELA, 9.5, 1);
														clear_damages_info( p );
														VremeTDControl( p, false );
														ClearAnimations( p );
														ugasiNotifikaciju( p );	
														KGEyes_TogglePlayerControllable( p, true );
													}
												}
			    							}
			    						}
	    							}
	    						}
						       	return 0;

Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
//
Poslednja Izmena: Jun 01, 2021, 14:52:51 POSLE PODNE od M Ө M Σ N Z I

Nadji deo AFK sistema koji proverava kada je neki igrac AFK i posalji kod

Nemam to nigdje ne mogu da nađem kako bi to započinjalo od prilike?

Bog zna kako pocinje, trazi pomocu reci AFK

tražim ali što mi izbacuje izbacuje mi kao ovo [ AFKMinute ] == 0 && !IsPlayerPaused( playerid )) { i to je svugdje upisano u skripti

Citajuci tvoj afk sistem moras da protumacis kako detektuje kada je neki igrac otisao AFK.

Zatim kada skontas kada se belezi da li je neko afk ili nije, stavis da ukoliko je ranjen, ili ti

dsys_info[ playerid ][ ds_bl_time ] > 0 //Ako je vreme do isteka ranjavanja vece od 0


da vrati 0 ili ti ne ulazi u ceo "AFK proces"

imam ovo ovaj dsys_info[ playerid ][ ds_bl_time ] pogledaj skriptu gore


Kazem da mozes da koristis tu varijablu kao detekciju da li je neko ranjen, ako je ta promenljiva veca od 0, da se afk ne izvrsi

VOIDE nigdje ne mogu najti to za detekciju afk,kako da ovo drugačije odradim za sistem umiranja?

Fixano molim administratora da zaključa temu,Hvala  :)