Skocz do zawartości


Serwis Grand Theft Auto & Multiplayers zasponsoruje serwery dowolnego typu.
Lokalizacja serwera dedykowanego - Gdańsk, Polska.
Więcej informacji na skype - Xenon lub Szybki.


Optymalizacja


45 odpowiedzi w tym temacie

#41 Łukasz Lanuczny

    Big Clucker

  • Użytkownicy
  • 104 postów

Napisano 07 marzec 2012 - 16:31

Wyświetl postUżytkownik Mario dnia 07 marzec 2012 - 12:00 napisał

CMD:aj(playerid, params[])
{
new str[225], player2, czas, reason[128];
if(sscanf(params, "dds[128]", player2, czas, reason))
		 return SendClientMessage(playerid, C_GREY, "Wpisz: /aj [ID] [Czas] [Powód]");
if(player2 == INVALID_PLAYER_ID)
		 return GameTextForPlayer(playerid, "~r~Podano zle ~w~ID~r~!", 4000, 3);
DajAJ(player2, czas);
format(str, sizeof(str), "~r~Admin Jail~n~~w~Gracz: ~y~%s~n~~w~Nadano przez: ~y~%s~n~%s", PlayerInfo[player2][Name], PlayerInfo[playerid][Name], reason);
TextDrawSetString(AJTD, str);
TextDrawShowForPlayer(playerid, AJTD);
SetTimer("SchowajAJTD", 10000, 0);
  return 1;
}

^_^

Co było źle? A no to:

new str[225], player2, czas, reason;

oraz to:

if(player2 != INVALID_PLAYER_ID)

Porównaj sobie te linijki. :)

Nic nie dało, za to w konsoli widzę takie coś:

sscanf error: System not initialised.

#42 KeyBoy

    Little Clucker

  • Użytkownicy
  • 27 postów

Napisano 07 marzec 2012 - 16:51

Cytat

Co było źle? A no to:

new str[225], player2, czas, reason;
On używał tablicy reason do podania powodu nadania admin jaila, a tablicy str do formatowania tekstu, reason nie może być zmienną bo chce dodać do niej tekst, pomyśl łaskawie.

Cytat

Nic nie dało, za to w konsoli widzę takie coś:

sscanf error: System not initialised.
Masz swój rozum ? do zmiennej możesz załadować jedną litere.



Jestem ciekaw jakby Twój kod się zachował jeżeli wpisałbym czas równy 0 lub -1, przy podawaniu wartości powinnieneś sprawdzać jaka wartość była wpisana.

Użytkownik KeyBoy edytował ten post 07 marzec 2012 - 16:53


#43 Mario

    Harvest Maniac

  • Użytkownicy
  • 75 postów

Napisano 07 marzec 2012 - 22:31

Cytat

On używał tablicy reason do podania powodu nadania admin jaila, a tablicy str do formatowania tekstu, reason nie może być zmienną bo chce dodać do niej tekst, pomyśl łaskawie.
Naucz się czytać łaskawie, przecież mu pokazałem na czym polegał błąd, zobacz kod jaki mu podałem.

Cytat

sscanf error: System not initialised.
Skopiuj komendę, jaką ja napisałem, tam ma być:

new str[225], player2, czas, reason[128];


a nie:

new str[225], player2, czas, reason;



Użytkownik Mario edytował ten post 07 marzec 2012 - 22:36


#44 KeyBoy

    Little Clucker

  • Użytkownicy
  • 27 postów

Napisano 07 marzec 2012 - 22:50

Cytat

Naucz się czytać łaskawie, przecież mu pokazałem na czym polegał błąd, zobacz kod jaki mu podałem.
Honor zwracam, myślałem że Ty chciałeś go tym kodem poprawić nawet nie zauważyłem tak oczywistego błędu w jego kodzie, to za oczywiste.

Użytkownik KeyBoy edytował ten post 07 marzec 2012 - 22:52


#45 Oskar

    Little Clucker

  • Użytkownicy
  • 35 postów

Napisano 01 kwiecień 2012 - 20:27

Najlepiej będzie, jak Twój kod będzie wyglądał tak:
CMD:aj(playerid, params[])
{
	new reason[225], info[2];
	if(sscanf(params, "dds[128]", info[0], info[1], reason))
		return SendClientMessage(playerid, C_GREY, "Wpisz: /aj [ID] [Czas] [Powód]");

	if(!IsPlayerConnected(info[0]))
		return GameTextForPlayer(playerid, "~r~Podano zle ~w~ID~r~!", 4000, 3);

	DajAJ(info[0], info[1]);
	format(reason, sizeof(reason), "~r~Admin Jail~n~~w~Gracz: ~y~%s~n~~w~Nadano przez: ~y~%s~n~%s", PlayerInfo[info[0]][Name], PlayerInfo[playerid][Name], reason);
	TextDrawSetString(AJTD, reason);
	TextDrawShowForAll(AJTD);
	SetTimer("SchowajAJTD", 10000, 0);
	return 1;
}


Pozwoliłem sobie zmienić TextDrawShowForPlayer, na TextDrawShowForAll, bo chwilowo TextDraw pokazywał się tylko temu, kto nadał karę.

Jak nie rozumiesz kodu - pisz. ;)

Użytkownik Oskar edytował ten post 01 kwiecień 2012 - 20:27


#46 Aleks

    Big Clucker

  • Użytkownicy
  • 107 postów

Napisano 02 kwiecień 2012 - 15:14

Data człowieku, data...





Użytkownicy przeglądający ten temat: 1

0 użytkowników, 1 gości, 0 anonimowych