Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: LudiYoutuber65 poslato Maj 29, 2021, 19:23:47 POSLE PODNE

Naslov: Pomoč za ranjavanje
Poruka od: LudiYoutuber65 poslato Maj 29, 2021, 19:23:47 POSLE PODNE
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): //
Naslov: Odg: Pomoč za ranjavanje
Poruka od: V01D poslato Maj 29, 2021, 21:03:11 POSLE PODNE
Nadji deo AFK sistema koji proverava kada je neki igrac AFK i posalji kod
Naslov: Odg: Pomoč za ranjavanje
Poruka od: LudiYoutuber65 poslato Maj 29, 2021, 21:14:53 POSLE PODNE
Nemam to nigdje ne mogu da nađem kako bi to započinjalo od prilike?
Naslov: Odg: Pomoč za ranjavanje
Poruka od: V01D poslato Maj 29, 2021, 21:17:46 POSLE PODNE
Bog zna kako pocinje, trazi pomocu reci AFK
Naslov: Odg: Pomoč za ranjavanje
Poruka od: LudiYoutuber65 poslato Maj 29, 2021, 21:23:06 POSLE PODNE
tražim ali što mi izbacuje izbacuje mi kao ovo [ AFKMinute ] == 0 && !IsPlayerPaused( playerid )) { i to je svugdje upisano u skripti
Naslov: Odg: Pomoč za ranjavanje
Poruka od: V01D poslato Maj 29, 2021, 21:26:19 POSLE PODNE
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"
Naslov: Odg: Pomoč za ranjavanje
Poruka od: LudiYoutuber65 poslato Maj 29, 2021, 21:40:17 POSLE PODNE
imam ovo ovaj dsys_info[ playerid ][ ds_bl_time ] pogledaj skriptu gore
Naslov: Odg: Pomoč za ranjavanje
Poruka od: LudiYoutuber65 poslato Maj 29, 2021, 21:41:04 POSLE PODNE
Sačekaj voide skužio sam te
Naslov: Odg: Pomoč za ranjavanje
Poruka od: V01D poslato Maj 29, 2021, 22:14:18 POSLE PODNE
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
Naslov: Odg: Pomoč za ranjavanje
Poruka od: LudiYoutuber65 poslato Maj 30, 2021, 14:26:24 POSLE PODNE
VOIDE nigdje ne mogu najti to za detekciju afk,kako da ovo drugačije odradim za sistem umiranja?
Naslov: Odg: Pomoč za ranjavanje
Poruka od: LudiYoutuber65 poslato Maj 31, 2021, 22:16:07 POSLE PODNE
Fixano molim administratora da zaključa temu,Hvala  :)