Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

[ROZWIĄZANE] Problem z pluginem - SQL error


  • Zamknięty Temat jest zamknięty
14 odpowiedzi w tym temacie

#1 Vakos

    Wszechwidzący

  • Użytkownik

Reputacja: 57
Pomocny

  • Postów:266
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Opolskie
Offline

Napisano 15.07.2018 15:37

Otóż wyskakuje mi taki error:

[deathrun_stats.amxx] SQL error: Incorrect datetime value: '' for column 'recorddate' at row 1

Ktoś wie o co chodzi i jak go zlikwidować? 


  • +
  • -
  • 0

#2 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 15.07.2018 16:07

a podaj mu NULL zamiast ''

 

ewentualnie wklej kod 


  • +
  • -
  • 0

#3 Vakos

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 57
Pomocny

  • Postów:266
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Opolskie
Offline

Napisano 15.07.2018 18:14

a podaj mu NULL zamiast ''

 

Gdzie mam to dokładnie dać?

Chodzi o to?:

getFormatedTime(iTime, szTime[], size){ formatex(szTime, size, "%d:%02d.%03ds", iTime/60000, (iTime/1000)%60, iTime%1000); }

  • +
  • -
  • 0

#4 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 15.07.2018 19:17

Generalnie ten error jest gdzies w zaptaniu do bazy.

 

pokaz jak tworzona jest baza + jak są dodawane dane do niej.

Najlepiej by było jakbys załączył .sma


  • +
  • -
  • 0

#5 Vakos

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 57
Pomocny

  • Postów:266
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Opolskie
Offline

Napisano 15.07.2018 20:44

SMA:

 

#include
#include
#include
#include
#include
#include
#include
#include
#include

#define PLUGIN "Deathrun Stats"
#define VERSION "0.6"
#define AUTHOR "R3X"

new gszChatPrefix[32];
new gszTop15Redirect[128];

new gszMotd[1024];

new gszMapname[64];
new gMid


#pragma unused giGames
new giGames; //Poki co nie uzywana zmienna


new gszQuery[512];
new Handle:gTuple;

new gbAuthorized[33];
new giPid[33];

new giPlayedTime[33];
new giBestTime[33];
new giPlayedGames[33];
new giDeaths[33];
new gszRecordTime[33][32];
new giBestTimeofMap;

new Float:gfLastInfo[33];
new Float:gfStartRun[33];
new giLastTime[33];
new bool:gbFinished[33];

new gEntFinish = 0;
new bool:gbEntityMoved = false;

new gcvarSave, gcvarTimer, gcvarTimerType, gcvarDrawFinish;
new gcvarPrintResult;
new gcvarRoundTime;

new Float:gfEndRoundTime;
new giMaxPlayers;

new gsprite;

getFormatedTime(iTime, szTime[], size){
formatex(szTime, size, "%d:%02d.%03ds", iTime/60000, (iTime/1000)%60, iTime%1000);
}

#include "drstats/db.inl"
#include "drstats/sqlite.inl"
#include "drstats/mysql.inl"

#include "drstats/finish.inl"
#include "drstats/stats.inl"

public plugin_init() {
state mysql;

register_plugin(PLUGIN, VERSION, AUTHOR);
register_dictionary("deathrun_stats.txt");

register_cvar("amx_drstats_host", "");
register_cvar("amx_drstats_user", "");
register_cvar("amx_drstats_pass", "");
register_cvar("amx_drstats_db", "");

gcvarSave = register_cvar("amx_drstats_save", "1");
gcvarTimer = register_cvar("amx_drstats_timer", "1");
gcvarTimerType = register_cvar("amx_drstats_timer_type", "0");
gcvarDrawFinish = register_cvar("amx_drstats_draw_finish", "1");

gcvarPrintResult = register_cvar("amx_drstats_print_result", "1");
//0-wcale
//1-HUD+konsola
//2-chat

gcvarRoundTime = get_cvar_pointer("mp_roundtime");

register_cvar("amx_drstats_chat_prefix", "[Speedrun]");
register_cvar("amx_drstats_top15_page", "");

register_logevent( "eventRoundEnd",2, "1=Round_End");
register_logevent( "eventRoundStart",2, "1=Round_Start");

register_forward(FM_PlayerPreThink, "fwPreThink", 1);
RegisterHam(Ham_Spawn, "player", "fwSpawn", 1);
register_touch(gszFinish, "player", "fwTouch");
register_touch("player", gszFinish, "fwTouch2");
register_think(gszFinish, "fwThink");

register_clcmd("dr_finish", "cmdFinish", ADMIN_CFG, ": spawn finish round");

register_fullclcmd("rank", "showRank");
register_fullclcmd("top15", "showTop15");

register_fullclcmd("last", "cmdLast");
register_fullclcmd("best", "cmdBest");

gfwCreateFinish = CreateMultiForward("fwFinishCreate", ET_STOP, FP_CELL, FP_ARRAY, FP_CELL);
gfwFinished = CreateMultiForward("fwPlayerFinished", ET_IGNORE, FP_CELL, FP_CELL, FP_CELL);
gfwStarted = CreateMultiForward("fwPlayerStarted", ET_IGNORE, FP_CELL);

giMaxPlayers = get_maxplayers();
}
public plugin_precache(){
gsprite = precache_model("sprites/white.spr");
}

public plugin_cfg(){
DB_Init();

get_cvar_string("amx_drstats_chat_prefix", gszChatPrefix, charsmax(gszChatPrefix));
get_cvar_string("amx_drstats_top15_page", gszTop15Redirect, charsmax(gszTop15Redirect));
}

public plugin_natives(){
register_library("DeathrunStats");
register_native("playerFinished", "_playerFinished", 1);
}
public _playerFinished(id){
fwFinished(id);
}
public plugin_end(){
if(gbEntityMoved)
saveFinishOrigin();
SQL_FreeHandle(gTuple);
}


public client_putinserver(id){
if(is_user_bot(id) || is_user_hltv(id))
return;

loadPlayerId(id);
}
public client_authorized_db(id, pid){
giPid[id] = pid;
gbAuthorized[id] = true;

giPlayedTime[id] = 0;
giBestTime[id] = 0;
giPlayedGames[id] = 0;
giDeaths[id] = 0;

loadRunnerData(id);
}
public client_connect(id){
gbAuthorized[id] = false;
giPid[id] = 0;
giLastTime[id] = 0;
}


public client_disconnect(id){
saveRunnerData(id);
}

getPlayerDeaths(id){
return giDeaths[id]+get_user_deaths(id);
}

getPlayedTime(id){
return giPlayedTime[id] + get_user_time(id, 1);
}

getRunningTime(id){
return floatround( (get_gametime()-gfStartRun[id])*1000, floatround_ceil);
}


public eventRoundStart(){
new Float:fRoundTime = get_pcvar_float(gcvarRoundTime)*60;
gfEndRoundTime = get_gametime()+fRoundTime;
}
public eventRoundEnd(){
for(new i=1;i<33;i++)
if(is_user_connected(i))
saveRunnerData(i);
}

public fwSpawn(id){
if(!is_user_alive(id) || !gbAuthorized[id])
return HAM_IGNORED;

if(!gEntFinish){
client_print(id, print_chat, "%L", id, "FINISH_NOT_EXISTS");
if(get_user_flags(id)&ADMIN_CFG)
client_print(id, print_chat, "%L", id, "BUT_YOU_CAN_SPAWN_IT");
}
gbFinished[id] = false;
gfStartRun[id] = -1.0;

if(cs_get_user_team(id) == CS_TEAM_CT){
gfStartRun[id] = get_gametime();

new iRet;
ExecuteForward(gfwStarted, iRet, id);
}

return HAM_IGNORED;
}
show_status(id, const szMsg[], any:...){
new szStatus[128];
vformat(szStatus, 127, szMsg, 3);

static msgStatusText=0;
if(!msgStatusText)
msgStatusText = get_user_msgid("StatusText");

message_begin(MSG_ONE_UNRELIABLE, msgStatusText, _, id);
write_byte(0);
write_string(szStatus);
message_end();
}
Send_RoundTime(id, iTime){
static msgRoundTime=0;
if(!msgRoundTime)
msgRoundTime = get_user_msgid("RoundTime");

message_begin(MSG_ONE_UNRELIABLE, msgRoundTime, _, id);
write_short(iTime);
message_end();
}
hideTime(id){
if(get_pcvar_num(gcvarTimerType)){
Send_RoundTime(id, floatround(gfEndRoundTime - get_gametime()));
}else{
show_status(id, "");
}
}
displayTime(id, iTime){
if(get_pcvar_num(gcvarTimerType)){
Send_RoundTime(id, iTime);
}else{
show_status(id, "%L: %d:%02ds", id, "WORD_TIME", iTime/60, iTime%60);
}
}
public fwPreThink(id){
if(!is_user_alive(id) || gfStartRun[id] <= 0.0)
return FMRES_IGNORED;

new iTimer = get_pcvar_num(gcvarTimer);
if(!iTimer)
return FMRES_IGNORED;

if(iTimer == 2 && !(pev(id, pev_button) & IN_SCORE)){
if(pev(id, pev_oldbuttons) & IN_SCORE)
hideTime(id);
return FMRES_IGNORED;
}

static Float:fNow;

if(!gbFinished[id]){
fNow = get_gametime();

if((fNow-gfLastInfo[id]) <= 0.5) return FMRES_IGNORED;

displayTime(id, getRunningTime(id) / 1000);
}
return FMRES_IGNORED;
}

public cmdBest(id){
if(!gbAuthorized[id]){
ColorChat(id, GREEN, "%s^x01 %L", gszChatPrefix, id, "NOT_AVAILABLE_NOW");
return PLUGIN_CONTINUE;
}

if(giBestTime[id] == 0)
ColorChat(id, GREEN, "%s^x01 %L", gszChatPrefix, id, "NEVER_REACH_FINISH");
else{
new szTime[32];
getFormatedTime(giBestTime[id], szTime, charsmax(szTime));
ColorChat(id, GREEN, "%s^x01 %L: ^x04 %s", gszChatPrefix, id, "YOUR_BEST_TIME", szTime);
}
return PLUGIN_CONTINUE;
}

public cmdLast(id){
if(!gbAuthorized[id]){
ColorChat(id, GREEN, "%s^x01 %L", gszChatPrefix, id, "NOT_AVAILABLE_NOW");
return PLUGIN_CONTINUE;
}

if(giLastTime[id] == 0)
ColorChat(id, GREEN, "%s^x01 %L", gszChatPrefix, id, "NEVER_REACH_FINISH");
else{
new szTime[32];
getFormatedTime(giLastTime[id], szTime, charsmax(szTime));
ColorChat(id, GREEN, "%s^x01 %L: ^x04 %s", gszChatPrefix, szTime, id, "YOUR_LAST_TIME", szTime);
}
return PLUGIN_CONTINUE;
}

printInfo(id, const szInfo[], ...){
new printResult = get_pcvar_num(gcvarPrintResult);
if(printResult == 0) return;

new szMsg[64];
vformat(szMsg, charsmax(szMsg), szInfo, 3);

if(printResult == 1){
show_dhudmessage(id, "%s", szMsg);
client_print(id, print_console, "%s", szMsg);
}
else if(printResult == 2){
ColorChat(id, GREEN, "%s^x01 %s", gszChatPrefix, szMsg);
}
}

public fwFinished(id){
if(!is_user_alive(id))
return;

new bool:record=false;

new iTime = getRunningTime(id);
giLastTime[id] = iTime;
gbFinished[id] = true;

new szTime[32];
getFormatedTime(iTime, szTime, charsmax(szTime));

set_dhudmessage(42, 43, 255, -1.0, 0.6, 1, 6.0, 5.0, 0.0, 0.0);
printInfo(id, "%L: %s", id, "RUNNING_TIME", szTime);

if(giBestTime[id] == 0){
set_dhudmessage(255, 42, 255, -1.0, 0.7, 0, 6.0, 5.0, 0.0, 0.0);
printInfo(id, "%L", id, "RUNNING_FIRST_FINISH");

saveRunnerData(id, iTime);
}
else if(giBestTime[id] > iTime){
getFormatedTime(giBestTime[id]-iTime, szTime, charsmax(szTime));

set_dhudmessage(255, 42, 42, -1.0, 0.7, 0, 6.0, 5.0, 0.0, 0.0);
printInfo(id, "%L: -%s!", id, "RUNNING_OWN_RECORD", szTime);

saveRunnerData(id, iTime);
}else if(giBestTime[id] < iTime){
getFormatedTime(iTime-giBestTime[id], szTime, charsmax(szTime));

set_dhudmessage(120, 120, 120, -1.0, 0.7, 0, 6.0, 5.0, 0.0, 0.0);
printInfo(id, "%L: +%s", id, "RUNNING_OWN_RECORD", szTime);
}else{
set_dhudmessage(42, 255, 42, -1.0, 0.7, 0, 6.0, 5.0, 0.0, 0.0);
printInfo(id, "%L", id, "RUNNING_OWN_RECORD_EQUAL");
}

if(giBestTimeofMap == 0 || giBestTimeofMap>iTime){
giBestTimeofMap = iTime;

new szName[32];
get_user_name(id, szName, 31);
set_dhudmessage(42, 255, 42, -1.0, 0.8, 2, 6.0, 5.0, 0.0, 0.0);

for(new i=1;i<=giMaxPlayers;i++)
if(is_user_connected(i))
printInfo(i, "%L", i, "RUNNING_MAP_RECORD_BREAK", szName);

record = true;
}
if(giBestTimeofMap != 0 && giBestTimeofMap new szTime[32];
getFormatedTime(iTime-giBestTimeofMap, szTime, 31);
set_dhudmessage(120, 120, 120, -1.0, 0.8, 2, 6.0, 5.0, 0.0, 0.0);

printInfo(id, "%L: +%s", id, "RUNNING_MAP_RECORD", szTime);
}
hideTime(id)

new iRet;
ExecuteForward(gfwFinished, iRet, id, iTime, record);
}
){


Użytkownik Vakos edytował ten post 15.07.2018 20:46

  • +
  • -
  • 0

#6 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 15.07.2018 21:37

Załącz całą paczkę wraz z plikami inl w tym kodzie nie ma zapisu
  • +
  • -
  • 0

#7 Vakos

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 57
Pomocny

  • Postów:266
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Opolskie
Offline

Napisano 16.07.2018 16:30

https://www36.zippys...FHDbO/file.html


  • +
  • -
  • 0

#8 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 17.07.2018 09:08

Potrafisz powiedzieć w którym momencie ten error wyskakuje?

 

Chodzi mi o konkretny moment typu: gracz wychodzi z servera, grasz ustanawia nowy rekord?


  • +
  • -
  • 0

#9 Vakos

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 57
Pomocny

  • Postów:266
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Opolskie
Offline

Napisano 17.07.2018 17:51

Potrafisz powiedzieć w którym momencie ten error wyskakuje?

 

Chodzi mi o konkretny moment typu: gracz wychodzi z servera, grasz ustanawia nowy rekord?

 

Szczerze? To trudno powiedzieć - error wyskakuje co kilka minut zazwyczaj.

Z tego co zaobserwowałem to zobaczyłem tak, że: jak admin wywalił gracza to pokazał się error, potem jak gracz opuścił serwer (ale to nie zawsze) 


  • +
  • -
  • 0

#10 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 17.07.2018 18:44

Skompiluj z tym plikiem i sprawdź

 

 


  • +
  • -
  • 0

#11 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 17.07.2018 19:29

@DarkGL

 

chyba pliku nie załączyłeś


  • +
  • -
  • 0

#12 Vakos

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 57
Pomocny

  • Postów:266
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Opolskie
Offline

Napisano 17.07.2018 20:13

Skompiluj z tym plikiem i sprawdź

 

Brak załączonego dokumentu/pliku Darku :D


  • +
  • -
  • 0

#13 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 17.07.2018 20:14

Argghhhh łap 

Załączone pliki

  • Załączony plik  db.inl   7,56 KB  20 Ilość pobrań

  • +
  • -
  • 2

#14 Vakos

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 57
Pomocny

  • Postów:266
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Opolskie
Offline

Napisano 18.07.2018 20:33

Argghhhh łap 

 

Jak na razie nie widzę aby error wyskakiwał, więc raczej jest okej. Na dniach będę kontrolował i w razie w dam znać.

Na razie dziękuję za pomoc :D


  • +
  • -
  • 0

#15 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 18.07.2018 21:30

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych