SA-MP Forums Archive
3D HUD - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: 3D HUD (/showthread.php?tid=601506)

Pages: 1 2


3D HUD - me1m - 22.02.2016

В просторах интернета существует подобная система?



Re: 3D HUD - Stuntff - 22.02.2016

Ага.


Re: 3D HUD - me1m - 22.02.2016

Quote:
Originally Posted by Stuntff
View Post
Ага.
А можешь скинуть?


Re: 3D HUD - Romz - 22.02.2016

Нужно самому писать.


Re: 3D HUD - me1m - 22.02.2016

Quote:
Originally Posted by Kolstin
View Post
Нужно самому писать.
Код написан, но YSF крашит сервер. И я хотел глянуть, как там реализовано.


Re: 3D HUD - Mcc - 22.02.2016

Через персональные объекты, аттач объекта к игроку и материал.


Re: 3D HUD - me1m - 22.02.2016

Quote:
Originally Posted by Mcc
View Post
Через персональные объекты, аттач объекта к игроку и материал.
Если через AttachObjectToPlayer, то текст будет моргать.


Re: 3D HUD - Mcc - 22.02.2016

Quote:
Originally Posted by me1m
View Post
Если через AttachObjectToPlayer, то текст будет моргать.
Quote:
Originally Posted by Mcc
View Post
Через персональные объекты
Подойдет и стример.


Re: 3D HUD - me1m - 22.02.2016

Quote:
Originally Posted by Mcc
View Post
Подойдет и стример.
Для AttachDynamicObjectToPlayer нужен YSF, а из-за него краш сервера при подключении нового игрока.


Re: 3D HUD - Mcc - 22.02.2016

Ну так ищи в чем причина краша сервера с YSF при подключении нового игрока. Ищи и исправляй. В чем проблема? Нет проблемы.


Re: 3D HUD - me1m - 22.02.2016

Quote:
Originally Posted by Mcc
Посмотреть сообщение
Ну так ищи в чем причина краша сервера с YSF при подключении нового игрока. Ищи и исправляй. В чем проблема? Нет проблемы.
Проблема в плагине


Re: 3D HUD - Mcc - 22.02.2016

Плагин здесь не при чем. Проблема в тебе.


Re: 3D HUD - me1m - 22.02.2016

Quote:
Originally Posted by Mcc
Посмотреть сообщение
Плагин здесь не при чем. Проблема в тебе.
Я прикреплял объект на new.pwn. При подключении игрока краш.


Re: 3D HUD - Mcc - 22.02.2016

Ну так узнавай, почему происходит краш.


Re: 3D HUD - Romz - 22.02.2016

Я не думаю что проблема в плагине. Скорей всего проблема в вашем коде которого вы не выложили но помимо этого просите помощи.


Re: 3D HUD - me1m - 23.02.2016

При подключении второго игрока краш сампа
PHP код:
#include <a_samp>
#include <YSF>
#include <streamer>
main(){}
forward UpdateHealthEx();
new 
po_health[MAX_PLAYERS];
public 
OnGameModeInit()
{
    
SetTimer("UpdateHealthEx"1000true);
    return 
1;
}
public 
OnPlayerConnect(playerid)
{
    
po_health[playerid] = INVALID_OBJECT_ID;
    return 
1;
}
public 
OnPlayerSpawn(playerid)
{
    
po_health[playerid] = INVALID_OBJECT_ID;
    if(
po_health[playerid] == INVALID_OBJECT_ID)
        
po_health[playerid] = CreateDynamicObject(19475, -100.0, -100.0, -100.00.00.00.0);
    
SetPVarInt(playerid"spawned"1);
    return 
1;
}
public 
OnPlayerDeath(playeridkilleridreason)
{
    
SetPVarInt(playerid"spawned"0);
    if(
po_health[playerid] != INVALID_OBJECT_ID)
        
DestroyDynamicObject(po_health[playerid]);
    return 
1;
}
public 
OnPlayerDisconnect(playeridreason)
{
    
SetPVarInt(playerid"spawned"0);
    if(
po_health[playerid] != INVALID_OBJECT_ID)
        
DestroyDynamicObject(po_health[playerid]);
    return 
1;
}
public 
UpdateHealthEx()
{
    for(new 
0all = (GetMaxPlayers()+1); != allp++)
    {
        if(
IsPlayerConnected(p) && !IsPlayerNPC(p) && GetPVarInt(p"spawned") == 1UpdateHealth(p);
    }
    return 
false;
}
stock UpdateHealth(const playerid)
{
    new 
Floathealthstring[20];
    
GetPlayerHealth(playeridhealth);
    
format(stringsizeof(string), "{ffffff}+%.0f"health);
    
SetDynamicObjectMaterialText(po_health[playerid], 0string90"Arial"701, -1677696100);
    
AttachDynamicObjectToPlayer(po_health[playerid], playerid, -0.4000, -0.6, -0.50.00000, -90.00000180.00000);
    return 
0;




Re: 3D HUD - me1m - 23.02.2016

YSF это 100%


Re: 3D HUD - stabker - 23.02.2016

Не по теме, но

PHP код:
public OnPlayerSpawn(playerid

    
po_health[playerid] = INVALID_OBJECT_ID
    if(
po_health[playerid] == INVALID_OBJECT_ID
        
po_health[playerid] = CreateDynamicObject(19475, -100.0, -100.0, -100.00.00.00.0); 
    
SetPVarInt(playerid"spawned"1); 
    return 
1

странная логика. Здесь не нужно po_health[playerid] = INVALID_OBJECT_ID; это надо делать в местах, где объект удаляется, или где он еще не создан (при подключении). Иначе обходим OnPlayerDeath и получаем туеву хучу диких объектов.


Re: 3D HUD - me1m - 23.02.2016

Quote:
Originally Posted by stabker
Посмотреть сообщение
Не по теме, но

PHP код:
public OnPlayerSpawn(playerid

    
po_health[playerid] = INVALID_OBJECT_ID
    if(
po_health[playerid] == INVALID_OBJECT_ID
        
po_health[playerid] = CreateDynamicObject(19475, -100.0, -100.0, -100.00.00.00.0); 
    
SetPVarInt(playerid"spawned"1); 
    return 
1

странная логика. Здесь не нужно po_health[playerid] = INVALID_OBJECT_ID; это надо делать в местах, где объект удаляется, или где он еще не создан (при подключении). Иначе обходим OnPlayerDeath и получаем туеву хучу диких объектов.
Ты как раз в тему. Кажется больше не крашит


Re: 3D HUD - me1m - 24.02.2016

От проблемы все же не избавился
PHP код:
#include <a_samp>
#include <YSF>
#include <streamer>
main(){}
forward UpdateHealthEx();
new 
po_health[MAX_PLAYERS];
public 
OnGameModeInit()
{
    
SetTimer("UpdateHealthEx"1000true);
    return 
1;
}
public 
OnPlayerConnect(playerid)
{
    
po_health[playerid] = INVALID_OBJECT_ID;
    return 
1;
}
public 
OnPlayerSpawn(playerid)
{
    
po_health[playerid] = CreateDynamicObject(19475, -100.0, -100.0, -100.00.00.00.0);
    
SetPVarInt(playerid"spawned"1);
    
GivePlayerWeapon(playeridWEAPON_M4250);
    return 
1;
}
public 
OnPlayerDeath(playeridkilleridreason)
{
    
SetPVarInt(playerid"spawned"0);
    if(
po_health[playerid] != INVALID_OBJECT_ID)
    {
        
DestroyDynamicObject(po_health[playerid]);
        
po_health[playerid] = INVALID_OBJECT_ID;
    }
    return 
1;
}
public 
OnPlayerDisconnect(playeridreason)
{
    
SetPVarInt(playerid"spawned"0);
    if(
po_health[playerid] != INVALID_OBJECT_ID)
    {
        
DestroyDynamicObject(po_health[playerid]);
    }
    return 
1;
}
public 
UpdateHealthEx()
{
    for(new 
0all = (GetMaxPlayers()+1); != allp++)
    {
        if(
IsPlayerConnected(p) && !IsPlayerNPC(p) && GetPVarInt(p"spawned") == 1UpdateHealth(p);
    }
    return 
false;
}
stock UpdateHealth(const playerid)
{
    new 
Floathealthstring[20];
    
GetPlayerHealth(playeridhealth);
    
format(stringsizeof(string), "{ffffff}+%.0f"health);
    
SetDynamicObjectMaterialText(po_health[playerid], 0string90"Arial"701, -1677696100);
     
AttachDynamicObjectToPlayer(po_health[playerid], playerid, -0.4000, -0.6, -0.50.00000, -90.00000180.00000);
    return 
0;