Pozdrav svima u ovom tutorialu cu vam pokazati kako da na jednostavan nacin napravite komandu kojom cete otvarati vasu kapiju.
Pa da krenemo.
Korak 1. | Prvo moramo da definisemo kapiju[pawn]new Kapija1;[/pawn]
Korak 2. | Kreiramo kapiju[pawn]Kapija1= CreateDynamicObject(ID, X,Y,Z, R-X,R-Y,R-Z);[/pawn]
Korak 3. | Napravimo komandu kojom cemo otvarati kapiju[pawn]CMD:otvorikapiju(playerid,params[])
{
if(IsPlayerInRangeOfPoint(playerid, 10.0, 971.73761, -816.68665, 97.10720)) //Pozcija igraca na kojoj moze da otvori kapiju
{
if (PI[playerid][pPhousekey] == 36) //Samo vlasnik kuce sa id 36 moze da otvara tu kapiju - Vi stavite naravno id koji je vama potreban.
{
SendClientMessage(playerid, 0xFFFFFFAA, "{0B83E6}[SERVER] {FFFFFF}Otvorio si kucnu kapiju,automatski ce se zatvoriti.");
MoveDynamicObject(Kapija1, 971.73761, -816.68665, 94.86437,1.5,0.00000, 0.00000, 295.35303); //Kordinate otvorene kapije
SetTimer("KZatvori1", 4000, 0);
}
else return SCM(playerid, -1, "Nisi vlasnik ove kuce");//Stavis tekst koji hoces
}
return 1;
}[/pawn]
Da Pojasnim malo u vezi ovog dela: MoveDynamicObject(Kapija1, 971.73761, -816.68665, 94.86437,1.5,0.00000, 0.00000, 295.35303);Kapija1
- To vam je kapija koju smo kreirali na pocetku i ovom funkcijom pozivamo objekata da se pomeri na postavljene kordinate.Zatim upisujete kordinate (Kapija1,X,Y,Z,1.5,R-X,R-Y,-RZ) || Ovo 1.5 morate obavezno da stavite.Korak 4. | Pravimo funkciju automatskog zatvaranja kapije[pawn]public KZatvori1()
{
MoveDynamicObject(Kapija1, 971.73761, -816.68665, 97.10720,1.5,0.00000, 0.00000, 295.35303); //Stavljamo kordinate zatvorene kapije i obavezno dodati 1.5 kao i kod otvaranja kapije
return 1;
}[/pawn]
Dodajte forward gde vam se nalaze i ostali.[pawn]forward KZatvori1();[/pawn]
Evo kako da dodate jos kapija koje ce se otvarati istom komandom!
Uradicete sve isto kao na pocetku samo cete dodati na vec postojecu komandu sledece:
Naravno gde ste stavljali Kapija1 stavljacate Kapija2 itd. isto tako i za KZatvori1,KZatvori2,...itd.[pawn]else if(IsPlayerInRangeOfPoint(playerid, 10.0, 971.73761, -816.68665, 97.10720)) //Pozcija igraca na kojoj moze da otvori kapiju
{
if (PI[playerid][pPhousekey] == 36) //Samo vlasnik kuce sa id 36 moze da otvara tu kapiju - Vi stavite naravno id koji je vama potreban.
{
SendClientMessage(playerid, 0xFFFFFFAA, "{0B83E6}[SERVER] {FFFFFF}Otvorio si kucnu kapiju,automatski ce se zatvoriti.");
MoveDynamicObject(Kapija2, 971.73761, -816.68665, 94.86437,1.5,0.00000, 0.00000, 295.35303); //Kordinate otvorene kapije
SetTimer("KZatvori2", 4000, 0);
}
else return SCM(playerid, -1, "Nisi vlasnik ove kuce");//Stavis tekst koji hoces
}
return 1;
}[/pawn]
AKO IMA NESTO NEJASNO ILI NEKO PITANA RECITE!
Citat: Z_!Proxy poslato Decembar 10, 2015, 17:04:11 POSLE PODNE
Cemo ovo if (PI[playerid][pPhousekey] == 36)
mozda neki pocetnik bas nema to i tu mu baci errore... :)
Inace solidno objasnjeno
Slucajno mi je promaklo
PI vam je skracena za PlayerInfo | E sad sve zavisi od skripte do skripte negde se koristi PI negde PlayerInfo
pHousekey - Sam naziv vam govori da je rec o kljucu kucu kod nekoga je pHousekey kod nekoga pKljucakljuc i slicno uglavnom to staviti kako je kod vas u skripti
Inace hvala ovo mi je prvi tut da sam uradio,potrudio sam se da bude maximalo objasnjeno ;)
Trebo si samo dodat provjeru da li je otvorena, da se ne pojebu timeri, i univerzalnu public funkciju da možeÅ¡ proslijedit id kapije u settimerex, i onda getdynamiyobjectpos u 3 varijable i onda z smanjiÅ¡ za 3... Valjda kontaÅ¡ Å¡ta ti priÄam, treba malo optimizovat al sve u svemu nije loÅ¡e
Citat: ElectricityBoy poslato Decembar 10, 2015, 18:09:01 POSLE PODNE
Trebo si samo dodat provjeru da li je otvorena, da se ne pojebu timeri, i univerzalnu public funkciju da možeÅ¡ proslijedit id kapije u settimerex, i onda getdynamiyobjectpos u 3 varijable i onda z smanjiÅ¡ za 3... Valjda kontaÅ¡ Å¡ta ti priÄam, treba malo optimizovat al sve u svemu nije loÅ¡e
Da,da kontam te ali i ovako dobro sljaka ja sam koristio i koristim na svom modu,na serveru nikad nije bilo problema sto se tice toga.Inace hvala :)