Szerző Téma: NRG lekéro  (Megtekintve 1078 alkalommal)

Nem elérhető Rem

NRG lekéro
« Dátum: 2010. április 18. - 13:37:19 »
0 Show voters
if (strcmp(cmdtext, \"/nrg500\",true)==0)
{
if(IsPlayerInAnyVehicle(playerid)) return
SendClientMessage(playerid, 0x33AA33AA, \"Élvezd az új motorod\");
new Float:x,Float:y,Float:z,Float:a;
GetPlayerPos(playerid,x,y,z);
GetPlayerFacingAngle(playerid,a);
CreateVehicle(522,x+1,y+1,z,a,1,1,10000);
      return 1;
}
Sziasztok.
Az lenne a kérdésem hogy,hogy lehetne meg oldani hogy ha lekérsz egy nrg-t akkor amit elotte le kértél ne maradjon ott.Szóval az a problémám hogy ha 10 nrg-kérsz mind a 10 ott marad .Ja és még 1 kérdés van kocsi javító parancs ahhoz hohy nem tudják flood-olni mit kellene még hozzá írni?? Köszi a segítséget :)

NRG lekéro
« Válasz #1 Dátum: 2010. április 18. - 13:40:12 »
0 Show voters
Ez nem nehéz. Az összes lekérheto motorhoz/kocsihoz/hajóhoz tedd ugyan így be ahogy most én megmutatom
 
DestroyVehicle(GetPlayerVehicleID(playerid)); 

 

if (strcmp(cmdtext, \"/nrg500\",true)==0)
{
  if(IsPlayerInAnyVehicle(playerid)) return
  SendClientMessage(playerid, 0x33AA33AA, \"Élvezd az új motorod\");
  new Float:x,Float:y,Float:z,Float:a;
  GetPlayerPos(playerid,x,y,z);
  GetPlayerFacingAngle(playerid,a);
  CreateVehicle(522,x+1,y+1,z,a,1,1,10000);
  DestroyVehicle(GetPlayerVehicleID(playerid));
  return 1;
}

 
Így hogyha a lehívott jármu után hívsz le mégegyet akkor eltunik az elozo...
« Utoljára szerkesztve: 2010. április 18. - 13:41:48 írta szileni »

Nem elérhető Rem

NRG lekéro
« Válasz #2 Dátum: 2010. április 18. - 19:28:45 »
0 Show voters
Kipróbáltam de ugyan úgy ott marad az eloször lekért motor is. Lehet valamit nem jól értelmeztem  :dead:

NRG lekéro
« Válasz #3 Dátum: 2010. április 19. - 11:35:02 »
0 Show voters
Tökéletesen értelmezted,szileni kódja hibás:
Ezzel elpusztítod azt a jármuvet amiben ülsz,nem azt amiben ültél.
 

new NRG[MAX_PLAYERS]; //A main fölé
if(!strcmp(cmdtext, \"/nrg\", true))//OnPlayerCommandTexthez
{
    new Float:x,Float:y,Float:z,Float:a;
if( NRG[playerid] > 0 ) DestroyVehicle(NRG[playerid]);
if(IsPlayerInAnyVehicle(playerid)) RemovePlayerFromVehicle(playerid);
GetPlayerPos(playerid,x,y,z);
GetPlayerFacingAngle(playerid, a);
NRG[playerid] = CreateVehicle(522, x, y , z, a, 0,0, 5000000);
PutPlayerInVehicle(playerid, NRG[playerid], 0);
SetVehiclePos(NRG[playerid], x, y, z);
SetVehicleZAngle(NRG[playerid], a);
SetVehicleHealth(NRG[playerid],  1000.0);
   LinkVehicleToInterior(NRG[playerid], GetPlayerInterior(playerid));
SendClientMessage(playerid,0x0066FFAA, \"NRG500 lekérve!\");
return 1;
}

 
Nem teszteltem de elvileg muködik.

GroX

  • Vendég
NRG lekéro
« Válasz #4 Dátum: 2010. április 19. - 14:41:27 »
0 Show voters
Idézetet írta: ChuckNorris date=1271669702\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"1428\" data-ipsquote-contentclass=\"forums_Topic
Tökéletesen értelmezted,szileni kódja hibás:
Ezzel elpusztítod azt a jármuvet amiben ülsz,nem azt amiben ültél.
 

new NRG[MAX_PLAYERS]; //A main fölé
if(!strcmp(cmdtext, \"/nrg\", true))//OnPlayerCommandTexthez
{
    new Float:x,Float:y,Float:z,Float:a;
if( NRG[playerid] > 0 ) DestroyVehicle(NRG[playerid]);
if(IsPlayerInAnyVehicle(playerid)) RemovePlayerFromVehicle(playerid);
GetPlayerPos(playerid,x,y,z);
GetPlayerFacingAngle(playerid, a);
NRG[playerid] = CreateVehicle(522, x, y , z, a, 0,0, 5000000);
PutPlayerInVehicle(playerid, NRG[playerid], 0);
SetVehiclePos(NRG[playerid], x, y, z);
SetVehicleZAngle(NRG[playerid], a);
SetVehicleHealth(NRG[playerid],  1000.0);
   LinkVehicleToInterior(NRG[playerid], GetPlayerInterior(playerid));
SendClientMessage(playerid,0x0066FFAA, \"NRG500 lekérve!\");
return 1;
}

 
Nem teszteltem de elvileg muködik.
 
Felesleges 2szer beállítani a jármuvet mivel ugyanoda állítod.
 
new NRG[MAX_PLAYERS]; //A main fölé
if(!strcmp(cmdtext, \"/nrg\", true))//OnPlayerCommandTexthez
{
    new Float:P[4];
if( NRG[playerid] > 0 ) DestroyVehicle(NRG[playerid]);
if(IsPlayerInAnyVehicle(playerid)) RemovePlayerFromVehicle(playerid);
GetPlayerPos(playerid,P[0],P[1],P[2]);
GetPlayerFacingAngle(playerid, P[3]);
NRG[playerid] = CreateVehicle(522,P[0],P[1],P[2], P[3], -1,-1,-1);
PutPlayerInVehicle(playerid, NRG[playerid], 0);
   LinkVehicleToInterior(NRG[playerid], GetPlayerInterior(playerid));
SendClientMessage(playerid,0x0066FFAA, \"NRG500 lekérve!\");
return 1;
}

 
Így most már jó.
De nem értem minek a 10000-es virtual worldbe rakjátok...
« Utoljára szerkesztve: 2010. április 19. - 14:43:06 írta GroX »

Nem elérhető Rem

NRG lekéro
« Válasz #5 Dátum: 2010. április 19. - 23:55:34 »
0 Show voters
Köszi szépen nagyon jó lett  :laugh:

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal