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: [pawn]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;[/pawn]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): //
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
[pawn]dsys_info[ playerid ][ ds_bl_time ] > 0 //Ako je vreme do isteka ranjavanja vece od 0[/pawn]
da vrati 0 ili ti ne ulazi u ceo "AFK proces"
imam ovo ovaj dsys_info[ playerid ][ ds_bl_time ] pogledaj skriptu gore
Sačekaj voide skužio sam te
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 :)