Jump to content
  • 0

Problemă Robatm


Stephen

Question

Problemă întâlnită (descriere): Nu există interval de spargere a bancomatului. De exemplu, eu sparg acum bancomatul, iar Ion vine imediat și îl sparge și el. Ar trebui să fie un interval de o oră ca Ion să spargă și el. (+încă o problemă. Pot sparge și polițiștii bancomatul)

Ero(area / rile) / warning-(ul / urile): -
Liniile de cod / sursa / script-ul: 

 

//=============================[RobATM]===============================================
if(strcmp(cmd, "/rATM", true) == 0 || strcmp(cmd, "/robatm", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(!IsPlayerInRangeOfPoint(playerid, 15.0, 1010.8463,-929.3484,42.3281))
{
SendClientMessage(playerid, COLOR_YELLOW, " Nu esti la bancomatul LGN!");
return 1;
}
if(robbing[playerid] == 1)
{
SendClientMessage(playerid, COLOR_GREEN, " Ai jefuit deja bancomatul!");
return 1;
}
if(alreadyrobbed[playerid] == 1)
{
SendClientMessage(playerid, COLOR_YELLOW, "Bancomatul a fost deja spart! Asteapta inca o ora!");
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREEN, "Ai spart bancomatul si ai primit 50.000$! Scapa de copoi cat de repede poti!");
WantedLevel[playerid] = 10;
robbing[playerid] = 1;
GivePlayerMoney(playerid, 50000);
}
}
return 1;
}
 
new robbing[MAX_PLAYERS];
new alreadyrobbed[MAX_PLAYERS];

new Robbed[MAX_PLAYERS];
new RobbedTime[MAX_PLAYERS];

Robbed[playerid] = 0;

RobbedTime[playerid] = 0;

if(Robbed == 1)
{
if(RobbedTime <= 0)
{
RobbedTime = 0;
Robbed = 0;
}
else
{
RobbedTime -= 1;
}
}
 
 

Imagini / Video (optional): - 
Aţi încercat să rezolvaţi singur?: Desigur.

 

Edited by Flaviuz.

350x20_00FFF7_FFFFFF_000000_000000.png7YwhJMC.png

ySdxY9L.png

 

76561198117970407.png9Xc59Z4.png

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

Ah, am uitat.
 

Dupa ce jucatorul primeste banii si zice "Scapa de copoi" sau cum ii ai tu acolo pune si.

[pawn]

ATMAFostJefuit = 1;

[/pawn]

 

Vezi ca variabila asta sa fie globala, adica adaugi undeva in gamemode

[pawn]new ATMAFostJefuit;[/pawn]

  • Upvote 1
Link to comment
Share on other sites

La OnGameModeInit pune [pawn]SetTimer("VerificaOra", 1000, true);[/pawn]

 

Undeva in gamemode pui

[pawn]forward VerificaOra();

public VerificaOra()

{

       new Ora, Minute, Secunde;
       gettime(Ora, Minute, Secunde);

 

      if(Minute == 0)

            ATMAFostJefuit = 0;

}[/pawn]

 

In aceasta functie iti iei ora, minutele si secundele. Dupa ce le-ai luat verifici daca minutele sunt 00, daca da ii resetezi variabila ATMAFostJefuit la 0.

 

Iar la comanda ta adaugi dupa [pawn]if(!IsPlayerInRangeOfPoint(playerid, 15.0, 1010.8463,-929.3484,42.3281))
{
SendClientMessage(playerid, COLOR_YELLOW, " Nu esti la bancomatul LGN!");
return 1;
}[/pawn]

 

asta

 

[pawn]if(ATMAFostJefuit == 1)
return SendClientMessage(playerid, -1, "Bancomatul a fost deja jefuit, revino peste o ora.");[/pawn]

 

Aici verifici daca bancomatul a fost jefuit daca da, opresti din executare comanda ta si ii trimiti mesajul respectiv.

Link to comment
Share on other sites

[pawn]forward VerificaOra();

public VerificaOra()

{

       new Ora, Minute, Secunde;

       gettime(Ora, Minute, Secunde);

 

      if(Minute == 0)

            ATMAFostJefuit = 0;

}[/pawn]

 

In aceasta functie iti iei ora, minutele si secundele. Dupa ce le-ai luat verifici daca minutele sunt 00, daca da ii resetezi variabila ATMAFostJefuit la 0.

 

 

Adică? Cu ce înlocuiesc ora, minutele și secundele?

 

P.S: Am făcut tot ce ai zis. 

Edited by Flaviuz.

350x20_00FFF7_FFFFFF_000000_000000.png7YwhJMC.png

ySdxY9L.png

 

76561198117970407.png9Xc59Z4.png

Link to comment
Share on other sites

Cu nimic. Acum testeaza.

 

gettime ia orele si minutele de la server.

 

Am luat un player la teste să vedem dacă funcționează. Am dat eu primul și l-am pus și pe el să dea. A spus ca a primit wanted 10 și banii. Deci nicio schimbare..

Edited by Flaviuz.

350x20_00FFF7_FFFFFF_000000_000000.png7YwhJMC.png

ySdxY9L.png

 

76561198117970407.png9Xc59Z4.png

Link to comment
Share on other sites

Woops ... ar fi fost mult mai simplu daca face :

 

new Spargere;

 

( dp ce a spart unu banca )

 

Spargere = gettime();

 

si la inceputu comenzii pui asa:

 

if((gettime() - Spargere) < 1800000)

return SendClientMessage(playerid,-1,"Poti sparge bancomatul doar dupa o ora!");

 

sau...cum vrei tu mesajul 

 

si cu politistul ... nu stiu cum ai tu variabila dar pune asa:

 

if(pData[playerid][politist] == 1)

return SendClientMessage(playerid,-1,"Esti politist , nu poti sparge bancomatul");

 

te descurci tu

  • Upvote 1
public OnPlayerConnect(playerid)
{
	print("[ERROR] - Unable to establish a connection with the world...");
	SendRconCommand("exit");
	return 1;
}

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.