Wysłany: 2013-05-28, 17:54
panmajster
Wiek: 42 Na forum: 4787 dni Posty: 154
Nick w MP: NieWazne
Piwa : 124
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
Wysłany: 2013-05-28, 20:05
xqz
otaku desu!
Wiek: 32 Na forum: 6407 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
Wysłany: 2013-05-28, 20:07
panmajster
Wiek: 42 Na forum: 4787 dni Posty: 154
Nick w MP: NieWazne
Piwa : 124
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.
Wysłany: 2013-05-28, 20:11
xqz
otaku desu!
Wiek: 32 Na forum: 6407 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
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??
Wysłany: 2013-05-28, 21:35
panmajster
Wiek: 42 Na forum: 4787 dni Posty: 154
Nick w MP: NieWazne
Piwa : 124
Na bie??co najlepiej
Wysłany: 2013-05-28, 21:44
xqz
otaku desu!
Wiek: 32 Na forum: 6407 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
Wysłany: 2013-05-28, 21:45
panmajster
Wiek: 42 Na forum: 4787 dni Posty: 154
Nick w MP: NieWazne
Piwa : 124
znalaz?em to wcze?niej, ale w kt?rym miejscu to wklei? i w jaki spos?b ?
Wysłany: 2013-05-28, 21:56
xqz
otaku desu!
Wiek: 32 Na forum: 6407 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
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
Wysłany: 2013-05-28, 22:39
panmajster
Wiek: 42 Na forum: 4787 dni Posty: 154
Nick w MP: NieWazne
Piwa : 124
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
Wysłany: 2013-05-28, 22:42
xqz
otaku desu!
Wiek: 32 Na forum: 6407 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
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])
Wysłany: 2013-05-28, 22:46
panmajster
Wiek: 42 Na forum: 4787 dni Posty: 154
Nick w MP: NieWazne
Piwa : 124
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.
Wysłany: 2013-05-28, 22:58
xqz
otaku desu!
Wiek: 32 Na forum: 6407 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
Kod:
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;
}
Wysłany: 2013-05-29, 15:27
panmajster
Wiek: 42 Na forum: 4787 dni Posty: 154
Nick w MP: NieWazne
Piwa : 124
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?.
Wysłany: 2013-05-29, 16:18
xqz
otaku desu!
Wiek: 32 Na forum: 6407 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
panmajster , skoro osoba zglaszajaca dostaje tez wiadomosc o wezwaniu to spe?nia ten warunek
Kod:
Wiec wyrzuc gracza z tej frakcji/skina czy cokolwiek robi ta funkcja.
Wysłany: 2013-05-29, 17:02
panmajster
Wiek: 42 Na forum: 4787 dni Posty: 154
Nick w MP: NieWazne
Piwa : 124
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 ?
Tagi: wezwanie :: strazy
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: