Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: NS poslato Jul 24, 2018, 17:55:47 POSLE PODNE

Naslov: Kill timer
Poruka od: NS poslato Jul 24, 2018, 17:55:47 POSLE PODNE
Problem(error/warning): napravio rob sistem i napravio kad se roba da se stvori checkpoint i da se disable checkpoint kad se oroba.U slucaju da napusti checkpoint prekida se rob. Uradio sve nema nikakvih errora.I kad izadjem iz checkpointa pise mi izasli ste iz cp prekinio se rob.Problem je u tome sto se rob nije uopste prekino odnosno timer nije stopiran.
Dio skripte:[pawn]new BincoTimer[MAX_PLAYERS];[/pawn]
[pawn]public OnPlayerLeaveCheckpoint(playerid)
{
   if(playerid == robcp1)
   {
       KillTimer(BincoTimer[playerid]);
        SendClientMessage(playerid, -1, "You re stop robbing because you have leave the binco");
      SetPlayerWantedLevel(playerid, 1);
      return 1;
   }
        return 1;
}[/pawn]
[pawn]BincoTimer[playerid] = SetTimerEx("timer2", 60000, false, "i" , playerid);[/pawn]

Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ]//[ /code ]
Slika/video ingame problema(obavezno ako je ingame problem): //
Naslov: Odg: Kill timer
Poruka od: Stifler ツ poslato Jul 24, 2018, 18:32:46 POSLE PODNE
daj komandu kojom pokreces rob i public timer2
Naslov: Odg: Kill timer
Poruka od: NS poslato Jul 24, 2018, 23:22:31 POSLE PODNE
Citat: Stifler ãƒ,, poslato Jul 24, 2018, 18:32:46 POSLE PODNE
daj komandu kojom pokreces rob i public timer2
[pawn]CMD:robbinco(playerid, params[])
{
   if(IsPlayerConnected(playerid))
   if(gTeam[playerid] == TEAM_TERRORIST)
   {
      if(robpossible == 1)
      {
          if(IsPlayerInRangeOfPoint(playerid, 3.0, 207.5582,-97.7901,1005.2578))
         {
             robpossible = 0;
             SetTimer("timer1", 120000, false);
              BincoTimer[playerid] = SetTimerEx("timer2", 60000, false, "i" , playerid);
             SendClientMessage(playerid, -1, "[ED INFO]: You are started robbing...");
             SendClientMessage(playerid, 0x880000FF, "Police are comming,be carefull");
             SendClientMessage(playerid, 0xFFFF00AA, "Please wait few secounds");
             robcp1 = SetPlayerCheckpoint(playerid, 207.5582,-97.7901,1005.2578, 3.0);
             GameTextForPlayer(playerid,"~r~ ROBBING...",80500,4);
         }
         else return SendClientMessage(playerid, 0xf8F8F8FFF,"ERROR: {FFFFFF}You re not in range of point. ");
      }
      else return SendClientMessage(playerid, 0xf8F8F8FFF,"ERROR: {FFFFFF}You cant rob right now.Plesae wait few minutes. ");
   }
   else return SendClientMessage(playerid, 0xf8F8F8FFF,"ERROR: {FFFFFF}You re a police!.You cant robbing . ");
   
   return 1;
}[/pawn]
[pawn]public timer2(playerid)
{
   new msg[128];
   new money = random(11888);
   GivePlayerMoney(playerid,money);
   format(msg,sizeof(msg), "You ve succefuly robbed $%d from the binco",money);
   SendClientMessage(playerid, 0xFFFF00AA, msg);
   SetPlayerWantedLevel(playerid, 6);
   PlayerInfo[playerid][pRespect] += 2;
   DisablePlayerCheckpoint(playerid);
   GameTextForPlayer(playerid,"~g~ SUCCEFULY",2000,6);
}[/pawn]
Naslov: Odg: Kill timer
Poruka od: JohnnY. poslato Jul 24, 2018, 23:40:17 POSLE PODNE
[pawn]if(playerid == robcp1)[/pawn]

Kako igracev ID moze biti isti od checkpointa?
Naslov: Odg: Kill timer
Poruka od: NS poslato Jul 25, 2018, 19:15:36 POSLE PODNE
Citat: JohnnY. poslato Jul 24, 2018, 23:40:17 POSLE PODNE
[pawn]if(playerid == robcp1)[/pawn]

Kako igracev ID moze biti isti od checkpointa?
Ok. umjesto playerid sta trebam staviti ?
Naslov: Odg: Kill timer
Poruka od: JohnnY. poslato Jul 25, 2018, 21:26:06 POSLE PODNE
Ne mogu se kreirati 2 CPa pa da se mijesaju IDovi... Samo stavi provjeru da li pljacka.. U komandi da postavi na true i na leave da provjeri je li true, kad izadje iz cp postavi na false i kad zavrsi sa pljackom isto na false.

Ofc moras prvo kreirati novu varijablu za pljacku
Naslov: Odg: Kill timer
Poruka od: NS poslato Jul 26, 2018, 10:57:54 PRE PODNE
Citat: JohnnY. poslato Jul 25, 2018, 21:26:06 POSLE PODNE
Ne mogu se kreirati 2 CPa pa da se mijesaju IDovi... Samo stavi provjeru da li pljacka.. U komandi da postavi na true i na leave da provjeri je li true, kad izadje iz cp postavi na false i kad zavrsi sa pljackom isto na false.

Ofc moras prvo kreirati novu varijablu za pljacku
nesto ovako
[pawn]public OnPlayerLeaveCheckpoint(playerid)
{
   if(robbingbinco = true)
   {
       KillTimer(BincoTimer[playerid]);
       robbingbinco = false;
        SendClientMessage(playerid, -1, "You re stop robbing because you have leave the binco");
      SetPlayerWantedLevel(playerid, 1);
      return 1;
   }
   return 1;
}[/pawn]
Naslov: Odg: Kill timer
Poruka od: Don_Marquez poslato Jul 26, 2018, 11:02:31 PRE PODNE
Citat: NS poslato Jul 26, 2018, 10:57:54 PRE PODNE
nesto ovako
[pawn]public OnPlayerLeaveCheckpoint(playerid)
{
   if(robbingbinco = true)
   {
       KillTimer(BincoTimer[playerid]);
       robbingbinco = false;
        SendClientMessage(playerid, -1, "You re stop robbing because you have leave the binco");
      SetPlayerWantedLevel(playerid, 1);
      return 1;
   }
   return 1;
}[/pawn]
Da upravo tako