bun
Deci sa incep va voi spune pas cu pas
Bun deci faceti mapa voastra....cu mta san andreeas sau cu programu facut de farse nu conteaaza luati linia cu poarta
sa zicem aveti poarta asta
CreateObject(987,x,y,z,rotationx,rotationy,rotation z);//am pus x,y,z pentru ca in loc de aceste variabile necunoscute ma rog
le inlocuiti cu paorta voastra 987=poarta
si acum intram in pawno
Si adaugam sus in script
Code: Select all
new PoartaNume;//pur si sumplu dam un nume poartei noastre
Code: Select all
PoartNume=CreateObject(coordonate)//cordonatele vor fi inlocuite cu ce aveti voi
Care il adaugam unde vreti voi sa zicem vreau sa fak un dialog cu o comanda in care sa deschid o poarta sau mai multe porti...
Deci incepem la OnPlayerCommandText(playerid,cmdtexrt[])
Code: Select all
if(strcmp("/comanda",cmdtext,true) ==0)
{
new name[10];
new format[240];
GetPlayerName(playerid,name,sizeof(name),"Welcome %s What gate you want to open? \nPoarta1 \nPoarta2..",name);
ShowPlayerDialog(playerid,2,DIALOG_STYLE_LIST,"Gates",format,"Gate","");
return 1;
}
la OnDialogResponse
Code: Select all
if(dialogid ==2)//id dialogulu
{
if(response) //playerul apasa primul buton si in cazul nostru avem doar unul asa ca numai folosim else dar daca nu faceti cu un singur buton este necesar sa folositi else
{
if(listitem ==0)
{
MoveObject(coordonate) //unde se misca obiectu sau SetObjectPos
SetTimer("Poarta1",3000,0)//3000 reprezint timpul in minisecunde si este egal cu 3 secunde iar 0 sau 1 reprezinta daca sa se mai repete
}
if(listitem ==1)//si tot asa daka aveti mai multe iteme...
{
.,,//ca mai sus SI moveobject fara settimer pentru a nu fi nevoitit sa faceti
}
si facem publicul de
pentru a nu fi nevoit sa facem 10.000 de publice faceti un singur public in care adaugati portile
facem asa
Code: Select all
undeva prin script nu conteaza unde dar nu in publice in nici un caz....
forward Gates
public Gates()
{
MoveObject(coordanate)...sau SetOjectPos
MoveObject(coordonate2...)///atentie sa se inchida poata iar la dialog in listitem sa se deschida deci mai precis salvati mapa de doua odata cand este inchisa odata cand este deschisa....si aici o sa urmeze mai multe MoveObject
}
si tot asa
ca sa nu va aud ca ai dat copu paste sau ca ai luat dintrun gm varza nu stiu ce mai ziceti voi plz
Acum sa dau si niste explicati la functi
deci
Code: Select all
CreateObject(modeid,x,y,z,ry,rx,rz);
modeid=id objectului
x,y,z=coordonate
x y z din cate stiti o sa invatati mai tarziu
x y z semnifika alplttitudine longitutdine
rotation x
roation y astea 3 reprezinta rotatiia in ce parte vreti sa le miscati
rotationz
SetTimer("name",time(iNMINISECUNDE),(0 daca sa se repete 1 daca vreti sa nu se mai repete
name -numele pe care vreti sal dati timerului
time in minisecunde-de precizat ca de exp vrem sa punem 5 secunde iar in minisecund ese mai adauga trei zerouri :)
reloading-0 daka vreit sa se repete 1 daka vreti sa nu se mai repete
MoveObject(object intre "".x,y,z,viteza in minisecunde);
Edit:am mai modifikat sper ca vam ajutat