Podaci sa servera na web stranici

Započeo Prcko97
8. Avg. 2020. Zaključano
3,454
pregleda
19
postova
Prcko97
2
Wheel Man
8. Avg. 2020.
Tip: Filterscripta
Slike ili Video: https://imgur.com/a/onnB35h  
Opis i dodatne informacije: Za pocetak da pozdravim sve clanove ovog foruma, naime vratio sam se skriptanju posle velike pauze od jula 2017 godine, hteo sam cisto malo da obnovim znanje i pomognem nekome kome je ovakva vrsta skripte potrebna. Necu otkrivati svoje staro ime na sampu, koga bas zanima nek iskoci pm. Da predjemo na sitsem, da bi ga koristili morate imate minimalno znanje mysql-a znaci ja sam uradio neku osnovu upisivanje rekorda i broja online igraca u bazu i ispisivanje istih na improvizovanom 'portalu'. Znaci imate neku predstavu kako bilo koji podatak sa servera uneste na vas portal sve je urednu uradjeno po crtama i nekom ce podluziti da uradi nesto svoje po mom kodu ili da ubaci ovo kao filterscriptu i koristi.. U pakovanju dobijate .pwn i .amx .sql(bazu sa tablicom) i 'portalcic' u kome je sve to ispisano (zanemarite dizajn jer je u ovom slucaju nebitan). Nadam se da ce nekom pomoci ovaj FS a, i ja sam se malo podsetio pawna  😉 Svaka kritika i savet su dobrodosli  🙂
Download link: https://www.sendspace.com/file/jhyvnw
Scan link: https://www.virustotal.com/gui/url/80d5b3c52d1800e25e8580f96391ff1eef90a66c1ee1440cf34268fee532ce9c/detection
Credits: Prcko97
inquisitiveemmett
4
Shot Caller
8. Avg. 2020.
Upload na git ako imas ili pastebin
Prcko97
2
Wheel Man
8. Avg. 2020.
inquisitiveemmett wrote on August 8, 2020, 10:18 pm:
Upload na git ako imas ili pastebin


https://pastebin.com/DT7LpPrv
Evo druze .pwn  na pastebinu ako oces .php upload cu
inquisitiveemmett
4
Shot Caller
8. Avg. 2020.
Nije loša ideja, ali da vidimo kod 😄, ja sam dole samo editovao tvoj, tj napisao sam sve al ajd..

TVOJ KOD

#include
#include

static const SQL_HOST = "localhost";
static const SQL_USER = "root";
static const SQL_PASS = "";
static const SQL_DB = "testt";

enum PI { rekord, online }
new PortalInfo;
new MySQL:sql;

public OnFilterScriptInit() {
    sql = mysql_connect(SQL_HOST, SQL_USER, SQL_PASS, SQL_DB);
if(mysql_errno(sql) != 0 || sql == MYSQL_INVALID_HANDLE) {
        print("Konekcija sa databazom nije uspesna.");
        SendRconCommand("exit");
        return true; }
mysql_tquery(sql, "SELECT * FROM `test`", "UcitajRekord");
return true;
}

public OnFilterScriptExit() {
mysql_close(sql);
return true;
}

public OnPlayerConnect(playerid) {
PortalInfo ++;
static query;
mysql_format(sql, query, sizeof(query), "UPDATE `test`\
    SET `online`='%d'\
        WHERE `sqlid`= '1'", PortalInfo);
mysql_tquery(sql, query);
RekordProvera();
return true;
}

public OnPlayerDisconnect(playerid, reason) {
PortalInfo --;
static query;
mysql_format(sql, query, sizeof(query), "UPDATE `test`\
    SET `online`='%d'\
        WHERE `sqlid`= '1'", PortalInfo);
mysql_tquery(sql, query);
return true;
}

forward public UcitajRekord();
public UcitajRekord() { if(cache_num_rows() > 0) { cache_get_value_int(0, "rekord", PortalInfo); } }

static stock RekordProvera() {
if(PortalInfo < PortalInfo) {
    PortalInfo = PortalInfo;
static query;
mysql_format(sql, query, sizeof(query), "UPDATE `test`\
    SET `rekord`='%d'\
        WHERE `sqlid`= '1'", PortalInfo);
mysql_tquery(sql, query);
    return true; }
return true;
}





MOJ KOD

/*
OVO JE SAMO EDIT TVOG KODA, SKORO NIŠTA NE RADIM KAO OVDE
ČISTO DA SE ZNA :D
*/

#include
#include

#define SQL_HOST "localhost"
#define SQL_USER "root"
#define SQL_PASS ""
#define SQL_DB "testt"

new
rekord,
online,

MySQL: sql;

/*
  *
  * Inače ja ovako ne pravim konekcije, već koristim pawn-env itd...
  *
*/
public OnFilterScriptInit()
{
sql = mysql_connect(SQL_HOST, SQL_USER, SQL_PASS, SQL_DB);

if(mysql_errno(sql) != 0)
{
print("Konekcija sa databazom nije uspesna.");
SendRconCommand("exit");

return 0;
}

mysql_tquery(sql, "SELECT * FROM `test`", "UcitajRekord");

return 1;
}

public OnFilterScriptExit()
{
mysql_close(sql);
return 1;
}

public OnPlayerConnect(playerid)
{
++online;

static
query;

mysql_format(
sql, query, sizeof query,
"UPDATE \
`test` \
SET \
`online` = '%d' \
WHERE \
`sqlid` = '1'", online
);
mysql_tquery(sql, query);

RekordProvera();

return 1;
}

public OnPlayerDisconnect(playerid, killerid, reason)
{
--online;

static
query;

mysql_format(
sql, query, sizeof query,
"UPDATE \
`test` \
SET \
`online` = '%d' \
WHERE \
`sqlid` = '1'", online
);
mysql_tquery(sql, query);

return 1;
}

/*
  *
  * Takođe ni učitavanja ne pravim ovako već koristim taskove i pawnplus, pp mysql itd...
  *
*/
forward UcitajRekord();
public UcitajRekord()
{
if(cache_num_rows() > 0)
{
cache_get_value_int(0, "rekord", rekord);
}

return 1;
}

stock RekordProvera()
{
if(rekord < online)
{
rekord = online;


static
query;

mysql_format(
sql, query, sizeof query,
"UPDATE \
`test` \
SET \
`rekord` = '%d' \
WHERE \
`sqlid` = '1'", online
);
mysql_tquery(sql, query);

return 1;
}

return 1;
}


naravno tab je sjeban ovde, ja stavim 4 on stavi 8 al nbtn, čisto da ti dam do znanja šta je uredan kod xD
Prcko97
2
Wheel Man
8. Avg. 2020.
inquisitiveemmett wrote on August 8, 2020, 10:50 pm:
Nije loša ideja, ali da vidimo kod 😄, ja sam dole samo editovao tvoj, tj napisao sam sve al ajd..

TVOJ KOD

#include
#include

static const SQL_HOST = "localhost";
static const SQL_USER = "root";
static const SQL_PASS = "";
static const SQL_DB = "testt";

enum PI { rekord, online }
new PortalInfo;
new MySQL:sql;

public OnFilterScriptInit() {
    sql = mysql_connect(SQL_HOST, SQL_USER, SQL_PASS, SQL_DB);
if(mysql_errno(sql) != 0 || sql == MYSQL_INVALID_HANDLE) {
        print("Konekcija sa databazom nije uspesna.");
        SendRconCommand("exit");
        return true; }
mysql_tquery(sql, "SELECT * FROM `test`", "UcitajRekord");
return true;
}

public OnFilterScriptExit() {
mysql_close(sql);
return true;
}

public OnPlayerConnect(playerid) {
PortalInfo ++;
static query;
mysql_format(sql, query, sizeof(query), "UPDATE `test`\
    SET `online`='%d'\
        WHERE `sqlid`= '1'", PortalInfo);
mysql_tquery(sql, query);
RekordProvera();
return true;
}

public OnPlayerDisconnect(playerid, reason) {
PortalInfo --;
static query;
mysql_format(sql, query, sizeof(query), "UPDATE `test`\
    SET `online`='%d'\
        WHERE `sqlid`= '1'", PortalInfo);
mysql_tquery(sql, query);
return true;
}

forward public UcitajRekord();
public UcitajRekord() { if(cache_num_rows() > 0) { cache_get_value_int(0, "rekord", PortalInfo); } }

static stock RekordProvera() {
if(PortalInfo < PortalInfo) {
    PortalInfo = PortalInfo;
static query;
mysql_format(sql, query, sizeof(query), "UPDATE `test`\
    SET `rekord`='%d'\
        WHERE `sqlid`= '1'", PortalInfo);
mysql_tquery(sql, query);
    return true; }
return true;
}





MOJ KOD

/*
OVO JE SAMO EDIT TVOG KODA, SKORO NIŠTA NE RADIM KAO OVDE
ČISTO DA SE ZNA :D
*/

#include
#include

#define SQL_HOST "localhost"
#define SQL_USER "root"
#define SQL_PASS ""
#define SQL_DB "testt"

new
rekord,
online,

MySQL: sql;

/*
  *
  * Inače ja ovako ne pravim konekcije, već koristim pawn-env itd...
  *
*/
public OnFilterScriptInit()
{
sql = mysql_connect(SQL_HOST, SQL_USER, SQL_PASS, SQL_DB);

if(mysql_errno(sql) != 0)
{
print("Konekcija sa databazom nije uspesna.");
SendRconCommand("exit");

return 0;
}

mysql_tquery(sql, "SELECT * FROM `test`", "UcitajRekord");

return 1;
}

public OnFilterScriptExit()
{
mysql_close(sql);
return 1;
}

public OnPlayerConnect(playerid)
{
++online;

static
query;

mysql_format(
sql, query, sizeof query,
"UPDATE \
`test` \
SET \
`online` = '%d' \
WHERE \
`sqlid` = '1'", online
);
mysql_tquery(sql, query);

RekordProvera();

return 1;
}

public OnPlayerDisconnect(playerid, killerid, reason)
{
--online;

static
query;

mysql_format(
sql, query, sizeof query,
"UPDATE \
`test` \
SET \
`online` = '%d' \
WHERE \
`sqlid` = '1'", online
);
mysql_tquery(sql, query);

return 1;
}

/*
  *
  * Takođe ni učitavanja ne pravim ovako već koristim taskove i pawnplus, pp mysql itd...
  *
*/
forward UcitajRekord();
public UcitajRekord()
{
if(cache_num_rows() > 0)
{
cache_get_value_int(0, "rekord", rekord);
}

return 1;
}

stock RekordProvera()
{
if(rekord < online)
{
rekord = online;


static
query;

mysql_format(
sql, query, sizeof query,
"UPDATE \
`test` \
SET \
`rekord` = '%d' \
WHERE \
`sqlid` = '1'", online
);
mysql_tquery(sql, query);

return 1;
}

return 1;
}


naravno tab je sjeban ovde, ja stavim 4 on stavi 8 al nbtn, čisto da ti dam do znanja šta je uredan kod xD


Ne vidim da si ista uradio sem sto si enum izbacio i pisao obicne varijable sto je nebitno skroz, drugo zasto bi koristio define za paramtre konekcije kada se pozivaju samo jednom i onda je prakticnije koristiti statican const, trece zagrade si "tabovao' sto je isto nebitno ali u svakom slucaju podrzavam trud  🙂

EDIT: statican stock je isto namerno postavljen jer se poziva samo jednom
Alhemičar v2
4
Shot Caller
8. Avg. 2020.
Čemu tquery? 😕
inquisitiveemmett
4
Shot Caller
8. Avg. 2020.
Prcko97 wrote on August 8, 2020, 10:57 pm:
Ne vidim da si ista uradio sem sto si enum izbacio i pisao obicne varijable sto je nebitno skroz, drugo zasto bi koristio define za paramtre konekcije kada se pozivaju samo jednom i onda je prakticnije koristiti statican const, trece zagrade si "tabovao' sto je isto nebitno ali u svakom slucaju podrzavam trud  🙂

Pa nisam ja ni hteo da nešto poboljšam kod, ako hoćeš uradiću na način na koji ja radim ali trebaće malo vremena, što mi se ne da realno, ja sam tu samo preuredio kod, da se zna šta je šta, da se vidi sve lepo, pregledno..
Prcko97
2
Wheel Man
8. Avg. 2020.
Alhemičar v2 wrote on August 8, 2020, 11:08 pm:
Čemu tquery? 😕

Kolko se secam od pre (izlapeo sam) tquery se koristi za manje qverije kao u ovom slucaju apdejt jedne kolone, a pquery za vece operacije jer je brzi  🙂 izvini ako gresim
Alhemičar v2
4
Shot Caller
8. Avg. 2020.
Prcko97 wrote on August 8, 2020, 11:16 pm:
Kolko se secam od pre (izlapeo sam) tquery se koristi za manje qverije kao u ovom slucaju apdejt jedne kolone, a pquery za vece operacije jer je brzi  🙂 izvini ako gresim

Nene, ne pričam o tome, ja koristim totalno drugačije nešto ali evo za tvoj pimer
Konkretno ovde
mysql_tquery(sql, "SELECT * FROM `test`", "UcitajRekord");

Pod recimo da je OnGameModeInit ja bih uvek isao sa mysql_query jer mysql_query ZAMRZNE GLAVNI THREAD sto i jeste poenta kod UCITAVANJA!!!
Prcko97
2
Wheel Man
8. Avg. 2020.
Alhemičar v2 wrote on August 8, 2020, 11:19 pm:
Nene, ne pričam o tome, ja koristim totalno drugačije nešto ali evo za tvoj pimer
Konkretno ovde
mysql_tquery(sql, "SELECT * FROM `test`", "UcitajRekord");

Pod recimo da je OnGameModeInit ja bih uvek isao sa mysql_query jer mysql_query ZAMRZNE GLAVNI THREAD sto i jeste poenta kod UCITAVANJA!!!


Prihvatam savet, kazem ti 3 godine nisam pipnuo samp kamoli pawn ali popravljam se polako 🙂
XACK
3
Hustler
9. Avg. 2020.
Lepo sto si se vratio, ako stvarno nisi radio 3 godine ipak ti je ostalo odlicno znanje.
Ima ovde malo ovih koji "sve rade drugacije  😄" neki pawnplusovi, taskovi, threadovi, picke materine, al jbg.

Slazem se da mysql_query treba koristiti kod vecih ucitavanja u OnGameModeInit, ali ovde ipak updatuje podatke tokom runtime-a tako da je tquery odlican izbor.
Prcko97
2
Wheel Man
9. Avg. 2020.
XACK wrote on August 9, 2020, 12:05 am:
Lepo sto si se vratio, ako stvarno nisi radio 3 godine ipak ti je ostalo odlicno znanje.
Ima ovde malo ovih koji "sve rade drugacije  😄" neki pawnplusovi, taskovi, threadovi, picke materine, al jbg.

Slazem se da mysql_query treba koristiti kod vecih ucitavanja u OnGameModeInit, ali ovde ipak updatuje podatke tokom runtime-a tako da je tquery odlican izbor.

Ty brate, sto se tice qverija nem pojma uvek sam stavljao tquery za ucitavanje mislim uopsteno sam koristio tquery pqeury jedino ako mi je qveri preko 500 sto je veoma retko  🙂
Mergevos
4
Shot Caller
9. Avg. 2020.
XACK wrote on August 9, 2020, 12:05 am:
Lepo sto si se vratio, ako stvarno nisi radio 3 godine ipak ti je ostalo odlicno znanje.
Ima ovde malo ovih koji "sve rade drugacije  😄" neki pawnplusovi, taskovi, threadovi, picke materine, al jbg.


Pa sta ako momci koriste taskove, pawnplusove, threadove? Je l' sramota koristiti nesto sto je bolje? Sta, pawnplus ne valja? Jeste, ja ga ne koristim, ne jer ne znam kako se koristi ili nesto, ali to ne znaci da je .inc sranje, da su oni nesto posebni da koriste to, pp bih preporucio svakome ko radi svoj mod, iako ga ja ne koristim. Odlicna je stvar.
Prcko97
2
Wheel Man
9. Avg. 2020.
Mergevos wrote on August 9, 2020, 8:33 am:
Pa sta ako momci koriste taskove, pawnplusove, threadove? Je l' sramota koristiti nesto sto je bolje? Sta, pawnplus ne valja? Jeste, ja ga ne koristim, ne jer ne znam kako se koristi ili nesto, ali to ne znaci da je .inc sranje, da su oni nesto posebni da koriste to, pp bih preporucio svakome ko radi svoj mod, iako ga ja ne koristim. Odlicna je stvar.


Bez rasprave molicu 😄 😄
Mergevos
4
Shot Caller
9. Avg. 2020.
Druze nema ovde rasprave, samo pitam momka s razlogom, on ce meni isto tako odgovoriti ako skonta na pravi način, da ne pomisli da ga vredjam

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha