GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: Rem - 2010. Április 18. - 13:37:19

Cím: NRG lekéro
Írta: Rem - 2010. Április 18. - 13:37:19
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 :)
Cím: NRG lekéro
Írta: szileni - 2010. Április 18. - 13:40:12
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...
Cím: NRG lekéro
Írta: Rem - 2010. Április 18. - 19:28:45
Kipróbáltam de ugyan úgy ott marad az eloször lekért motor is. Lehet valamit nem jól értelmeztem  :dead:
Cím: NRG lekéro
Írta: ChuckNorris - 2010. Április 19. - 11:35:02
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.
Cím: NRG lekéro
Írta: GroX - 2010. Április 19. - 14:41:27
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...
Cím: NRG lekéro
Írta: Rem - 2010. Április 19. - 23:55:34
Köszi szépen nagyon jó lett  :laugh: