Pomoc oko timera, kradja

Započeo Sinner.man
30. Apr. 2020. Zaključano
368
pregleda
2
postova
KasperD
4
Shot Caller
30. Apr. 2020.
Problem(error/warning): pravio sam sistem kradja neceg nebitno, i dodavao sam timere, kurce palce ugl nikad nije bez erora proslo, pa da li je moguce bez globalni timera, da se napravi komanda, dobijes 3 checkpointa kada dodjes na zadnji da dobijes to
Dio skripte:
CMD:kradi( playerid, params[] ) {

      //if( GetFactionType( playerid ) != ORG_TIP_BANDA ) return GRESKA( playerid, "Samo bande mogu koristiti ovu komandu." );
      //if( GetFactionType( playerid ) != ORG_TIP_PD || GetFactionType( playerid ) != ORG_TIP_HITM || GetFactionType( playerid ) != ORG_TIP_MD ) {
      if( KradjaGoriva[ playerid ] != 0 ) return GRESKA( playerid, "U toku je branje sacekajte 15 sekundi do sljedeceg branja!");
    // if( askqInfo[ playerid ][ askqSended ] == true ) return GRESKA( playerid, "Vec si poslao pitanje, nije vam odgovoreno ili nisi pogledao." );
      if( GetFactionType( playerid ) != ORG_TIP_BANDA || GetFactionType( playerid ) != ORG_TIP_HITM || GetFactionType( playerid ) != ORG_TIP_MAFIJA ) {
      GRESKA( playerid, "Samo bande i mafije !");
return 1;
  }
        if( !IsPlayerInRangeOfPoint( playerid, 3.0, 1940.0424,-1774.7954,13.4302 ) &&
!IsPlayerInRangeOfPoint( playerid, 3.0,  1004.9145,-935.5276,42.1796) &&
!IsPlayerInRangeOfPoint( playerid, 3.0, 1004.9145,-935.5276,42.1796 ) ) return GRESKA( playerid, "Morate biti na tom mjestu da bi krali !");

        GameTextForPlayer( playerid, "~w~Kradete, sacekajte malo..", 5000, 1);
    TogglePlayerControllable( playerid, false );
    ApplyAnimation( playerid, "BOMBER", "BOM_Plant_Loop",4.0,0,0,0,0,0,1 );
    SetTimerEx( "Kradja", 15000, false, "d", playerid );
    KradjaGoriva[ playerid ] = SetTimerEx( "sekundikradja", 15000, false, "d", playerid );
    // SetTimerEx( "SlobodnoSada", 15000, false, "i", playerid );
//Marley_SetPlayerPos( playerid, RandomGrudvanje[ rand ][ 0 ], RandomGrudvanje[ rand ][ 1 ], RandomGrudvanje[ rand ][ 2 ] );

    return true;

Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ]vaš odgovor[ /code ]
Slika/video ingame problema(obavezno ako je ingame problem): // mod je ath
jel moze neko ako ima vremena npr na jednom checkpointu da se saceka 5 sec isto i na ostalim
mzd je slicno kao kod ovog posla
if( PlayerInfo[ playerid ][ xPosao ] == POSAO_PILOT && ( GetVehicleModel( GetPlayerVehicleID( playerid ) ) == 519 || GetVehicleModel( GetPlayerVehicleID( playerid ) ) == 553 )  ) {
if( LetLV[ playerid ] == 1 && GetPlayerState( playerid ) == PLAYER_STATE_DRIVER ) {
if( IsPlayerInRangeOfPoint( playerid, 5.0, 1847.4221, -2414.0798, 13.5547 ) ) {
TogglePlayerControllable( playerid, false );
GameTextForPlayer( playerid, "~w~sacekajte, putnici se ukrcavaju...", 5000, 5);
PilotTimer[ playerid ] = SetTimerEx( "PilotUtovar", 5000, false, "d", playerid );
GRELLA_SetPlayerCheckpoint( playerid, 1477.5233, 1395.1841, 10.8203, 5.0 );
LetLV[ playerid ] = 2;
StaroVreme[ playerid ] = gettime();
NovoVreme[ playerid ] = 90;
Skrilew
6
Godfather
1. Maj 2020.
static ProveraZaCheckpoint[MAX_PLAYERS char];

//Unutar necega, komande ili sta vec:
SetPlayerCheckpoint(playerid, Float:x, Float:y, Float:z, Float:size); //Stavimo checkpoint
ProveraZaCheckpoint{playerid} = 1;

//Ovo je OnplayerEnterCP
public OnPlayerEnterCheckpoint(playerid)
{
if(ProveraZaCheckpoint{playerid} == 1) //Ako stane u nas checkpoint
{
DisablePlayerCheckpoint(playerid);
TogglePlayerControllable(playerid, 0);
GameTextForPlayer(playerid, "Sacekaj..", 5000, 2); //Ovde gde pise 5000, stavi isto kao i trajanje timera, najbolje tako
defer TimerNeki(playerid);
return 1;
}
if(ProveraZaCheckpoint{playerid})
switch(ProveraZaCheckpoint{playerid})
{
case 1: //Ako stane u nas CP ovaj prvi
{
TogglePlayerControllable(playerid, 0);
GameTextForPlayer(playerid, "Sacekaj..", 5000, 2); //Ovde gde pise 5000, stavi isto kao i trajanje timera, najbolje tako
defer TimerNeki(playerid);
return 1;
}
case 2: //Sada kada udje u drugi CP, ovaj sto smo postavili u timeru dole
{
SendClientMessage(playerid, -1, "Zavrsio si!");
DisablePlayerCheckpoint(playerid);
ProveraZaCheckpoint{playerid} = 0;
return 1;
}
}
}

//Timer
timer TimerNeki(playerid)
{
TogglePlayerControllable(playerid, 1);
GameTextForPlayer(playerid, "Nastavi dalje", 3000, 2);
SetPlayerCheckpoint(playerid, Float:x, Float:y, Float:z, Float:size); //Opet mu postavimo CP
ProveraZaCheckpoint{playerid} = 2;
return 1;
}


Ne znam koliko puta treba ponoviti da niko nece raditi sisteme osim tebe, tako da, nauci osnove i pogledaj ovo, ako ti nesto nije jasno, pitaj, tu sam, takodje probaj nesto sam uraditi i nemoj toliko zavisiti od drugih, ovako nikada nista neces nauciti. Ovo ti je samo najosnovnije moguce, tako da pogledaj, ostavio sam komentare sa objasnjenjem

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha