16:57
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 1 из 1
  • 1
Модератор форума: Alcoholik  
Изменяем внешний вид экрана
raenДата: Четверг, 20.03.2008, 07:53 | Сообщение # 1
Уважаемый человек
Группа: Продвинутые
Сообщений: 785
Награды: 25
Город: PакунСити
Репутация: 154
Замечания: 20%
Статус:
Плз подскажите как на экран скажем в правом нижнем углу сделать чтобы выводился (Textdraw) счёт который находится в банке к примеру: БАНК: сумма. Чтобы шла постоянная синхронизация со счётом в банке, чтобы можно было отслеживать изменения.
За ранее спс



- Social Roleplay - ucp.gtamir.ru - 77.220.182.241:7777
OKStyle™Дата: Четверг, 20.03.2008, 08:41 | Сообщение # 2
Мастер джэдай
Группа: I'm V.I.P.
Сообщений: 2444
Награды: 16
Город: Оренбург
Репутация: 1174
Замечания: 40%
Статус:
Делаешь таймер с временем обновлениея в секунду. В нем надо задать анализирование суммы в банке (banksumm) (чтение переменной) и вывод:

Code
new string[256];
banksumm++;
format(string, sizeof(string), " BANK: %d.", banksumm);
GameTextForPlayer(~r~,string);

Возможно так. Пиши что не получится.


Да потому что когда человек делает на заказ он не старается. © kRiSyo
Кланяимся нофаму королю анимаций =))))))) © Manusya
В MTA - для вас все багоюзеры. Не юзают там +с только EFO и ACF. © SeWeR
raenДата: Четверг, 20.03.2008, 12:18 | Сообщение # 3
Уважаемый человек
Группа: Продвинутые
Сообщений: 785
Награды: 25
Город: PакунСити
Репутация: 154
Замечания: 20%
Статус:
Quote (okstyle)
Делаешь таймер с временем обновлениея в секунду

C этих слов уже не понятно... :) Плз можешь в виде кода написать, а то я сам намудрю т.к. мои познания не такие уж хорошие...



- Social Roleplay - ucp.gtamir.ru - 77.220.182.241:7777
remboДата: Четверг, 20.03.2008, 17:36 | Сообщение # 4
Постоялец
Группа: Продвинутые
Сообщений: 386
Награды: 2
Город: Балахта
Репутация: 69
Замечания: 0%
Статус:
Мда, интересно, кто обьяснит ??????? mda


==========================================
Я неговорю что я красвец - типо справился, и сейчас ничем не убиваюсь.
==========================================
LuxurYДата: Четверг, 20.03.2008, 17:52 | Сообщение # 5
Уверенный в себе
Группа: Продвинутые
Сообщений: 281
Награды: 1
Город: OZ
Репутация: 45
Замечания: 0%
Статус:
new str[32];
format(str,sizeof(str),"~y~BANK: ~g~%d",bank[playerid]);

а дальше я тебе рекомендую использовать Ingame TextDraw Editor by Zamaroht


www.gtascript.ru admin
www.gtascript.ru - профессиональный скриптинг SA-MP, MTA
raenДата: Пятница, 21.03.2008, 14:47 | Сообщение # 6
Уважаемый человек
Группа: Продвинутые
Сообщений: 785
Награды: 25
Город: PакунСити
Репутация: 154
Замечания: 20%
Статус:
Когда ахожу в здание TextDraw начинает мигать, а когда выхожу из здания то он вообще пропадает, как это можно поправить ?

Добавлено (21.03.2008, 14:47)
---------------------------------------------
LuxurY когда я ставлю свои TextDrawы на таймер вот код:

SetTimer("writeBank", 2000, 1);
SetTimer("writeLevel", 3000, 1);
SetTimer("writeXp", 1000, 1);

То после определённого кол-ва времени таймеры почему то останавливаются и не идёт обновление TextDrawов вообще, как это можно поправить ??? Плз помоги !!! За ранее спасибо !


- Social Roleplay - ucp.gtamir.ru - 77.220.182.241:7777
remboДата: Пятница, 21.03.2008, 16:04 | Сообщение # 7
Постоялец
Группа: Продвинутые
Сообщений: 386
Награды: 2
Город: Балахта
Репутация: 69
Замечания: 0%
Статус:
Или лучше код полностью выложите, где будет показываться Лвл, ХП, деньги, броня, и Ещё что нить плиз mda

Добавлено (21.03.2008, 16:04)
---------------------------------------------
А ещё лучше скрипт crazy


==========================================
Я неговорю что я красвец - типо справился, и сейчас ничем не убиваюсь.
==========================================
LuxurYДата: Пятница, 21.03.2008, 16:08 | Сообщение # 8
Уверенный в себе
Группа: Продвинутые
Сообщений: 281
Награды: 1
Город: OZ
Репутация: 45
Замечания: 0%
Статус:
попробуй скачать TYS http://forum.sa-mp.com/index.php?topic=34425.0
и отследи изменение количества текстдровов.
могу предположить что ты их не удаляешь и процесс виснет на кол-ве 1024



www.gtascript.ru admin
www.gtascript.ru - профессиональный скриптинг SA-MP, MTA
raenДата: Суббота, 22.03.2008, 06:00 | Сообщение # 9
Уважаемый человек
Группа: Продвинутые
Сообщений: 785
Награды: 25
Город: PакунСити
Репутация: 154
Замечания: 20%
Статус:
У меня стоит 3 текстдрава, хотя твой TYS показывает что только 2 ?! может прога глючит ?
Вот мой код:
public OnGameModeInit()
{
SetTimer("writeBank", 2000, 1);
SetTimer("writeLevel", 3000, 1);
SetTimer("writeXp", 1000, 1);
return 1;
}

public writeBank()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
new str[32];
format(str,sizeof(str)," 6AHK:%d",Player[i][Bank]);
TextDrawShowForPlayer(i,Textdraw3);
Textdraw3 = TextDrawCreate(212.000000,21.000000,str);
TextDrawAlignment(Textdraw3,0);
TextDrawBackgroundColor(Textdraw3,0x000000ff);
TextDrawFont(Textdraw3,2);
TextDrawLetterSize(Textdraw3,0.299999,1.300000);
TextDrawColor(Textdraw3,0x00ff00cc);
TextDrawSetOutline(Textdraw3,1);
TextDrawSetProportional(Textdraw3,1);
TextDrawSetShadow(Textdraw3,1);
}
}
}
public writeLevel()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
new str[32];
format(str,sizeof(str),"level:%d",Player[i][Level]);
TextDrawShowForPlayer(i,Textdraw4);
Textdraw4 = TextDrawCreate(321.000000,22.000000,str);
TextDrawAlignment(Textdraw4,0);
TextDrawBackgroundColor(Textdraw4,0x000000ff);
TextDrawFont(Textdraw4,2);
TextDrawLetterSize(Textdraw4,0.299999,1.000000);
TextDrawColor(Textdraw4,0xffffffff);
TextDrawSetOutline(Textdraw4,1);
TextDrawSetProportional(Textdraw4,1);
TextDrawSetShadow(Textdraw4,1);
}
}
}
public writeXp()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
new str[32];
format(str,sizeof(str),"XP:%d",Player[i][XP]);
TextDrawShowForPlayer(i,Textdraw5);
Textdraw5 = TextDrawCreate(321.000000,21.000000,str);
TextDrawAlignment(Textdraw5,0);
TextDrawBackgroundColor(Textdraw5,0x000000ff);
TextDrawFont(Textdraw5,1);
TextDrawLetterSize(Textdraw5,0.299999,0.899999);
TextDrawColor(Textdraw5,0xffff00ff);
TextDrawSetOutline(Textdraw5,1);
TextDrawSetProportional(Textdraw5,1);
}
}
}
Фун-ции форварды и new я не выкладывал. Вообщем вроде код всё правильный, но только 2 проблемы:
1) В здании текстдрав пропадает
2) Через некоторое время порестаёт обравлятся и превращается в обычный текст.(такое чуство как будто таймеры прекращают работать)

Добавлено (22.03.2008, 06:00)
---------------------------------------------
Незнаю даст тебе это что нибудь или нет, но вот смотри:
Когда я захожу под админом, пишу команду на хр и даю себе 100хр делаю это 3 раза после каждого смотрю на текстдрав- он обновляется т.е. всё работает правильно, но когдя я даю себе 100хр 4 раз, то всё после 4 раза текстдрав уже не обновляется и значение остаётся прежним, это закономерность, в чём может быть дело ???


- Social Roleplay - ucp.gtamir.ru - 77.220.182.241:7777
EKupДата: Суббота, 22.03.2008, 10:38 | Сообщение # 10
Освоившийся
Группа: Продвинутые
Сообщений: 75
Награды: 2
Город: Ульяновск
Репутация: 10
Замечания: 0%
Статус:
Я бы сделал что то вроде:
Code
new Text:tds3[MAX_PLAYERS];
new Text:tds4[MAX_PLAYERS];
new Text:tds5[MAX_PLAYERS];

public OnGameModeInit()
{
SetTimer("writeBank", 2000, 1);
SetTimer("writeLevel", 3000, 1);
SetTimer("writeXp", 1000, 1);
return 1;
}

public OnPlayerConnect(playerid)
{
     new str[32];
     //
     format(str,sizeof(str)," 6AHK:%d",Player[playerid][Bank]);
     tds3[playerid] = TextDrawCreate(212.000000,21.000000,str);
     TextDrawAlignment(tds3[playerid],0);
     TextDrawBackgroundColor(tds3[playerid],0x000000ff);
     TextDrawFont(tds3[playerid],2);
     TextDrawLetterSize(tds3[playerid],0.299999,1.300000);
     TextDrawColor(tds3[playerid],0x00ff00cc);
     TextDrawSetOutline(tds3[playerid],1);
     TextDrawSetProportional(tds3[playerid],1);
     TextDrawSetShadow(tds3[playerid],1);
     TextDrawShowForPlayer(playerid,tds3[playerid]);
     //
     format(str,sizeof(str),"level:%d",Player[playerid][Level]);
     tds4[playerid] = TextDrawCreate(321.000000,22.000000,str);
     TextDrawAlignment(tds4[playerid],0);
     TextDrawBackgroundColor(tds4[playerid],0x000000ff);
     TextDrawFont(tds4[playerid],2);
     TextDrawLetterSize(tds4[playerid],0.299999,1.000000);
     TextDrawColor(tds4[playerid],0xffffffff);
     TextDrawSetOutline(tds4[playerid],1);
     TextDrawSetProportional(tds4[playerid],1);
     TextDrawSetShadow(tds4[playerid],1);
     TextDrawShowForPlayer(playerid,tds4[playerid]);
     //
     format(str,sizeof(str),"XP:%d",Player[playerid][XP]);
     tds5[playerid] = TextDrawCreate(321.000000,21.000000,str);
     TextDrawAlignment(tds5[playerid],0);
     TextDrawBackgroundColor(tds5[playerid],0x000000ff);
     TextDrawFont(tds5[playerid],1);
     TextDrawLetterSize(tds5[playerid],0.299999,0.899999);
     TextDrawColor(tds5[playerid],0xffff00ff);
     TextDrawSetOutline(tds5[playerid],1);
     TextDrawSetProportional(tds5[playerid],1);
     TextDrawShowForPlayer(playerid,tds5[playerid]);
}

public OnPlayerDisconnect(playerid, reason)
{
     TextDrawHideForPlayer(playerid, tds5[playerid]);
     TextDrawHideForPlayer(playerid, tds4[playerid]);
     TextDrawHideForPlayer(playerid, tds3[playerid]);
     TextDrawDestroy(tds5[playerid]);
     TextDrawDestroy(tds4[playerid]);
     TextDrawDestroy(tds3[playerid]);
}

public writeBank()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
    new str[32];
    format(str,sizeof(str)," 6AHK:%d",Player[i][Bank]);
    TextDrawHideForPlayer(i, tds3[i]);
    TextDrawSetString(tds3[i], str);
    TextDrawShowForPlayer(i,tds3[i]);
}
}
}
public writeLevel()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
    new str[32];
    format(str,sizeof(str),"level:%d",Player[i][Level]);
    TextDrawHideForPlayer(i, tds4[i]);
    TextDrawSetString(tds4[i], str);
    TextDrawShowForPlayer(i,tds4[i]);
}
}
}
public writeXp()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
    new str[32];
    format(str,sizeof(str),"XP:%d",Player[i][XP]);
    TextDrawHideForPlayer(i, tds5[i]);
    TextDrawSetString(tds5[i], str);
    TextDrawShowForPlayer(i,tds5[i]);
}
}
}

код не проверял, возможны опечатки.
А вообще, имеет смысл не три текстдрава, а один на человека заводить. а чтоб в разных строках было, вставлять ~n~ - перенос строки



Текущая версия ERPG GM: 2.7.0 RC1(03.10.2009)
http://3val.ru/games/samp/changelistServ.php
raenДата: Суббота, 22.03.2008, 11:07 | Сообщение # 11
Уважаемый человек
Группа: Продвинутые
Сообщений: 785
Награды: 25
Город: PакунСити
Репутация: 154
Замечания: 20%
Статус:
Чёрт у меня почемуто васе текстдравы в куче теперь стоят, ставлю им прежние координаты, но нифига, они как были в одной куче так и остались, как им вернуть прежнее место ???

Насчёт таймера, помойму он уже работает норм и не останавлимвается


- Social Roleplay - ucp.gtamir.ru - 77.220.182.241:7777

Сообщение отредактировал raen - Суббота, 22.03.2008, 11:19
  • Страница 1 из 1
  • 1
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua