Vrata banke

Započeo statham.3
15. Apr. 2020. Zaključano
449
pregleda
4
postova
Lazar Milojevic
5
Kingpin
15. Apr. 2020.
Problem(error/warning): Dodao sam u skripti kordinate kada su vrata zatvorena i kada su otvorena kad se dinamit stavi na njih. Kad udjem na server vrata su otvorena a preko komande /namestibvrata sam stavio takodje kordinate zatvorenih vrata i kad ukucam vrata su i dalje otvorena
Dio skripte
: [ pawn ]vaš odgovor[ /pawn ]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): //
Slika/video ingame problema(obavezno ako je ingame problem): //
if( VrataBankeSrusena == true ) {

    if( IsValidDynamicObject( VrataSefaBanke_1 ) )
    DestroyDynamicObject( VrataSefaBanke_1 );

        VrataSefaBanke_1 = CreateDynamicObject( 2634, 1452.080810, -994.826416, 37.143939, 0.000000, 0.000000, -2.100140 );

VrataBankeSrusena = false;
}

forward PukoDinamit( );
public PukoDinamit( ) {
if( SekundDinamita == 0 ) {
if( IsValidDynamicObject( DinamitObjekt ) ) DestroyDynamicObject( DinamitObjekt );
CreateExplosion( -1761.46912, 790.05151, 140.91470, 0, 4 );
    Delete3DTextLabel( Dinamit3D );
    SekundDinamita = 10;
    VrataBankeSrusena = true;
    if( IsValidDynamicObject( VrataSefaBanke_1 ) ) DestroyDynamicObject( VrataSefaBanke_1 );
    VrataSefaBanke_1 = CreateDynamicObject( 2634, 1452.080810, -994.826416, 37.143939, 0.000000, 0.000000, -2.100140 );
    return true;
}
SekundDinamita--;
SetTimer( "PukoDinamit", 1000, false );
Delete3DTextLabel( Dinamit3D );
new string[ 128 ];
format( string, sizeof( string ), ""col_red"Eksplozija dinamita\nPomerite se od dinamita\n"col_white"%d", SekundDinamita );
    Dinamit3D = Create3DTextLabel( string, BELA, -1761.46912, 790.05151, 140.91470, 30.0, -1, 0);
    return true;
}
Skrilew
6
Godfather
15. Apr. 2020.
Ja koliko vidim koordinate su iste xDDD
 VrataSefaBanke_1 = CreateDynamicObject( 2634, 1452.080810, -994.826416, 37.143939, 0.000000, 0.000000, -2.100140 );

 VrataSefaBanke_1 = CreateDynamicObject( 2634, 1452.080810, -994.826416, 37.143939, 0.000000, 0.000000, -2.100140 );


Ovo je iz prvog PAWN koda i iz drugog, nakon sto je pukao dinamit

Btw zar nije logicnije da se uniste vrata ako ih dinamit pukne xD? Al aj..

Udjes u map editor i postavis vrata na novu poziciju da budu otvorena, zatim te nove koordinate postavis u drugom PAWN kodu, tacnije kad dinamit pukne
Lazar Milojevic
5
Kingpin
15. Apr. 2020.
@V01D Sredio sam brate sad mi uopste nema vrata kada udjem na server
Skrilew
6
Godfather
16. Apr. 2020.
Ehhh, ajmo polako:

Na vrhu :
new BankaVrataSrusena;
new BankEksplozija;
new VrataBanka;


Sada kada smo napravili varijable koje na trebaju, dodas pod OnGameModeInit objekat vrata:
VrataBanka = CreateObject(19302, -1699.5692, 355.7017, 1438.7931, 0.000000, 0.000000, 0.000000);


Sada napravimo komandu da se dinamit postavi i srusi vrata:
CMD:postavidinamit(playerid, params[]) //IMA I EKSPLOZIJAAA MNOGOOO COOL IZGLEDAAA
{
if(!IsPlayerInRangeOfPoint(playerid, 3.0, -1699.4025,354.6178,1438.5709)) return SendErrorMessage(playerid, "Nisi kod vrata sefa!"); //Koordinate vrata
if(BankaVrataSrusena == 1) return SendErrorMessage(playerid, "Vrata su vec srusena!"); //Ako su vrata vec srusena
if( GetFactionType( playerid ) == ORG_TIP_PD ) { //Ako je igrac PD/FBI ili CIA
SendErrorMessage( playerid, "PD/FBI/CIA nema razloga koristiti ovo!");
return 1;
}
if(PlayerInfo == 0) return SendErrorMessage(playerid, "Nemas dinamit!"); //Ako nema dinamit
defer Eksplozija(playerid); //Timer
BankEksplozija = 10; //Timer do eksplozije (varijabla za odbrojavanje)
PlayerInfo = 0; //Igracu se oduzme dinamit
SendInfoMessage(playerid, "Postavio si dinamit, odmakni se!");
return 1;
}


Kada smo to uradili napravimo timer nakon koga ce se vrata srusiti :
timer Eksplozija(playerid) 
{
if(BankEksplozija != 0) //Ovo je za odbrojavanje varijable, da bi se prikazao GameTextForPlayer do pucanja vrata
{
BankEksplozija--; //Smanjujemo je i prikazemo
va_GameTextForPlayer(playerid, "%d sekundi", 1000, 3, BankEksplozija);
defer Eksplozija(playerid); //Zatim pokrecemo opet timer
}
else
{
BankEksplozija = 0; //Kada stignemo do kraja, srusimo vrata, stavimo BankaVrataSrusena na 1
BankaVrataSrusena = 1;
CreateExplosion(-1699.4025,354.6178,1438.5709, 12, 2.0); //Kreiramo eksploziju na tu lokaciju ( jako je cool )
DestroyObject(VrataBanka); //Unistimo objekat vrata, ili ga mozes i pomeriti preko MoveObject
SendInfoMessage(playerid, "Uspesno si razneo vrata banke!"); //Izbacimo cool porukicu da se igrac razneo vrata
}
}


Takodje mozemo dodati neki timer da sve vrati na normalno stanje nakon nekog vremena:
timer DoSledecegRoba() 
{
BankaVrataSrusena = 0;
VrataBanka = CreateObject(19302, -1699.5692, 355.7017, 1438.7931, 0.000000, 0.000000, 0.000000);
return 1;
}


Mozes i radi testiranja napraviti komandu da vrati vrata u pocetno stanje:
CMD:resetujrob(playerid, params[]) 
{
BankaVrataSrusena = 0;
VrataBanka = CreateObject(19302, -1699.5692, 355.7017, 1438.7931, 0.000000, 0.000000, 0.000000);
SendInfoMessage(playerid, "Uspesno si resetovao rob!");
return 1;
}


Kada bi hteo da pomeris vrata, samo bi iskoristio MoveObject umesto DestroyObject 😄

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha