Üzenetek megjelenítése

Ez a szekció lehetővé teszi a felhasználó által írt összes hozzászólás megtekintését. Vedd figyelembe, hogy csak azokba a fórumokba írt hozzászólásokat látod, amelyekhez hozzáférésed van.


Üzenetek - scripter

Oldalak: 1 [2] 3 4 ... 12
16
Segítségkérés / Fizetés script probléma
« Dátum: 2015. március 24. - 20:04:34 »
Hogy írjak neked példa scriptet, ha nem is tudom még a változóid nevét se.

17
Segítségkérés / Fizetés script probléma
« Dátum: 2015. március 24. - 19:45:12 »
Én úgy csináltam, h a játékos adatokhoz lementettem az utolsó dátumot, amikor kamatot kapott a bankból (a te esetedben fizetést)
És csinálsz a szervernek is egy fájl-t (vagy mysql táblát)
Oda meg am is le szokták menteni, mennyi időt ment a szervered.
Átkonvertálod órába mind a két dátumot.
És ahányszor nagyobb a szerver óra mint a játékosé, anyiszor kapja meg a fizetést.
És majd csak frissited a játékos statisztikáját.
Az tőled függ, h még közben felülírod a játékos adatait offline (inkább mysql) vagy amikor belép, és csak több pénzt utalsz neki.
:)

18
Segítségkérés / IsValidAccount(name[]) (MySQL)
« Dátum: 2015. március 24. - 19:40:03 »
üdv.
már majdnem kész a mysql-os klán rendszerem, de a(z) IsValidAccount(name[]) függvényem vacakol.
a rendszerben használtam a y_inline -t.
az a baj, hogy amikor elküldöm a query-t, akkor az megy, de a(z) \'inline\' funkció később tér vissza.
és alapba \'0\' a visszatérés, de akkor is, ha nem regiszrált.
ha most kiveszem akkor a pawno-nak nem tetszik: mert nincs visszatérési értéke.
szóval lefut az inline, de későn, és addigra az alap code 0-t ad vissza.
gondoltam arra, h változóval csinálom meg.
pl alapba 2: new stat=2;
és ha regisztált akkor 1 lesz az értéke.
ha meg nem akkor 0.
és majd csak egy return-al iratom mi a végén.
de ez is mindig csak 2-t adna vissza.
a jelenlegi code:
 

stock IsValidAccount(name[])
{
mysql_format(mysql,query,sizeof(query),\"SELECT * FROM Users WHERE Name=\'%e\'\",name);
inline User_CheckValid()
{
if(cache_num_rows()) return 1;
else return 0;
}
mysql_tquery_inline(mysql,query,using inline User_CheckValid,\"\");
return 0;
}

 
várom a válaszokat.
előre is kösz.
üdv.
Pawn code javítva, legközelebb figyelj oda!

Dupla hozzászólás automatikusan összefûzve. ( [time]2015. Március 24. 19:46:49[/time] )

Azért a klán rendszerhez kapcsolódik, mert a játékos mentő rendszert még nem írtam át mysql-ra. (az lesz az utolsó a rendszerek közül)

19
Segítségkérés / Autó Bug!
« Dátum: 2015. március 20. - 16:18:29 »
Ha szervert nyitsz biztosan ismered a pawno alapjait.
Nos, én úgy csinálnám, h stock-al létrehoznám azt a funkciót, ami majd minden szolgálati járművet lerak.
Nem vagyos RP-s, a defensive-t se ismerem, de példának okáért: CreatePoliceVehicle(...)
És ha megvan a megfelelő enum-od, mert azzal célszerűbb, akkor onnét már nincs gond.
Csak simán egy két sor, és nem lesz kavarodás.
Ja meg persze ha így oldod meg, akkor extra funkciókat is alkalmazhatsz .:)

20
Segítségkérés / GetPlayerArmour & dini
« Dátum: 2015. március 20. - 16:11:57 »

GetPlayerArmour(playerid, JatekosInfo[playerid][Melleny]);

 
[mod]Pawn code javítva, legközelebb ne felejtsd el![/mod]

21
a clans.hu esetében mysql hostnak localhost kell?
vagy ha nem akkor MI?
nekem így nehéz, ha wearehow nem adja meg a webadmin jelszavát

Dupla hozzászólás automatikusan összefûzve. ( 2015. február 23. - 19:56:41 )

megoldva...
zárok.  8)

22
ez a log...
mostmár nem errorozik a betöltés, de kijön a 2002-es hibakód
az asszem az hogy nem tudod csatlakozni a kiszolgálóhoz?!

23
Na akkor ahogy én értem:
mysql.so -> plugins (server.cfg-be is)
mysql_static.so -> server mappa (nem kell a cfg-be)
mysql_5.5.so -> kimarad?
pls vki írja már le...
 :-[

24
Sziasztok.
Az a helyzet, hogy a szervert most akarjuk átírni mysql-ra, de sajnos ezt az errort kaptuk.
Failed libmysqlclient_r.so.16: cannot open shared object file: no such file or directory
Már mindent megpróbáltunk, olvasgattunk, de sehol nem találtunk megoldást.
Kérek szépen mindenkit, aki tudja, írja le erre a megoldást.
Házi szerveren vágjuk a mysql-t, de hoston... (nem tudjuk bekapcsolni :( )
Előre köszönöm.
Üdv.

25
Segítségkérés / Laggoltat-e?
« Dátum: 2015. február 10. - 18:05:01 »
a jelenlegi (dini-s) 1-2 játékosnál nem is nagyon észrevehető, de számolj azokkal, akiknek nem jó a net.
+ minden olyan tulaj (készítő) számol azzal, hogy HA sok játékos lesz 1x, akkor pl gmx-nél nagyon lelaggolna.
és mivel a név lekérdezés is mindig lefut...
(az előre gondolkodók azt is megoldják(változóba mentik az egyszer lekérdezett nevet(és ha változik azt is változtatjáj))) - de nem ez a lényeg
mysql: hiába nagyon gyors, én nem úgy oldottam meg, sztem te se csináld azt.
attól hogy minden játékos változásnál (adat) lemented nem lesz \"biztosabb\" a játékos mentés.
(ha annyira akarod akkor pl 5-10 percenként csinálj mindenkiről mentést.)
na de visszatérve a témához ez így énszerintem nagyon pazarló és később laggoltató
na de ha neked csak hülyülésre kell a mode akkor egész nyugodtan :)
hi.

26
Segítségkérés / Already defined
« Dátum: 2015. február 10. - 17:50:20 »
ha már írtok hozzászólást, értelme legyen...
a hiba az hogy MÁR DEFINÁLVA VAN
ahogy blackdog is leírta, töröld ki a függvényt vagy az fs-ből, vagy az includebol.

27
Segítségkérés / Toplista
« Dátum: 2015. február 10. - 17:47:11 »
mysql-t használsz?lehet nem mysql-al, is de ahhoz csak online játékosokat tudsz használni.
(de lehet offline-it egy-két spéci fájlkezelővel :) )

28
Segítségkérés / Mysql használata
« Dátum: 2015. február 02. - 18:31:10 »
nem lehet egyszerre mind a 2
mert a funkciók nagyobbrészt ugyanazok(a régebbiek)
és amugy meg nem lenne érdemes mind a 2-t használni, használd a mysql r39-2-t(énis azt használom)
ha érted az R7-et akkor nem nagy dolog megtanulni az újat, csak annyi hogy nincs mysql_store/free_result, és threaded query-ket küld, de persze megvan a sima query is(mysql_tquery -t használj, és pár callback - kész is)
meg a lekérdezézek funkciói nem mysql_... al kezdődnek hanem cache_... el(nem kell törölni, mint a store-t, csak akkor, ha elmented).
és a tquery egyből lefut, nem vár, míg az előtte elküldött query-k választ adnak.

29
Segítségkérés / MySQL R39-2
« Dátum: 2014. december 29. - 17:10:11 »
sziasztok.
nos, most hogy megjelet a threaded query mysql-ban, elkezdett érdekelni.
most elkezdtem tanulgatni, elég jól haladok függvények terén is, de a logikai részét még nem nagyon értem.
megírtam egy alap regisztrációs rendszert, de sajnos nem megy.
a mysql_tquery sajnos nem akarja meghívni az eljárást.
már utána olvasgattam, de sehol nem találtam rá megoldást.
újra is csináltam az adatbázist és a táblát (videó és tutorialok alapján, hogy biztosabb legyen).
nem tudtam rájönni, ezért most hozzátok fordulok.
íme a kód:
 

#include <a_samp>
#include <a_mysql>
#define host \"localhost\"
#define user \"root\"
#define database \"hss-samp\"
#define password \"\"
#define DIALOG_REGISTER 357
#define DIALOG_LOGIN 683
#define function%0(%1) forward%0(%1);public%0(%1)
enum pInfo
{
Password[35],
Money,
Score
};
new Info[MAX_PLAYERS][pInfo];
static mysql;
new query[2000];
public OnFilterScriptInit()
{
    mysql_log(LOG_ALL,LOG_TYPE_TEXT);
    mysql=mysql_connect(host,user,database,password);
    if(mysql_errno(mysql)!=0) printf(\"MySQL: Hiba lépett fel a csatlakozáskor: %d.\",mysql_errno(mysql));
    else print(\"MySQL: A csatlakozás sikeresen megtörtént.\");
return 1;
}
public OnFilterScriptExit()
{
    mysql_close(mysql);
return 1;
}
public OnPlayerConnect(playerid)
{
mysql_format(mysql,query,1000,\"SELECT UserID FROM users WHERE Name=\'%s\' LIMIT 0,1\",Name(playerid));
mysql_tquery(mysql,query,\"User_Connect\",\"i\",playerid);
print(\"connect\");
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
mysql_format(mysql,query,500,\"UPDATE users SET Money=\'%d\',Score=\'%d\' WHERE Name=\'%s\'\",GetPlayerMoney(playerid),GetPlayerScore(playerid),Name(playerid));
mysql_tquery(mysql,query);
print(\"disconnect\");
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid==DIALOG_REGISTER)
{
if(!response) return KickEx(playerid,\"nem regisztrált\");
if(strlen(inputtext)<4||strlen(inputtext)>30) return ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,\"Regisztráció\",\"{FF0000}Hiba: a jelszónak 4 és 30 karakter között kell lennie.\\n\\n{FFFF00}Írj be egy tetszőleges jelszavat,\\namit a belépésnél fogsz használni!\",\"Register\",\"Kick\");
mysql_format(mysql,query,300,\"INSERT INTO users (Name,Password,Money,Score) VALUES (\'%e\',SHA1(\'%e\'),\'0\',\'0\')\'\",Name(playerid),inputtext);
mysql_tquery(mysql,query,\"User_Register\",\"i\",playerid);
print(\"reg\");
}
if(dialogid==DIALOG_LOGIN)
{
if(!response) return KickEx(playerid,\"nem jelentkezett be\");
if(strlen(inputtext)<4||strlen(inputtext)>30) return ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,\"Regisztráció\",\"{FF0000}Hiba: a jelszónak 4 és 30 karakter között kell lennie.\\n\\n{FFFF00}Írd be a regisztrálásnál használt jelszavad!\",\"Login\",\"Kick\");
mysql_format(mysql,query,300,\"SELECT * FROM users WHERE Name=\'%e\' AND Password=SHA1(\'%e\')\",Name(playerid),inputtext);
mysql_tquery(mysql,query,\"User_Login\",\"i\",playerid);
print(\"log\");
}
return 1;
}
function User_Connect(playerid)
{
        //itt már mindent elkövettem, így hagytam, DIREKT pazaroltam egy kicsit sorokkal.
print(\"called\");
new rows=cache_num_rows();
printf(\"rows: %d\",rows);
if(rows==0)
{
    print(\"ez\");
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,\"Regisztráció\",\"{FFFF00}Írj be egy tetszőleges jelszavat,\\namit a belépésnél fogsz használni!\",\"Register\",\"Kick\");
}
else
{
    print(\"az\");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,\"Bejelentkezés\",\"{FFFF00}Írd be a regisztrálásnál használt jelszavad!\",\"Login\",\"Kick\");
}
print(\"connect 22222222\");
return 1;
}
function User_Register(playerid)
{
new string[256];
format(string,sizeof(string),\"{ADFF2F}[Register]: {%06x}%s {1E90FF}sikeresen regisztrált a szerverre.\",GetPlayerColor(playerid)>>>8,Name(playerid));
    SendClientMessageToAll(-1,string);
Info[playerid][Money]=0;
Info[playerid][score]=0;
print(\"reg 22222222\");
return 1;
}
function User_Login(playerid)
{
new rows=cache_get_row_count(),string[256];
if(rows==0) return ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,\"Bejelentkezés\",\"{FF0000}Hiba: a beírt jelszó nem egyezik.\\n\\n{FFFF00}Írd be a regisztrálásnál használt jelszavad!\",\"Login\",\"Kick\");
    Info[playerid][Money]=cache_get_field_content_int(0,\"Money\");
    Info[playerid][score]=cache_get_field_content_int(0,\"Score\");
    cache_get_field_content(0,\"Password\",Info[playerid][Password]);
GivePlayerMoney(playerid,Info[playerid][Money]);
SetPlayerScore(playerid,Info[playerid][score]);
format(string,sizeof(string),\"{ADFF2F}[Login]: {%06x}%s {1E90FF}sikeresen bejelentkezett.\",GetPlayerColor(playerid)>>>8,Name(playerid));
    SendClientMessageToAll(-1,string);
    print(\"log 22222222\");
return 1;
}
stock Name(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
return name;
}
stock KickEx(playerid,reason[])
{
new string[256];
format(string,sizeof(string),\"{ADFF2F}[Kick]: {%06x}%s {66CDAA}kickelve lett, mert {FF0000}%s{66CDAA}.\",GetPlayerColor(playerid)>>>8,Name(playerid),reason);
SendClientMessageToAll(-1,string);
SetTimerEx(\"KickPlayer\",25,0,\"i\",playerid);
return 1;
}
function KickPlayer(playerid) Kick(playerid);

 
ez a server log (figyeljétek a \'print\'-eket):
 

----------
Loaded log file: \"server_log.txt\".
----------
SA-MP Dedicated Server
----------------------
v0.3z, (C)2005-2014 SA-MP Team
[16:56:13]
[16:56:13] Server Plugins
[16:56:13] --------------
[16:56:13]  Loading plugin: sscanf
[16:56:14]
[16:56:14]  ===============================
[16:56:14]       sscanf plugin loaded.     
[16:56:14]          Version:  2.8.1       
[16:56:14]    (c) 2012 Alex \"Y_Less\" Cole 
[16:56:14]  ===============================
[16:56:14]   Loaded.
[16:56:14]  Loading plugin: streamer
[16:56:14]
*** Streamer Plugin v2.7.4 by Incognito loaded ***
[16:56:14]   Loaded.
[16:56:14]  Loading plugin: mysql
[16:56:15]  >> plugin.mysql: R39-2 successfully loaded.
[16:56:15]   Loaded.
[16:56:15]  Loaded 3 plugins.
[16:56:16]
[16:56:16] Filterscripts
[16:56:16] ---------------
[16:56:16]   Loading filterscript \'mysql_reg.amx\'...
[16:56:17] MySQL: A csatlakozás sikeresen megtörtént.
[16:56:17]   Loaded 1 filterscripts.
[16:56:17]
----------------------------------
[16:56:17]  Blank Gamemode by your name here
[16:56:17] ----------------------------------
[16:56:17] Number of vehicle models: 0
[16:57:43] Incoming connection: 1.1.1.89:50284
[16:57:43] [join] mysqlteszt has joined the server (0:1.1.1.89)
[16:57:43] connect
[16:58:14] disconnect
[16:58:14] [part] mysqlteszt has left the server (0:1)

 
és a mysql log:
 

[16:56:16] [DEBUG] mysql_connect - host: \"localhost\", user: \"root\", database: \"hss-samp\", password: \"****\", port: 3306, autoreconnect: true, pool_size: 2
[16:56:16] [DEBUG] CMySQLHandle::Create - creating new connection..
[16:56:16] [DEBUG] CMySQLHandle::CMySQLHandle - constructor called
[16:56:16] [DEBUG] CMySQLHandle::Create - connection created (id: 1)
[16:56:16] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[16:56:17] [DEBUG] CMySQLConnection::Connect - connection was successful
[16:56:17] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[16:56:17] [DEBUG] mysql_errno - connection: 1
[16:56:17] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[16:56:17] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[16:56:17] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[16:56:17] [DEBUG] CMySQLConnection::Connect - connection was successful
[16:56:17] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[16:56:17] [DEBUG] CMySQLConnection::Connect - connection was successful
[16:56:17] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[16:56:17] [DEBUG] CMySQLConnection::Connect - connection was successful
[16:56:17] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[16:57:43] [DEBUG] mysql_format - connection: 1, len: 1000, format: \"SELECT UserID FROM users WHERE Name=\'%s\' LIMIT 0,1\"
[16:57:43] [DEBUG] mysql_tquery - connection: 1, query: \"SELECT UserID FROM users WHERE Name=\'mysqlteszt\' LIMIT 0,1\", callback: \"User_Connect\", format: \"i\"
[16:57:43] [DEBUG] CMySQLQuery::Execute[user_Connect] - starting query execution
[16:57:46] [DEBUG] CMySQLQuery::Execute[user_Connect] - query was successfully executed within 3303.840 milliseconds
[16:57:46] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[16:57:46] [DEBUG] Calling callback \"User_Connect\"..
[16:57:46] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
[16:58:14] [DEBUG] mysql_format - connection: 1, len: 500, format: \"UPDATE users SET Money=\'%d\',Score=\'%d\' WHERE Name=\'%s\'\"
[16:58:14] [DEBUG] mysql_tquery - connection: 1, query: \"UPDATE users SET Money=\'0\',Score=\'0\' WHERE Name=\'mysqlteszt\'\", callback: \"(null)\", format: \"(null)\"
[16:58:14] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[16:58:14] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 394.603 milliseconds
[16:58:14] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving

 
remélem tudtok segíteni, várom a válaszotokat.
előre kösz.

30
Leírások/Útmutatók / MySQL R39-2, avagy mi is az threaded query?
« Dátum: 2014. december 26. - 20:02:02 »
Szép leírás, énis most tanulgatom, igaz, már a mode-om dini-vel írtam, de valahogy csak átállok.  :confused:

Oldalak: 1 [2] 3 4 ... 12
SimplePortal 2.3.7 © 2008-2024, SimplePortal