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: [pawn]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;[/pawn]
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
[pawn]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;[/pawn]
[pawn]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[5000](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;
}[/pawn]
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