Jump to content

تعديل علي مود مسابقات


Recommended Posts

17 minutes ago, abulghar said:

يا غالي انت هي ما ظبطت 100% الحين لو احد فاز بالمسابقه وجه احد ثاني فاز بالمسابقه وسويت مسابقه ثاني الشخص الاول ما يقدر يفوز 

 اللي انا ابي اسويه ان الشخص ما يفوز مرتين متتالتين لكن يقدر يفوز مره اخري عادي المهم لا تكون مرتين متتالتين


انا فاهمك وصراحة مب شايف خطأ في الكود

حاول تجرب ثلاث مرات وشوف

لأنو اكيد مارح تقدر تسويها من مرتين

وكمان لازم تسجل بحساب مختلف في المرة الثانية

  • Like 1
Link to comment
1 hour ago, Killer Project said:


انا فاهمك وصراحة مب شايف خطأ في الكود

حاول تجرب ثلاث مرات وشوف

لأنو اكيد مارح تقدر تسويها من مرتين

وكمان لازم تسجل بحساب مختلف في المرة الثانية

وش ذي الصوره الحلوه :-)

Link to comment
6 hours ago, Killer Project said:

يعني مش عايز نفس اللاعب يكسب مرتين !!!

 

 

استعمل الداتا بـ إسم حساب اللاعب مثلاً

ووقت يجي يكتب الكلمة سوي تحقق من آخر شخص كتب الكلمة

لو كان اسم حساب آخر شخص نفس اسم حساب الشخص اللي كتب ثاني مرة لا تعطيه فلوس او سوي كانسل افينت


 


setAccountData
getAccountData

 

ليه داتا غصب تعاند افرض اللاعب سجل خروج من حسابه

قلتلك سوي متغير بسيريال اللاعب وخلاص

+_+

Link to comment
Just now, Master_MTA said:

ليه داتا غصب تعاند افرض اللاعب سجل خروج من حسابه

قلتلك سوي متغير بسيريال اللاعب وخلاص

+_+

عادي لو سجل خروج خلي الداتا حقيقية
بإسم
"noaccname"

Edited by Killer Project
"noaccname"
Link to comment
2 minutes ago, Killer Project said:

عادي لو سجل خروج خلي الداتا حقيقية
بإسم
"noaccname"

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

:oops::oops::oops::oops::oops::oops::oops::oops::oops::oops::oops:

  • Like 1
Link to comment
Just now, Master_MTA said:

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

:oops::oops::oops::oops::oops::oops::oops::oops::oops::oops::oops:

طيب .. كمل انت بـ سكل لأني ما اعرف شي فيها هههههههههههه

Link to comment
2 hours ago, Killer Project said:


انا فاهمك وصراحة مب شايف خطأ في الكود

حاول تجرب ثلاث مرات وشوف

لأنو اكيد مارح تقدر تسويها من مرتين

وكمان لازم تسجل بحساب مختلف في المرة الثانية

تظهر للجميعmoney money خلاص تمام بس الكلمه حقت  

Link to comment
function onPlayerWin(player)
  if getElementData ( player , "adata" ) ~= true then 
	outputChatBox("* "..getPlayerName(player).." #FFFF00Has won the Prize #00FF00$"..thePrize,root,255,255,0,true)
  setElementData ( player , "adata" , true ) 
	givePlayerMoney(player,thePrize)
	removeCode()
  else
    outputChatBox ( " * لا يمكنك الفوز مرتين " , player )
   end  
end

function detcetChatMessage(msg,msgtype)
	if ( wordOn == true and msg and msgtype == 0 ) then
		if msg == theWord then
			onPlayerWin(source)
            for _,plr in ipairs(getElementsByType("player")) do 
        if getElementData ( plr , "adata" ) == true then
        setElementData ( plr , "adata" , false )
          end 
		end
	end
end
addEventHandler("onPlayerChat",root,detcetChatMessage)

 

Link to comment

ترا بسيطة 

متغير جديد بالسيرفر سايد وتكون ماله قيمة او تحطها فولس وبعدين اذا الاعب فاز تغير قيمة المتغير للاعب الي فاز

وبعدين اذا المسابقة بدأت والاعب كتب الاجابة صحيح على سبيل المثال تسوي تحقق ان السورس مثلا مايساوي قيمة المتغير الي سويته

aPlayerBeforeWin = nil

-- onPlayerWind

if ( source == aPlayerBeforeWin ) then
  	return
 end
aPlayerBeforeWinf = source

 

Link to comment
50 minutes ago, Abdul KariM said:

ترا بسيطة 

متغير جديد بالسيرفر سايد وتكون ماله قيمة او تحطها فولس وبعدين اذا الاعب فاز تغير قيمة المتغير للاعب الي فاز

وبعدين اذا المسابقة بدأت والاعب كتب الاجابة صحيح على سبيل المثال تسوي تحقق ان السورس مثلا مايساوي قيمة المتغير الي سويته


aPlayerBeforeWin = nil

-- onPlayerWind

if ( source == aPlayerBeforeWin ) then
  	return
 end
aPlayerBeforeWinf = source

 

طريقتي تزبط فوق ؟

Link to comment
53 minutes ago, Abdul KariM said:

ترا بسيطة 

متغير جديد بالسيرفر سايد وتكون ماله قيمة او تحطها فولس وبعدين اذا الاعب فاز تغير قيمة المتغير للاعب الي فاز

وبعدين اذا المسابقة بدأت والاعب كتب الاجابة صحيح على سبيل المثال تسوي تحقق ان السورس مثلا مايساوي قيمة المتغير الي سويته


aPlayerBeforeWin = nil

-- onPlayerWind

if ( source == aPlayerBeforeWin ) then
  	return
 end
aPlayerBeforeWinf = source

 

ذاك ما اقصد يا فتى لو حتى بسيريال افضل 

ما بتفرق اصلا

لكن هذا ما اقصد

@@@

Link to comment

بعد ما شفت الأكواد اللي فوق لاحظت أن الموضوع فيه اكاونت داتا, لذلك من الممكن اللاعب يسجل خروجه

ويرجع يخش بحساب ثاني ويجاوب, لذلك الأفضل تستعمل المتغيرات على السيريال

جرب كودي ورد علي, استبدل ملف السيرفر كامل بالكود اللي تحت

--***********************************--
--***********************************--
--           Random Words            --
--            By Al3grab             --
--***********************************--
--***********************************--

---- Changeable
captchaNums = 5 -- captcha letters length
wordTimeInSec = 25 --- the time before the word disappear in seconds [ default 11 seconds ]
prizefrom,prizeto = 500,800 -- the prize random num
timerfrom,timerto = 1.5,5.5 -- the random timer that shows the word [ default from 3 to 15 minutes ]
---- unChangeable
winnerSerial = nil
wordOn = false
theWord = nil
thePrize = nil
wordTime = wordTimeInSec * 1000
--
outputDebugString("Random Words By Al3grab | Started")
--
function createCode(code,prize)
	for k,v in ipairs( getElementsByType("player") ) do
		exports.easytext:displayMessageForPlayer(v,1, "=========", wordTime, 0.07, 0.5, 0, 255, 0, 255, 1.6)
		exports.easytext:displayMessageForPlayer(v,2, "Word : "..code.."", wordTime, 0.07, 0.533, 255, 255, 0, 255, 1.6)
		exports.easytext:displayMessageForPlayer(v,3, "Prize : "..prize.."$", wordTime, 0.07, 0.563, 255, 255, 0, 255, 1.6)
		exports.easytext:displayMessageForPlayer(v,4, "=========", wordTime, 0.07, 0.593, 0, 255, 0, 255, 1.6)
	end
outputChatBox("- Random Words : #FFFF00Enter the word shown below to win the prize.",root,0,255,0,true)
outputChatBox("=========",root,0,255,0,true)
outputChatBox("Word : "..code.."",root,255,255,0,true)
outputChatBox("Prize : "..prize.."$",root,255,255,0,true)
outputChatBox("=========",root,0,255,0,true)
outputChatBox("- #FFFF00You can see the word down on your screen.",root,0,255,0,true)
--
startCodeTimer()
wordOn = true
end

function makeRandomCode(Word,Prize)
	if ( Word and Prize ) then
		theWord = Word
		thePrize = Prize
	else
		theWord =  makeCaptcha(captchaNums)
		thePrize = math.random(prizefrom,prizeto)
	end
	if ( tostring(theWord) and tonumber(thePrize) ) then
		createCode(theWord,thePrize)
	end
end

function startCodeTimer()
	codeTimer = setTimer( function ()
		removeCode()
		outputChatBox("- #FFFF00No one won the prize",root,0,255,0,true)
	end , wordTime , 1 )
end

function removeCode()
	for k,v in ipairs( getElementsByType("player") ) do
		exports.easytext:clearMessageForPlayer(v,1)
		exports.easytext:clearMessageForPlayer(v,2)
		exports.easytext:clearMessageForPlayer(v,3)
		exports.easytext:clearMessageForPlayer(v,4)
	end
	if isTimer ( codeTimer ) then
		killTimer(codeTimer)
	end
	theWord = nil
	thePrize = nil
	wordOn = false
end

function makeCaptcha(capNumz)
 theC = ""
  tCode = { "a","A", "b","B", "c","C", "d","D", "e","E", "f","F", "g","G", "h","H", "j","J", "k","K", "l","L", "m","L", "n","N", "o","O", "p","P", "q","Q", "r","R", "s","S", "t","T", "u","U", "v","V", "x","X", "y","Y", "z","Z", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "!", "@", "#", "?" }
for k=1,capNumz or 5 do
  randomCode = math.random (#tCode )
  theC = ""..theC..""..tCode[randomCode]..""
end
            return theC
end

function onPlayerWin(player)
	outputChatBox("* "..getPlayerName(player).." #FFFF00Has won the Prize #00FF00$"..thePrize,root,255,255,0,true)
	givePlayerMoney(player,thePrize)
	removeCode()
end

function detcetChatMessage(msg,msgtype)
	if ( wordOn == true and msg and msgtype == 0 ) then
		if msg == theWord then
			if ( winnerSerial ~= getPlayerSerial(source) ) then
				winnerSerial = getPlayerSerial(source)
				onPlayerWin(source)
			end
		end
	end
end
addEventHandler("onPlayerChat",root,detcetChatMessage)

addEventHandler("onResourceStop",resourceRoot,function()
	removeCode()
	winnerSerial = nil
end )

function setRandomTimer()
	setTimer(function()
		if not wordOn then
			makeRandomCode()
		end
			setRandomTimer()
	end , math.random(timerfrom,timerto) * 60 * 1000 , 1 )
end

addEventHandler("onResourceStart",resourceRoot,function() setRandomTimer()
	easytext = getResourceFromName("easytext")
	if ( easytext  ) then
		if getResourceState(easytext) == "loaded" then
		startResource(easytext)
		end
	else
		outputChatBox("* Error , need for easytext resource to start")
		cancelEvent()
	end
end )

for k,v in ipairs ( {"randomcode","randomword","rw","rd"} ) do
addCommandHandler(v,function(plr,cmd,prize,...)
	if plr and hasObjectPermissionTo(plr,"function.kickPlayer") then
		if ( not prize ) then
			makeRandomCode()
		else
			word = table.concat({...}, " ")
			if ( word ) then
				makeRandomCode(word,prize)
			end
		end
	end
end )
end

 

Link to comment
2 minutes ago, N3xT said:

بعد ما شفت الأكواد اللي فوق لاحظت أن الموضوع فيه اكاونت داتا, لذلك من الممكن اللاعب يسجل خروجه

ويرجع يخش بحساب ثاني ويجاوب, لذلك الأفضل تستعمل المتغيرات على السيريال

جرب كودي ورد علي, استبدل ملف السيرفر كامل بالكود اللي تحت


--***********************************--
--***********************************--
--           Random Words            --
--            By Al3grab             --
--***********************************--
--***********************************--

---- Changeable
captchaNums = 5 -- captcha letters length
wordTimeInSec = 25 --- the time before the word disappear in seconds [ default 11 seconds ]
prizefrom,prizeto = 500,800 -- the prize random num
timerfrom,timerto = 1.5,5.5 -- the random timer that shows the word [ default from 3 to 15 minutes ]
---- unChangeable
winnerSerial = nil
wordOn = false
theWord = nil
thePrize = nil
wordTime = wordTimeInSec * 1000
--
outputDebugString("Random Words By Al3grab | Started")
--
function createCode(code,prize)
	for k,v in ipairs( getElementsByType("player") ) do
		exports.easytext:displayMessageForPlayer(v,1, "=========", wordTime, 0.07, 0.5, 0, 255, 0, 255, 1.6)
		exports.easytext:displayMessageForPlayer(v,2, "Word : "..code.."", wordTime, 0.07, 0.533, 255, 255, 0, 255, 1.6)
		exports.easytext:displayMessageForPlayer(v,3, "Prize : "..prize.."$", wordTime, 0.07, 0.563, 255, 255, 0, 255, 1.6)
		exports.easytext:displayMessageForPlayer(v,4, "=========", wordTime, 0.07, 0.593, 0, 255, 0, 255, 1.6)
	end
outputChatBox("- Random Words : #FFFF00Enter the word shown below to win the prize.",root,0,255,0,true)
outputChatBox("=========",root,0,255,0,true)
outputChatBox("Word : "..code.."",root,255,255,0,true)
outputChatBox("Prize : "..prize.."$",root,255,255,0,true)
outputChatBox("=========",root,0,255,0,true)
outputChatBox("- #FFFF00You can see the word down on your screen.",root,0,255,0,true)
--
startCodeTimer()
wordOn = true
end

function makeRandomCode(Word,Prize)
	if ( Word and Prize ) then
		theWord = Word
		thePrize = Prize
	else
		theWord =  makeCaptcha(captchaNums)
		thePrize = math.random(prizefrom,prizeto)
	end
	if ( tostring(theWord) and tonumber(thePrize) ) then
		createCode(theWord,thePrize)
	end
end

function startCodeTimer()
	codeTimer = setTimer( function ()
		removeCode()
		outputChatBox("- #FFFF00No one won the prize",root,0,255,0,true)
	end , wordTime , 1 )
end

function removeCode()
	for k,v in ipairs( getElementsByType("player") ) do
		exports.easytext:clearMessageForPlayer(v,1)
		exports.easytext:clearMessageForPlayer(v,2)
		exports.easytext:clearMessageForPlayer(v,3)
		exports.easytext:clearMessageForPlayer(v,4)
	end
	if isTimer ( codeTimer ) then
		killTimer(codeTimer)
	end
	theWord = nil
	thePrize = nil
	wordOn = false
end

function makeCaptcha(capNumz)
 theC = ""
  tCode = { "a","A", "b","B", "c","C", "d","D", "e","E", "f","F", "g","G", "h","H", "j","J", "k","K", "l","L", "m","L", "n","N", "o","O", "p","P", "q","Q", "r","R", "s","S", "t","T", "u","U", "v","V", "x","X", "y","Y", "z","Z", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "!", "@", "#", "?" }
for k=1,capNumz or 5 do
  randomCode = math.random (#tCode )
  theC = ""..theC..""..tCode[randomCode]..""
end
            return theC
end

function onPlayerWin(player)
	outputChatBox("* "..getPlayerName(player).." #FFFF00Has won the Prize #00FF00$"..thePrize,root,255,255,0,true)
	givePlayerMoney(player,thePrize)
	removeCode()
end

function detcetChatMessage(msg,msgtype)
	if ( wordOn == true and msg and msgtype == 0 ) then
		if msg == theWord then
			if ( winnerSerial ~= getPlayerSerial(source) ) then
				winnerSerial = getPlayerSerial(source)
				onPlayerWin(source)
			end
		end
	end
end
addEventHandler("onPlayerChat",root,detcetChatMessage)

addEventHandler("onResourceStop",resourceRoot,function()
	removeCode()
	winnerSerial = nil
end )

function setRandomTimer()
	setTimer(function()
		if not wordOn then
			makeRandomCode()
		end
			setRandomTimer()
	end , math.random(timerfrom,timerto) * 60 * 1000 , 1 )
end

addEventHandler("onResourceStart",resourceRoot,function() setRandomTimer()
	easytext = getResourceFromName("easytext")
	if ( easytext  ) then
		if getResourceState(easytext) == "loaded" then
		startResource(easytext)
		end
	else
		outputChatBox("* Error , need for easytext resource to start")
		cancelEvent()
	end
end )

for k,v in ipairs ( {"randomcode","randomword","rw","rd"} ) do
addCommandHandler(v,function(plr,cmd,prize,...)
	if plr and hasObjectPermissionTo(plr,"function.kickPlayer") then
		if ( not prize ) then
			makeRandomCode()
		else
			word = table.concat({...}, " ")
			if ( word ) then
				makeRandomCode(word,prize)
			end
		end
	end
end )
end

 

والله تقريبا في اول رد لي قلت كذا لكن صاحب الموضوع عيا يسمع كلامي +_+

Link to comment
6 minutes ago, Master_MTA said:

والله تقريبا في اول رد لي قلت كذا لكن صاحب الموضوع عيا يسمع كلامي +_+

والله ما شفت كودك بس اسمعني انا مسوي الجائزه ساعات فا لو سجل من حساب ثاني ما بيستفيد شئ وشكرا علي محاولتك ^

  • Like 1
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...