Szerző Téma: [TUT] Jármu lehívás parancsal  (Megtekintve 2242 alkalommal)

Nem elérhető ALIEN

  • 1163
    • Profil megtekintése
[TUT] Jármu lehívás parancsal
« Dátum: 2010. május 14. - 23:40:23 »
0 Show voters

TUTORIAL: Jármu lehívás parancsal
by ALIEN
 
 
Eloszó:
Üdv! Remélem ezen a fórumon még nincsen ilyen fajta tutorial,
mert úgy emlékszem mint ha lett volna de nem találom...
Na de mindegy akkor bemutatom nektek hogy hogyan is kell.
Szóval most egy parancsot csinálunk amivel jármuvet hívhatunk le magunkhoz.
Lássuk is.
1. Elsonek hozzunk létre egy változót ami tárolja a pozíciót:
 
new Float:x,Float:y,Float:z, Float:c;

 
     Magyarázat:
-Float x, y, z, = koordináták
-Float c, = nézoszög
2. Most az OnPlayerCommandText(playerid, cmdtext[]) fogunk dolgozni,
elsonek is lekérdezzük a játékos pozícióját:
 
GetPlayerPos(playerid,x,y,z);

 
3.Aztán létrehozunk egy jármuvet a játékos pozíciójára
hivatkozva:
 
CreateVehicle(522,x+1,y+1,z,c,0,3,900000);

 
     Magyarázat:
-522 = jármu id
-x+1,y+1,z+1 = a játékos koordinátáit megnöveljük egyel és így mellé rakja
-9000000 = respawn ideje (1000=1s)
Itt egy minta/példa:
 
#include <a_samp>
new Float:x,Float:y,Float:z, Float:c;
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(\"/nrg\", cmdtext, true) == 0)
{
GetPlayerPos(playerid,x,y,z);
SendClientMessage(playerid, 0x7CFC00AA, \"Lehívtál egy nrg-t!\");
CreateVehicle(522,x+1,y+1,z,c,0,3,900000);
return 1;
}
return 0;
}

 
Utószó:
És ezzel nagyjából készen is vagyunk, persze lehet cifrázni üzenetekkel,
pénz levonással stb... Ha hibáim vannak akkor kérlek szóljatok. (elsosorban a proknak mondom  :angel: )
Remélem értheto volt és a lényeget megértettétek. Kösz a figyelmet.

Nem elérhető Lömpi

  • 1257
    • Profil megtekintése
[TUT] Jármu lehívás parancsal
« Válasz #1 Dátum: 2010. május 15. - 07:03:52 »
0 Show voters
Szép tutorial, De Helyénállóbb lenne ha így csinálnád, sokkal kevesebb byteot foglal el és gyorsabb is.

Íme:

1.
 
new Float:fPos[3];

 
2.
 
GetPlayerPos(playerid,fPos[0],fPos[1],fPos[2]);

 
3. És itt kifejtetted hogy lekéni kérni a nézési szögét is..
GetPlayerFacingAngle(playerid,fPos[3]);
4.
 
CreateVehicle(522,fPos[0],fPos[1],fPos[2],fPos[3],-1,-1,60);

 
5.  Az Egész:
 
if(strcmp(\"/nrg\", cmdtext, true) == 0)
{
       new Float:fPos[3];
GetPlayerPos(playerid,fPos[0],fPos[1],fPos[2]);
       GetPlayerFacingAngle(playerid,fPos[3]);
SendClientMessage(playerid, 0x7CFC00AA, \"Lehívtál egy nrg-t!\");
CreateVehicle(522,fPos[0],fPos[1],fPos[2],fPos[3],-1,-1,60);
return 1;
}

 
Remélem segítettem és ezt ne mazért csináltam hogy jobbnak nézzenek hanem hogy kijavítsalak..

Üdv, dnS\'

Nem elérhető maark

  • 565
    • Profil megtekintése
[TUT] Jármu lehívás parancsal
« Válasz #2 Dátum: 2010. május 15. - 09:25:41 »
0 Show voters
jókis tut :) grat
De szerintem ez még mehetne bele:
 
if(IsPlayerInAnyVehicle(playerid)) return  SendClientMessage(playerid, 0xFB0000FF, \"HIBA: te már jármuben vagy!\");
« Utoljára szerkesztve: 2010. május 15. - 09:28:37 írta maark »

Nem elérhető SnicK

  • 7521
    • Profil megtekintése
[TUT] Jármu lehívás parancsal
« Válasz #3 Dátum: 2010. május 15. - 10:35:08 »
0 Show voters
Indentáció  :shy:

Nem elérhető ALIEN

  • 1163
    • Profil megtekintése
[TUT] Jármu lehívás parancsal
« Válasz #4 Dátum: 2010. május 15. - 12:04:13 »
0 Show voters
Idézetet írta: maark date=1273908341\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"1657\" data-ipsquote-contentclass=\"forums_Topic
jókis tut :) grat
De szerintem ez még mehetne bele:
 
if(IsPlayerInAnyVehicle(playerid)) return  SendClientMessage(playerid, 0xFB0000FF, \"HIBA: te már jármuben vagy!\");

 

Már írtam hogy lehet cifrázni mindennel, üzenetküldéssel stb. Csak a lényeget próbáltam leírni.
És dns-é is jó. De azért kösz.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal