Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2015-02-08, 13:39


Intern







Wiek: 30
Na forum: 4184 dni
Posty: 40
Nick w MP: Intern

Piwa: 15

Respekt: 80

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.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-08, 14:06


IgrexolonO







Wiek: 34
Na forum: 6809 dni
Posty: 1386

Piwa: 1062

Respekt: 651,8
Respekt: 651,8Respekt: 651,8

Poka? kod z wywo?ywania Pojazd(i);

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-08, 15:03


Intern







Wiek: 30
Na forum: 4184 dni
Posty: 40
Nick w MP: Intern

Piwa: 15

Respekt: 80

"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.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-08, 15:56


IgrexolonO







Wiek: 34
Na forum: 6809 dni
Posty: 1386

Piwa: 1062

Respekt: 651,8
Respekt: 651,8Respekt: 651,8

Nie wiem czy tutaj gdziekolwiek widzisz Pojazd(...); bo ja nie.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-08, 16:05


Combacior







Wiek: 29
Na forum: 5795 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
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

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-08, 17:21


Intern







Wiek: 30
Na forum: 4184 dni
Posty: 40
Nick w MP: Intern

Piwa: 15

Respekt: 80

"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 lol
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 :mrgreen: ).

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-08, 20:24


Combacior







Wiek: 29
Na forum: 5795 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Je?li mo?na wej?? jako pasa?er, to wystarczy kombinowa? w OnPlayerEnterVehicle

Kod:

if(is_privcar && !ispassenger)
{
...
}


Nie zapomnij o modyfikacji callbacku OnPlayerStateChange

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-09, 15:47


Intern







Wiek: 30
Na forum: 4184 dni
Posty: 40
Nick w MP: Intern

Piwa: 15

Respekt: 80

Dobra kosz. Napisze w?asny system.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-09, 15:55


ToxiC.







Wiek: 28
Na forum: 5246 dni
Posty: 3792

Piwa: 8590

Respekt: 1143,8
Respekt: 1143,8

[clo]

Postaw piwo autorowi tego posta
 

 
Tagi: wchodzenie :: prywatnego :: pojazdu
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku