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

Wysłany: 2012-07-25, 18:08


paskal

gtaoffline.pl






Wiek: 29
Na forum: 5644 dni
Posty: 242

Piwa: 341

Respekt: 126,6
Respekt: 126,6

Ostrzeżeń: 20%
Witam

Znalaz?em tempomat.Wklei?em do mapki.
Wszystko ?adnie dzia?a.Zacz??em gra? z
bratem i dzia?a? tylko mi (bo mia?em id 0).
Co zrobi? aby tempomat dzia?a? u wszystkich.
Oto kod:
Kod:

if(IsPlayerInAnyVehicle(playerid))
{
if(GetPVarInt(playerid, "Tempomat_Enabled") == 1)
{
#if ENABLING == 2 || ENABLING == 3
if(newkeys & KEY_SUBMISSION)
return DisableCruiseControl(playerid);
#endif
if(newkeys & 8 || newkeys & 32 || newkeys & 128)
return DisableCruiseControl(playerid);
}
#if ENABLING == 2 || ENABLING == 3
else
{
if(newkeys & KEY_SUBMISSION)
return EnableCruiseControl(playerid);
}
#endif
}
return 0;
}


Za pomoc piwko :piwo: i rep +5

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-07-25, 21:20


Combacior







Wiek: 29
Na forum: 5796 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Zale?y gdzie masz ten kod, jak w forwardzie to musisz p?tl? robi?, bo w forwardzie playerid nie dzia?a. Nie wiem czy to bug, czy co, ale po prostu nie dzia?a (mi te?), wi?c radz? zrobi? ten kod w p?tli

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-07-27, 09:02


paskal

gtaoffline.pl






Wiek: 29
Na forum: 5644 dni
Posty: 242

Piwa: 341

Respekt: 126,6
Respekt: 126,6

Ostrzeżeń: 20%
CombaT, to znaczy ja ten kod kt?ry jest w
pierwszym po?cie da?em do:
Kod:

public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)

a w?a?nie nie za bardzo wiem jak w tym publicu
zrobi? p?tle.Ju? pr?bowa?em ale tempomat nie
dzia?a?.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-07-27, 10:20


Combacior







Wiek: 29
Na forum: 5796 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
A to nie wiem dlaczego dzia?a tylko dla id 0, mo?e kod ?le u?o?ony, nie wiem.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-07-27, 18:14


paskal

gtaoffline.pl






Wiek: 29
Na forum: 5644 dni
Posty: 242

Piwa: 341

Respekt: 126,6
Respekt: 126,6

Ostrzeżeń: 20%
No nic.
Mo?e kto? z supportu pomo?e.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-07-28, 20:58


xqz

otaku desu!






Wiek: 32
Na forum: 6407 dni
Posty: 723
Nick w MP: xqz

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

Pokaz funkcje EnableCruiseControl(playerid); i DisableCruiseControl(playerid);

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-07-29, 09:18


paskal

gtaoffline.pl






Wiek: 29
Na forum: 5644 dni
Posty: 242

Piwa: 341

Respekt: 126,6
Respekt: 126,6

Ostrzeżeń: 20%
xqz, prosz? bardzo.

Kod:

EnableCruiseControl(playerid)
{
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
SendClientMessage(playerid, jasnoczerwony, "Tempomat mo?esz w??czy? tylko jako kierowca.");
else if(GetPVarInt(playerid, "Tempomat_Enabled") != 0)
SendClientMessage(playerid, jasnozielony, "Tempomat jest ju? w??czony,aby go wy??czy? naci?nij Space.");
else
{
new vehicleid = GetPlayerVehicleID(playerid),
Float:velX,
Float:velY,
Float:velZ;

GetVehicleVelocity(vehicleid, velX, velY, velZ);

new Float:speed = floatsqroot(velX * velX + velY * velY + velZ * velZ);

if(speed > 0.1)
{
SetPVarFloat(playerid, "Tempomat_Speed", speed);

SetPVarInt(playerid, "Tempomat_Enabled", 1);
SendClientMessage(playerid, jasnoniebieski, "Tempomat w??czony,aby go wy??czy? naci?nij Space.");
}
else
SendClientMessage(playerid, jasnoczerwony, "Nie mo?esz w??czy? tempomatu przy takiej pr?dko?ci. Przyspiesz!");
}
return 1;
}


Kod:

DisableCruiseControl(playerid)
{
DeletePVar(playerid, "Tempomat_Enabled");
DeletePVar(playerid, "Tempomat_Speed");
SendClientMessage(playerid, zielony, "Tempomat zosta? wy??czony.");
return 1;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-07-29, 09:59


Combacior







Wiek: 29
Na forum: 5796 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Wklej te kody z tych forward?w od razu do publica OnPlayerKeyStateChange, bo jak m?wi?em, w forwardach dzia?a tylko dla id 0

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-07-29, 11:52


paskal

gtaoffline.pl






Wiek: 29
Na forum: 5644 dni
Posty: 242

Piwa: 341

Respekt: 126,6
Respekt: 126,6

Ostrzeżeń: 20%
Wklei?em to do:
Kod:

public OnPlayerKeyStateChange

i mam errory:
Kod:

C:\DOCUME~1\PASKAL\Pulpit\SAMP0~1.3E\GAMEMO~1\truck.pwn(3552) : error 017: undefined symbol "EnableCruiseControl"
C:\DOCUME~1\PASKAL\Pulpit\SAMP0~1.3E\GAMEMO~1\truck.pwn(4603) : error 017: undefined symbol "DisableCruiseControl"
C:\DOCUME~1\PASKAL\Pulpit\SAMP0~1.3E\GAMEMO~1\truck.pwn(4915) : error 017: undefined symbol "DisableCruiseControl"
C:\DOCUME~1\PASKAL\Pulpit\SAMP0~1.3E\GAMEMO~1\truck.pwn(4919) : error 017: undefined symbol "DisableCruiseControl"
C:\DOCUME~1\PASKAL\Pulpit\SAMP0~1.3E\GAMEMO~1\truck.pwn(4925) : error 017: undefined symbol "EnableCruiseControl"

i tak to wklei?em:
Kod:

//temopmat funckja w??czenia
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
SendClientMessage(playerid, jasnoczerwony, "Tempomat mo?esz w??czy? tylko jako kierowca.");
else if(GetPVarInt(playerid, "Tempomat_Enabled") != 0)
SendClientMessage(playerid, jasnozielony, "Tempomat jest ju? w??czony,aby go wy??czy? naci?nij Space.");
else
{
new vehicleid = GetPlayerVehicleID(playerid),
Float:velX,
Float:velY,
Float:velZ;

GetVehicleVelocity(vehicleid, velX, velY, velZ);

new Float:speed = floatsqroot(velX * velX + velY * velY + velZ * velZ);

if(speed > 0.1)
{
SetPVarFloat(playerid, "Tempomat_Speed", speed);

SetPVarInt(playerid, "Tempomat_Enabled", 1);
SendClientMessage(playerid, jasnoniebieski, "Tempomat w??czony,aby go wy??czy? naci?nij Space.");
}
else
SendClientMessage(playerid, jasnoczerwony, "Nie mo?esz w??czy? tempomatu przy takiej pr?dko?ci. Przyspiesz!");
}
//tempomat funkcja wy??czania
DeletePVar(playerid, "Tempomat_Enabled");
DeletePVar(playerid, "Tempomat_Speed");
SendClientMessage(playerid, zielony, "Tempomat zosta? wy??czony.");
//tempomat w??czenie
if(IsPlayerInAnyVehicle(playerid))
{
if(GetPVarInt(playerid, "Tempomat_Enabled") == 1)
{
#if ENABLING == 2 || ENABLING == 3
if(newkeys & KEY_SUBMISSION)
return DisableCruiseControl(playerid);
#endif

if(newkeys & 8 || newkeys & 32 || newkeys & 128)
return DisableCruiseControl(playerid);
}
#if ENABLING == 2 || ENABLING == 3
else
{
if(newkeys & KEY_SUBMISSION)
return EnableCruiseControl(playerid);
}
#endif
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-07-29, 12:20


xqz

otaku desu!






Wiek: 32
Na forum: 6407 dni
Posty: 723
Nick w MP: xqz

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

CombaT, to nie sa forwardy.

paskal, skoro funkcja ustalajaca predkosc jest PVar to na pewno masz gdzies funkcje kontrolujaca ta predkosc wedlug pvara.
W OnPlayerUpdate lub jakis timer?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-07-29, 15:20


paskal

gtaoffline.pl






Wiek: 29
Na forum: 5644 dni
Posty: 242

Piwa: 341

Respekt: 126,6
Respekt: 126,6

Ostrzeżeń: 20%
xqz, mam taki timer:
Kod:

SetTimer("Tempomat_Refresh", TIMER_DELAY, 1);

i tu mam public timer'a:
Kod:

public Tempomat_Refresh()
{
new vehicleid,
Float:rotZ,
Float:velX,
Float:velY,
Float:velZ,
Float:speed;

foreach(Player, playerid)
{
vehicleid = GetPlayerVehicleID(playerid);

if(vehicleid != 0 && GetPVarInt(playerid, "Tempomat_Enabled") == 1)
{
speed = GetPVarFloat(playerid, "Tempomat_Speed");
GetVehicleVelocity(vehicleid, velX, velY, velZ);

if(velX == 0.0 && velY == 0.0 && velZ == 0.0)
GetVehicleZAngle(vehicleid, rotZ);
else
rotZ = Float:GetHeadingAngle(velX, velY, 0.0, 0.0);

SetVehicleVelocity(vehicleid, speed * floatsin(-rotZ, degrees), speed * floatcos(-rotZ, degrees), velZ);
}
}
return 1;
}

P.S nie wiem czy to rozwi??e m?j problem ale
znaj?c ciebie to zawsze co? poradzisz.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-07-31, 19:00


xqz

otaku desu!






Wiek: 32
Na forum: 6407 dni
Posty: 723
Nick w MP: xqz

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

paskal, zapomnialem, ze pisalem w temacie xD


Sprobuj uzyc zwyklego timera a nie foreach

Postaw piwo autorowi tego posta
 

 
Tagi: tempomat :: działa :: dla
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