Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: LAVendeta poslato April 01, 2015, 16:42:37 POSLE PODNE

Naslov: [Savet]-Portanje vozila
Poruka od: LAVendeta poslato April 01, 2015, 16:42:37 POSLE PODNE
O kakvom savjetu se radi:Teleportovanje vozila do igraca
Detaljan opis savjeta:Znaci kako da napravim da ako imam neko vozilo na serveru koje je na bilo kom mestu (nebitno)
I da kada igrac unese komandu do njega se stvara neko od tih vozila koja su tamo na serveru (na tom mestu)
Ali da ako je neko vozilo pomereno Iz RangeOfPoint da se ono ne racuna(to jest da ako ga je neki igrac uzeo da se to vozilo nemoze teleportovati do tebe) znaci da se samo slobodna vozila portaju.I da posle 10 minuta korisceno vozilo respawnuje se.
Komentar:Odprilike sam smislio ovo u glavi ali nzm kako da se vozilo porta do igraca a to je skoro sve ovde.Hvala
Naslov: Odg: [Savet]-Portanje vozila
Poruka od: K ROSE poslato April 01, 2015, 18:09:02 POSLE PODNE
Sad si zbunio i mene,neda mi se ponovo citat..
Uglavnom kako sam mogao skontati ovo,nije ništa tesko napraviti..
Trebas samo dobro razmisliti prvo u glavi pa onda pocet praviti.
Napravis neke varijable preko kojih ces provjeravati vozila koja su slobodna i koja su zauzeta.
Ako vozilo nije teleportovano onda stavis varijablu na 0
a ako jeste onda na 1..
Varijablu restartujes kad zelis,npr kad igrac izadje sa servera ili za 10 minuta i uz to stavis respawncar..
Nije ti to nesto komplikovano..
Naslov: Odg: [Savet]-Portanje vozila
Poruka od: LAVendeta poslato April 01, 2015, 18:28:02 POSLE PODNE
Ok razumem te dao si mi ideju moze i tako al kako da portam vozilo do sebe?
Naslov: Odg: [Savet]-Portanje vozila
Poruka od: K ROSE poslato April 01, 2015, 19:21:33 POSLE PODNE
Napravis obicnu neku komandu i ubacis ovo u nju

new carid;

new Float:plocx,Float:plocy,Float:plocz;
GetPlayerPos(playerid, plocx, plocy, plocz);
SetVehiclePos(carid,plocx+5,plocy, plocz);
LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));


eto 1 minuta posla xD
Naslov: Odg: [Savet]-Portanje vozila
Poruka od: LAVendeta poslato April 01, 2015, 19:28:03 POSLE PODNE
E hvala ti.
Al pazi napravio sam da u ta vozila mogu uci samo Vipovi al javlja mi neke greske
VipVozila(idvozila) //Ovde linija 175
{
for(new v = 0; v < sizeof(VipVozila); v++)
{
if(idvozila== VipVozila[v]) return 1;
}
return 0;
}

Na ovoj Prvoj liniji javlja greske
error 012: invalid function call, not a valid address
error 017: undefined symbol "idvozila"
error 029: invalid expression, assumed zero
Naslov: Odg: [Savet]-Portanje vozila
Poruka od: K ROSE poslato April 01, 2015, 19:32:34 POSLE PODNE
definiši new idvozila; tamo iznad linije na kojoj ti daje eror.
Poslije toga varijablu VipVozila(idvozila) nisi dobro napravio..
Tu trebas da provjeris ako je vip vozilo if(VipVozila(idvozila))
mislim da tu treba provjera,jer neznam sta si pravio..
Naslov: Odg: [Savet]-Portanje vozila
Poruka od: LAVendeta poslato April 01, 2015, 19:50:56 POSLE PODNE
Nista i dalje isto
Evo ovo sam pravio

Prvo sam stavio gore
new VipVozila[8];
Pa sam ove provere stavio pod OngamemodeInit
new idvozila;
if(VipVozila(idvozila))
{
for(new v = 0; v < sizeof(VipVozila); v++)
{
if(idvozila== VipVozila[v]) return 1;
}
return 0;
}

i ovo isto tako
VipVozila[0] = AddStaticVehicle(522,1028.5817000,-1433.2380000,13.0986000,-272.8799000,-1,-1); //NRG-500
VipVozila[1] = AddStaticVehicle(522,1028.5538000,-1435.6678000,13.0986000,-272.8799000,-1,-1); //NRG-500
VipVozila[2] = AddStaticVehicle(522,1028.4214000,-1438.3499000,13.0986000,-272.8799000,-1,-1); //NRG-500
VipVozila[3] = AddStaticVehicle(522,1028.3877000,-1440.8778000,13.0986000,-272.8799000,-1,-1); //NRG-500
VipVozila[4] = AddStaticVehicle(522,1028.3442000,-1443.6566000,13.0986000,-272.8799000,-1,-1); //NRG-500
VipVozila[5] = AddStaticVehicle(522,1028.3466000,-1446.3578000,13.0986000,-272.8799000,-1,-1); //NRG-500
VipVozila[6] = AddStaticVehicle(522,1028.1294000,-1449.0714000,13.0986000,-272.8799000,-1,-1); //NRG-500

i ovo da ga izbacuje
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    if(VipVozila(vehicleid))
    {
    if(PlayerInfo[playerid][pVip] = 2)
{
        RemovePlayerFromVehicle(playerid);
        new Float:X, Float:Y, Float:Z;
        GetPlayerPos(playerid, X, Y, Z);
        SetPlayerPos(playerid, X, Y, Z);
        SendClientMessage(playerid, CRVENA, "Samo Vipovi Mogu Koristiti ova vozila!");
    }
    return 1;
}

I to je to i dalje mi javelja one Greske na istoj liniji
Naslov: Odg: [Savet]-Portanje vozila
Poruka od: K ROSE poslato April 01, 2015, 19:52:54 POSLE PODNE
Jesili pravio kakav stock ili enum za ta vipvozila..
Ako jesi postavi ovdje..
Ako nisi,ako koristis preko neke varijable saljimi na pm..
Naslov: Odg: [Savet]-Portanje vozila
Poruka od: K ROSE poslato April 01, 2015, 20:24:47 POSLE PODNE
Napravi te provjere u publicu i taj public stavi negdje dole gdje su ostali..
Jer kad gledam u svom modu,moje sve provjere za vozila su u publicu nesto poput ovoga

public VipVozila(carid)
{
for(new i = 0; i < sizeof(VipVozila); i++)
{
if(carid == VipVozila[i])return 1;
}
return 0;
}


carid definišeš ovako
new carid = GetPlayerVehicleID(playerid);
Naslov: Odg: [Savet]-Portanje vozila
Poruka od: LAVendeta poslato April 01, 2015, 20:36:30 POSLE PODNE
public VipVozila(carid) //726
{
for(new i = 0; i < sizeof(VipVozila); i++) //728
{
if(carid == VipVozila[i])return 1;
}
return 0;
}
//--------
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    if(VipVozila(vehicleid))//737
    {
    if(PlayerInfo[playerid][pVip] > 0)
{
        RemovePlayerFromVehicle(playerid);
        new Float:X, Float:Y, Float:Z;
        GetPlayerPos(playerid, X, Y, Z);
        SetPlayerPos(playerid, X, Y, Z);
        SendClientMessage(playerid, CRVENA, "Samo Vipovi Mogu Koristiti ova vozila!");
    }
    return 1;
}

Sada imam duplo vise gresaka sa ovim publicom
(726) : error 021: symbol already defined: "VipVozila"
n(728) : error 010: invalid function or declaration
(730) : error 010: invalid function or declaration
(732) : error 010: invalid function or declaration
(737) : error 012: invalid function call, not a valid address
(737) : warning 215: expression has no effect
(737) : error 001: expected token: ";", but found ")"
(737) : error 029: invalid expression, assumed zero
(737) : fatal error 107: too many error messages on one line
Naslov: Odg: [Savet]-Portanje vozila
Poruka od: K ROSE poslato April 01, 2015, 20:40:33 POSLE PODNE
idi na liniju (726) i izbrisi definiciju "VipVozila"
zatim idi na liniju 737 i pregledaj sta joj fali.. ovdje pokazuje da fali ;
Naslov: Odg: [Savet]-Portanje vozila
Poruka od: LAVendeta poslato April 01, 2015, 20:51:30 POSLE PODNE
promenio sam ono VIpVozila u Vozila i dodao forward i sredio to
Ali na Liniji if(VipVozila(vehicleid))
javlja 4greske ali ova je odgovorna za sve error 012: invalid function call, not a valid address
Naslov: Odg: [Savet]-Portanje vozila
Poruka od: K ROSE poslato April 01, 2015, 21:02:49 POSLE PODNE
Kod mene je ovako i nema problema

else if(IsVipVozila(vehicleid))
al ne mora znaciti da mu je else problem..
Možeš i ovako pokušati možda si skratio varijablu previše
if(VipVozila[vehicleid] == 0)
Naslov: Odg: [Savet]-Portanje vozila
Poruka od: LAVendeta poslato April 01, 2015, 21:24:58 POSLE PODNE
Nzm sta je ali opet isto izbacuje...
Probacu ispocetka kasnije.Hvala na pomoci