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

Wysłany: 2013-05-28, 17:54


panmajster







Wiek: 42
Na forum: 4786 dni
Posty: 154
Nick w MP: NieWazne

Piwa: 124

Respekt: 50

Witajcie.

Zrobi?em sobie systemik ?e po wybraniu w okienku gui przyczyny wezwania przychodzi do stra?y po?arnej informacja, lecz niestety nie wiem jak zrobi? aby t? osob? oznacza?o na mapie na przyk?ad medycznym plusem, ani nie przychodzi ?adna informacja do stra?y o wezwaniu. Kod:

Kod:


if(dialogid == FDInfo)
{
if(response)
{
if(listitem == 0) //Wypadek
{
SendClientMessage(playerid,-1,"Straz pozarna zostala wyslana. Czekaj na przyjazd !");
new pName[35];
new String[50];
GetPlayerName(playerid,pName,sizeof(pName));
format(String,sizeof(String),"%s(%d) Zglasza wypadek!!",pName,playerid);
}
if(listitem == 1)//Pozar
{
SendClientMessage(playerid,-1,"Straz pozarna zostala wyslana. Czekaj na przyjazd !");
new pName[35];
new String[50];
GetPlayerName(playerid,pName,sizeof(pName));
if(!ToFD(playerid))
format(String,sizeof(String),"%s(%d) Zglasza pozar!!",pName);
}
}
}


Za pomoc piweczka ;)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-05-28, 20:05


xqz

otaku desu!






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

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

Nie rozumiem. Nie uda?o Ci si? zrobi? najprostszej cz??ci?

http://wiki.sa-mp.com/wiki/SetPlayerMapIcon + GetPlayerPos + wy?lij t? wiadomo?? bo j? tylko sformatowa?e?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-05-28, 20:07


panmajster







Wiek: 42
Na forum: 4786 dni
Posty: 154
Nick w MP: NieWazne

Piwa: 124

Respekt: 50

No bo jest tak, ?e wysy?a normalnie powiadomienie ?e stra? zosta?a wezwana, a poinformowanie do stra?y nie dochodzi i nie wiem czemu :/ A co do pozycji, to nic a nic nie rozumiem z tego co mi poda?e? gdy? tam jest jaka? pozycja przypisana a mi chodzi o to aby go?cia wzywaj?cego stra? po?arn? wy?wietla?o na radarze.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-05-28, 20:11


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(!ToFD(playerid))
format(String,sizeof(String),"%s(%d) Zglasza pozar!!",pName);
}

Nie wysy?asz tego wi?c dlatego nie dostajesz wiadomo?ci.


Cytat:

go?cia wzywaj?cego stra? po?arn? wy?wietla?o na radarze.

Na bie??co czy w miejsce z kt?rego zadzwoni??

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-05-28, 21:35


panmajster







Wiek: 42
Na forum: 4786 dni
Posty: 154
Nick w MP: NieWazne

Piwa: 124

Respekt: 50

Na bie??co najlepiej :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-05-28, 21:44


xqz

otaku desu!






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

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

A mo?e u?yjesz tej funkcji: http://wiki.sa-mp.com/wik...MarkerForPlayer

Nie trzeba od?wie?a? timerami, a gracz b?dzie na mapie widoczny jako czerwony punkcik.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-05-28, 21:45


panmajster







Wiek: 42
Na forum: 4786 dni
Posty: 154
Nick w MP: NieWazne

Piwa: 124

Respekt: 50

znalaz?em to wcze?niej, ale w kt?rym miejscu to wklei? i w jaki spos?b ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-05-28, 21:56


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(dialogid == FDInfo)
{
if(response)
{
if(listitem == 0) //Wypadek
{
SendClientMessage(playerid,-1,"Straz pozarna zostala wyslana. Czekaj na przyjazd !");
new pName[35];
new String[50];
GetPlayerName(playerid,pName,sizeof(pName));
format(String,sizeof(String),"%s(%d) Zglasza wypadek!!",pName,playerid);
for(new i=0, s=GetMaxPlayers(); i<s; i++)
{
if(ToFD(i))
{
SendClientMessage(i,-1,String);
SetPlayerMarkerForPlayer(i, playerid, 0xFF0000FF);
}
}
}
if(listitem == 1)//Pozar
{
SendClientMessage(playerid,-1,"Straz pozarna zostala wyslana. Czekaj na przyjazd !");
new pName[35];
new String[50];
GetPlayerName(playerid,pName,sizeof(pName));
format(String,sizeof(String),"%s(%d) Zglasza pozar!!",pName,playerid);
for(new i=0, s=GetMaxPlayers(); i<s; i++)
{
if(// twoj warunek na sprawdzenie czy gracz jest w strazy pozarnej)
{
SendClientMessage(i,-1,String);
SetPlayerMarkerForPlayer(i, playerid, 0xFF0000FF);
}
}
}
}
}


Cos mniej wiecej tak

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-05-28, 22:39


panmajster







Wiek: 42
Na forum: 4786 dni
Posty: 154
Nick w MP: NieWazne

Piwa: 124

Respekt: 50

Jest praktycznie wszystko ok, lecz je?li kto? wy?le zg?oszenie to jemu te? wy?wietla np. "Sam_BleBle zg?asza wypadek", a ja chce aby tylko dla stra?y to wy?wietla?o, i kiedy podjad? na miejsce to ?eby znika? z niego/jej ten kolor czerwony.

Oto kod:

Kod:


if(dialogid == FDInfo)
{
if(response)
{
if(listitem == 0) //Wypadek
{
SendClientMessage(playerid,-1,"Straz pozarna zostala wyslana. Czekaj na przyjazd !");
new pName[35];
new String[50];
GetPlayerName(playerid,pName,sizeof(pName));
format(String,sizeof(String),"%s(%d) Zglasza wypadek!!",pName,playerid);
for(new i=0, s=GetMaxPlayers(); i<s; i++)
{
if(ToFD(i))
{
SendClientMessage(i,-1,String);
SetPlayerMarkerForPlayer(i, playerid, 0xFF0000FF);
}
}
}
if(listitem == 1)//Pozar
{
SendClientMessage(playerid,-1,"Straz pozarna zostala wyslana. Czekaj na przyjazd !");
new pName[35];
new String[50];
GetPlayerName(playerid,pName,sizeof(pName));
format(String,sizeof(String),"%s(%d) Zglasza pozar!!",pName,playerid);
for(new i=0, s=GetMaxPlayers(); i<s; i++)
{
if(!ToFD(playerid))
{
SendClientMessage(i,-1,String);
SetPlayerMarkerForPlayer(i, playerid, 0xFF0000FF);
}
}
}
}
}


Daje piwwka :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-05-28, 22:42


xqz

otaku desu!






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

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

znow pomieszales kod.


Dlaczego dodajesz to: if(!ToFD(playerid)) ?
Dlatego wyswietla temu tez bo warunek spelnil (nie nalezy do pogotowia [zgodnie z tym co pokazales w innym temacie o tej funkcji])

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-05-28, 22:46


panmajster







Wiek: 42
Na forum: 4786 dni
Posty: 154
Nick w MP: NieWazne

Piwa: 124

Respekt: 50

Bo wtedy mi si? pomyli?o "FD" z "ED" dlatego w innym temacie tak zrobi?em, no ale powiedz mi co pomiesza?em w kodzie ?

[ Dodano: 2013-05-28, 22:47 ]
A dlaczego dodaje if(ToFD) ? Bo to jest funkcja od sprawdzania czy go?ciu jest stra?akiem.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-05-28, 22:58


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(!ToFD(playerid))

Powinno by? tam "i" zamiast "playerid" bo po to p?tle stworzyles aby sprawdzic kazdego gracza po kolei a nie tylko "playerid".

Co do usuniecia koloru to musisz wystartowac TimerEx dla tego gracza ktory widzi kolor i uzyc IsPlayerInRangeOfPoint lub GetPlayerDistanceFromPoint aby sprawdzic czy jest blisko. Jesli jest to wylaczyc przez zmiane koloru alpha na 00.


np.


Kod:

SetTimerEx("offacmitu",3000,true,"dd",i,playerid);


Kod:

forward offacmitu(playerid,playerid2);
public offacmitu(playerid,playerid2)
{
new Float:poss[3];
GetPlayerPos(playerid,poss[0],poss[1],poss[2]);
if(GetPlayerDistanceFromPoint(playerid, poss[0],poss[1],poss[2]) < 5.0) SetPlayerMarkerForPlayer(playerid, playerid2, 0xFF000000);
return 1;
}



Calo??




Kod:

if(dialogid == FDInfo)
{
if(response)
{
if(listitem == 0) //Wypadek
{
SendClientMessage(playerid,-1,"Straz pozarna zostala wyslana. Czekaj na przyjazd !");
new pName[35];
new String[50];
GetPlayerName(playerid,pName,sizeof(pName));
format(String,sizeof(String),"%s(%d) Zglasza wypadek!!",pName,playerid);
for(new i=0, s=GetMaxPlayers(); i<s; i++)
{
if(ToFD(i))
{
SendClientMessage(i,-1,String);
SetPlayerMarkerForPlayer(i, playerid, 0xFF0000FF);
SetTimerEx("offacmitu",3000,true,"dd",i,playerid);
}
}
}
if(listitem == 1)//Pozar
{
SendClientMessage(playerid,-1,"Straz pozarna zostala wyslana. Czekaj na przyjazd !");
new pName[35];
new String[50];
GetPlayerName(playerid,pName,sizeof(pName));
format(String,sizeof(String),"%s(%d) Zglasza pozar!!",pName,playerid);
for(new i=0, s=GetMaxPlayers(); i<s; i++)
{
if(ToFD(i)) //nie wiem dlaczego dajesz ! skoro gracz powinien sie znajdowac w tej frakcji
{
SendClientMessage(i,-1,String);
SetPlayerMarkerForPlayer(i, playerid, 0xFF0000FF);
SetTimerEx("offacmitu",3000,true,"dd",i,playerid);
}
}
}
}
}


//nowa funkcja publiczna poza innymi callbackami!

forward offacmitu(playerid,playerid2);
public offacmitu(playerid,playerid2)
{
new Float:poss[3];
GetPlayerPos(playerid,poss[0],poss[1],poss[2]);
if(GetPlayerDistanceFromPoint(playerid, poss[0],poss[1],poss[2]) < 5.0) SetPlayerMarkerForPlayer(playerid, playerid2, 0xFF000000);
return 1;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-05-29, 15:27


panmajster







Wiek: 42
Na forum: 4786 dni
Posty: 154
Nick w MP: NieWazne

Piwa: 124

Respekt: 50

Dalej jest ?le, poniewa? informacj? wy?wietla o po?arze dla gracza wzywaj?cego, oraz dla stra?aka. A informacje o tym ?e jest po?ar ma wy?wietla? tylko dla stra?aka, a informacja ?e zg?oszony dla gracza.

ps: wklei?em tak jak poda?e?.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-05-29, 16:18


xqz

otaku desu!






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

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

panmajster, skoro osoba zglaszajaca dostaje tez wiadomosc o wezwaniu to spe?nia ten warunek

Kod:

if(ToFD(i))


Wiec wyrzuc gracza z tej frakcji/skina czy cokolwiek robi ta funkcja.

Postaw piwo autorowi tego posta
 

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


panmajster







Wiek: 42
Na forum: 4786 dni
Posty: 154
Nick w MP: NieWazne

Piwa: 124

Respekt: 50

Tak wygl?da funkcja :

Kod:


stock ToFD(playerid)//SPRAWDZA CZY TO FD
{
new s=GetPlayerSkin(playerid);
if((s==278||s==279||s==211)&&PlayerInfo[playerid][gFrakcja]!=3&&PlayerInfo[playerid][gLider]!=3)
return 1;
return 0;
}


Wszystko jest w niej ok ?

Postaw piwo autorowi tego posta
 

 
Tagi: wezwanie :: strazy
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