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

Wysłany: 2013-05-30, 22:27


akon823

Czekotubka :D






Wiek: 29
Na forum: 4815 dni
Posty: 399
Nick w MP: Remik14

Piwa: 152

Respekt: 76,8

Witam
Mam problem
Posiadam kod na IsPlayerInArea lecz kompletnie go nie czaje ...
Mog?by mi kto? wyja?ni? co do czego s?u?y i poda? przyk?adowy kod do tego publicka? Chodzi g?ownie o to co ,gdzie mam wpisa? . Czyta?em na Wiki Samp ale nie kumam dalej :D
Kod
Kod:

forward PrzestanekxD(playerid);
public PrzestanekxD(playerid)
{
new vehicle;
vehicle = GetPlayerVehicleID(playerid);
if(gTeam[playerid] == TEAM_KIEROWCAA)
{
if(vehicle == 431)
{
IsPlayerInArea(playerid, Float:MinX, Float:MinY, Float:MaxX, Float:MaxY)
{
new Float:X, Float:Y, Float:Z;

GetPlayerPos(playerid, X, Y, Z);
if(X >= MinX && X <= MaxX && Y >= MinY && Y <= MaxY)
{
return 1;
}
//tutaj iconki
}
}
}
return 1;
}


Pozdrawiam

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-05-30, 22:53


xqz

otaku desu!






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

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

o-----------
| obszar. |
| ........... |
-----------o

tam gdzie o pobierasz pozycj?.


W obu pozycjach masz X,Y,Z.


W tej funkcji
Kod:

IsPlayerInArea(playerid, Float:MinX, Float:MinY, Float:MaxX, Float:MaxY)

kolejno wpisujesz:

playerid,
najmniejsza wspolrzedna X z pozycji ktore pobrales
najmniejsza wspolrzedna Y z pozycji ktora pobrales
najwieksza wspolrzedna X z pozycji ktore pobrales
najwieksza wspolrzedna Y z pozycji ktora pobrales


Proste

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-05-30, 23:05


akon823

Czekotubka :D






Wiek: 29
Na forum: 4815 dni
Posty: 399
Nick w MP: Remik14

Piwa: 152

Respekt: 76,8

I reszty mam nie zmienia??
Je?li bym chcia? wi?cej tych aren to po prostu powtarzam funkcj??
Je?li bym chcia? aby pokazywa?o na minmapce gdzie jest kolejny punkt oraz aby przy ostatnim dostawa?o si? pieni?dze za przejazd .
I czy mo?na by ustawi? co? takiego , ?e po kolei pokazuje gdzie jecha? (czyli jak si? wjedzie w 1 punkt to pokazuje nast?pny) czy ju? to od razy b?dzie?:D

Sory za to ale pierwszy raz u?ywam tej funkcji :D
Pozdrawiam

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-05-30, 23:45


xqz

otaku desu!






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

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

"akon823" napisał/a:

e?li bym chcia? wi?cej tych aren to po prostu powtarzam funkcj??

tak

Powinno to wygladac tak:

Kod:

forward PrzestanekxD(playerid);
public PrzestanekxD(playerid)
{
new vehicle;
vehicle = GetPlayerVehicleID(playerid);
if(gTeam[playerid] == TEAM_KIEROWCAA)
{
if(vehicle == 431)
{
if(IsPlayerInArea(playerid, Float:MinX, Float:MinY, Float:MaxX, Float:MaxY))
{
//tutaj iconki
}
}
}
return 1;
}




"akon823" napisał/a:

Je?li bym chcia? aby pokazywa?o na minmapce gdzie jest kolejny punkt oraz aby przy ostatnim dostawa?o si? pieni?dze za przejazd .

Jaki punkt?


"akon823" napisał/a:

I czy mo?na by ustawi? co? takiego , ?e po kolei pokazuje gdzie jecha? (czyli jak si? wjedzie w 1 punkt to pokazuje nast?pny) czy ju? to od razy b?dzie?:D

Jaki punkt?!

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-05-31, 00:25


akon823

Czekotubka :D






Wiek: 29
Na forum: 4815 dni
Posty: 399
Nick w MP: Remik14

Piwa: 152

Respekt: 76,8

Bo ja chcia?em przystanek autobusowy , chcia?em taka jakby trase dla kierowcy autobusu ze aby jezdzil od punktu do punktu chcia?em po prostu aby by?y checkpointy i musial jezdzic do tych punkt?w i na przystanku timer na 2 minuty aby mogli wszyscy wsiasc i w tym czasie kierowca zamrozony :D to wszystko ju? mam opr?cz wlasnie tej trasy ze ma jezdzic od przystanku do przystanku i w tym celu wlasnie kazali mi zrobi? IsPlayerInArena a ja chcia?em po prostu trase :D cos na zasadzie zdawania na prawko :D i jak si? dojedzie do ostatniego punktu to kierowca dostaje wynagrodzenie :D

Pomozesz?:D
Pozdrawiam

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-05-31, 10:11


xqz

otaku desu!






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

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

Kto kaza? strefe zrobic? ;o

Checkpointy tutaj trzeba

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-05-31, 10:56


akon823

Czekotubka :D






Wiek: 29
Na forum: 4815 dni
Posty: 399
Nick w MP: Remik14

Piwa: 152

Respekt: 76,8

W?a?nie wiem , lecz kompletnie nie wiem jak to zrobi? :D patrzy?em ju? na skrypty oparte na tym , ?e je?dzisz do checkpointow ale nadal nie wiem jak zrobi? aby by?a trasa :D Pomo?e kto??:D

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-05-31, 11:16


xqz

otaku desu!






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

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

Przyklad zrobilem tutaj:


Kod:

#include a_samp
#include zcmd


#define TIME_TO_UNFREEZE_BUS 1000 //czas do odmrozenia po wjechaniu w checkpoint


new Float:Pos_checkpoint[10][4]={ //twoje pozycje checkpointow, kolejno: x,y,z,rozmiar cylindra
{2483.5767,-1661.1938,13.3359,4.0},
{2412.1675,-1660.1268,13.3438,4.0},
{2289.6028,-1658.2565,14.8459,4.0},
{2187.2253,-1640.8170,14.9331,4.0},
{2120.8071,-1620.6145,13.3904,4.0},
{2036.9312,-1612.3821,13.3828,4.0},
{2001.5435,-1695.8450,13.3828,4.0},
{2038.1719,-1752.2499,13.3828,4.0},
{2137.7568,-1752.2389,13.3828,4.0},
{2213.0842,-1732.3092,13.3828,4.0} //to ostatni checkpoint (z flaga) ktory konczy misje busa
},
checkpoint_now[MAX_PLAYERS]=-1;


CMD:test(playerid,cmd[])
{
checkpoint_now[playerid]=0; //to umieszczasz tam gdzie startujesz misje
StartTheBus(playerid); // to umieszczasz tam gdzie startujesz misje
return 1;
}




stock StartTheBus(playerid)
{
switch(checkpoint_now[playerid])
{
case 0: SetPlayerRaceCheckpoint(playerid,0,Pos_checkpoint[checkpoint_now[playerid]][0],Pos_checkpoint[checkpoint_now[playerid]][1],Pos_checkpoint[checkpoint_now[playerid]][2],Pos_checkpoint[checkpoint_now[playerid]+1][0],Pos_checkpoint[checkpoint_now[playerid]+1][1],Pos_checkpoint[checkpoint_now[playerid]+1][2],Pos_checkpoint[checkpoint_now[playerid]][3]),TogglePlayerControllable(playerid,false);
case 1: SetPlayerRaceCheckpoint(playerid,0,Pos_checkpoint[checkpoint_now[playerid]][0],Pos_checkpoint[checkpoint_now[playerid]][1],Pos_checkpoint[checkpoint_now[playerid]][2],Pos_checkpoint[checkpoint_now[playerid]+1][0],Pos_checkpoint[checkpoint_now[playerid]+1][1],Pos_checkpoint[checkpoint_now[playerid]+1][2],Pos_checkpoint[checkpoint_now[playerid]][3]),TogglePlayerControllable(playerid,false);
case 2: SetPlayerRaceCheckpoint(playerid,0,Pos_checkpoint[checkpoint_now[playerid]][0],Pos_checkpoint[checkpoint_now[playerid]][1],Pos_checkpoint[checkpoint_now[playerid]][2],Pos_checkpoint[checkpoint_now[playerid]+1][0],Pos_checkpoint[checkpoint_now[playerid]+1][1],Pos_checkpoint[checkpoint_now[playerid]+1][2],Pos_checkpoint[checkpoint_now[playerid]][3]),TogglePlayerControllable(playerid,false);
case 3: SetPlayerRaceCheckpoint(playerid,0,Pos_checkpoint[checkpoint_now[playerid]][0],Pos_checkpoint[checkpoint_now[playerid]][1],Pos_checkpoint[checkpoint_now[playerid]][2],Pos_checkpoint[checkpoint_now[playerid]+1][0],Pos_checkpoint[checkpoint_now[playerid]+1][1],Pos_checkpoint[checkpoint_now[playerid]+1][2],Pos_checkpoint[checkpoint_now[playerid]][3]),TogglePlayerControllable(playerid,false);
case 4: SetPlayerRaceCheckpoint(playerid,0,Pos_checkpoint[checkpoint_now[playerid]][0],Pos_checkpoint[checkpoint_now[playerid]][1],Pos_checkpoint[checkpoint_now[playerid]][2],Pos_checkpoint[checkpoint_now[playerid]+1][0],Pos_checkpoint[checkpoint_now[playerid]+1][1],Pos_checkpoint[checkpoint_now[playerid]+1][2],Pos_checkpoint[checkpoint_now[playerid]][3]),TogglePlayerControllable(playerid,false);
case 5: SetPlayerRaceCheckpoint(playerid,0,Pos_checkpoint[checkpoint_now[playerid]][0],Pos_checkpoint[checkpoint_now[playerid]][1],Pos_checkpoint[checkpoint_now[playerid]][2],Pos_checkpoint[checkpoint_now[playerid]+1][0],Pos_checkpoint[checkpoint_now[playerid]+1][1],Pos_checkpoint[checkpoint_now[playerid]+1][2],Pos_checkpoint[checkpoint_now[playerid]][3]),TogglePlayerControllable(playerid,false);
case 6: SetPlayerRaceCheckpoint(playerid,0,Pos_checkpoint[checkpoint_now[playerid]][0],Pos_checkpoint[checkpoint_now[playerid]][1],Pos_checkpoint[checkpoint_now[playerid]][2],Pos_checkpoint[checkpoint_now[playerid]+1][0],Pos_checkpoint[checkpoint_now[playerid]+1][1],Pos_checkpoint[checkpoint_now[playerid]+1][2],Pos_checkpoint[checkpoint_now[playerid]][3]),TogglePlayerControllable(playerid,false);
case 7: SetPlayerRaceCheckpoint(playerid,0,Pos_checkpoint[checkpoint_now[playerid]][0],Pos_checkpoint[checkpoint_now[playerid]][1],Pos_checkpoint[checkpoint_now[playerid]][2],Pos_checkpoint[checkpoint_now[playerid]+1][0],Pos_checkpoint[checkpoint_now[playerid]+1][1],Pos_checkpoint[checkpoint_now[playerid]+1][2],Pos_checkpoint[checkpoint_now[playerid]][3]),TogglePlayerControllable(playerid,false);
case 8: SetPlayerRaceCheckpoint(playerid,0,Pos_checkpoint[checkpoint_now[playerid]][0],Pos_checkpoint[checkpoint_now[playerid]][1],Pos_checkpoint[checkpoint_now[playerid]][2],Pos_checkpoint[checkpoint_now[playerid]+1][0],Pos_checkpoint[checkpoint_now[playerid]+1][1],Pos_checkpoint[checkpoint_now[playerid]+1][2],Pos_checkpoint[checkpoint_now[playerid]][3]),TogglePlayerControllable(playerid,false);
case 9: SetPlayerRaceCheckpoint(playerid,1,Pos_checkpoint[checkpoint_now[playerid]][0],Pos_checkpoint[checkpoint_now[playerid]][1],Pos_checkpoint[checkpoint_now[playerid]][2],Pos_checkpoint[checkpoint_now[playerid]][0],Pos_checkpoint[checkpoint_now[playerid]][1],Pos_checkpoint[checkpoint_now[playerid]][2],Pos_checkpoint[checkpoint_now[playerid]][3]),TogglePlayerControllable(playerid,false);
}
SetTimerEx("Check_unfreeze",TIME_TO_UNFREEZE_BUS,false,"d",playerid);
return 1;
}




forward Check_unfreeze(p);
public Check_unfreeze(p)
{
TogglePlayerControllable(p,true);
return 1;
}



public OnPlayerEnterRaceCheckpoint(playerid)
{
if(checkpoint_now[playerid] < 9 && checkpoint_now[playerid] != -1)
{
checkpoint_now[playerid]++;
StartTheBus(playerid);
}
else
{ //tutaj co sie dzieje po skonczeniu ( np. dajesz kase)
SendClientMessage(playerid,-1,"SKONCZYLES!");
checkpoint_now[playerid]=-1;
DisablePlayerRaceCheckpoint(playerid);
}
return 1;
}




Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-05-31, 11:37


akon823

Czekotubka :D






Wiek: 29
Na forum: 4815 dni
Posty: 399
Nick w MP: Remik14

Piwa: 152

Respekt: 76,8

Okej dzi?ki wszystko zrozumia?em zaraz zrobie . A co do tematu to mam jeszcze problem przy wsiadaniu do pojazdu bylejakiego wyskakuje mi masz ju? bilet wpisz /dajbilet aby da? go kierowcy a chcia?em ?eby tylko przy wsiadaniu do autobusu to by?o:D
Kod
Kod:

new vehicle;
vehicle = GetPlayerVehicleID(playerid);
if(vehicle == 437 && !maszbilet[playerid])
{
SendClientMessage(playerid, -1, "Nie Masz Biletu ! /kupbilet");
RemovePlayerFromVehicle(playerid);
}
else
{
SendClientMessage(playerid, -1, "Masz Bilet Wpisz /dajbilet po wejsiu do autobusu.");
}
if( ToAnbulans(vehicleid) && gTeam[playerid] != TEAM_POGOTOWIE && !ispassenger)
{
ClearAnimations(playerid);
SendClientMessage(playerid, -1, "Nie mo?esz wej?? do pojazdu Frakcyjnego!");
return 1;
}
//pd
if( ToPD(vehicleid) && gTeam[playerid] != TEAM_POMOCDROGOWA && !ispassenger)
{
ClearAnimations(playerid);
SendClientMessage(playerid, -1, "Nie mo?esz wej?? do pojazdu Frakcyjnego!");
return 1;
}
//poli
if( ToPoli(vehicleid) && gTeam[playerid] != TEAM_POLICJA && !ispassenger)
{
ClearAnimations(playerid);
SendClientMessage(playerid, -1, "Nie mo?esz wej?? do pojazdu Frakcyjnego!");
return 1;
}
TextDrawShowForPlayer(playerid,pojazd[playerid]);
SendClientMessage(playerid, Czerwony, "** Aby odpali? pojazd wci?nij CTRL lub wpisz /vp **");
return 1;
}


Oraz 2 sprawa to dlaczego gdy przy wsianiu do pojazdu robi mi si? ta taka mgie?ka z fotoradaru (bia?y ekran) i znika dopiero po odpaleniu pojazdu?

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-05-31, 11:52


xqz

otaku desu!






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

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

Kod:

if(vehicle == 437 && !maszbilet[playerid])

437 to model autobusu a nie jego ID


zmien ta linijke na:

Kod:

if(GetVehicleModel(vehicle) == 437 && !maszbilet[playerid])




Co do mgie?ki z fotoradaru to nie mam pojecia.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-05-31, 13:42


akon823

Czekotubka :D






Wiek: 29
Na forum: 4815 dni
Posty: 399
Nick w MP: Remik14

Piwa: 152

Respekt: 76,8

Aaaa :D okej dzi?ki wielkie :>
Piwka lec? :P
Pozdrawiam

@EDIT

A jeszcze pytanko , jakbym chcia? wi?cej tras? Kt?re po wpisaniu komendy randomowo by si? wybiera?o? To ju? ostatnie pytanko:D

@EDIT2

Zmieni?em OnPlayerEnterVehicle na to co poda?e? i teraz to wgl wyskakuje na raz :
"Nie mo?esz wej?? do pojazdu frakcyjnego"
"Masz bilet /dajbilet blabla"
"Panel pojazdu /vp"
Masakra :D
Help:p

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-05-31, 14:33


xqz

otaku desu!






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

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

No nie wiem czy to moze byc "RemovePlayerFromVehicle" w OnPlayerEnterVehicle skoro gracz jeszcze nie siedzi w tym samochodzie :-?


Kod:

if(vehicle == 437 && !maszbilet[playerid])
{
SendClientMessage(playerid, -1, "Nie Masz Biletu ! /kupbilet");
RemovePlayerFromVehicle(playerid);
}
else
{
SendClientMessage(playerid, -1, "Masz Bilet Wpisz /dajbilet po wejsiu do autobusu.");
}

Daj to w



Kod:

public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_PASSENGER)
{
new vehicle = GetPlayerVehicleID(playerid);
if(GetVehicleModel(vehicle) == 437 && !maszbilet[playerid])
{
SendClientMessage(playerid, -1, "Nie Masz Biletu ! /kupbilet");
RemovePlayerFromVehicle(playerid);
}
else
{
SendClientMessage(playerid, -1, "Masz Bilet Wpisz /dajbilet po wejsiu do autobusu.");
}
}
//reszta kodu
return 1;
}




"akon823" napisał/a:

A jeszcze pytanko , jakbym chcia? wi?cej tras? Kt?re po wpisaniu komendy randomowo by si? wybiera?o? To ju? ostatnie pytanko:D

Rozne trasy? Musisz wszystko jakby 2 razy (tak najprosciej) zrobic. Tylko nazwe zmiennej i funkcji zmienic

Ostatnio zmieniony przez xqz 2013-05-31, 15:39, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-05-31, 15:31


akon823

Czekotubka :D






Wiek: 29
Na forum: 4815 dni
Posty: 399
Nick w MP: Remik14

Piwa: 152

Respekt: 76,8

Okej wszystko ?adnie i pi?knie dzia?a za co dzi?kuj? , lecz gdy wsiadam do pojazdu jako kierowca to wyskakuje mi "Masz bilet /dajbilet blabla" Chocia? go wgl nie kupowa?em ? I ja chce aby to wyskakiwalo gdy si? wsiada jako pasa?er a nie jako kierowca ;] A teraz gdy wsiadam jako pasa?er to nic si? nie dzieje . Oraz gdy wsiadam do ka?dego pojazdu to wyskakuje "Masz bilet /dajbilet blabla" . A 2 sprawa to jak zablokowa? aby tylko w danym poje?dzie mo?naby?o u?ywa? komendy /trasa?

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-05-31, 15:42


xqz

otaku desu!






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

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

"akon823" napisał/a:

I ja chce aby to wyskakiwalo gdy si? wsiada jako pasa?er a nie jako kierowca ;]


Kod:

public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_PASSENGER)
{
new vehicle = GetPlayerVehicleID(playerid);
if(GetVehicleModel(vehicle) == 437)
{
if(!maszbilet[playerid])
{
SendClientMessage(playerid, -1, "Nie Masz Biletu ! /kupbilet");
RemovePlayerFromVehicle(playerid);
}
else
{
SendClientMessage(playerid, -1, "Masz Bilet Wpisz /dajbilet po wejsiu do autobusu.");
}
}
}
//reszta kodu
return 1;
}


Kod:

Oraz gdy wsiadam do ka?dego pojazdu to wyskakuje "Masz bilet /dajbilet blabla"

Usunales kod z OnPlayerEnterVehicle?

"akon823" napisał/a:

A 2 sprawa to jak zablokowa? aby tylko w danym poje?dzie mo?naby?o u?ywa? komendy /trasa?


Mozna zrobic komende na Model pojazdu (437 = bus) lub jego ID jesli jest statyczny

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-05-31, 17:29


akon823

Czekotubka :D






Wiek: 29
Na forum: 4815 dni
Posty: 399
Nick w MP: Remik14

Piwa: 152

Respekt: 76,8

Okej wszystko ?adnie dzia?a tylko dlaczego jak wsiadam do autobusu a nie mam biletu to mnie z niego nie wywala ani nie jest napisane ze musze kupic bilet
Cmd mam takie :
Kod:

CMD:kupbilet(playerid, params[])
{
if(maszbilet[playerid]) return SendClientMessage(playerid, -1, "Masz Juz Bilet");

if(GetPlayerMoney(playerid) < 2) return SendClientMessage(playerid,0xAA3333AA, "Nie Masz Tyle Kasy");

GivePlayerMoney(playerid, -2);
SendClientMessage(playerid,-1,"Kupiles Bilet Autobusowy");
maszbilet[playerid] = 1;
return 1;
}

CMD:dajbilet(playerid, params[])
{
if(!maszbilet[playerid]) return SendClientMessage(playerid, -1, "Nie Masz Biletu");

SendClientMessage(playerid,-1,"Dales Bilet Kierowcy Brawo !");
maszbilet[playerid] = 0;
return 1;
}


I chcia?bym aby te komendy moznabylo uzywac tylko w autobusie :D
Pozdrawiam.

Podpis
Postaw piwo autorowi tego posta
 

 
Tagi: isplayerinarea
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