Wysłany: 2012-08-08, 18:57
B!4CK
Never give UP!
Wiek: 32 Na forum: 5809 dni Posty: 1047
Nick w MP: John
Piwa : 1891
Wysłany: 2012-08-08, 19:33
Gorniczek12
Wiek: 34 Na forum: 5064 dni Posty: 25
Nick w MP: Gorniczek
Piwa : 118
Drugie:
Kod:
CMD:afk(playerid, params[])
{
new Text3D:playertextid;
if(AFK[playerid] == 0) // warunek czy gracz jest adminem
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos( playerid, X, Y, Z );
playertextid = Create3DTextLabel("AFK od: ", 0x008080FF, X, Y, Z, 40.0, 0, 0);
Attach3DTextLabelToPlayer(playertextid, playerid, 0.0, 0.0, 0.7);
new string[30];
AFK[playerid]=1;
new Hour, Minute, Second;
gettime(Hour, Minute, Second);
Update3DTextLabelText(playertextid, 0xFFFFFFFF, string);
printf("AFK od: %02d:%02d:%02d", Hour, Minute, Second);
}
else if(AFK[playerid] == 1)
{
AFK[playerid]=0;
Delete3DTextLabel(Text3D:playertextid);
}
return 1;
}
Powy?szy kod nie nalicza czasu ale tak jak na zdj?ciu pokazuje od kt?rej godziny gracz jest AFK, oczywi?cie mo?na to zmieni? dodaj?c Timer i po 10minutach nalicza? czas, ale tak jak zrobi?em jest lepiej
Wysłany: 2012-08-08, 19:36
Raydex
Wiek: 36 Na forum: 6037 dni Posty: 138
Piwa : 1043
ID kolor?w najlepiej bra? st?d, w ko?cu to oficjalna wiki sampa:
http://wiki.sa-mp.com/wiki/Color_ID
Co do AFK:
G?ra:
Cytat:
Musisz zrobi? timer co sekunde, a w nim:
Cytat:
Potem w OnPlayerUpdate:
Cytat:
Potem robisz timer co 10 minut, bo tak chcia?e?, a w nim:
Cytat: if(AFK[playerid] >10)
{
co ma si? dzia?, czyli np. status pod nickiem AFK
}
Jeszcze musisz pobra? czas je?li chcesz w statusie zaznaczy? od kiedy trwa afk tak jak na SSie.
Ostatnio zmieniony przez Raydex 2012-08-08, 19:58, w całości zmieniany 1 raz
Wysłany: 2012-08-08, 19:47
Gorniczek12
Wiek: 34 Na forum: 5064 dni Posty: 25
Nick w MP: Gorniczek
Piwa : 118
Raydex, Kod: oraz to Kod: przecie? to b?dzie si? robi?o po 10sekundach. Potem w Kod: doda? Kod: . LOL? Przecie? to b?dzie od?wie?a? si? co kilka sekund i za ka?dym razem b?dzie zerowa?o licznik, a tego raczej autor nie chce? Tw?j kod jest bezsensu jak nie wiesz to nie pisz.
Wysłany: 2012-08-08, 19:57
Raydex
Wiek: 36 Na forum: 6037 dni Posty: 138
Piwa : 1043
Sam jeste? cz?owieku bez sensu, mam to zrobione w gamemodzie i dzia?a, wi?c sam nie pisz je?li nie wiesz co.
Cytat:
przecie? to b?dzie si? robi?o po 10sekundach.
Jakich dziesi?ciu skoro napisa?em mu wyra?nie by da? to do timera co sekunde, umiesz czyta??
Poza tym liczby u mnie dobrane s? losowo, sam sobie dopasuje pod siebie.
Wysłany: 2012-08-08, 20:08
B!4CK
Never give UP!
Wiek: 32 Na forum: 5809 dni Posty: 1047
Nick w MP: John
Piwa : 1891
Pogubi?em si? ju? tutaj
Je?li stworze timer
SetTimer("AFK", 1000, false);
Troch? ja?niej bo z tego ma?o zrozumia?em
Podpis
Cześć
[you]
!
Projekt, który poruszy scenę platformy SA:MP!
Wysłany: 2012-08-08, 20:31
Raydex
Wiek: 36 Na forum: 6037 dni Posty: 138
Piwa : 1043
Nie tak.
Masz np. w hone?cie SetTimer("TimerCoSekunde",1000,true);
Szukasz
public TimerCoSekunde()
{
i tam dodajesz
AFK[playerid]++;
Potem musisz stworzy? na takiej samej zasadzie drugi timer w kt?rym sprawdzisz, w nim dajesz:
if(AFK[playerid] >10)
{
co ma si? dzia?, czyli np. status pod nickiem AFK
}
Wysłany: 2012-08-08, 20:34
B!4CK
Never give UP!
Wiek: 32 Na forum: 5809 dni Posty: 1047
Nick w MP: John
Piwa : 1891
Okey teraz rozumiem, w?a?nie dodaje to do honesta ,kt?rego przerabiam
D... nic z tego, nie zrobi? bo si? gubi? ci?gle niby dodaje to i tworz? timer to nie wiem jak ustawi? ten status itd. Co? ja?niej bym poprosi? /
Podpis
Cześć
[you]
!
Projekt, który poruszy scenę platformy SA:MP!
Wysłany: 2012-08-08, 20:52
Combacior
Wiek: 29 Na forum: 5795 dni Posty: 1516
Piwa : 2161
G?ra mapy
Kod: new Sekundy[MAX_PLAYERS];
OnGameModeInit
Kod: SetTimer("Afkowanie", 1000, true);
Gdzie? na dole mapki
Kod: forward Afkowanie();
public Afkowanie()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
Sekundy[i]++;
if(Sekundy[i] > 5)
{
//Gracz jest afk od ok. 5 sek
}
}
}
W OnPlayerUpdate
Kod:
public OnPlayerUpdate si? nie wykonuje, gdy gracz ma afka, ale timer b?dzie si? wykonywa? i b?d? lecia?y sekundy na afku graczowi.
Wysłany: 2012-08-08, 20:57
B!4CK
Never give UP!
Wiek: 32 Na forum: 5809 dni Posty: 1047
Nick w MP: John
Piwa : 1891
CombaT i to b?dzie wy?wietla?o jak na screenie? Bo ja sam tylko na dom?wce sprawdzam ;/ A musz? mie? pewno??.
Podpis
Cześć
[you]
!
Projekt, który poruszy scenę platformy SA:MP!
Wysłany: 2012-08-08, 21:20
Combacior
Wiek: 29 Na forum: 5795 dni Posty: 1516
Piwa : 2161
Musisz do tego doda? now? tablic?, czyli ten status czy gracz jest afk i aktualizowa? Text3D, ale napisz? pseudo kod, p??niej mini b??dy sobie ju? sam pousuwasz. Do kodu wy?ej co da?em pododawaj takie rzeczy
G?ra mapy
Kod: new Text3D:afktext[MAX_PLAYERS], new Minuty[MAX_PLAYERS];
Oraz public Afkowanie zast?p tym
Kod: forward Afkowanie();
public Afkowanie()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
Sekundy[i]++;
if(Sekundy[i] > 5)
{
if(AFK[i] == false)
{
AFK[i] = true;
new Float:X, Float:Y, Float:Z;
GetPlayerPos(i, X, Y, Z );
afktext[i] = Create3DTextLabel(string, 0x008080FF, X, Y, Z, 40.0, 0, 0);
Attach3DTextLabelToPlayer(afktext[i], i, 0.0, 0.0, 0.7);
}
new string[32];
format(string, 32, "AFK od %02d:%02d", Minuty[i], Sekundy[i]);
Update3DTextLabelText(afktext[i], 0xFFFFFFFF, string);
}
else
{
AFK[i] = false;
Delete3DTextLabel(afktext[i]);
}
}
}
To powinno dzia?a?, ale nie testowa?em.
Wysłany: 2012-08-09, 10:14
B!4CK
Never give UP!
Wiek: 32 Na forum: 5809 dni Posty: 1047
Nick w MP: John
Piwa : 1891
up@ nie dzia?a ;/ Nie wy?wietla si? od ilu
Podpis
Cześć
[you]
!
Projekt, który poruszy scenę platformy SA:MP!
Wysłany: 2012-08-09, 14:46
Combacior
Wiek: 29 Na forum: 5795 dni Posty: 1516
Piwa : 2161
Zapomnia?em jeszcze o statusie
G?ra mapy
Kod: new bool:AFK[MAX_PLAYERS];
Oraz zamie? kod Afkowanie
Kod: forward Afkowanie();
public Afkowanie()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
Sekundy[i]++;
if(Sekundy[i] == 60)
{
Sekundy[i] = 0;
Minuty[i]++;
}
if(Sekundy[i] > 5)
{
if(AFK[i] == false)
{
AFK[i] = true;
new Float:X, Float:Y, Float:Z;
GetPlayerPos(i, X, Y, Z );
afktext[i] = Create3DTextLabel("AFK od 00:00", 0x008080FF, X, Y, Z, 40.0, 0, 0);
Attach3DTextLabelToPlayer(afktext[i], i, 0.0, 0.0, 0.7);
}
new string[32];
format(string, 32, "AFK od %02d:%02d", Minuty[i], Sekundy[i]);
Update3DTextLabelText(afktext[i], 0xFFFFFFFF, string);
}
else
{
AFK[i] = false;
Delete3DTextLabel(afktext[i]);
}
}
}
Je?eli nie b?dzie dzia?a?, to nie wiem co jest nie tak.
PS. Tutaj masz post jak to ma wygl?da?, gdy gracz jest afk. Mo?esz sobie to przerobi? z tekstem nad g?ow? gracza.
Wysłany: 2012-08-09, 15:07
B!4CK
Never give UP!
Wiek: 32 Na forum: 5809 dni Posty: 1047
Nick w MP: John
Piwa : 1891
Teraz to si? kompletnie pogubi?em...
Nie wiem co teraz zrobi?, CombaT Tw?j wcze?niejszy kod po??czy? z tym? Czy jak , bo pogubi?em si? i nie ogarniam.
Podpis
Cześć
[you]
!
Projekt, który poruszy scenę platformy SA:MP!
Wysłany: 2012-08-09, 15:26
Combacior
Wiek: 29 Na forum: 5795 dni Posty: 1516
Piwa : 2161
Te? ju? si? pogubi?em, wi?c daje pe?ny kod. Jak nie zadzia?a, to ju? nie wiem gdzie jest b??d.
Kod: new Minuty[MAX_PLAYERS], Sekundy[MAX_PLAYERS], bool:AFK[MAX_PLAYERS], Text3D:afktext[MAX_PLAYERS];
public OnGameModeInit()
{
SetTimer("Afkowanie", 1000, true);
return 1;
}
public OnPlayerUpdate(playerid)
{
Sekundy[playerid] = 0;
Minuty[playerid] = 0;
return 1;
}
forward Afkowanie();
public Afkowanie()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
Sekundy[i]++;
if(Sekundy[i] == 60)
{
Sekundy[i] = 0;
Minuty[i]++;
}
if(Sekundy[i] > 5)
{
if(AFK[i] == false)
{
AFK[i] = true;
new Float:X, Float:Y, Float:Z;
GetPlayerPos(i, X, Y, Z );
afktext[i] = Create3DTextLabel("AFK od 00:00", 0x008080FF, X, Y, Z, 40.0, 0, 0);
Attach3DTextLabelToPlayer(afktext[i], i, 0.0, 0.0, 0.7);
}
new string[32];
format(string, 32, "AFK od %02d:%02d", Minuty[i], Sekundy[i]);
Update3DTextLabelText(afktext[i], 0xFFFFFFFF, string);
}
else
{
AFK[i] = false;
Delete3DTextLabel(afktext[i]);
}
}
return 1;
}
Tagi: paleta :: kolorów :: oraz :: afk
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: