Topic: опять левел
а можно убрат левел тоист только рисунок оставит можно?
на пример вот так:
чтоби не показал левели?
1 day, 1 hour and 25 minutes after:
Пожалуста помогите или закривайте тему
PvPGN Community Forums |
forums.pvpgn.pro → [RU] The Source Code → опять левел
а можно убрат левел тоист только рисунок оставит можно?
на пример вот так:
чтоби не показал левели?
1 day, 1 hour and 25 minutes after:
Пожалуста помогите или закривайте тему
Можно изменить временно через команду /flag. Но при перезаходе пользователя на сервер левел снова будет отображаться.
Как сделать чтоб LVL рядом с иконкой был нивидим?
только без участия /flag итд, чтоб для всех нивидим,есть ли такая функция в conf?
странно почему в ICCUPe нету лвл'a чистая иконка
Может потому что у них нету пвп игр вообще? сервер по доте
зато картинка меняется спокойно)
19 seconds after:
а на обычном PVPGN пока 1 лвл не наберешь картинку не сменишь TT
50 minutes after:
а можно чтоб игры созданые через значек "карта" aka custom game считалась ладерной? чтоб за нее тоже лвл прибавлялся
а можно чтоб игры созданые через значек "карта" aka custom game считалась ладерной? чтоб за нее тоже лвл прибавлялся
Нет forums.harpywar.com/viewtopic.php?id=447
и что неужели нельзя чтоб иконку можно было поставить и она отображалась, без нужды в одну победу или поражение
11 seconds after:
Можно, но нужно будет сервер пересобирать.
Пересобирать это как?
Распиши пожалуйста как это сделать,очень нужно))
1 day, 9 hours and 58 minutes after:
Mania где ты 2й день ответа жду..
1 day, 9 hours and 58 minutes after:
мне оч надо этот lvl спрятать..
TyMaH, пересобирать = перекомпилировать. Это не проблема, но, прежде чем пересобирать, надо писать код для добавления необходимого тебе функционала. По всей видимости, за тебя это делать никто не будет.
ясно,я думал готовый код есть(
насчет Harpywar не согласен на war.livezone.uz уже сделали их уровень можете узнать заходя в его/ее профиль а на канале не можете
врядли они скажут как это сделать)
проблема в исходниках или на базе данных? жду новости Если исходниках то найду
насчет Harpywar не согласен на war.livezone.uz уже сделали их уровень можете узнать заходя в его/ее профиль а на канале не можете
Я к нему и подключиться то не могу
C:\Users\HarpyWar>telnet 89.236.194.234 6112
Подключение к 89.236.194.234...Не удалось открыть подключение к этому узлу, на п
орт 6112: Сбой подключения
А насчет чего ты не согласен, что не в коде это изменяется?
Доступ на внешку закрыта там. По этому не можешь подкл
Вот я уже нашол но с багам. когда создаю клан сразу ошибку видает
ошибку создания клана или pvpgn падает?
PVPGN конешна. Ну у меня ошибка вот такая: когда создаю клан всё в норме (в этой время у меня било капшон (иконка). вот когда я зайду к свой сервер она работает но когда вийду на основной канал (на пример: warcraft 3 frozen throne) тогда ошибка поевился кароче
4 days, 2 hours and 57 minutes after:
Все у меня получился!
Zikoi5, так поделись, какой код надо изменять. Или сразу патч приложи.
Zikoi5, так поделись, какой код надо изменять. Или сразу патч приложи.
HarpyWar wrote:Zikoi5, так поделись, какой код надо изменять. Или сразу патч приложи.
ты бы на русском написал тут как и что делать(Не все инглишь знают)...
ололо эт ж моя тема)))
MusicDemon
Re: Help in configuration..
« Reply #17 on: June 12, 2011, 05:00:08 pm »Get on TeamViewer, you got 'till 00;00. PM me.
Zikoi5
Re: Help in configuration..
« Reply #18 on: June 12, 2011, 05:32:38 pm »THANK YOU VERY MUCH YOU ARE BEST HERO IN THE WORLD!
И где там код?
нужно попросить через тим вьювер настроить за тебя все это код))
Судя по сообщениям темы по той ссылке, нужно удалить блок else из функции conn_update_w3_playerinfo(t_connection * c) в файле connection.c.
При нулевом левле уровень не показывается, в противном случае показывается. Поэтому, достаточно изменить
if(acctlevel == 0) {
на
if(acctlevel >= 0) {
А можно по другому? на пример: я хочу без левел а осталним с левелам? кому как хочется
Zikoi5, вот ты такой классный парень я гляжу, сам кодом делится не захотел когда тебя просили, мотивируя тем что ты сам без знания с++ бла бла и сервак себе перевел, команды добавил, и лвл убрал(не без помощи супортеров пвпгн.орг и харпивар.ком) а сам хочешь дабы тебе помогали и делились информацией. имхо не красиво
согласен на 100% +++
Я никогда не буду поделитса на форуме! Если попрасил бы по лс я тебе раскрил все. Но тут сидить и наш конкуренти, на пример giotto!
Я никогда не буду поделитса на форуме! Если попрасил бы по лс я тебе раскрил все. Но тут сидить и наш конкуренти, на пример giotto!
Для меня никто на узнете не конкурент, так что мне по барабану! Если для тебя я конкурент мне даже приятно!
Zikoi5, я тебя понимаю, но ты ошибаешься.
Я в свое время нашел D2GS v1.11 на китайском форуме - на тот момент Marsgod его только-только сделал, и никто о нем не знал. Ну я сразу же поставил его на свой сервак. Затем мне писали админы с алькара и с плейграунда, с просьбой выложить эту чудо-версию (D2GS не развивался 5 лет), но я их проигнорировал, и по-сути ничего не выиграл. Игроков сколько было, столько и осталось.
Спустя несколько месяцев этот D2GS распространился из других источников.
Когда ты сделал что-то новое, ты все-равно на шаг впереди всех своих конкурентов, и не стоит бояться, что это кто-то скопирует.
Если хочешь для разных плееров свои левлы, то делай сравнение по ID аккаунта, в той же функции. ID аккаунта можно найти в базе данных.
Примерный код:
// объявление переменной для id юзера
unsigned int userid;
// получаем id юзера из текущего соединения (c)
userid = conn_get_userid(c);
// левел не отображается,
// если он больше или равен 0, и если юзер id = 123, 1234 или 12345
if ( (acctlevel >= 0) && (userid == 123 || userid == 1234 || userid == 12345) )
{
...
}
// в других случаях левел отображается
else
{
...
}
В код прошивать ид - это сурово.
Можно из файла читать, конечно. Но нужно сперва разобраться как подгружаются конфиги и сделать так же, чтобы каждый раз не дергать файл.
че та не получается
extern int conn_update_w3_playerinfo(t_connection * c)
{
t_account * account;
t_clienttag clienttag;
t_clan * user_clan;
int clantag=0;
unsigned int acctlevel;
unsigned int userid;
char tempplayerinfo[40];
char raceicon; /* appeared in 1.03 */
unsigned int raceiconnumber;
unsigned int wins;
char const * usericon;
char clantag_str_tmp[5];
const char * clantag_str = NULL;
char revtag[5];
char clienttag_str[5];
userid = conn_get_userid(c);
if (c == NULL) {
eventlog(eventlog_level_error, __FUNCTION__, "got NULL connection");
return -1;
}
account = conn_get_account(c);
if (account == NULL) {
eventlog(eventlog_level_error, __FUNCTION__, "got NULL account");
return -1;
}
clienttag = c->protocol.client.clienttag;
if (!((clienttag==CLIENTTAG_WARCRAFT3_UINT) ||
(clienttag==CLIENTTAG_WAR3XP_UINT))){
return 0;
}
std::strncpy(revtag, tag_uint_to_str(clienttag_str,conn_get_fake_clienttag(c)),5); revtag[4] = '\0';
strreverse(revtag);
acctlevel = account_get_highestladderlevel(account,clienttag);
account_get_raceicon(account, &raceicon, &raceiconnumber, &wins, clienttag);
if((user_clan = account_get_clan(account)) != NULL)
clantag = clan_get_clantag(user_clan);
if(clantag) {
std::sprintf(clantag_str_tmp, "%c%c%c%c", clantag&0xff, (clantag>>8)&0xff, (clantag>>16)&0xff, clantag>>24);
clantag_str=clantag_str_tmp;
while((* clantag_str) == 0) clantag_str++;
}
if(acctlevel >= 0) && (userid == 1544) {
if(clantag)
std::sprintf(tempplayerinfo, "%s %s 0 %s", revtag, revtag, clantag_str);
else
std::strcpy(tempplayerinfo, revtag);
eventlog(eventlog_level_info,__FUNCTION__,"[%d] %s",conn_get_socket(c), revtag);
} else {
usericon = account_get_user_icon(account,clienttag);
if (!usericon) {
if(clantag)
std::sprintf(tempplayerinfo, "%s %1u%c3W %u %s", revtag, raceiconnumber, raceicon, acctlevel, clantag_str);
else
std::sprintf(tempplayerinfo, "%s %1u%c3W %u", revtag, raceiconnumber, raceicon, acctlevel);
eventlog(eventlog_level_info,__FUNCTION__,"[%d] %s using generated icon [%1u%c3W]",conn_get_socket(c), revtag, raceiconnumber, raceicon);
} else {
if(clantag)
std::sprintf(tempplayerinfo, "%s %s %u %s",revtag, usericon, acctlevel, clantag_str);
else
std::sprintf(tempplayerinfo, "%s %s %u",revtag, usericon, acctlevel);
eventlog(eventlog_level_info,__FUNCTION__,"[%d] %s using user-selected icon [%s]",conn_get_socket(c),revtag,usericon);
}
}
conn_set_w3_playerinfo( c, tempplayerinfo );
return 0;
}
Можно из файла читать, конечно.
Лучше параметр через /set. Файл и то лучше, перекомпилировать сервак после каждого изменения это лол.
Лучше параметр через /set. Файл и то лучше, перекомпилировать сервак после каждого изменения это лол.
а можеш подробнее про /set?
Читаешь параметр, так же как и остальные в коде. А писаться он будет через сет. Поищи например fakeclienttag.
Так нельзя
... if(acctlevel >= 0) && (userid == 1544) { ...
Нужно чтобы всё условие было в скобках
if ( (acctlevel >= 0) && (userid == 1544) ) {
Через /set ничем не лучше, имхо, каждый раз после перезапуска сервера нужно будет вводить иды.
Можно через command groups сделать, левел не показывать у того, у кого полные cg
usergroups = account_get_command_groups(account);
if ( usergroups == 12345678 )
Другой вариант, в бд у юзера создать новое поле типа bool, но это всё просто разные типы хранения. Я так понял, ему только у себя не хочется показывать лвл.
Спасибо!
Если редактируете код - используйте нормальную IDE, там ошибки сразу видно. magic builder только для компиляции готовых исходников, как замена make под юниксами.
Алсо если уж прописывать в коде, то хоть сделать константой.
15 hours, 34 minutes and 43 seconds after:
Через /set ничем не лучше, имхо, каждый раз после перезапуска сервера нужно будет вводить иды.
set сохраняет в базе.
чета хреного)) сорри Харпивар но тупо написана этот код или я неверно писал. Короче сделал как ты написал
if ( (acctlevel >= 0) && (userid == 1544) ) {
но почему то левел исчезло ок но рисунок тож пропала и еще можно ли сделат чтоби не cмогли зайти на мой профил? как в "/tag chat" ?
18 hours, 14 minutes and 32 seconds after:
Харпивар где ты? Сорри если офф топик
Ну я код не тестировал, попробуй так
if(acctlevel == 0) {
if(clantag)
sprintf(tempplayerinfo, "%s %s 0 %s", revtag, revtag, clantag_str);
else
strcpy(tempplayerinfo, revtag);
eventlog(eventlog_level_info,__FUNCTION__,"[%d] %s",conn_get_socket(c), revtag);
} else {
usericon = account_get_user_icon(account,clienttag);
if (!usericon) {
// показывать левел у всех, кроме юзера 1544
if (userid != 1544) {
if(clantag)
sprintf(tempplayerinfo, "%s %1u%c3W %u %s", revtag, raceiconnumber, raceicon, acctlevel, clantag_str);
else
sprintf(tempplayerinfo, "%s %1u%c3W %u", revtag, raceiconnumber, raceicon, acctlevel);
eventlog(eventlog_level_info,__FUNCTION__,"[%d] %s using generated icon [%1u%c3W]",conn_get_socket(c), revtag, raceiconnumber, raceicon);
}
} else {
if(clantag)
sprintf(tempplayerinfo, "%s %s %u %s",revtag, usericon, acctlevel, clantag_str);
else
sprintf(tempplayerinfo, "%s %s %u",revtag, usericon, acctlevel);
eventlog(eventlog_level_info,__FUNCTION__,"[%d] %s using user-selected icon [%s]",conn_get_socket(c),revtag,usericon);
}
}
3Dmonster wrote:насчет Harpywar не согласен на war.livezone.uz уже сделали их уровень можете узнать заходя в его/ее профиль а на канале не можете
Я к нему и подключиться то не могу
C:\Users\HarpyWar>telnet 89.236.194.234 6112 Подключение к 89.236.194.234...Не удалось открыть подключение к этому узлу, на п орт 6112: Сбой подключения
А насчет чего ты не согласен, что не в коде это изменяется?
Доступа нету из вне, а так мою асю то знаешь, стучи когда хочешь, покажу всё что захочешь
Спасибо! Но ты забыль это:
int usergroups
usergroups = account_get_command_groups(account);
if ( usergroups == 12345678 )
Спасибо! Но ты забыль это:
int usergroups
usergroups = account_get_command_groups(account);
if ( usergroups == 12345678 )
сам додумалсО?
теперь да
теперь да
гратц
Без вашей помощи я к свою не добывался)
Добавлено: 09.05.2012 00:32
Zikoi5, вот ты такой классный парень я гляжу, сам кодом делится не захотел когда тебя просили, мотивируя тем что ты сам без знания с++ бла бла и сервак себе перевел, команды добавил, и лвл убрал(не без помощи супортеров пвпгн.орг и харпивар.ком) а сам хочешь дабы тебе помогали и делились информацией. имхо не красиво
Да ты прав, но здесь сидять и мои конкуренты. И тот время я боялся что вдруг они откроют свою сервер, и даже они открыли все наши адеквати туда перешли, и в итоге на нашем сервере осталось мало людей, мне не жалко поделится, хотя я уже сам сделаю что меня нужно СПАСИБО что помогал Харпивар в начинаний этих дел, искринна что могу сказать тебе, раз ты сам не помогал мне то ЗАТКИНИСЬ!
Автору поста выше следовало-бы для начала выучить русский язык и потом вонять своими нравоучениями. Конечно все адеквати перейдут к твоим конкурентам, один ты неадекват останешься на своем серваке.
сделал как написал харпи, уровень исчез, но если поставить иконку через /set name Record\W3XP\Userselected_icon CODE, иконка не показывается. Стоит вся та же иконка frozen throne которая стоит по умолчанию. Как исправить?
а я должен чтоли? нельзя ли просит нежно?
нужно проста изменить значение на 1 и всё.
к примеру:
connection.cpp
было:
if (acctlevel != 0)
стало:
if (acctlevel >= 1)
и еще скомментировать это:
else
std::strcpy(tempplayerinfo, clantag_str);
и я надеюсь ты меня понял.
Спасибо конечно за твой ответ, от тебя лично не ожидал.
Но вот я никак не нашел std::strcpy(tempplayerinfo, clantag_str);
Может быть подтолкнешь и покажешь где же это?
connection.cpp а где это файл?
от MusicDemon к примеру:
extern int conn_update_w3_playerinfo(t_connection * c)
{
t_account * account;
t_clienttag clienttag;
t_clan * user_clan;
int clantag=0;
unsigned int acctlevel;
char tempplayerinfo[40];
char raceicon; /* appeared in 1.03 */
unsigned int raceiconnumber = 0;
unsigned int wins = 0;
char const * usericon;
char clantag_str_tmp[5];
const char * clantag_str = NULL;
char revtag[5];
char clienttag_str[5];
if (c == NULL) {
eventlog(eventlog_level_error, __FUNCTION__, "got NULL connection");
return -1;
}
account = conn_get_account(c);
if (account == NULL) {
eventlog(eventlog_level_error, __FUNCTION__, "got NULL account");
return -1;
}
clienttag = c->protocol.client.clienttag;
if (!((clienttag==CLIENTTAG_WARCRAFT3_UINT) ||
(clienttag==CLIENTTAG_WAR3XP_UINT))){
return 0;
}
std::strncpy(revtag, tag_uint_to_str(clienttag_str,conn_get_fake_clienttag(c)),5); revtag[4] = '\0';
strreverse(revtag);
acctlevel = account_get_highestladderlevel(account,clienttag);
account_get_raceicon(account, &raceicon, &raceiconnumber, &wins, clienttag);
if((user_clan = account_get_clan(account)) != NULL)
clantag = clan_get_clantag(user_clan);
if(clantag) {
std::sprintf(clantag_str_tmp, "%c%c%c%c", clantag&0xff, (clantag>>8)&0xff, (clantag>>16)&0xff, clantag>>24);
clantag_str=clantag_str_tmp;
while((* clantag_str) == 0) clantag_str++;
}
/* MusicDemon: Change the default icon to Peon instead of Warcraft. */
if(acctlevel == 0) {
if(clantag)
std::sprintf(tempplayerinfo, "%s 1H3W 0 %s", revtag, clantag_str); //std::sprintf(tempplayerinfo, "%s %s 0 %s", revtag, revtag, clantag_str);
else
std::sprintf(tempplayerinfo, "%s 1H3W 0", revtag); //std::strcpy(tempplayerinfo, revtag);
eventlog(eventlog_level_info,__FUNCTION__,"[%d] %s",conn_get_socket(c), revtag);
}
else
{
usericon = account_get_user_icon(account,clienttag);
if (!usericon)
{
if(clantag)
std::sprintf(tempplayerinfo, "%s %1u%c3W %u %s", revtag, raceiconnumber, raceicon, acctlevel, clantag_str);
else
std::sprintf(tempplayerinfo, "%s %1u%c3W %u", revtag, raceiconnumber, raceicon, acctlevel);
eventlog(eventlog_level_info,__FUNCTION__,"[%d] %s using generated icon [%1u%c3W]",conn_get_socket(c), revtag, raceiconnumber, raceicon);
}
else
{
if(clantag)
std::sprintf(tempplayerinfo, "%s %s %u %s",revtag, usericon, acctlevel, clantag_str);
else
std::sprintf(tempplayerinfo, "%s %s %u",revtag, usericon, acctlevel);
eventlog(eventlog_level_info,__FUNCTION__,"[%d] %s using user-selected icon [%s]",conn_get_socket(c),revtag,usericon);
}
}
conn_set_w3_playerinfo( c, tempplayerinfo );
return 0;
}
forums.pvpgn.pro → [RU] The Source Code → опять левел