1. sayfa (Toplam 2 sayfa)

Stringden harf almak

Gönderilme zamanı: Prş Ara 29, 2022 9:13 pm
gönderen HakimKILLER44
Selam aleykum arkadaşlar. Her hangi bir stringden bir harfin yeri nasıl bulunur? Örnek : "selam aleykum" yazisindan ben "s" nin indexini(olduğu konumu) bulmak istiyorum. Bir yardim eden olursa sevinirim(yardimci ola bilecek kodlar: strfind(), contain() ben bunlari denedim yapamadim).

Stringden harf almak

Gönderilme zamanı: Prş Ara 29, 2022 9:19 pm
gönderen Taha Demirbaş
Contain ile o harfin yerini alman zor. En basiti stringin uzunluğunu alıp her bir karakteri için istediğin harf mi diye sorgu yapman olacaktır.

Stringden harf almak

Gönderilme zamanı: Prş Ara 29, 2022 9:28 pm
gönderen HakimKILLER44
Taha Demirbaş yazdı: Prş Ara 29, 2022 9:19 pm Bir for döngüsüyle yapmaya çalıştım olmadı hep böyle oluyor
Kod yazımı :
new metin[200] = "selam aleykum"
for (new i = 0; i < strlen(metin); i++)
{
client_print(0, print_chat, "%s", metin[ i ])
if (contain(metin[ i ], "y"))
// stringde "y" harfi varsa burası çalışır
}


Kod çıktısı :
For döngüsünden sonra metin deyişenin aldığı deyerler şöyle oluyor:
selam aleykum
selam aleyku
selam aleyk
selam aley
selam ale
selam al
selam a
selam //boşluk var
selam
sela
sel
se
s

Yukarda olduğu gibi yapiyor ve for döngüsünün içindeki if (şart) ödenmiyor. Bir el atin lütfen

Stringden harf almak

Gönderilme zamanı: Prş Ara 29, 2022 10:02 pm
gönderen Emrullah AKTAŞ
Sorguyu böyle güncelleyin:

Kod: Tümünü seç

if(equal(metin[i], "y"))

Stringden harf almak

Gönderilme zamanı: Prş Ara 29, 2022 10:47 pm
gönderen HakimKILLER44
Emrullah AKTAŞ yazdı: Prş Ara 29, 2022 10:02 pm Abi atdiğim resime bir bakarmisin? Işte dongu sirasinda harfleri teker teker gostermiyor. (Normalde böyle olur : "selam" ->> "s", "e", "l", "a", "m" burda ise olmuyor nedense)
Resime bakmayı unutmayin : https://img.webme.com/pic/g/gausywuay56 ... 233915.jpg

Stringden harf almak

Gönderilme zamanı: Cum Ara 30, 2022 2:50 pm
gönderen HakimKILLER44
bir el aticak olan yokmu acaba?

Stringden harf almak

Gönderilme zamanı: Cum Ara 30, 2022 3:02 pm
gönderen HakimKILLER44
Yapmak istediyim aslinda bu Renkli Yazi
Eyer msg deyiseninde !t varsa mavi, !y varsa kirmizi, !d varsa boz yazicak

Kod: Tümünü seç


// Stock: ZE Color Print
stock ze_color_p(index, const text[], any:...)
{
	new const teams[][] = {"", "TERRORIST", "CT", "SPECTATOR"}
	new msg[128], main_team, team[100]
	vformat(msg, charsmax(msg), text, 3)
	
	/*
	
	// Str Find fonksiyonu calismadi
	if (strfind(msg, "!t")
		team = "CT"
	else if (strfind(msg, "!t")
		team = "TERRORIST"
	else if (strfind(msg, "!t")
		team = ""

	// Donguyle de calismadi
	for (new i = 0; i < strlen(msg); i++)
	{
		client_print(0, print_chat, "%s", msg[i])
		if (equal(msg[i], "!") && equal(msg[i + 1], "y"))
		{
			team = "TERRORIST"
			client_print(0, print_chat, "kirmizi")
		}
	}
	
	*/
	
	replace_all(msg, charsmax(msg), "!g", "^x04") // yesil
	replace_all(msg, charsmax(msg), "!n", "^x01") // normal
	replace_all(msg, charsmax(msg), "!t", "^x03") // mavi
	replace_all(msg, charsmax(msg), "!y", "^x03") // kirmizi
	replace_all(msg, charsmax(msg), "!d", "^x03") // boz
	
	if (index == 0)
	{
		for (new id = 1; id <= get_maxplayers(); id++)
		{
			if (!is_user_connected(id))
				continue
			
			main_team = get_user_team(id)
			
			message_begin(MSG_ONE, get_user_msgid("TeamInfo"), _, id)
			write_byte(id)
			write_string(team)
			message_end()
			
			message_begin(MSG_ONE, get_user_msgid("SayText"), _, id)
			write_byte(id)
			write_string(msg)
			message_end()
			
			message_begin(MSG_ONE, get_user_msgid("TeamInfo"), _, id)
			write_byte(id)
			write_string(teams[main_team])
			message_end()
		}
	}
	else
	{
		main_team = get_user_team(index)
		
		message_begin(MSG_ONE, get_user_msgid("TeamInfo"), _, index)
		write_byte(index)
		write_string(team)
		message_end()
		
		message_begin(MSG_ONE, get_user_msgid("SayText"), _, index)
		write_byte(index)
		write_string(msg)
		message_end()
		
		message_begin(MSG_ONE, get_user_msgid("TeamInfo"), _, index)
		write_byte(index)
		write_string(teams[main_team])
		message_end()
	}
}

zahmet olmazsa bu kodlara bir bakin

Stringden harf almak

Gönderilme zamanı: Cum Ara 30, 2022 3:09 pm
gönderen Emrullah AKTAŞ
"equali" komutunu kullanabilirsiniz.

Stringden harf almak

Gönderilme zamanı: Cum Ara 30, 2022 3:31 pm
gönderen Schwartzkopf
HakimKILLER44 yazdı: Prş Ara 29, 2022 9:13 pm Selam aleykum arkadaşlar. Her hangi bir stringden bir harfin yeri nasıl bulunur? Örnek : "selam aleykum" yazisindan ben "s" nin indexini(olduğu konumu) bulmak istiyorum. Bir yardim eden olursa sevinirim(yardimci ola bilecek kodlar: strfind(), contain() ben bunlari denedim yapamadim).
"Containi" yi bunun için kullanabilirsiniz gibi gözüküyor. Açıklaması şu şekilde;

Kod: Tümünü seç

-1 on failure (no match found). 
Any other value indicates a position in the string where the match starts.

Stringden harf almak

Gönderilme zamanı: Cum Ara 30, 2022 4:37 pm
gönderen HakimKILLER44
Schwartzkopf yazdı: Cum Ara 30, 2022 3:31 pm acaba bir ornek vere bilirmisin? (galiba senin dediyin bu)

Kod: Tümünü seç

	if (contain(msg, "!t"))// dogruysa calisir (mavi yazar)
		team = "CT"
	if (contain(msg, "!y"))// dogruysa calisir (kirmizi yazar)
		team = "TERRORIST"

ben soyle yapiyorum :

Kod: Tümünü seç

	new msg[200] = "!tBu mavi yazidir"
	
	if (contain(msg, "!t")) // burasi calismalidir
		team = "CT"
	if (contain(msg, "!y")) // burasi calismamalidir (msg  deyiseninde  !y  harfi yok)
		team = "TERRORIST"
bunlari yazdikdan sonra her ikiside calisiyor. bunu duzeletemiyorum malesef. lutfen orneklerle cevap verin