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.
Üdv Ezt a szkriptet elég régen készítettem egy szerver projekthez, viszont már nem játszok aktívan, így publikálom. Nem nehéz kitalálni, hogy mit is tartalmaz a szkript, de azért leírom: minden találatnál megjelenít egy -t a célkereszt helyén, fps játékokból ismerõs dolog lehet. A szkript tesztelve lett, szóval remélhetõleg nem fogja kifagyasztani a szervered vagy ilyesmi.
Azt tudom, hogy a \\ jel bezavar, ezért van mögötte szóköz, hogy ne tekintse elválasztott stringnek, viszont így pedig ezt az errort kapom, és nem tudom hogy hogyan oldhatnám meg. elõre is thx EDIT: Megoldódott. akinek esetleg hasonló problémája lenne:
üdv egy szkripttel próbálkoztam, ami azt csinálja, hogy ha becélzol valakit, akkor megjelenik a nametagja, de ha már nem céloz rá, akkor eltûnik (alapból el van tüntetve OnPlayerStreamIn alatt).
tisztában vagyok vele, hogy ez a kód hibás, de nincs más ötletem az elrejtésre, meg amúgy is valami jobb megoldást keresek, hogy ne fusson le mindig a ShowPlayerNameTagForPlayer. valaki ki tud segíteni egy mûködõvel?
üdv elkezdtem barátkozni a mysql-lal, de el is akadtam. a probléma, hogy a login résznél mindig a \"rossz jelszó\" üzenetet kapom, pedig a jót írom be. próbáltam hash nélkül, de úgy is ugyan ez.
#include <a_samp> #include <a_mysql> /////////////////////////////////////////////////////////////////////////////// #define mysql_host \"127.0.0.1\" //Has to be a string #define mysql_user \"root\" //Has to be a string #define mysql_password \"\" //There is none for wamp unless you set one. #define mysql_database \"sa-mp\" //Has to be a string /////////////////////////////////////////////////////////////////////////////// #define DIALOG_REGISTER 0 #define DIALOG_LOGIN 1 /////////////////////////////////////////////////////////////////////////////// enum e_params { pname[MAX_PLAYER_NAME], bool:loggedin, score, money }; new pParams[MAX_PLAYERS][e_params]; new IsRegistered[MAX_PLAYERS]; /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
main(){} public OnGameModeInit() { mysql_connect(mysql_host, mysql_user, mysql_database, mysql_password); mysql_query(\"CREATE TABLE IF NOT EXISTS playerdata(user VARCHAR(24), password VARCHAR(41), score INT(20), money INT(20), IP VARCHAR(16) )\"); return 1; } public OnGameModeExit() { return 1; } public OnPlayerRequestClass(playerid, classid) { return 1; } public OnPlayerConnect(playerid) { /////// GetPlayerName(playerid, pParams[playerid][pname], MAX_PLAYER_NAME); /////// new query[200]; format(query, 200, \"SELECT `IP` FROM `playerdata` WHERE user = \'%s\' LIMIT 1\", pParams[playerid][pname]); mysql_query(query); mysql_store_result(); new rows = mysql_num_rows(); if(!rows) { ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, \"Regisztráció\", \"Üdvözöllek a szerveren!\\nKérlek gépeld be a használni kívánt jelszavadat!\", \"OK\", \"\"); } else if(rows == 1) { new ip[2][16]; mysql_fetch_field_row(ip[0], \"IP\"); GetPlayerIp(playerid, ip[1], 16); if(strlen(ip[0]) != 0 && !strcmp(ip[0], ip[1], true)) { MySQL_Login(playerid); } else if(!strlen(ip[0]) || strcmp(ip[0], ip[1], true)) { ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, \"Bejelentkezés\", \"Üdvözöllek a szerveren!\\nKérlek gépeld be a használt jelszavad!\", \"OK\", \"\"); IsRegistered[playerid] = 1; } } mysql_free_result(); return 1; } public OnPlayerDisconnect(playerid, reason) { if(pParams[playerid][loggedin] == true) { pParams[playerid][score] = GetPlayerScore(playerid); pParams[playerid][money] = GetPlayerMoney(playerid); new query[200]; format(query, 200, \"UPDATE playerdata SET score=%d, money=%d WHERE user=\'%s\'\", pParams[playerid][score], pParams[playerid][money]); mysql_query(query); } return 1; } public OnVehicleStreamOut(vehicleid, forplayerid) { return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == DIALOG_REGISTER) { if(response) { if(strlen(inputtext) < 3 || strlen(inputtext) > 40) { ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, \"Regisztráció\", \"Üdvözöllek a szerveren!\\nKérlek gépeld be a használni kívánt jelszavadat!\\n{FF0000}3-40 karakter!\", \"OK\", \"\"); } else { new escpass[40]; mysql_real_escape_string(inputtext, escpass); MySQL_Register(playerid, escpass); } } else ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, \"Regisztráció\", \"Üdvözöllek a szerveren!\\nKérlek gépeld be a használni kívánt jelszavadat!\", \"OK\", \"\"); } if(dialogid == DIALOG_LOGIN) { if(response) { new query[200]; new escapepass[100];
mysql_real_escape_string(inputtext, escapepass); format(query, 200, \"SELECT `user` FROM playerdata WHERE user = \'%s\' AND password = \'%s\'\", pname, escapepass); mysql_query(query); mysql_store_result(); new rows = mysql_num_rows(); if(rows == 1) MySQL_Login(playerid); if(!rows) { ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, \"Bejelentkezés\", \"{FF0000}Hibás jelszó!\", \"OK\", \"\"); } mysql_free_result(); } else ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, \"Bejelentkezés\", \"Üdvözöllek a szerveren!\\nKérlek gépeld be a használt jelszavad!\", \"OK\", \"\"); } return 1; } public OnPlayerClickPlayer(playerid, clickedplayerid, source) { return 1; }
üdv próbálkoztam clickable td-ket csinálni, de akárhányszor próbálom, mindig adódik egy olyan probléma, hogy a textdraw kijelölési területe állandóan elcsúszik jobbra. tehát ha a textdrawon túli jobb oldalra viszem az egeret (a td-vel egy vonalban), akkor is kijelöli. mi lehet a baj?
üdv épp egy gangwar szkripten dolgoztam, letettem néhány autót a grove streethez. viszont mikor csatlakozok a bandámhoz, lespawnol cj házában és kimegyek, az autók össze-vissza vannak elrendezve, egymás hátán kipróbáltam odamenni lv-bõl, akkor minden rendben volt, a helyükön voltak. ez miért lehet?
sziasztok valahogy sehogy sem találok megoldást.. egy kompakt megoldást keresek a dm-ben való parancsok használatának tiltására, de valahogy nem jön össze. elég sok parancsom van, nem szeretném mindegyikhez hozzáírni utólag, hogy dmben nem lehet használni. próbálkoztam az OnPlayerCommandPerformed(mert ugye zcmd-t használok) callbacknál ügyeskedni, de abból megint csak káosz lett.