Jump to content

سؤال


Recommended Posts

ممم , انا قد سويته في سكربت لي

اخذت ذي الاكواد من السكربت

الدالة تجيب الحرف الثاني من نص محدد

والتايمر يحط الحرف في الليبل المطلوب , طبعاً تقدر تبدل الليبل لـ متغير خاص بالدي اكس

|ملاحظة|

مو متأكد شغال أو لا لأني عدلت عليه تعديل سريع بس أتوقع شغال لأن مافيه شي خطا

 

labels={
	label1={
		text="تجربة تجربة تجربة",
		_charNumber=0;
	},
};

function getNextChar( from )
	
	if from._charNumber < string.len(from.text) + 1 then
		local _charstable = { utf8.byte(from.text, 1, from._charNumber) };
		if _charstable then
			local _pack = utf8.char( unpack(_charstable) );
			from._charNumber = from._charNumber + 1;
			return _pack
		end
	else
		from._charNumber = 0;
		return from.text
	end
end


-->> تسوي التايمر اللي تحت يوم تحتاجه فقط عشان تحرك النص

_timer = setTimer(
	function()
		if labels.label1.text:len() ~= labels.label1._charNumber then
			char = getNextChar(labels.label1);
			guiSetText(YOUR___________LABEL______HERE,char); -- او تقدر تحط متغير
		elseif labels.label1.text:len() == labels.label1._charNumber then
			killTimer(_timer);
			labels.label1._charNumber=0;
		end
	end
,50,0);

 

Link to comment

لا قصدي يكتب حرف بعد حرف يعني كلمة ويجزئها   مو كلمة ورا كلمة

25 minutes ago, NX_CI said:

ممم , انا قد سويته في سكربت لي

اخذت ذي الاكواد من السكربت

الدالة تجيب الحرف الثاني من نص محدد

والتايمر يحط الحرف في الليبل المطلوب , طبعاً تقدر تبدل الليبل لـ متغير خاص بالدي اكس

|ملاحظة|

مو متأكد شغال أو لا لأني عدلت عليه تعديل سريع بس أتوقع شغال لأن مافيه شي خطا

 


labels={
	label1={
		text="تجربة تجربة تجربة",
		_charNumber=0;
	},
};

function getNextChar( from )
	
	if from._charNumber < string.len(from.text) + 1 then
		local _charstable = { utf8.byte(from.text, 1, from._charNumber) };
		if _charstable then
			local _pack = utf8.char( unpack(_charstable) );
			from._charNumber = from._charNumber + 1;
			return _pack
		end
	else
		from._charNumber = 0;
		return from.text
	end
end


-->> تسوي التايمر اللي تحت يوم تحتاجه فقط عشان تحرك النص

_timer = setTimer(
	function()
		if labels.label1.text:len() ~= labels.label1._charNumber then
			char = getNextChar(labels.label1);
			guiSetText(YOUR___________LABEL______HERE,char); -- او تقدر تحط متغير
		elseif labels.label1.text:len() == labels.label1._charNumber then
			killTimer(_timer);
			labels.label1._charNumber=0;
		end
	end
,50,0);

 

مثلا كلمة تجربة يكتبها كذا
ت  بعدين يكتب الـ ج وهكذا

Link to comment
4 minutes ago, JustP said:

لا قصدي يكتب حرف بعد حرف يعني كلمة ويجزئها   مو كلمة ورا كلمة

طيب سوي تايمر

و حط وقت للتايمر بعد ما يخلص الوقت يزود على الكلمة حرف كمثال

local chars="";
local myWord="HelloWorld";
local index=0;

setTimer(
  	function()
    	if chars:len()~=myWord:len() then
      		index=index+1;
      		chars=chars..myWord:sub(index,index);
      	end
   	end
1000,myWord:len());

 

8 minutes ago, JustP said:

لا قصدي يكتب حرف بعد حرف يعني كلمة ويجزئها   مو كلمة ورا كلمة

مثلا كلمة تجربة يكتبها كذا
ت  بعدين يكتب الـ ج وهكذا

طيب والكود اللي حطيته يسوي نفس الشي

  • Thanks 1
Link to comment
2 minutes ago, NX_CI said:

طيب سوي تايمر

و حط وقت للتايمر بعد ما يخلص الوقت يزود على الكلمة حرف كمثال


local chars="";
local myWord="HelloWorld";
local index=0;

setTimer(
  	function()
    	if chars:len()~=myWord:len() then
      		index=index+1;
      		chars=chars..myWord:sub(index,index);
      	end
   	end
1000,myWord:len());

 

الكود هذا تقدر تسويله انو مثلا ليبل ويصير كذا؟

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...