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: Kovacs_Bela - 2011. június 11. - 12:47:53

Cím: >> Help Vehicle Creator <<
Írta: Kovacs_Bela - 2011. június 11. - 12:47:53
Sziasztok!
Csináltam alap szerint egy kocsi telézõ scriptet /so parancsra.. (csak nemtudtam mi legyen a parancs xd)
/koord parancsra nekem kiirja a koordinátákat, bemásolom pwn-be CreateVehicle-vel.
Nos.
Az lenne a gondom, hogy van olyan is hogy SetVehicleToRespawn(vehicleid).
A vehicle-id helyett mit kéne írnom, hogy az összeset respawnolja /respawn parancsra?
Cím: >> Help Vehicle Creator <<
Írta: ZeRo - 2011. június 11. - 13:03:04
A vehicleid paraméter ugye annak a jármûnek az azonosítója a szerveren, amit respawnolni akarsz. Tehát, ha mindet respawnolni akarod, akkor végig kell menj az összes azonosítón egy for ciklussal. Így:
[pawn]
//.. /respawn parancsodba
for( new id = 0; id < MAX_VEHICLES; ++id ) {
    SetVehicleToRespawn( id );
}
[/pawn]
Ezzel végigmegyünk az összes azonosítón. 0-tól kezdjük, és a MAX_VEHICLES szimbólum értékéig megyünk, ami alapból definiálva van az a_samp nevû függvénykönyvtárban( az értéke azt hiszem 5000 ).
Cím: >> Help Vehicle Creator <<
Írta: totar - 2011. június 11. - 13:03:15
tess:
 

if(strcmp(cmd, \"/carrespawn\", true) == 0) {
for(new i = 0;i < MAX_VEHICLES; i++)
{
SetVehicleToRespawn(i);
return 1;
}
Cím: >> Help Vehicle Creator <<
Írta: ZeRo - 2011. június 11. - 13:04:37
Idézetet írta: totar date=1307790195\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"8725\" data-ipsquote-contentclass=\"forums_Topic
tess:
 

if(strcmp(cmd, \"/carrespawn\", true) == 0) {
for(new i = 0;i < MAX_VEHICLES; i++)
{
SetVehicleToRespawn(i);
return 1;
}

 

Ez hibás, amint respawnolta az elsõ jármûvet, visszatér a parancshoz, tehát a többit nem fogja respawnolni.
Cím: >> Help Vehicle Creator <<
Írta: Kovacs_Bela - 2011. június 11. - 13:13:43
Zero: Kösz mûködik, csak egy error van de az szerintem az én hibám
...filterscripts\\newkocsi1.pwn(74) : error 030: compound statement not closed at the end of file (started at line 57)
:O
Cím: >> Help Vehicle Creator <<
Írta: ZeRo - 2011. június 11. - 13:17:35
Valahol lehagytál egy } jelet, másold be ide a szkriptet. ;)
Cím: >> Help Vehicle Creator <<
Írta: Kovacs_Bela - 2011. június 11. - 13:19:28
csak részlet:
public OnPlayerCommandText(playerid, cmdtext[])
{
   if (strcmp(\"/carresi\", cmdtext, true, 8) == 0)
   for( new id = 0; id < MAX_VEHICLES; ++id ) {
       SetVehicleToRespawn( id );
   SendClientMessageToAll(0xAAAAAAAA,\"Kocsik respawnolva!\");
   if (strcmp(\"/so\", cmdtext, true, 10) == 0)
        {
DestroyVehicle(600,815.224,-564.282,16.335,270.072,0,0,1);
CreateVehicle(600,815.224,-564.282,16.335,270.072,0,0,1);
CreateVehicle(414,829.823,-609.042,16.343,1.833,0,0,1);
//még nincs kész :D
                return 1; //414
        }
        return 0;
}
Cím: >> Help Vehicle Creator <<
Írta: ZeRo - 2011. június 11. - 13:20:56
[pawn]
public OnPlayerCommandText(playerid, cmdtext[])
{
      if (strcmp(\"/carresi\", cmdtext, true,  == 0)
     
      for( new id = 0; id < MAX_VEHICLES; ++id ) {
       SetVehicleToRespawn( id );
     }
      SendClientMessageToAll(0xAAAAAAAA,\"Kocsik respawnolva!\");
        return 1;
    }
      if (strcmp(\"/so\", cmdtext, true, 10) == 0)
        {
DestroyVehicle(600,815.224,-564.282,16.335,270.072,0,0,1);
CreateVehicle(600,815.224,-564.282,16.335,270.072,0,0,1);
CreateVehicle(414,829.823,-609.042,16.343,1.833,0,0,1);
//még nincs kész
        return 1; //414
    }
    return 0;
}
[/pawn]
Cím: >> Help Vehicle Creator <<
Írta: Kovacs_Bela - 2011. június 11. - 13:21:39
Na köszi :)
Cím: >> Help Vehicle Creator <<
Írta: ZeRo - 2011. június 11. - 13:23:56
Várj, valamit összekavartál, megnézem Pawnoval, egy pillanat.
Cím: >> Help Vehicle Creator <<
Írta: Kovacs_Bela - 2011. június 11. - 13:25:19
8 error :S
Szerk.: oks
Cím: >> Help Vehicle Creator <<
Írta: ZeRo - 2011. június 11. - 13:27:07
[pawn]
public OnPlayerCommandText( playerid, cmdtext[  ] ) {
if( strcmp( \"/carresi\", cmdtext, true ) == 0 ) {
   for( new id = 0; id < MAX_VEHICLES; ++id ) {
      SetVehicleToRespawn( id );
   }
   SendClientMessageToAll( 0xAAAAAAAA,\"Kocsik respawnolva!\" );
   return 1;
}
if( strcmp( \"/so\", cmdtext, true ) == 0 ) {
   //DestroyVehicle(600,815.224,-564.282,16.335,270.072,0,0,1);
   CreateVehicle(600,815.224,-564.282,16.335,270.072,0,0,1);
   CreateVehicle(414,829.823,-609.042,16.343,1.833,0,0,1);
   //még nincs kész
   return 1;
}
return 0;
}
[/pawn]
A DestroyVehicle függvényedet azért tettem kommentbe, mert nem tudom, mit akarsz vele törölni, de mivel helytelenül paraméterezted, ezért figyelmeztetést ír ki rá. Oda is csak egy vehicleid paramétert kell megadni.
Cím: >> Help Vehicle Creator <<
Írta: Kovacs_Bela - 2011. június 11. - 13:28:39
Mûködik...
nem   [pawn]if( strcmp( \"/carresi\", cmdtext, true, ) == 8 ) {
if( strcmp( \"/so\", cmdtext, true, ) == 3 ) {
[/pawn]
hanem
[pawn]   if( strcmp( \"/carresi\", cmdtext, true, 8 ) == 0 ) {
if( strcmp( \"/so\", cmdtext, true, 3 ) == 0 ) {[/pawn]
 :D
Cím: >> Help Vehicle Creator <<
Írta: ZeRo - 2011. június 11. - 15:23:46
Idézetet írta: Kovacs_Bela date=1307791719\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"8725\" data-ipsquote-contentclass=\"forums_Topic
Mûködik...
nem   [pawn]if( strcmp( \"/carresi\", cmdtext, true, ) == 8 ) {
if( strcmp( \"/so\", cmdtext, true, ) == 3 ) {
[/pawn]
hanem
[pawn]   if( strcmp( \"/carresi\", cmdtext, true, 8 ) == 0 ) {
if( strcmp( \"/so\", cmdtext, true, 3 ) == 0 ) {[/pawn]
 :D
 
Az strcmp függvény utolsó paraméterét nem muszáj megadni, mivel alapból van hozzárendelve érték.
Cím: >> Help Vehicle Creator <<
Írta: ►ѕтa - 2011. június 12. - 10:53:34
Szerintem kocsi respawnnál érdemes lenne megadni azt is, hogy csak azokat respawnolja amik használva vannak.
 
   if( strcmp( \"/carresi\", cmdtext, true ) == 0 ) {
for( new id = 0; id < MAX_VEHICLES; ++id ) {
   for( new i = 0; i < MAX_PLAYERS; ++i ) {
      if( !IsPlayerInVehicle ( i, id ) ) {
         SetVehicleToRespawn( id );
      }
   }
}
SendClientMessageToAll( 0xAAAAAAAA,\"Kocsik respawnolva!\" );
return 1;
}