Skocz do zawartości
A TERMINATOR

Jak zrobić aby tekst czatu był wyświetlany nad graczem?

Rekomendowane odpowiedzi

W tym poradniku pokaże wam, jak zrobić, aby jak coś wpiszemy na czacie to ten tekst wyświetli się nad głową gracza.

Więc: Szukamy public OnPlayerText(playerid, text[])

A potem w tym publicu umieszczamy funkcję: SetPlayerChatBubble

Czyli to powinno wyglądać tak:

public OnPlayerText(playerid, text[])
{
SetPlayerChatBubble(playerid, text, kolor, dystans, CzasWyświetlania);
return 1; // zwracamy 1
}
Objasnienia:
playerid
- id gracza nad, którym ma się wyświetlić tekst. (Tutaj zostawiamy tak jest jest)
text
- tekst jaki ma być wyświetlany nad głową gracza. (Tutaj zostawiamy tak jak jest)
kolor
- kolor tego tekstu. (Tutaj wpisujemy jakis kolor)
dystans
- dystans z jakiego jest widoczny tekst. (Tutaj wpisujemy dystans w metrach)
CzasWyświetlania

- Czas po jakim zniknie tekst nad graczem. (Tutaj podajemy czas w milisekundach)

Oczywiście możemy mieć już w mapie bardziej rozbudowany powyższy public, wtedy ten kod dajemy tam gdzie wszystkie warunki się spełniają i tekst jest wyświetlany na czacie.

Wszystko!

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

dcmd_b(playerid,cmdtext[])
{
			new idx;
			new length = strlen(cmdtext);
			while ((idx < length) && (cmdtext[idx] <= ' '))
			{
				idx++;
			}
			new offset = idx;
			new result[128];
			while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
			{
				result[idx - offset] = cmdtext[idx];
				idx++;
			}
			result[idx - offset] = EOS;
			if(!strlen(result))
			{
				SendClientMessage(playerid, CZERWONY, "(UŻYJ) /b [tekst]");
				return 1;
			}
			SetPlayerChatBubble(playerid, "%s", ZIELONY, 20.0, 20, result);  <<<<<<BŁĄD
		}
	return 1;
}
Zrobiłem takie coś. I mam taki błąd.
C:\Documents and Settings\Bez śmieci\Pulpit\ud-rp\server samp\gamemodes\new.pwn(132) : warning 202: number of arguments does not match definition
Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


1 Warning.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Grałeś na H-RP? Tam Local OOC ma coś takiego.

Np.

/b siema ziomy

na HRP masz .siema ziomy i czat wyswietla sie nad glowa, a nie /b ...

Nie wiesz to sie nie odzywaj, wprowadzasz ludzi w błąd.

Wtedy nad graczem pojawia się ((siema ziomy)), a nie w czacie.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

No to jednak formacik wymagany:

new string[128];
format(string, sizeof(string), "(( %s ))", result);
SetPlayerChatBubble(playerid, string, kolor, dystans, CzasWyswietlania);

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

A co do '.' to już całkiem inna sprawa:

Trzeba zrobić tak

#include a_samp

public OnPlayerText(playerid, text[])
{
	if(text[0] == '.')
	{
	    new string[128];
		format(string, sizeof(string), "(( %s ))", text[1]);
		SetPlayerChatBubble(playerid, string, 0x33CCFFAA, 100.0, 2000);
		return 0;
	}
	return 1;
}

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

C:\DOCUME~1\Janusz\Pulpit\Mapka.pwn(164) : error 017: undefined symbol "SetPlayerChatBubble"
Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


1 Error.

Ktoś Zaradzi ?  :D

//edit

Dzięki lukasz_lol, ale już sobie wcześniej poradziłem  ;)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Tak. Dobrze chyba wkleiłem :D No i oczywiście błąd ^^,

C:\Documents and Settings\DOM\Pulpit\Niemodyfikowany GF\gamemodes\GF.pwn(26207) : error 055: start of function body without function header
C:\Documents and Settings\DOM\Pulpit\Niemodyfikowany GF\gamemodes\GF.pwn(26209) : error 010: invalid function or declaration
Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×