Wysłany: 2015-02-08, 13:39
Intern
Wiek: 30 Na forum: 4184 dni Posty: 40
Nick w MP: Intern
Piwa : 15
Witam posiadam prywatne pojazdy z tego tematu:
Kod: http://www.gtaonline.pl/dm-i-gf-dynamiczny-system-prywatnych-pojazdow-vt73231.htm
Chcia?em doda? opcje ?e w?a?ciciel otwiera pojazd, ale kiedy gracz wchodzi do pojazdu to ustawia go jako w?a?ciciela, a czasami wywala.
to powinno pozwala? na wejscie "Obcemu"
Kod: if(IsPriv[GetPlayerVehicleID(playerid)] == true)
{
if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
{
if(GetPlayerVehicleID(playerid) != Player[playerid][CarID])
{
if(Player[playerid][PrivOpen] == 0)
{
ShowPlayerDialog(playerid, NO_USED_DIALOG, DIALOG_STYLE_MSGBOX, "Informacja", "To jest prywatny pojazd, nie mo?esz do niego wej??.", "Zamknij", "");
RemovePlayerFromVehicle(playerid);
return 1;
}
}
}
}
i tak si? dzieje(czasami, teraz ju? nie, nwm czemu), ale ustawia na 3Dtext ?e pasa?er jest w?a?cicielem(albo kierowca "Obcy")
a to:
Kod: forward Pojazd(i);
public Pojazd(i)
{
new s[128], Float:ST[4], vehicleid;
vehicleid = GetPlayerVehicleID(i);
GetVehicleVelocity(vehicleid, ST[0], ST[1], ST[2]);
ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 179.28625;
Dist[vehicleid] += ST[3]/2000;
format(s, 128, "{FF630C}Pojazd: {00FF38}%s\n{FFFFFF}W?a?ciciel: {00FF38}%s\nPrzebieg: %.1f KM", VehicleNames[GetVehicleModel(vehicleid) - 400], PlayerName(i), Dist[vehicleid]);
Update3DTextLabelText(vehicle3Dtext[vehicleid], 0, s);
return 1;
}
w?asnie to pokazuje ?e pasa?er (nie w?asciciel) jest w?a?cicielem.
Help me.
Wysłany: 2015-02-08, 14:06
IgrexolonO
Wiek: 34 Na forum: 6809 dni Posty: 1386
Piwa : 1062
Poka? kod z wywo?ywania Pojazd(i);
Wysłany: 2015-02-08, 15:03
Intern
Wiek: 30 Na forum: 4184 dni Posty: 40
Nick w MP: Intern
Piwa : 15
"IgrexolonO" napisał/a :Poka? kod z wywo?ywania Pojazd(i);
Kod: new file[64];
Player[playerid][CarID] = -1;
Player[playerid][Have] = false;
format(file, 64, "/Privcars/%s.ini", PlayerName(playerid));
if(DOF2_FileExists(file))
{
new Float:pos[4], carid, s[128];
pos[0] = DOF2_GetFloat(file, "X");
pos[1] = DOF2_GetFloat(file, "Y");
pos[2] = DOF2_GetFloat(file, "Z");
pos[3] = DOF2_GetFloat(file, "A");
carid = DOF2_GetInt(file, "CarID");
Player[playerid][Kolor][0] = DOF2_GetInt(file, "Color0");
Player[playerid][Kolor][1] = DOF2_GetInt(file, "Color1");
Player[playerid][CarID] = CreateVehicle(carid, pos[0], pos[1], pos[2], pos[3], Player[playerid][Kolor][0], Player[playerid][Kolor][1], -1);
SendClientMessage(playerid, COLOR_WHITE, "›› |Info| {FFFFFF}Posiadasz prywatny pojazd! Zosta? on przywr?cony na miejsce przed Twoim wyj?ciem.");
Dist[Player[playerid][CarID]] = DOF2_GetFloat(file, "Przebieg");
format(s, 128, "{FF630C}Pojazd: {00FF38}%s\n{FFFFFF}W?a?ciciel: {00FF38}%s\nPrzebieg: %.1f KM", VehicleNames[carid-400], PlayerName(playerid), Dist[Player[playerid][CarID]]);
vehicle3Dtext[Player[playerid][CarID]] = Create3DTextLabel(s, COLOR_WHITE, 0.0, 0.0, 0.0, 20.0, 0, 1);
Attach3DTextLabelToVehicle(vehicle3Dtext[Player[playerid][CarID]], Player[playerid][CarID], 0.0, 0.0, 0.5);
Player[playerid][Have] = true;
IsPriv[Player[playerid][CarID]] = true;
Player[playerid][Tim] = SetTimerEx("Pojazd", 1000, 1, "i", playerid);
Loop(i, MAX_PLAYERS)
{
if(playerid != i)
{
SetVehicleParamsForPlayer(Player[playerid][CarID], i, 0, 1);
return 1;
}
}
}
jest w OnPlayerConnect.
Wysłany: 2015-02-08, 15:56
IgrexolonO
Wiek: 34 Na forum: 6809 dni Posty: 1386
Piwa : 1062
Nie wiem czy tutaj gdziekolwiek widzisz Pojazd(...); bo ja nie.
Wysłany: 2015-02-08, 16:05
Combacior
Wiek: 29 Na forum: 5795 dni Posty: 1516
Piwa : 2161
Ten skrypt ma ju? grubo ponad dwa lata, nie wiem jak mo?na go jeszcze u?ywa?. Zreszt? nie by?em mistrzem w pawn jak go pisa?em (nie to co teraz hehe), wi?c mog?y wyst?powa? bugi. Label (Tekst 3D) mo?e si? bugowa? gdy pojazd zostanie usuni?ty, a label nie zostanie usuni?ty. Wskutek tego ten nieusuni?ty label zostanie przyczepiony z automatu do pojazdu, kt?ry dostanie ID poprzedniego usuwanego pojazdu, nie wiem czy dobrze to wyt?umaczy?em. Chodzi o to, ?e przy usuwaniu privcara trzeba jeszcze usun?? label i najlepiej wyzerowa? ID z tej tablicy.
Kod: DestroyVehicle(privcarID);
Delete3DTextLabel(labelID);
labelID = Text3D:-1;
Pozamieniaj sobie nazwy. Og?lnie to i tak nie modyfikowa?bym tego, tylko radzi?bym napisa? od 0.
@UP - w timerze jest, SetTimerEx
Wysłany: 2015-02-08, 17:21
Intern
Wiek: 30 Na forum: 4184 dni Posty: 40
Nick w MP: Intern
Piwa : 15
"IgrexolonO" napisał/a :Nie wiem czy tutaj gdziekolwiek widzisz Pojazd(...); bo ja nie.
Player[playerid][Tim] = SetTimerEx("Pojazd", 1000, 1, "i", playerid);
"Combacior" napisał/a :Ten skrypt ma ju? grubo ponad dwa lata, nie wiem jak mo?na go jeszcze u?ywa?. Zreszt? nie by?em mistrzem w pawn jak go pisa?em (nie to co teraz hehe), wi?c mog?y wyst?powa? bugi. Label (Tekst 3D) mo?e si? bugowa? gdy pojazd zostanie usuni?ty, a label nie zostanie usuni?ty. Wskutek tego ten nieusuni?ty label zostanie przyczepiony z automatu do pojazdu, kt?ry dostanie ID poprzedniego usuwanego pojazdu, nie wiem czy dobrze to wyt?umaczy?em. Chodzi o to, ?e przy usuwaniu privcara trzeba jeszcze usun?? label i najlepiej wyzerowa? ID z tej tablicy.
Kod: DestroyVehicle(privcarID);
Delete3DTextLabel(labelID);
labelID = Text3D:-1;
Pozamieniaj sobie nazwy. Og?lnie to i tak nie modyfikowa?bym tego, tylko radzi?bym napisa? od 0.
@UP - w timerze jest, SetTimerEx
Jak dodawa?em usu? pojazd to zostawa? 3dtext ale sb poradzi?em
U?ywam tego systemu bo jako jedyny sprawnie dzia?a, a nie chc? pisa? od 0 bo zbyt du?o czasu by mi to zaj??o.
Je?li wiesz jak zrobi? aby kto? m?g? wej?c do otwartego prywatnego pojazdu(wystarczy jako pasa?er) to prosz? o pomoc(Mistrzu PAWN ).
Wysłany: 2015-02-08, 20:24
Combacior
Wiek: 29 Na forum: 5795 dni Posty: 1516
Piwa : 2161
Je?li mo?na wej?? jako pasa?er, to wystarczy kombinowa? w OnPlayerEnterVehicle
Kod: if(is_privcar && !ispassenger)
{
...
}
Nie zapomnij o modyfikacji callbacku OnPlayerStateChange
Wysłany: 2015-02-09, 15:47
Intern
Wiek: 30 Na forum: 4184 dni Posty: 40
Nick w MP: Intern
Piwa : 15
Dobra kosz. Napisze w?asny system.
Wysłany: 2015-02-09, 15:55
ToxiC.
Wiek: 28 Na forum: 5246 dni Posty: 3792
Piwa : 8590
Tagi: wchodzenie :: prywatnego :: pojazdu
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: