Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Denis_Lapi poslato Januar 06, 2014, 23:09:05 POSLE PODNE

Naslov: [POMOC] Respawn za vozila
Poruka od: Denis_Lapi poslato Januar 06, 2014, 23:09:05 POSLE PODNE
Skripta koju koristim: Moja skripta
Detaljan opis problema: Napravio sam jednu respawn skriptu, ali imam problem sa njome sto respavnuje i vozila u kojima su igraci tj. i koja se koriste..Kako to da sredim, sta da dodam
Dio skripte:CMD:rtc(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] >=1)
{
SendClientMessageToAll(COLOR_YELLOW,"Admin je respawn-ovao vozila, mozete ih naci na mestu gde ste ih parkirali!");
for(new i = 0; i < MAX_VEHICLES; i++)
{
SetVehicleToRespawn(i);
}
}
return 1;
}

Neke slike/video za lakse dobivanje pomoci(neobavezno):
Naslov: Odg: [POMOC] Respawn za vozila
Poruka od: youngdeal poslato Januar 06, 2014, 23:12:02 POSLE PODNE
for(new i = 0; i < MAX_VEHICLES; i++)
   {
       if(IsPlayerInVehicle(i,i))
       {
           RemovePlayerFromVehicle(i);
       }
       SetVehicleToRespawn(i);
  }


dodas da igrace koji su u vozilo prvo izbaci i onda respawna sva.
Naslov: Odg: [POMOC] Respawn za vozila
Poruka od: Ermin. poslato Januar 07, 2014, 00:23:45 PRE PODNE
Citat: C++ poslato Januar 06, 2014, 23:12:02 POSLE PODNE
for(new i = 0; i < MAX_VEHICLES; i++)
   {
       if(IsPlayerInVehicle(i,i))
       {
           RemovePlayerFromVehicle(i);
       }
       SetVehicleToRespawn(i);
  }


dodas da igrace koji su u vozilo prvo izbaci i onda respawna sva.

Pogresno si ga razumio on je mislio da NE respawna ona vozila u kojima ima neko..


YCMD:rtc(playerid, params[], help)
{
    #pragma unused help
    #pragma unused params
    if("PlayerInfo[playerid][pAdmin])) return 1;
    for(new v; v != MAX_VEHICLES; ++v)
    {
        if(IsVehicleEmpty(v)) SetVehicleToRespawn(v);
    }
    return SendClientMessageToAll(COLOR_YELLOW, "Admin je respawn-ovao vozila, mozete ih naci na mestu gde ste ih parkirali!");
}

IsVehicleEmpty(veh)
{
    foreach(Player, i)
    {
        if(IsPlayerInVehicle(i, veh))
        break;
        return false;
    }
    return true;
}
Naslov: Odg: [POMOC] Respawn za vozila
Poruka od: Denis_Lapi poslato Januar 07, 2014, 02:21:55 PRE PODNE
Nisi me razumeo C++, mislio sam na ono sto je rekao maCHine65535..Mada maCHine65535 probao sam skriptu koju si mi poslao i dalje se isto desava, respawna i kola u kojima su igraci
Naslov: Odg: [POMOC] Respawn za vozila
Poruka od: youngdeal poslato Januar 07, 2014, 02:33:54 PRE PODNE
CMD:rac(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 1340)
{
return 1;
}
SetTimer("RespawnVozila", 10000, 0);
return 1;
}

forward RespawnVozila();
public RespawnVozila()
{
new bool:uvozilu[MAX_VEHICLES] = 0;
for(new p; p <= MAX_PLAYERS; p++)
{
if( IsPlayerInAnyVehicle(p)) return uvozilu[MAX_VEHICLES] = 1;
}
for(new car; car <= MAX_VEHICLES; car++)
{
    if(!uvozilu[car] ) SetVehicleToRespawn(car);
}
return 1;
}
Naslov: Odg: [POMOC] Respawn za vozila
Poruka od: Denis_Lapi poslato Januar 07, 2014, 02:43:10 PRE PODNE
Baca error, mada je u skripti definisano

\Desktop\Skripte\Mod 0\gamemodes\MojMod.pwn(3691) : error 032: array index out of bounds (variable "uvozilu")
\Desktop\Skripte\Mod 0\gamemodes\MojMod.pwn(3691) : warning 213: tag mismatch


Ovo je linija:

if( IsPlayerInAnyVehicle(p)) return uvozilu[MAX_VEHICLES] = 1;
Naslov: Odg: [POMOC] Respawn za vozila
Poruka od: Ermin. poslato Januar 07, 2014, 17:35:22 POSLE PODNE
Pogledaj, treba da loopas kroz sva vozila

stock IsVehicleEmpty(v)
{
    for(new i = 0; i != MAX_PLAYERS; i++); // od pocetne vrijednosti 0, sve dok je i razlicito od 500, i ce se povecavati
    {
        if(!IsPlayerConnected(i)) continue; // ako igrac nije konektovan petlja se nastavlja preskacuci taj id
        if(IsPlayerInVehicle(i, v) // ako je igrac u vozilu
        {
            break; // prekida petlju
            return 0; // vraca vrijednost 0 (vozilo nije prazno)
        }
    }
    return 1; // inace vraca vrijednost 1 (vozilo jest prazno)
}


CMD:rac(playerid, params[])
{
    if(PlayerInfo[playerid][pAdmin] < 1) return 1;
   
    for(new v = 1; v < MAX_VEHICLES; v+1)
    {
        if(IsVehicleEmpty(v)) SetVehicleToRespawn(v);
    }
    return SendClientMessageToAll(-1, "Admin je respawnao sva nekoristena vozila!");
}
Naslov: Odg: [POMOC] Respawn za vozila
Poruka od: Denis_Lapi poslato Januar 07, 2014, 17:52:54 POSLE PODNE
Baca error

C:\Users\Novica\Desktop\Mod 0\gamemodes\MojMod.pwn(2768) : error 036: empty statement
C:\Users\Novica\Desktop\Mod 0\gamemodes\MojMod.pwn(2770) : error 017: undefined symbol "i"
C:\Users\Novica\Desktop\Mod 0\gamemodes\MojMod.pwn(2770) : error 024: "break" or "continue" is out of context
C:\Users\Novica\Desktop\Mod 0\gamemodes\MojMod.pwn(2771) : error 017: undefined symbol "i"
C:\Users\Novica\Desktop\Mod 0\gamemodes\MojMod.pwn(2773) : error 024: "break" or "continue" is out of context
C:\Users\Novica\Desktop\Mod 0\gamemodes\MojMod.pwn(2774) : warning 225: unreachable code


U stock-u
stock IsVehicleEmpty(v)
{
    for(new i = 0; i != MAX_PLAYERS; i++); // od pocetne vrijednosti 0, sve dok je i razlicito od 500, i ce se povecavati
    {
        if(!IsPlayerConnected(i)) continue; // ako igrac nije konektovan petlja se nastavlja preskacuci taj id
        if(IsPlayerInVehicle(i, v) // ako je igrac u vozilu
        {
            break; // prekida petlju
            return 0; // vraca vrijednost 0 (vozilo nije prazno)
        }
    }
    return 1; // inace vraca vrijednost 1 (vozilo jest prazno)
}
Naslov: Odg: [POMOC] Respawn za vozila
Poruka od: Ermin. poslato Januar 07, 2014, 18:55:03 POSLE PODNE
stock IsVehicleEmpty(vehicleid)
{
foreach(Player, i)
{
    if(IsPlayerInVehicle(i,vehicleid)) return 0;
}
return 1;
}
Naslov: Odg: [POMOC] Respawn za vozila
Poruka od: Denis_Lapi poslato Januar 07, 2014, 19:47:23 POSLE PODNE
Ne radi komanda tj. nema akciju
I baca mi ovaj warning:
(3492) : warning 215: expression has no effect[/color]

To je ovaj red:
  for(new v = 1; v < MAX_VEHICLES; v+1)
    {
Naslov: Odg: [POMOC] Respawn za vozila
Poruka od: Ermin. poslato Januar 07, 2014, 21:38:45 POSLE PODNE
v++ umesto v+1
Naslov: Odg: [POMOC] Respawn za vozila
Poruka od: Denis_Lapi poslato Januar 07, 2014, 22:51:12 POSLE PODNE
Fenomenalno, konacno radi..Hvala, pritom procitaj poruku koju sam ti poslao