PDA

Просмотр полной версии : [Вопрос] Почему не появляется созданный объект



Alexander
12.08.2015, 08:01
Доброго времени суток, столкнулся с такой проблемой, когда я создаю объект из игры он не появляется пробовал менять стример и тд, проблема именно в коде помогите пожалуйста "+" гарантирую, вот рабочий код на другом моде работает а на моем нет в чем может быть причина?

if(strcmp(cmd,"/break", true) == 0)
{
if(!IsACop(playerid)) return SendClientMessage(playerid, CWHITE, "Данная функция Вам недоступна");
if(GetPlayerInterior(playerid) != 0) return SendClientMessage(playerid, CWHITE, "Ошибка: вы находитесь в интерьере");
if(GetPVarInt(playerid,"breaked") == 1)
{
DestroyObject(object[playerid]);
SetPVarInt(playerid,"breaked",0);
Delete3DTextLabel(Text3D:blocktext[playerid]);
SendClientMessage(playerid,-1,"Вы убрали ограждение");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, CWHITE, "{"#cYELLOW"}• [Подсказка]: {"#cWHITE"}/break [тип (1-4)]");
new type = strval(tmp);
new Float:x, Float:y, Float:z, Float:angle;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, angle);
x += floatsin(-angle, degrees);
y += floatcos(-angle, degrees);
ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 2, 0, 0, 0, 0, 0);
if(GetPVarInt(playerid,"breaked") == 0)
{
switch(type)
{
case 1: object[playerid] = CreateObject(1228, x, y, z-0.5, 0, 0, 0);
case 2: object[playerid] = CreateObject(1237, x, y, z-1.0, 0, 0, 0);
case 3: object[playerid] = CreateObject(1423, x, y, z-0.3, 0, 0, 0);
case 4: object[playerid] = CreateObject(1422, x, y, z-0.49, 0, 0, 0);
}
new string[50];
format(string, 50, "%i", playerid);
blocktext[playerid] = Create3DTextLabel(string,COLOR_BLUE,x,y,z-0.7,30.0,0,1);
SetPVarInt(playerid,"breaked",1),SendClientMessage(playerid, CWHITE, "Вы установили ограждение. Введите '/break' ещё раз, что бы убрать его");
}
return 1;
}

Sp1ke
12.08.2015, 09:45
if(GetPVarInt(playerid,"breaked") == 1)
if(GetPVarInt(playerid,"breaked") == 0)
А ты уверен, что они есть в моде?
Посмотри где и как ты меняешь значение.

Alexander
12.08.2015, 09:49
Я тестировал эту же команду на другом моде там все работает

точнее дело не именно в этой команде а вообще не отображаются созданные в игре объекты не FS soe не IVO и тд

Sp1ke
12.08.2015, 11:36
Я тестировал эту же команду на другом моде там все работает

точнее дело не именно в этой команде а вообще не отображаются созданные в игре объекты не FS soe не IVO и тд

Еще раз внимательно прочитай, что я написал выше и подумай.

gangzone.ini
12.08.2015, 12:35
#include <streamer>
Есть?

Sp1ke
12.08.2015, 12:45
#include <streamer>
Есть?

А зачем он, если не используется в этой команде?

$continue$
12.08.2015, 13:50
Надо узнать последний созданный ID через CreateObject. И сделать так:


if (object_id >= MAX_OBJECTS)
return printf("У Вас превышен лимит объектов! Лимит: %d | Создано: %d", MAX_OBJECTS, object_id);

В Вашем случии можно сделать вот так вот :


if (strcmp(cmd, "/break", true) == 0)
{
if (!IsACop(playerid)) return SendClientMessage(playerid, CWHITE, "Данная функция Вам недоступна");
if (GetPlayerInterior(playerid) != 0) return SendClientMessage(playerid, CWHITE, "Ошибка: вы находитесь в интерьере");
if (GetPVarInt(playerid, "breaked") == 1)
{
DestroyObject(object[playerid]);
SetPVarInt(playerid, "breaked", 0);
Delete3DTextLabel(Text3D:blocktext[playerid]);
SendClientMessage(playerid, -1, "Вы убрали ограждение");
return 1;
}
tmp = strtok(cmdtext, idx);
if (!strlen(tmp)) return SendClientMessage(playerid, CWHITE, "{"#cYELLOW"}• [Подсказка]: {"#cWHITE"}/break [тип (1-4)]");
new type = strval(tmp);
new Float:x, Float : y, Float : z, Float : angle;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, angle);
x += floatsin(-angle, degrees);
y += floatcos(-angle, degrees);
ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 2, 0, 0, 0, 0, 0);
if (GetPVarInt(playerid, "breaked") == 0)
{
switch (type)
{
case 1: object[playerid] = CreateObject(1228, x, y, z - 0.5, 0, 0, 0);
case 2: object[playerid] = CreateObject(1237, x, y, z - 1.0, 0, 0, 0);
case 3: object[playerid] = CreateObject(1423, x, y, z - 0.3, 0, 0, 0);
case 4: object[playerid] = CreateObject(1422, x, y, z - 0.49, 0, 0, 0);
}
if (object[playerid] >= MAX_OBJECTS)
return printf("У Вас превышен лимит объектов! Лимит: %d | Создано: %d", MAX_OBJECTS, object[playerid]);
print("Лимит объектов не превышен!");
new string[50];
format(string, 50, "%i", playerid);
blocktext[playerid] = Create3DTextLabel(string, COLOR_BLUE, x, y, z - 0.7, 30.0, 0, 1);
SetPVarInt(playerid, "breaked", 1);
SendClientMessage(playerid, CWHITE, "Вы установили ограждение. Введите '/break' ещё раз, что бы убрать его");
}
return 1;
}

Daniel_Cortez
12.08.2015, 14:09
Надо узнать последний созданный ID через CreateObject. И сделать так:


if(object_id >= MAX_OBJECTS)
return printf("У Вас превышен лимит объектов! Лимит: %d | Создано: %d", MAX_OBJECTS, object_id);



В случае неудачи CreateObject возвращает 0.

L0ndl3m
12.08.2015, 14:39
В случае неудачи CreateObject возвращает 0.
Разве не INVALID_OBJECT_ID?

Daniel_Cortez
12.08.2015, 14:55
Разве не INVALID_OBJECT_ID?
Точно, походу пора взять перерыв -_-

Интересно, почему тогда ID объектов начинаются с единицы, а не с нуля? С транспортом то же самое.

http://wiki.sa-mp.com/wiki/Starting_IDs
Хотя... ответ на этот вопрос можно уместить в одно слово: Kalcor.

Alexander
12.08.2015, 22:23
Не в этой команде проблема раньше все работало а сейчас не знаю почему нечего не работают

$continue$
12.08.2015, 22:50
Не в этой команде проблема раньше все работало а сейчас не знаю почему нечего не работают

Шта, простите?!
Заходим в server.log и кидаем сюда...

Alexander
12.08.2015, 23:00
----------
Loaded log file: "server_log.txt".
----------

SA-MP Dedicated Server
----------------------
v0.3.7, (C)2005-2015 SA-MP Team

[05:12:56]
[05:12:56] Server Plugins
[05:12:56] --------------
[05:12:56] Loading plugin: streamer
[05:12:56]

*** Streamer Plugin v2.6.1 by Incognito loaded ***

[05:12:56] Loaded.
[05:12:56] Loading plugin: sscanf
[05:12:56]

[05:12:56] ===============================

[05:12:56] sscanf plugin loaded.

[05:12:56] Version: 2.8.1

[05:12:56] (c) 2012 Alex "Y_Less" Cole

[05:12:56] ===============================

[05:12:56] Loaded.
[05:12:56] Loading plugin: FileFunctions
[05:12:56] Loaded.
[05:12:56] Loading plugin: regex
[05:12:56]


[05:12:56] ______________________________________


[05:12:56] Regular Expression Plugin v0.2.1 loaded
[05:12:56] ______________________________________


[05:12:56] By: Fro (c) Copyright <TBG> 2009-2011
[05:12:56] ______________________________________


[05:12:56] Loaded.
[05:12:56] Loading plugin: PointToPoint
[05:12:56] PointToPoint Plugin Loaded.
[05:12:56] Loaded.
[05:12:56] Loading plugin: mysql
[05:12:56]

> MySQL plugin R5 successfully loaded.

[05:12:56] Loaded.
[05:12:56] Loading plugin: sql
[05:12:56] >> SQL plugin v2.6 successfully loaded.
[05:12:56] + MySQL support is enabled.
[05:12:56] + PostgreSQL support is enabled.
[05:12:56] Loaded.
[05:12:56] Loaded 7 plugins.

[05:12:56]
[05:12:56] Ban list
[05:12:56] --------
[05:12:56] Loaded: samp.ban
[05:12:56]
[05:12:56]
[05:12:56] Filterscripts
[05:12:56] ---------------
[05:12:56] Loading filterscript 'yom_buttons.amx'...
[05:12:56] Loaded 1 filterscripts.

[05:12:56] *** Streamer Plugin: Warning: Include file version (0x26104) does not match plugin version (0x26105) (script might need to be recompiled with the latest include file)
[05:12:56]
[05:12:56]
[05:12:56]
[05:12:56] =======================================
[05:12:56] | |
[05:12:56] | YSI version 1.06.0002 |
[05:12:56] | By Alex "Y_Less" Cole |
[05:12:56] | |
[05:12:56] =======================================
[05:12:56]
[05:12:56] [plugin.sql][warning] Natives::sql_debug: Switching the log levels to (0, 3)...
[05:12:57] [Загрузка мэрии]: Было загружено - потрачено 699 (ms)
[05:12:57] 161 --- 472
[05:12:58] 507 houses loaded
[05:12:58] Неверная связка машины у игрока 2 (машина 61 не найдена)
[05:12:58] К-во отелей не совпадает с предопределенным количеством
[05:12:58] Filling: 1, Mark[0]: -1
[05:12:58] Filling: 2, Mark[0]: 527
[05:12:58] Filling: 3, Mark[0]: 458
[05:12:58] Filling: 4, Mark[0]: 0
[05:12:58] Filling: 5, Mark[0]: 0
[05:12:58] Filling: 6, Mark[0]: 0
[05:12:58] Filling: 7, Mark[0]: 0
[05:12:58] Filling: 8, Mark[0]: 0
[05:12:58] Filling: 9, Mark[0]: 589
[05:12:58] Filling: 10, Mark[0]: 0
[05:12:58] Filling: 11, Mark[0]: 0
[05:12:58] Filling: 12, Mark[0]: 0
[05:12:58] Filling: 13, Mark[0]: 0
[05:12:58] Filling: 14, Mark[0]: 0
[05:12:58] Filling: 15, Mark[0]: 457
[05:12:58] Filling: 16, Mark[0]: -25
[05:12:58] Filling: 17, Mark[0]: 0
[05:12:58] Filling: 18, Mark[0]: 0
[05:12:58] Кол-во бизнесов в базе превышает предопределнное количество
[05:12:58] Number of vehicle models: 116
[05:12:58]
[05:12:58] ==========================================
[05:12:58] | |
[05:12:58] | A new version (v3.09.0684) of YSI is |
[05:12:58] | available from: |
[05:12:59] | |
[05:12:59] | www.y-less.com/YSI/YSI_1.0.zip |
[05:12:59] | |
[05:12:59] | Changelog: |
[05:12:59] | |
[05:12:59] | 3.00.0000: |
[05:12:59] | |
[05:12:59] | YSI 3.0 released! Now includes the |
[05:12:59] | "y_text" library for better messages, |
[05:12:59] | and a reworked "y_classes" library. |
[05:12:59] | Largely documented here |
[05:12:59] | "http://forum.sa-mp.com/showthread.php |
[05:12:59] | ?t=321092". |
[05:12:59] | |
[05:12:59] | 3.01.0002: |
[05:12:59] | |
[05:12:59] | Small fixes to "y_text" and |
[05:12:59] | "y_classes". |
[05:12:59] | |
[05:12:59] | 3.09.0684: |
[05:12:59] | |
[05:12:59] | Reverted to old download location. |
[05:12:59] | Improved (and fixed) version checks; |
[05:12:59] | added y_bitmap, y_areas, y_races, |
[05:12:59] | y_zonenames, better documentation; |
[05:12:59] | MANY other bug fixes - see the github |
[05:12:59] | repository for more details: |
[05:12:59] | |
[05:12:59] ==========================================
[05:12:59]

$continue$
12.08.2015, 23:24
Вы команду то вводили? Которую я кидал?

Alexander
12.08.2015, 23:45
Да дело не в команде команда рабочая

- - - Добавлено - - -


new busstr[100];
buscar2 = CreateObject(19326,0,0,-1000,0,0,0,100);
format(busstr, 100, "%s $%d", routename,price);
SetObjectMaterialText(buscar2, busstr, 0, 50, "Tahoma", 27, 1, -1, 0x00, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
AttachObjectToVehicle(buscar2,GetPlayerVehicleID(playerid), 0.121222,5.3954545,1.75656,0.000000,0.000000,0.000000);

раньше работало а сейчас не работает

$continue$
12.08.2015, 23:51
Да дело не в команде команда рабочая

- - - Добавлено - - -


new busstr[100];
buscar2 = CreateObject(19326,0,0,-1000,0,0,0,100);
format(busstr, 100, "%s $%d", routename,price);
SetObjectMaterialText(buscar2, busstr, 0, 50, "Tahoma", 27, 1, -1, 0x00, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
AttachObjectToVehicle(buscar2,GetPlayerVehicleID(playerid), 0.121222,5.3954545,1.75656,0.000000,0.000000,0.000000);

раньше работало а сейчас не работает
Что, это? Что, за бред Вы несете?
Причем тут это? Я в команде по сути ничего не изменял, добавил вывод информации на экран и все -_-.
Кривость рук - вот в чем проблема.
http://lurkmore.so/images/d/d8/Rtfm.jpg

Alexander
12.08.2015, 23:59
Я говорю о том что объект не создаются не в одной функции не в /break не в
new busstr[100];
buscar2 = CreateObject(19326,0,0,-1000,0,0,0,100);
format(busstr, 100, "%s $%d", routename,price);
SetObjectMaterialText(buscar2, busstr, 0, 50, "Tahoma", 27, 1, -1, 0x00, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
AttachObjectToVehicle(buscar2,GetPlayerVehicleID(playerid), 0.121222,5.3954545,1.75656,0.000000,0.000000,0.000000);

- - - Добавлено - - -

Можно ваш логин скайпа я вам подробно объясню в чем проблема

$continue$
13.08.2015, 00:06
Я говорю о том что объект не создаются не в одной функции не в /break не в
new busstr[100];
buscar2 = CreateObject(19326,0,0,-1000,0,0,0,100);
format(busstr, 100, "%s $%d", routename,price);
SetObjectMaterialText(buscar2, busstr, 0, 50, "Tahoma", 27, 1, -1, 0x00, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
AttachObjectToVehicle(buscar2,GetPlayerVehicleID(playerid), 0.121222,5.3954545,1.75656,0.000000,0.000000,0.000000);

- - - Добавлено - - -

Можно ваш логин скайпа я вам подробно объясню в чем проблема
Вам сюда. (http://pro-pawn.ru/forumdisplay.php?218-%D0%A1%D1%82%D0%BE%D0%BB-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D0%BE%D0%B2)

Osetin
13.08.2015, 01:26
Почему бы для начала не исправить это:

[05:12:56] *** Streamer Plugin: Warning: Include file version (0x26104) does not match plugin version (0x26105) (script might need to be recompiled with the latest include file)

Alexander
13.08.2015, 06:57
Почему бы для начала не исправить это:

[05:12:56] *** Streamer Plugin: Warning: Include file version (0x26104) does not match plugin version (0x26105) (script might need to be recompiled with the latest include file)

Да нет, это не причем в чем суть то дня 2 назад работало всё а сейчас я нехнаю с чем это связанно

Desulaid
13.08.2015, 09:33
:sad::sorry:



Если работало раньше, а сейчас не работает, то что вы делали такого? Какие уникальные доработки писали(вписывали) ?

Alexander
13.08.2015, 09:44
Нечего особенного

Sp1ke
13.08.2015, 10:11
Нечего особенного

Но все же? Как я и написал в первом посте, вы не удаляли не от куда?
if(GetPVarInt(playerid,"breaked") == 1)

- - - Добавлено - - -

А если быть точнее, то
SetPVarInt(playerid,"breaked", 1);

- - - Добавлено - - -

UPD. Лучше проверь, так как я понял команда вырезана из другого мода, а создание и удаление объекта идет именно в этой проверке.

Alexander
13.08.2015, 10:30
Все стоит на месте, просто после чего то я не помню чего перестали работать такие каманды как /break и /soe и все команды которые создают объекты из игры