Re: Скриптинг курилка -
proSeryoga - 12.02.2013
Народ поглядите код пожалуйста
http://pastebin.com/QTUVsZ6m
Почему команды не пашут ?
пишу /ban 1 10 тест
а мне выдаёт в чат
/ban [ID игрока] [количество деней] [причина]
Re: Скриптинг курилка -
eakwarp - 12.02.2013
Quote:
Originally Posted by proSeryoga
Народ поглядите код пожалуйста
http://pastebin.com/QTUVsZ6m
Почему команды не пашут ?
пишу /ban 1 10 тест
а мне выдаёт в чат
/ban [ID игрока] [количество деней] [причина]
|
new giveplayerid, days, text
[255], ip[32], date[32], unbandate;
if(sscanf(params, "uds
[255]", giveplayerid, days, text))
Re: Скриптинг курилка -
proSeryoga - 12.02.2013
Всё равно пишет /ban [ID игрока] [количество деней] [причина]
Re: Скриптинг курилка -
eakwarp - 12.02.2013
Quote:
Originally Posted by proSeryoga
Всё равно пишет /ban [ID игрока] [количество деней] [причина]
|
Значит следует уменьшить размер массива text.
Re: Скриптинг курилка -
Dreik - 12.02.2013
Quote:
Originally Posted by Nikid
В коде
|
Это понятно. Хе-хе.
Вроде ничего особенного нет. Выхожу из режима спектатора, как написал выше, при нажатии на текстдрав созданный для игрока:
Код HTML:
public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
{
if(playertextid == Launcher[playerid][Login])
{
CancelSelectTextDraw(playerid);
TogglePlayerSpectating(playerid,0);
}
return 1;
}
И далее меня кикает с сервера. Ранее на 0.3e версии такого не было, когда реализовывал подобную систему, но с глобальными текстдравами. А тут начал писать на 0.3x и такая вот досада.
Re: Скриптинг курилка -
Stepashka - 12.02.2013
Quote:
Originally Posted by Dreik
Это понятно. Хе-хе.
Вроде ничего особенного нет. Выхожу из режима спектатора, как написал выше, при нажатии на текстдрав созданный для игрока:
Код HTML:
public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
{
if(playertextid == Launcher[playerid][Login])
{
CancelSelectTextDraw(playerid);
TogglePlayerSpectating(playerid,0);
}
return 1;
}
И далее меня кикает с сервера. Ранее на 0.3e версии такого не было, когда реализовывал подобную систему, но с глобальными текстдравами. А тут начал писать на 0.3x и такая вот досада.
|
Может причина вообще не тут, когда вы выходите из спектра срабатывает как минимум 3 события?!
Re: Скриптинг курилка -
Nikid - 13.02.2013
У меня в моде при использовании
CancelSelectTextDraw(playerid); Вылазит весь текстдрав созданный через:
TextDrawCreate. Я добавлял
TextDrawHideForPlayer, TextDrawHideForAll все равно появляются, добавлял до и после
CancelSelectTextDraw(playerid); толку 0. Если убрать
CancelSelectTextDraw(playerid); работает все отлично. Это баг данной функции или что?
Re: Скриптинг курилка -
kamilot73 - 13.02.2013
Ребят, в каких случаях может не срабатывать
OnPlayerKeyStateChange ( в авто )? Категорически не хочет брать Клавиши - KEY_WALK и KEY_SPRINT
Код:
if(newkeys & KEY_WALK)
{
if(GetPlayerState(playerid) == PlAYER_STATE_DRIVER)
{
new en,li,al,doors,bon,boot,ob;
new veh = GetPlayerVehicleID(playerid);
GetVehicleParamsEx(veh,en,li,al,doors,bon,boot,ob);
if(Cardvig[veh][1] == 0) {SetVehicleParamsEx(veh,en,1,al,doors,bon,boot,ob);Cardvig[veh][1] = 1;}
else if(Cardvig[veh][1] == 1) {SetVehicleParamsEx(veh,en,0,al,doors,bon,boot,ob);Cardvig[veh][1] = 0;}
}
Может где рука скривила?
P.S. Делал подобное шаманство:
Код:
if(newkeys & KEY_WALK)
{
printf("Test 1!");
if(IsPlayerInAnyVehicle(playerid))
{
printf("Test 2!");
new en,li,al,doors,bon,boot,ob;
new veh = GetPlayerVehicleID(playerid);
GetVehicleParamsEx(veh,en,li,al,doors,bon,boot,ob);
if(Cardvig[veh][1] == 0) {SetVehicleParamsEx(veh,en,1,al,doors,bon,boot,ob);Cardvig[veh][1] = 1;}
else if(Cardvig[veh][1] == 1) {SetVehicleParamsEx(veh,en,0,al,doors,bon,boot,ob);Cardvig[veh][1] = 0;}
return 1;
}
итог: ON_FOOT => Тест 1 замечательно проходит , 2ой и не должен. А вот с Водилой траблы. Даже 1ая проверка не проходит.
Re: Скриптинг курилка -
Stepashka - 13.02.2013
Quote:
Originally Posted by kamilot73
Ребят, в каких случаях может не срабатывать OnPlayerKeyStateChange ( в авто )? Категорически не хочет брать Клавиши - KEY_WALK и KEY_SPRINT
Код:
if(newkeys & KEY_WALK)
{
if(GetPlayerState(playerid) == PlAYER_STATE_DRIVER)
{
new en,li,al,doors,bon,boot,ob;
new veh = GetPlayerVehicleID(playerid);
GetVehicleParamsEx(veh,en,li,al,doors,bon,boot,ob);
if(Cardvig[veh][1] == 0) {SetVehicleParamsEx(veh,en,1,al,doors,bon,boot,ob);Cardvig[veh][1] = 1;}
else if(Cardvig[veh][1] == 1) {SetVehicleParamsEx(veh,en,0,al,doors,bon,boot,ob);Cardvig[veh][1] = 0;}
}
Может где рука скривила?
|
Документация для кого?
Key_List
Если вы не заметили, но напротив
KEY_WALK в столбике
Key invehicle стоит прочерк, что говорит нам -
данное событие в машине не вызывается!
Напротив
KEY_SPRINT стоит
VEHICLE_ACCELERATE и клавиша по умолчанию
W.
Начните уже внимательно изучать документацию!
Re: Скриптинг курилка -
kamilot73 - 13.02.2013
Quote:
Originally Posted by Stepashka
Документация для кого?
Key_List
Если вы не заметили, но напротив KEY_WALK в столбике Key invehicle стоит прочерк, что говорит нам - данное событие в машине не вызывается!
Напротив KEY_SPRINT стоит VEHICLE_ACCELERATE и клавиша по умолчанию W.
Начните уже внимательно изучать документацию!
|
Благодарю.)
Re: Скриптинг курилка -
GameMan - 13.02.2013
По совету на данном форуме я установил инклуд mxDate и вроде бы как должен был решить свою проблему. Но не тут то было.
После проверки функции date:
Код:
print(date("%dd/%mm/%yyyy %hh:%ii:%ss", gettime()));
Мне показало не 12/02/2013 22:06:27, а аж 13/02/2013 11:06:27
В чем может быть проблема?
http://pastebin.com/Q2G8H0Nf
Re: Скриптинг курилка -
Stepashka - 13.02.2013
Quote:
Originally Posted by GameMan
По совету на данном форуме я установил инклуд mxDate и вроде бы как должен был решить свою проблему. Но не тут то было.
После проверки функции date:
Код:
print(date("%dd/%mm/%yyyy %hh:%ii:%ss", gettime()));
Мне показало не 12/02/2013 22:06:27, а аж 13/02/2013 11:06:27
В чем может быть проблема?
http://pastebin.com/Q2G8H0Nf
|
не надо дублировать свои сообщения!
И вам уже ответили:
http://forum.sa-mp.com/showpost.php?...1&postcount=88
Re: Скриптинг курилка -
GameMan - 13.02.2013
Quote:
Originally Posted by Stepashka
|
Простите, что повторился... Просто там я ошибся темой.
Как я понял, проблема в том инклуде в смещении времени каждый год... Придется каждый год править смещение
pawn Код:
stock timestamp_to_date
(
unix_timestamp = 0,
& year = 1970, & month = 1, & day = 1,
& hour = 0, & minute = 0, & second = 0
)
{
year = unix_timestamp / 31557600;
unix_timestamp -= year * 31557600;
year += 1970;
if ( year % 4 == 0 ) unix_timestamp -= 21600;
day = unix_timestamp / 86400;
switch ( day )
{
// в second будет временно хранится число месяца
case 0..30 : { second = day; month = 1; }
case 31..58 : { second = day - 31; month = 2; }
case 59..89 : { second = day - 59; month = 3; }
case 90..119 : { second = day - 90; month = 4; }
case 120..150 : { second = day - 120; month = 5; }
case 151..180 : { second = day - 151; month = 6; }
case 181..211 : { second = day - 181; month = 7; }
case 212..242 : { second = day - 212; month = 8; }
case 243..272 : { second = day - 243; month = 9; }
case 273..303 : { second = day - 273; month = 10; }
case 304..333 : { second = day - 304; month = 11; }
case 334..366 : { second = day - 334; month = 12; }
}
unix_timestamp -= day * 86400;
hour = unix_timestamp / 3600;
unix_timestamp -= hour * 3600;
minute = unix_timestamp / 60;
unix_timestamp -= minute * 60;
day = second + 1;
second = unix_timestamp;
}
Есть еще идея рассчитывать циклом, но это займет слишком много времени.
У кого какие идеи?
Re: Скриптинг курилка -
Dreik - 13.02.2013
Quote:
Originally Posted by Stepashka
Может причина вообще не тут, когда вы выходите из спектра срабатывает как минимум 3 события?!
|
Степаша, можете пожалуйста поподробнее, немного не понял суть. Благодарю.
Re: Скриптинг курилка -
Alexander_Petrov - 13.02.2013
Quote:
Originally Posted by Dreik
Степаша, можете пожалуйста поподробнее, немного не понял суть. Благодарю.
|
OnPlayerStateChange, OnPlayerSpawn...
Re: Скриптинг курилка -
kamilot73 - 13.02.2013
Вот такой вопрос: SQLite или Mysql ? Что лучше приживается? и что посоветуете Вы.Спасибо.
Re: Скриптинг курилка -
AirKite - 13.02.2013
SQlite это файловая система. Почти тот же MySQL но не требующий отдельного сервера и подключений (работает ЗНАЧИТЕЛЬНО
медленнее).
Если стоит выбор между SQlite и MySQL но вы не знаете что выбрать. Выбор очевиден. MySQL!!!
Re: Скриптинг курилка -
hub4 - 13.02.2013
интервал между срабатываниями 1000ms таймера в 1200 тиков - эт как понимать?
вообще это расхождение от чего то зависит?
Re: Скриптинг курилка -
Dreik - 14.02.2013
Quote:
Originally Posted by Alexander_Petrov
OnPlayerStateChange, OnPlayerSpawn...
|
Я пишу игровой режим с нуля и эти колбеки на данный момент абсолютно пусты.
Re: Скриптинг курилка -
eakwarp - 14.02.2013
Quote:
Originally Posted by kamilot73
Вот такой вопрос: SQLite или Mysql ? Что лучше приживается? и что посоветуете Вы.Спасибо.
|
MsSQL.