forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   Вопросик про TYPE (http://forum.boolean.name/showthread.php?t=7516)

TEHb08 27.12.2008 23:41

Вопросик про TYPE
 
Всем приветик
Подскажите пожалуйста как вычеслить сколько создано объектов в TYPE

Например онлайн игра

сюда создаем игроков
Type Player
Field stream
Field logintest
Field S$
Field login$
Field password$
End Type

и как вывести сколько игроков в онлайне
For p.Player=Each Player

и что дальше ?

HolyDel 27.12.2008 23:42

Ответ: Вопросик про TYPE
 
решение "в лоб"
Код:

plcnt=0
For p.Player=Each Player
plcnt = pcnt +1
next

countplayers = plcnt


TEHb08 27.12.2008 23:46

я просто так делал но он у меня считал бесконечно
тоесть в онлайне 6 человек а он до 2000 насчитал и еще бы мог считать +((

а какнить по другомо можно может есть функция какаянить
что бы считал ? или это один вариант ?

Mr_F_ 28.12.2008 00:06

Ответ: Вопросик про TYPE
 
Цитата:

я просто так делал но он у меня считал бесконечно
не может быть
у тебя же не бесконечно объектов
скорее всего внутри цикла какая-то лажа

кинь свой цикл

--
я вообще обычно переменную кол-ва объектов увеличиваю собсно при создании объектов типа.

TEHb08 28.12.2008 00:14

For p.Player=Each Player
online = online +1

If p\stream Then
If ReadAvail(p\potok)>0 Then
p\S$=ReadLine(p\potok)



;Проверяем логин и пасс если все норма то обрабатываем запросы
Include "game.bb"
;-----------------------------------------------------------------------


EndIf

Else
online = online - 1
Print ""
Print "------------------------------------------------------------------------------"
Print p\login$ + " отключен "
Print "------------------------------------------------------------------------------"
Print ""
Delete p
EndIf


Next

он бесконечно считает так как цикл тоже бесконечный он все время перебирает цикл пользователей

Mr_F_ 28.12.2008 03:04

Ответ: Вопросик про TYPE
 
Цитата:

;Проверяем логин и пасс если все норма то обрабатываем запросы
Include "game.bb"
а инклюд зачем в цикле?
негуд.
лучше функцией вызывай.
компилятор же по идее просто слепляет главной сорец с инклюдами в один.

Цитата:

он бесконечно считает так как цикл тоже бесконечный он все время перебирает цикл пользователей
ну канешно.
обнуляй переменную online перед циклом.
а то он же у тебя не с нуля считает.

TEHb08 28.12.2008 03:28

Ответ: Вопросик про TYPE
 
Цитата:

Сообщение от Mr_F_ (Сообщение 93023)
а инклюд зачем в цикле?
негуд.
лучше функцией вызывай.
компилятор же по идее просто слепляет главной сорец с инклюдами в один.

game.bb у меня там уже идут все обсчеты, проверки вобщем сердце сервера, функциями не как +(


Цитата:

Сообщение от Mr_F_ (Сообщение 93023)
ну канешно.
обнуляй переменную online перед циклом.
а то он же у тебя не с нуля считает.

Спасибки все работает, не фига я так стормозил +))))

Sashka007 09.01.2009 20:34

Ответ: Вопросик про TYPE
 
У меня такая проблема возникла с type. Так вот перед главным циклом пишу
Type vehicles
Field car_mesh
Field car_body
End Type
Дале создаю объект
Car.vehicles = new vehicles
Car\car_mesh = loadmesh("car.b3d")
Потом в глабном цикле пишу
PositionEntity hero,EntitX(Car\car_mesh),Entity(Car\car_mesh),Ent itz(Car\car_mesh), все нормально, а когда я записываю фукцию
Function create_car()
Car.vehicles = new vehicles
Car\car_mesh = loadmesh("car.b3d")
End Function
И вызываю ее, в главном цикле в строчке
PositionEntity hero,EntitX(Car\car_mesh),Entity(Car\car_mesh),Ent itz(Car\car_mesh), пишет, что этот type не найден, в чем я ошибся?

impersonalis 09.01.2009 21:06

Ответ: Вопросик про TYPE
 
Car глобален?

Sashka007 09.01.2009 21:24

Ответ: Вопросик про TYPE
 
Ты имеешь виду type глобальный?

impersonalis 09.01.2009 21:36

Ответ: Вопросик про TYPE
 
Его экземпляр. Да.

Sashka007 09.01.2009 22:15

Ответ: Вопросик про TYPE
 
Тоесть надо так написать
Global car.vehicle = new vehicles ?

impersonalis 09.01.2009 22:16

Ответ: Вопросик про TYPE
 
да..

Sashka007 09.01.2009 22:25

Ответ: Вопросик про TYPE
 
Если это я это пишу во фукции, то он выбодит ошибку связанную с глобал

impersonalis 09.01.2009 22:38

Ответ: Вопросик про TYPE
 
ну тада по другому реализуй
local Car.vehicles=first vehicles
PositionEntity hero,EntitX(Car\car_mesh),Entity(Car\car_mesh),Ent itz(Car\car_mesh)


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot