Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Помогите если не сложно

-

Вопросы и ответы, обсуждения

- Ваши вопросы по Pascal/Delphi только в данном разделе

Ответ
 
Опции темы
Старый 27.12.2011, 22:36   #1
 Разведчик
Аватар для kolyn10
 
kolyn10 никому не известный тип
Регистрация: 01.10.2011
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Помогите если не сложно

Код:
#NoTrayIcon
#include <String.au3>
#include <GuiListView.au3>
#include <GuiListBox.au3>
#include <Array.au3>
#include "skillData.au3"
#include "itemData.au3"
#include "mobData.au3"

;---------------------------------------------------------------------------------------

Global $run = false, $targetId, $target = false, $myX, $myY, $myId, $attackTimer, $pickTimer, $walkTimer, $targetTimer
Global $dropId, $drop = false, $killedId, $imbueTimer, $mob_list[200], $buffing = false, $nextBuff, $buffTimer, $buffingDelay

Opt("GUIOnEventMode", 1)

;---------------------------------------------------------------------------------------

GUICreate("jreBot [vSRO110]", 283, 370, 297, 245)
GUICtrlCreateTab(0, 0, 281, 369)
GUICtrlCreateTabItem("Main")
GUICtrlCreateGroup("Center Area (x, y)", 8, 40, 249, 81)
$xInput = GUICtrlCreateInput("", 16, 72, 49, 21)
$yInput = GUICtrlCreateInput("", 72, 72, 49, 21)
$setXY = GUICtrlCreateButton("Set Current", 184, 72, 67, 25)
GUICtrlCreateGroup("Pick", 8, 136, 113, 137)
$goldCbox = GUICtrlCreateCheckbox("Gold", 16, 168, 97, 17)
$itemCbox = GUICtrlCreateCheckbox("Equipments", 16, 200, 97, 17)
$elixirCbox = GUICtrlCreateCheckbox("Elixirs", 16, 232, 97, 17)
$start = GUICtrlCreateButton("Start", 32, 320, 99, 33)
$stop = GUICtrlCreateButton("Stop", 152, 320, 99, 33)
GUICtrlCreateTabItem("Skills")
$skillList = GUICtrlCreateListView("Name|ID", 8, 48, 154, 310)
$attackList = GUICtrlCreateList("", 176, 49, 97, 90)
$buffList = GUICtrlCreateList("", 176, 177, 97, 90)
$addSkill = GUICtrlCreateButton("Add Attack", 192, 139, 67, 17)
$delSkill = GUICtrlCreateButton("Del Attack", 192, 158, 67, 17)
$addBuff = GUICtrlCreateButton("Add Buff", 192, 267, 67, 17)
$delBuff = GUICtrlCreateButton("Del Buff", 192, 286, 67, 17)
$imbueInput = GUICtrlCreateInput("", 176, 312, 89, 22)
$addImbue = GUICtrlCreateButton("Add Imbue", 176, 339, 67, 17)
GUISetState(@SW_SHOW)

;---------------------------------------------------------------------------------------

TCPStartUp()
$socket = TCPConnect("127.0.0.1", 22580)
If @Error Then Exit
Load()

GUISetOnEvent(-3, "Close")
GUICtrlSetOnEvent($start, "Start")
GUICtrlSetOnEvent($stop, "Stop")
GUICtrlSetOnEvent($setXY, "SetXY")
GUICtrlSetOnEvent($addSkill, "AddAttack")
GUICtrlSetOnEvent($addBuff, "AddBuff")
GUICtrlSetOnEvent($delSkill, "DelAttack")
GUICtrlSetOnEvent($delBuff, "DelBuff")
GUICtrlSetOnEvent($addImbue, "AddImbue")

;---------------------------------------------------------------------------------------

While 1
	$recv = ReadPacket()
	$size = Dec(StringMid($recv, 3, 2) & StringMid($recv, 1, 2))
	$opcode = StringMid($recv, 7, 2) & StringMid($recv, 5, 2)
	$data = StringMid($recv, 13)

	Switch $opcode
		Case "B021" ;object moving
			BeginParse($data, $size)
			$id = ParseDword()
			ParseByte()
			$xSection = Dec(ParseByte())
			$ySection = Dec(ParseByte())
			$xOffset = Dec(ParseWord())
			$zOffset = Dec(ParseWord())
			$yOffset = Dec(ParseWord())
			$x = ($xSection - 135) * 192 + ($xOffset /10 )
			$y = ($ySection - 92) * 192 + ($yOffset / 10 )
			If $id = $myId Then
				If $size = 24 Then
					$myX = $x
					$myY = $y
				EndIf
			EndIf

		Case "B034"
			If $data = "021218" Then
				RemoveDrop($dropId)
			EndIf

		Case "B045" ;select response
			If $size = 12 Then
				BeginParse($data, $size)
				$byte1 = ParseByte()
				$id = ParseDword()
				$byte2 = ParseByte()
				$hp = Dec(ParseDword())
				$byte3 = ParseByte()
				$byte4 = ParseByte()

				If $byte1 = "01" AND $byte2 = "01" AND $byte3 = "01" AND $byte4 = "05" AND $hp > 1 Then
					SetTarget($id)
				EndIf
			EndIf

		Case "B070" ;lot of things?
			BeginParse($data, $size)
			$flag = ParseByte()
			$type = ParseWord()
			If $flag = "01" Then
				$idc = ParseDword()
				$mobId = ParseDword()
				$idc = ParseDword()
				$victim = ParseDword()

				If $victim = $myId Then ;something attacking us
					If $run = true AND $mobId <> $targetId Then
						InjectPacket("7045", Rev($mobId))
					EndIf
				EndIf
			EndIf

		Case "3013" ;chardata
			BeginParse($data, $size)
			LoadSkills($data)

		Case "3015" ;singe spawn
			BeginParse($data, $size)
			$model = ParseDword()
			If IsGold($model) = true Then
				$amount = Dec(ParseDword())
				$goldId = ParseDword()
				$globalParseIndex += 46
				$mobId = ParseDword()
				If $mobId = $killedId AND GUICtrlRead($goldCbox) = 1 Then
					SetDrop($goldId)
				EndIf
			ElseIf IsEquip($model) = true Then
				$dunno = ParseByte()
				$equipId = ParseDword()
				$globalParseIndex += 46
				$mobId = ParseDword()
				If $mobId = $killedId AND GUICtrlRead($itemCbox) = 1 Then
					SetDrop($equipId)
				EndIf
			ElseIf IsElixir($model) = true Then
				$elixirId = ParseDword()
				$globalParseIndex += 46
				$mobId = ParseDword()
				If $mobId = $killedId AND GUICtrlRead($elixirCbox) = 1 Then
					SetDrop($elixirId)
				EndIf
			Else
				LoadMobs($data)
			EndIf

		Case "3016" ;singe despawn
			BeginParse($data, $size)
			$id = ParseDword()
			RemoveTarget($id)
			RemoveDrop($id)
			RemoveMob($id)

		Case "3017" ;groupspawn start
			BeginParse($data, $size)
			Global $spawnType = ParseByte()
			Global $spawnAmount = Dec(ParseWord())

		Case "3019" ;groupspawn/despawn
			BeginParse($data, $size)
			If $spawnType = "01" Then
				LoadMobs($data)
			ElseIf $spawnType = "02" Then
				For $i = 0 To $spawnAmount
					$id = ParseDword()
					RemoveTarget($id)
					RemoveDrop($id)
					RemoveMob($id)
				Next
			EndIf

		Case "3020" ;charspawn
			BeginParse($data, $size)
			$myId = ParseDword()

		Case "3056" ;exp received
			BeginParse($data, $size)
			$id = ParseDword()
			$killedId = $id
			RemoveTarget($id)
			RemoveMob($id)

		Case "70A1" ;skill update
			BeginParse($data, $size)
			$newId = ParseDword()
			UpdateSkill($newId)
	EndSwitch

	If $run = true Then
		If $target = true AND $drop = false AND TimerDiff($attackTimer) > 300 AND $buffing = false Then
			UseSkill($targetId)
			$attackTimer = TimerInit()
		EndIf

		If $target = false AND TimerDiff($targetTimer) > 500 Then
			$nextTarget = $mob_list[0]
			If $nextTarget <> "" AND $nextTarget <> $killedId Then
				InjectPacket("7045", Rev($nextTarget))
			EndIf
			$targetTimer = TimerInit()
		EndIf

		If $drop = true AND TimerDIff($pickTimer) > 500 AND $buffing = false Then
			InjectPacket("7074", "010201" & Rev($dropId))
			$pickTimer = TimerInit()
		EndIf

		If TimerDiff($walkTimer) > 2000 AND $target = false AND $buffing = false Then
			Walk(GUICtrlRead($xInput), GUICtrlRead($yInput))
			$walkTImer = TimerInit()
		EndIf

		If TimerDiff($buffTimer) > 200000 Then BeginBuffing()
		If TimerDiff($buffingDelay) > 4000 AND $buffing = true Then UseBuff()

		If TimerDiff($imbueTimer) > 1000 AND $target = true Then
			If GUICtrlRead($imbueInput) <> "" Then
				InjectPacket("7074", "0104" & Rev(GUICtrlRead($imbueInput)) & "00")
			EndIf
			$imbueTimer = TimerInit()
		EndIf
	EndIf
WEnd

;GUI EVENT FUNCTIONS--------------------------------------------------------------------------

Func Close()
	Exit
EndFUnc

Func Start()
	Save()
	BeginBuffing()
	$attackTimer = TimerInit()
	$pickTimer = TimerInit()
	$walkTimer = TimerInit()
	$targetTimer = TimerInit()
	$imbueTimer = TimerInit()
	$target = false
	$drop = false
	$run = true
EndFunc

Func Stop()
	$run = false
EndFunc

Func SetXY()
	GUICtrlSetData($xInput, $myX)
	GUICtrlSetData($yInput, $myY)
EndFUnc

Func AddAttack()
	$index = _GUICtrlListView_GetSelectedIndices($skillList)
	$text = _GUICtrlListView_GetItemText($skillList, Int($index), 1)
	GUICtrlSetData($attackList, $text & "|")
EndFunc

Func AddBuff()
	$index = _GUICtrlListView_GetSelectedIndices($skillList)
	$text = _GUICtrlListView_GetItemText($skillList, Int($index), 1)
	GUICtrlSetData($buffList, $text & "|")
EndFunc

Func DelAttack()
	$index = _GUICtrlListBox_GetCurSel($attackList)
	_GUICtrlListBox_DeleteString($attackList, $index)
EndFunc

Func DelBuff()
	$index = _GUICtrlListBox_GetCurSel($buffList)
	_GUICtrlListBox_DeleteString($buffList, $index)
EndFunc

Func AddImbue()
	$index = _GUICtrlListView_GetSelectedIndices($skillList)
	$text = _GUICtrlListView_GetItemText($skillList, Int($index), 1)
	GUICtrlSetData($imbueInput, $text)
EndFunc

;---------------------------------------------------------------------------------------

Func ReadPacket()
	$recv = Hex(Binary(TCPRecv($socket, 2)))
	If $recv = "" Then
		Return ""
	Else
		$size = Dec(StringMid($recv, 3, 2) & StringMid($recv, 1, 2))
		$recv &= Hex(Binary(TCPRecv($socket, $size+4)))
		Return $recv
	EndIf
EndFunc

Func InjectPacket($opcode, $data, $security = "0100")
	$size = Hex(StringLen($data) / 2, 4)
	$size = StringMid($size, 3, 2) & StringMid($size, 1, 2)
	$opcode = StringMid($opcode, 3, 2) & StringMid($opcode, 1, 2)
	$packet = _HexToString($size & $opcode & $security & $data)
	TCPSend($socket, $packet)
EndFunc

Func Rev($val)
	$result = ""
	For $i = 1 To StringLen($val) / 2
		$byte = StringRight($val, 2)
		$val = StringTrimRight($val, 2)
		$result &= $byte
	Next
	Return $result
EndFunc

Func SetTarget($id)
	$targetId = $id
	$target = true
EndFunc

Func SetDrop($id)
	$dropId = $id
	$drop = true
EndFunc

Func RemoveTarget($id)
	If $targetId = $id Then
		$targetId = ""
		$target = false
	EndIf
EndFunc

Func RemoveDrop($id)
	If $dropId = $id Then
		$dropId = ""
		$drop = false
	EndIf
EndFunc

Func IsGold($id)
	If $id = "00000001" Then
		Return true
	ElseIf $id = "00000002" Then
		Return true
	ElseIf $id = "00000003" Then
		Return true
	Else
		Return false
	EndIf
EndFunc

Func IsEquip($id)
	$search = _ArraySearch($item_id, $id)
	If $search <> -1 Then
		Return true
	Else
		Return false
	EndIf
EndFunc

Func IsElixir($id)
	For $i = 3675 To 3682
		If $id = Hex($i, 8) Then
			Return true
		EndIf
	Next
	Return false
EndFunc

Func LoadSkills($data)
	_GUICtrlListView_DeleteAllItems($skillList)
	For $i = 0 To UBound($skill_id) - 1
		$id = StringMid($skill_id[$i], 1, 8)
		$name = StringMid($skill_id[$i], 10)

		If StringInStr($data, "01" & Rev($id) & "01") AND $id <> "00000500" Then
			GUICtrlCreateListViewItem($name & "|" & $id, $skillList)
		EndIf
	Next
EndFunc

Func UpdateSkill($newId)
	$id = ""
	$name = ""
	For $i = 0 To UBound($skill_id) - 1
		$id = StringMid($skill_id[$i], 1, 8)
		$name = StringMid($skill_id[$i], 10)
		If $id = $newId Then ExitLoop
	Next

	$index = _GUICtrlListView_FindText($skillList, $name)
	$oldId = _GUICtrlListView_GetItemText($skillList, Int($index), 1)
	If $index <> -1 Then
		_GUICtrlListView_DeleteItem($skillList, Int($index))
		GUICtrlCreateListViewItem($name & "|" & $newId, $skillList)
	EndIf

	$index = _GUICtrlListBox_FindString($attackList, $oldId)
	If $index <> -1 Then
		_GUICtrlListBox_DeleteString($attackList, Int($index))
		GUICtrlSetData($attackList, $newId & "|")
	EndIf

	$index = _GUICtrlListBox_FindString($buffList, $oldId)
	If $index <> -1 Then
		_GUICtrlListBox_DeleteString($buffList, Int($index))
		GUICtrlSetData($buffList, $newId & "|")
	EndIf

	If GUICtrlRead($imbueInput) = $oldId Then
		GUICtrlSetData($imbueInput, $newId)
	EndIf
EndFunc

Func Walk($x, $y)
	$xPosition = Mod($x, 192) * 10
	$yPosition = Mod($y, 192) * 10
	$xSection = ($x - $xPosition / 10) / 192 + 135
	$ySection = ($y - $yPosition / 10) / 192 + 92
	InjectPacket("7021", "01" & Hex($xSection, 2) & Hex($ySection, 2) & Rev(Hex($xPosition, 4)) & "FAFF" & Rev(Hex($yPosition, 4)))
EndFunc

Func UseSkill($monster)
	$count = _GUICtrlListBox_GetCount($attackList)
	$random = Random(0, $count)

	$skill = _GUICtrlListBox_GetText($attackList, $random)
	If $skill <> "" Then
		InjectPacket("7074", "0104" & Rev($skill) & "01" & Rev($monster))
	Else
		InjectPacket("7074", "010101" & Rev($monster))
	EndIf
EndFunc

Func BeginBuffing()
	$buffing = true
	$nextBuff = 0

	$buffingDelay = TimerInit()
	$buffTimer = TimerInit()
EndFunc

Func UseBuff()
	$buffingDelay = TimerInit()
	$skill = _GUICtrlListBox_GetText($buffList, $nextBuff)
	If $skill <> "" Then
		InjectPacket("7074", "0104" & Rev($skill) & "00")
	EndIf

	If $skill = "" Then
		$buffing = false
	EndIf
	$nextBuff += 1
EndFunc

Func LoadMobs($data)
	For $i = 0 To UBound($monster_id) - 1
		$array = StringRegExp($data, Rev($monster_id[$i]) & "(.{44}?)", 3)
		If IsArray($array) Then
			For $x = 0 To UBound($array) - 1
				$id = StringMid($array[$x], 1, 8)
				$word = StringMid($array[$x], 41, 4)
				If StringMid(Rev($id), 1, 2) = "00" AND StringMid(Rev($id), 3, 2) <> "00" Then
					If $word = "0100" OR $word = "0001" OR $word = "0101" OR $word = "0000" Then
						_ArrayPush($mob_list, Rev($id), 1)
					EndIf
				EndIf
			Next
		EndIf
	Next
EndFunc

Func RemoveMob($id)
	For $i = 0 To UBound($mob_list) - 1
		If $mob_list[$i] = $id Then
			_ArrayDelete($mob_list, $i)
			_ArrayAdd($mob_list, "")
		EndIf
	Next
EndFunc

;-----------Packet parsing functions by pushedx!----------------------------------------

Func BeginParse($buffer, $size)
	Global $globalParseIndex = 1
	Global $globalParseSize = $size
	Global $globalParseBuffer = $buffer
EndFunc

Func ParseByte()
	$result = StringMid($globalParseBuffer, $globalParseIndex, 2)
	$globalParseIndex = $globalParseIndex + 2
	return $result
EndFunc

Func ParseWord()
	$low = ParseByte()
	$hi = ParseByte()
	return $hi & $low
EndFunc

Func ParseDword()
	$low = ParseWord()
	$hi = ParseWord()
	return $hi & $low
EndFunc

Func ParseQWord()
	$low = ParseDword()
	$hi = ParseDword()
	return $hi & $low
EndFunc

Func ParseAscii($length)
	$result = StringMid($globalParseBuffer, $globalParseIndex, $length * 2)
	$globalParseIndex = $globalParseIndex + ($length * 2)
	$len = StringLen($result)
	$strResult = ""
	For $i = 1 to $len Step 2
		$strResult = $strResult & Chr(Dec(StringMid($result, $i, 2)))
	Next
	return $strResult
EndFunc

;----------------------------------------------------------------------------------------

Func Save()
	IniWrite(@ScriptDir & "\jreBot.ini", "Settings", "x", GUICtrlRead($xInput))
	IniWrite(@ScriptDir & "\jreBot.ini", "Settings", "y", GUICtrlRead($yInput))
	IniWrite(@ScriptDir & "\jreBot.ini", "Settings", "gold", GUICtrlRead($goldCbox))
	IniWrite(@ScriptDir & "\jreBot.ini", "Settings", "item", GUICtrlRead($itemCbox))
	IniWrite(@ScriptDir & "\jreBot.ini", "Settings", "elixir", GUICtrlRead($elixirCbox))
	IniWrite(@ScriptDir & "\jreBot.ini", "Settings", "imbue", GUICtrlRead($imbueInput))

	$skill = ""
	For $i = 0 To _GUICtrlListBox_GetCount($attackList) - 1
		$skill &= _GUICtrlListBox_GetText($attackList, $i) & "|"
	Next
	IniWrite(@ScriptDir & "\jreBot.ini", "Settings", "skills", $skill)

	$buff = ""
	For $i = 0 To _GUICtrlListBox_GetCount($buffList) - 1
		$buff &= _GUICtrlListBox_GetText($buffList, $i) & "|"
	Next
	IniWrite(@ScriptDir & "\jreBot.ini", "Settings", "buffs", $buff)

EndFunc

Func Load()
	GUICtrlSetData($xInput, IniRead(@ScriptDir & "\jreBot.ini", "Settings", "x", "" ))
	GUICtrlSetData($yInput, IniRead(@ScriptDir & "\jreBot.ini", "Settings", "y", "" ))
	GUICtrlSetData($imbueInput, IniRead(@ScriptDir & "\jreBot.ini", "Settings", "imbue", "" ))
	GUICtrlSetData($attackList, IniRead(@ScriptDir & "\jreBot.ini", "Settings", "skills", "" ))
	GUICtrlSetData($buffList, IniRead(@ScriptDir & "\jreBot.ini", "Settings", "buffs", "" ))
	GUICtrlSetState($goldCbox, IniRead(@ScriptDir & "\jreBot.ini", "Settings", "gold", "4"))
	GUICtrlSetState($itemCbox, IniRead(@ScriptDir & "\jreBot.ini", "Settings", "item", "4" ))
	GUICtrlSetState($elixirCbox, IniRead(@ScriptDir & "\jreBot.ini", "Settings", "elixir", "4"))
EndFunc

Переведите пожалста скрипт на код дельфи. Хоть нужный мне кусок. Вот как мне взять в тагрет моба и использовать первый скилл? Я прост не знаю этих функций на дельфи и хочу понять как пишется. Или посоветуйте литературу ближе к этой теме. Заранее спасибо!!
  Ответить с цитированием
Старый 27.12.2011, 22:43   #2
Бандеровец
 Лейтенант-командор
Аватар для VeTaL_UA
 
VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
Отправить сообщение для VeTaL_UA с помощью ICQ Отправить сообщение для VeTaL_UA с помощью Skype™
 
По умолчанию Re: Помогите если не сложно

Фигасе код. Половина, конечно, откидывается при переводе, но всё же это слишком много, чтобы на шару переводить...
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.

Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.


  Ответить с цитированием
Старый 29.12.2011, 13:48   #3
 Разведчик
Аватар для kolyn10
 
kolyn10 никому не известный тип
Регистрация: 01.10.2011
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Помогите если не сложно

Ну если не можете перевести хоть куски кода,хоть подскажите в какую сторону копать? Или литературу посоветуйте.
  Ответить с цитированием
Старый 29.12.2011, 15:10   #4
Знаток Dark Orbit
 Рыцарь-защитник
Аватар для Mebius
 
Mebius трижды герой Советского СоюзаMebius трижды герой Советского СоюзаMebius трижды герой Советского СоюзаMebius трижды герой Советского СоюзаMebius трижды герой Советского СоюзаMebius трижды герой Советского СоюзаMebius трижды герой Советского СоюзаMebius трижды герой Советского СоюзаMebius трижды герой Советского СоюзаMebius трижды герой Советского СоюзаMebius трижды герой Советского Союза
Регистрация: 14.06.2010
Сообщений: 584
Популярность: 6626
Сказал(а) спасибо: 86
Поблагодарили 847 раз(а) в 266 сообщениях
Отправить сообщение для Mebius с помощью ICQ Отправить сообщение для Mebius с помощью Skype™
 
По умолчанию Re: Помогите если не сложно

Цитата:
Сообщение от kolyn10Посмотреть сообщение
Ну если не можете перевести хоть куски кода,хоть подскажите в какую сторону копать? Или литературу посоветуйте.

что б переводить с одного языка на другой надо знать хотя бы основы обоих языков, так что копать тебе в сторону учебников по обоим этим языкам, лучше всего из этих двух ты должен знать делфи, тк почти все языки отличаются друг от друга синтаксисом и назначением, компиляторы и среды я в расчет не беру
  Ответить с цитированием
Старый 29.12.2011, 16:10   #5
 Разведчик
Аватар для kolyn10
 
kolyn10 никому не известный тип
Регистрация: 01.10.2011
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Помогите если не сложно

Так что мне искать в гугле я хз.Я толком незнаю чё ищу!Дельфи уроки но какие??Какие функции или компоненты мне нужны?Подскажите с чего начинать? Дельфи для начинающих,исходники каких то игр тут не катит! Так что мне искать????)
  Ответить с цитированием
Старый 29.12.2011, 17:18   #6
Заблокирован
 Пехотинец
Аватар для Number/1/
 
Number/1/ на правильном путиNumber/1/ на правильном пути
Регистрация: 11.11.2010
Сообщений: 95
Популярность: 188
Сказал(а) спасибо: 106
Поблагодарили 111 раз(а) в 70 сообщениях
 
По умолчанию Re: Помогите если не сложно

Цитата:
Сообщение от kolyn10Посмотреть сообщение
Так что мне искать в гугле я хз.Я толком незнаю чё ищу!Дельфи уроки но какие??Какие функции или компоненты мне нужны?Подскажите с чего начинать? Дельфи для начинающих,исходники каких то игр тут не катит! Так что мне искать????)

начинать нужно с основ делфи
  Ответить с цитированием
Старый 30.12.2011, 21:59   #7
 Разведчик
Аватар для kolyn10
 
kolyn10 никому не известный тип
Регистрация: 01.10.2011
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Помогите если не сложно

Напишите простой код передачи пакетов!!Да и как пишется вот этот код

While 1
$recv = ReadPacket()
$size = Dec(StringMid($recv, 3, 2) & StringMid($recv, 1, 2))
$opcode = StringMid($recv, 7, 2) & StringMid($recv, 5, 2)
$data = StringMid($recv, 13)

Switch $opcode
Case "B021" ;object moving
BeginParse($data, $size)
$id = ParseDword()
ParseByte()
$xSection = Dec(ParseByte())
$ySection = Dec(ParseByte())
$xOffset = Dec(ParseWord())
$zOffset = Dec(ParseWord())
$yOffset = Dec(ParseWord())
$x = ($xSection - 135) * 192 + ($xOffset /10 )
$y = ($ySection - 92) * 192 + ($yOffset / 10 )
If $id = $myId Then
If $size = 24 Then
$myX = $x
$myY = $y
EndIf
EndIf
  Ответить с цитированием
Старый 02.01.2012, 20:03   #8
 Разведчик
Аватар для zver-42rus
 
zver-42rus никому не известный тип
Регистрация: 29.12.2011
Сообщений: 2
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Помогите если не сложно

Как я понимаю это скрип эмуляции нажатия клавиш мышки?
  Ответить с цитированием
Старый 14.05.2012, 21:03   #9
 Разведчик
Аватар для Mister_Shmister
 
Mister_Shmister никому не известный тип
Регистрация: 14.05.2012
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Помогите если не сложно

Для плодотворного изучения делфи я бы посоветовал обратиться к этим материалам [Ссылки могут видеть только зарегистрированные пользователи. ] Имхо, лучшие лекции для этого) хотя решай для себя сам...
  Ответить с цитированием
Старый 17.05.2012, 04:40   #10
Заблокирован
 Разведчик
Аватар для victor20011
 
victor20011 на правильном пути
Регистрация: 17.05.2012
Сообщений: 18
Популярность: 66
Сказал(а) спасибо: 20
Поблагодарили 20 раз(а) в 11 сообщениях
Отправить сообщение для victor20011 с помощью ICQ Отправить сообщение для victor20011 с помощью Skype™
 
По умолчанию Re: Помогите если не сложно

я хз не понял вобше код))
но если эмулятор нажатия мышки то вот код

Цитата:
Кидай на форму Timer1.
Ставь:
Interval = 1
Enabled = true

procedure TForm1.Timer6Timer(Sender: TObject);var
HSD: HWND;
begin
HSD:=FindWindow(nil,'Counter-Strike'); // Ищем хандл
if GetKeyState(03) <> 0 then // когда нажимаем Mouse3 (mouse3 в коде пишется как 03), происходит:
begin
Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN,Mouse.CursorPos.X,Mouse.Curso rPos.Y,0,0); //Нажимаем mouse2, тоесть целимся.
Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP,Mouse.CursorPos.X,Mouse.CursorP os.Y,0,0);
Sleep(30);
Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_RIGHTDOWN,Mouse.CursorPos.X,Mouse.Curs orPos.Y,0,0); //нажимаем mouse1, тоесть стреляем.
Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_RIGHTUP,Mouse.CursorPos.X,Mouse.Cursor Pos.Y,0,0);
end;

end;

код не мой
  Ответить с цитированием
Старый 17.05.2012, 05:20   #11
 Пехотинец
Аватар для ktulx
 
ktulx на правильном пути
Регистрация: 01.08.2011
Сообщений: 70
Популярность: 24
Сказал(а) спасибо: 45
Поблагодарили 7 раз(а) в 7 сообщениях
 
По умолчанию Re: Помогите если не сложно

Цитата:
Сообщение от kolyn10Посмотреть сообщение
Напишите простой код передачи пакетов!!Да и как пишется вот этот код

Я, правда, не знаю к какой игре относится код - не вглядывался, но даже если тебе дадут код передачи пакетов, это тебе никоим образом не поможет, если ты не знаешь что с этим кодом потом делать )
Как уже сказали выше, начинай с основ. С самых основ. В гугле много есть
  Ответить с цитированием
Старый 17.05.2012, 05:47   #12
Заблокирован
 Разведчик
Аватар для victor20011
 
victor20011 на правильном пути
Регистрация: 17.05.2012
Сообщений: 18
Популярность: 66
Сказал(а) спасибо: 20
Поблагодарили 20 раз(а) в 11 сообщениях
Отправить сообщение для victor20011 с помощью ICQ Отправить сообщение для victor20011 с помощью Skype™
 
По умолчанию Re: Помогите если не сложно

Шас вчитался в код это что то по типу бота/кликера для ла2
Написан на С или С++ точно не знаю потому что сам С не знаю
  Ответить с цитированием
Старый 17.05.2012, 09:44   #13
Бандеровец
 Лейтенант-командор
Аватар для VeTaL_UA
 
VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
Отправить сообщение для VeTaL_UA с помощью ICQ Отправить сообщение для VeTaL_UA с помощью Skype™
 
По умолчанию Re: Помогите если не сложно

victor20011, скажу по секрету, это AutoIT и написан на нём, как я понял, что-то типо бота.
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.

Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.


  Ответить с цитированием
Старый 19.05.2012, 09:16   #14
Бандеровец
 Лейтенант-командор
Аватар для VeTaL_UA
 
VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
Отправить сообщение для VeTaL_UA с помощью ICQ Отправить сообщение для VeTaL_UA с помощью Skype™
 
По умолчанию Re: Помогите если не сложно

Цитата:
#include <String.au3>

Ну тут, извините, надо быть слепым
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.

Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.


  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Если вам не сложно. pestovo Общение и обсуждение CrossFire 0 11.04.2011 19:05

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 17:21.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net