GTA-Expert Forum: [HELP]Veicoli - GTA-Expert Forum

Salta al contenuto

Pagina 1 di 1
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione

[HELP]Veicoli

#1 L'utente è offline   GianlucA_Ct 

  • Cleptomane
  • Gruppo: Utenti
  • Messaggi: 125
  • Iscritto il: 02/06/11
  • GTA Preferito:GTA: San Andreas

Inviato il 16 settembre 2012 - 23:13

Ragazzi,ho questo scritp,in pratica "Dovrebbe bloccare il veicolo alla persona che non porta la tag [IFS]"però in game non funge! Ecco lo script:

Quote

public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(GetPlayerVehicleID(playerid) == 425)
{
new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, sizeof(pName));
if(!strfind(pName, "[IFS]", true))
{
RemovePlayerFromVehicle(playerid);
return 1;
}
return SendClientMessage(playerid,0x9E0000AA,"Devi essere un membro Italian Force per usare questo comando!");

}
return 0;
}


Ecco il secondo:

Quote

if (!strcmp("/Sultan", cmdtext, true))
{
if(SpawnedVehicles[playerid] != 0) DestroyVehicle(SpawnedVehicles[playerid]);
new Float:X,Float:Y,Float:Z,Float:ROT;
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle (playerid,ROT);
SpawnedVehicles[playerid] = CreateVehicle(560,X,Y,Z,ROT,-1,-1,60);
PutPlayerInVehicle(playerid,SpawnedVehicles[playerid],0);
AddVehicleComponent (560, 1029);
AddVehicleComponent (560, 1141);
AddVehicleComponent (560, 1138);
AddVehicleComponent (560, 1032);
AddVehicleComponent (560, 1169);
AddVehicleComponent (560,1074);
return 1;

Quando eseguo il comando spawna il veicolo normale,senza niente

Grazie in anticipo :D
Firma fuori dai limiti del regolamento (troppo alta e pesante); codice originale:
[img]http://monitors.cancel.lt/server_info/188.165.252.63:7977:samp/560x95.png[/img]
[img]http://www.speedtest.net/result/1369075691.png[/img]

[img]http://i54.tinypic.com/w2d0dd.png[/img]
0

#2 L'utente è offline   Skiaffo 

  • Boss
  • Gruppo: Moderatori
  • Messaggi: 14730
  • Iscritto il: 08/12/05
  • Provenienza:Urbs Aeterna
  • GTA Preferito:GTA V

Inviato il 19 settembre 2012 - 12:20

Allora, non usare OnPlayerStateChange, ma usa OnPlayerEnterVehicle. E per fargli trovare il veicolo chiuso basta che usi ClearAnimations(playerid). Ma a questo punto per evitare di spawnare veicoli inutilizzabili, perché non bloccare il comando? Inoltre hai sbagliato la sintassi dell'AddVehicleComponent, non devi inserire il modelid, ma il vehicleid. Ti ho anche sistemato lo strfind che era sbagliato, quando returna 0 significa che l'ha trovato, non il contrario, quando non lo ha trovato returna -1.

Il comando cambialo così:

if (!strcmp("/Sultan", cmdtext, true)) 
{
  if(SpawnedVehicles[playerid] != 0) DestroyVehicle(SpawnedVehicles[playerid]);
  new pName[MAX_PLAYER_NAME];
  GetPlayerName(playerid, pName, sizeof(pName));
  if (strfind(pName, "[IFS]", true) == -1) return SendClientMessage(playerid, 0x9E0000AA, "Devi essere un membro Italian Force per usare questo comando!");
  new Float:X, Float:Y, Float:Z, Float:ROT;
  GetPlayerPos(playerid, X, Y, Z);
  GetPlayerFacingAngle (playerid, ROT);
  SpawnedVehicles[playerid] = CreateVehicle(560, X, Y, Z, ROT, -1, -1, 60);
  PutPlayerInVehicle(playerid, SpawnedVehicles[playerid], 0);
  AddVehicleComponent(SpawnedVehicles[playerid], 1029);
  AddVehicleComponent(SpawnedVehicles[playerid], 1141);
  AddVehicleComponent(SpawnedVehicles[playerid], 1138);
  AddVehicleComponent(SpawnedVehicles[playerid], 1032);
  AddVehicleComponent(SpawnedVehicles[playerid], 1169);
  AddVehicleComponent(SpawnedVehicles[playerid], 1074);
  return 1;
}


A questo punto solo i membri IFS possono spawnare le sultan. Ora per bloccarle agli altri:

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
  new pName[MAX_PLAYER_NAME];
  GetPlayerName(playerid, pName, sizeof(pName));
  if (strfind(pName, "[IFS]", true) == -1)
  {
    for (new i=0; i<MAX_PLAYERS; i++) 
    {
      if (vehicleid == SpawnedVehicles[i])
      {
        ClearAnimations(playerid);
        return SendClientMessage(playerid, 0x9E0000AA, "Devi essere un membro Italian Force per poter guidare questo veicolo");
      }
    }
  }
  return 1;
}

"Possis nihil urbe Roma visere maius"
0

#3 L'utente è offline   GianlucA_Ct 

  • Cleptomane
  • Gruppo: Utenti
  • Messaggi: 125
  • Iscritto il: 02/06/11
  • GTA Preferito:GTA: San Andreas

Inviato il 19 settembre 2012 - 16:27

Nel primo FS non chiedevo il cmd,ma un modo per bloccare i veicoli già spawnati (Inseriti in OnGameModeInit) a chi non porta la tag IFS

Per il 2 script,grazie ora provo :)

Messaggio modificato da GianlucA_Ct il 19 settembre 2012 - 16:33

Firma fuori dai limiti del regolamento (troppo alta e pesante); codice originale:
[img]http://monitors.cancel.lt/server_info/188.165.252.63:7977:samp/560x95.png[/img]
[img]http://www.speedtest.net/result/1369075691.png[/img]

[img]http://i54.tinypic.com/w2d0dd.png[/img]
0

Pagina 1 di 1
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione

1 utenti stanno leggendo questa discussione
0 utenti, 1 ospiti, 0 utenti anonimi