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

Wysłany: 2018-03-27, 16:55


BartusBartus







Wiek: 26
Na forum: 3516 dni
Posty: 78
Nick w MP: BartusBartus



Respekt: 50

Siema, mam ma?y problem z GameTextForPlayer oraz SetTimer.
Gdy gracz wejdzie na serwer i posiada aktywnego AdminJaila, to robi si? co? takiego...
https://imgur.com/oACGW43
Tworzy si? jaki? dziwny GameTextForPlayer oraz SetTimer, kt?ry w plikach nie istnieje.. W plikach jest zapisywane czy gracz posiada AdminJail oraz jego czas.


Nast?pnie gdy si? zalogujemy i zespawnujemy pokazuje nam si? prawid?owy GameTextForPlayer oraz SetTimer z czasem, kt?ry jest pobierany z pliku(5 minut).
https://imgur.com/pv6kskB

Zauwa?y?em, ?e czas leci szybciej dwukrotnie tak jakby timer zabiera? czas z tego 1 co pojawi? si? podczas logowania i tego kt?rej pojawi? si? po zespawnownaiu.

Kod: https://pastebin.com/SWsMThn5


//kombinuje z tym ca?y czas i dzieje si? tak tylko po wyj?ciu i wej?ciu z serwera, ale jak np zrobi? gmx w konsoli to normalnie wszystko dzia?a ;/

Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-03-27, 19:40


Combacior







Wiek: 29
Na forum: 5795 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Kod:

SetTimer("JailTimer", 1000, 1);


Co oczekujesz po takim kodzie w OnPlayerSpawn? Za ka?dym razem, gdy gracz wywo?a ten callback, uruchamia si? timer. 10 graczy wejdzie na serwer, 10 timer?w wywo?uj?cych t? sam? funkcj?, 5 graczy umrze, 15 timer?w wywo?uj?cych t? sam? funkcj?. Nie uwa?asz, ?e ta funkcja SetTimer nie powinna by? w innym callbacku, np. OnGameModeInit?

Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
BartusBartus
Wysłany: 2018-03-27, 20:07


BartusBartus







Wiek: 26
Na forum: 3516 dni
Posty: 78
Nick w MP: BartusBartus



Respekt: 50

"Combacior" napisał/a:

Kod:

SetTimer("JailTimer", 1000, 1);


Co oczekujesz po takim kodzie w OnPlayerSpawn? Za ka?dym razem, gdy gracz wywo?a ten callback, uruchamia si? timer. 10 graczy wejdzie na serwer, 10 timer?w wywo?uj?cych t? sam? funkcj?, 5 graczy umrze, 15 timer?w wywo?uj?cych t? sam? funkcj?. Nie uwa?asz, ?e ta funkcja SetTimer nie powinna by? w innym callbacku, np. OnGameModeInit?


Rzeczywi?cie m?j b??d, ale dalej mam problem z GameTextForPlayer, kt?ry pokazuje si? w OnPlayerConnect i OnPlayerRequestClass, a chce ?eby pokaza? si? dopiero w OnPlayerSpawn.

Za ten problem odpowiada zmienna PlayerInfo[playerid][pAdminJail] oraz PlayerInfo[playerid][pAdminJailTime]. Po zalogowaniu si? od razu nam wczytuje, ?e gracz posiada Jaila w OnPlayerRequestClass i pokazuje si? GameTextForPlayer i nie mam poj?cia jak zrobi?, ?eby ten GameTextForPlayer pokazywa? si? dopiero w OnPlayerSpawn. W dodatku jak widzia?e? na SS wy?ej co? si? buguje i tworzy si? timer jeszcze przed zalogowaniem i odlicza nie wiadomo co ;/

Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-03-27, 20:24


Combacior







Wiek: 29
Na forum: 5795 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Wystarczy ustawi? odpowiednio tablic? pod gracza

Kod:

new bool:gIsSpawned[MAX_PLAYERS];

//OnPlayerSpawn
gIsSpawned[playerid] = true;

//AdminJail
if(gIsSpawned[playerid])
{
//gracz zespawnowany, pokaz gametext
}


Oczywi?cie trzeba t? tablic? czasami resetowa? w OnPlayerDeath czy OnPlayerDisconnect

Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
BartusBartus
Wysłany: 2018-03-27, 21:56


BartusBartus







Wiek: 26
Na forum: 3516 dni
Posty: 78
Nick w MP: BartusBartus



Respekt: 50

"Combacior" napisał/a:

Wystarczy ustawi? odpowiednio tablic? pod gracza

Kod:

new bool:gIsSpawned[MAX_PLAYERS];

//OnPlayerSpawn
gIsSpawned[playerid] = true;

//AdminJail
if(gIsSpawned[playerid])
{
//gracz zespawnowany, pokaz gametext
}


Oczywi?cie trzeba t? tablic? czasami resetowa? w OnPlayerDeath czy OnPlayerDisconnect


Elegancko wszystko dzia?a, dzi?ki za pomoc :) Jeszcze mam jedno pytanko.. Nadaj? kar? w minutach i te minuty s? zamieniane na sekundy i zapisane w pliku i tak samo z pliku s? odczytywane jako sekundy. Jak zrobi? ?eby GameTextForPlayer pokazywa? ile pozosta?o minut, a nie sekund.


cmd: https://pastebin.com/23YFaV6E

Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-03-29, 09:23


Lucenzo







Wiek: 33
Na forum: 3010 dni
Posty: 31
Nick w MP: Kotuń

Piwa: 2

Respekt: 50

Ostrzeżeń: 100%
Ja bym doda? do zapisu minuty i sekundy bo tak troche duzo pisania jest jak duzo minut ale jak chcesz tak to spr?buj:

https://hastebin.com/okoxonobew.md

pisane w notatniku wiec mog? by? ma?e b??dy :/

Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-03-30, 16:34


BartusBartus







Wiek: 26
Na forum: 3516 dni
Posty: 78
Nick w MP: BartusBartus



Respekt: 50

Z dw?ch zmiennych zrobi?em jedn? zmienna, zmieni?em troch? kod i wszystko elegancko dzia?a :)

Postaw piwo autorowi tego posta
 

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