Szerző Téma: Fegyver mentő szkript - MySQL R39.2  (Megtekintve 1189 alkalommal)

Fegyver mentő szkript - MySQL R39.2
« Dátum: 2015. Január 04. - 16:19:01 »
0
Sziasztok!
Találtam a hiv. fórumon egy kis hasznos szkriptet, aminek a segítségével le lehet menteni fegyvereket egyszerűen, parancs nélkül.
A hivatalos fórumon lévő szkript, amely angol nyelven íródott.


A szkriptről pár adat,
Sorok száma: 120.
MySQL plugin/függvénykönyvtár verzió száma: R39.2
Készítette: Amirab.
UI.: Rövidítettem a szkriptet, és egy kicsikét átláthatóbbá tettem.


A kód:
 
#include <a_samp>
#include <a_mysql>
#define SQL_HOST \"127.0.0.1\"
#define SQL_DB \"samp\"
#define SQL_USER \"root\"
#define SQL_PASS \"\"
 
new g_MySQL;
forward SQL_DB_CONNECT();
public SQL_DB_CONNECT() {
mysql_log(LOG_ERROR | LOG_WARNING | LOG_DEBUG);
g_MySQL = mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS);
     if(mysql_errno() != 0) {
         printf(\"Nem sikerült csatlakozni a következő adatbázishoz: %s --- SZERVER LEÁLLT ~~~\", SQL_USER);
      } else {
         printf(\"  Sikerült csatlakozni a következő adatbázishoz: \'%s\' Felhasználó: \'%s\'\", SQL_DB, SQL_USER);
    } return 1; }
new     gPlayerWeapons[MAX_PLAYERS][13][2];
enum PlayerData {
LoggedIn,
UserID
};
new PlayerInfo[MAX_PLAYERS][PlayerData];
public OnFilterScriptInit() {
print(\"\\n*** Fegyver mentő rendszer - MySQL R39-2. ***\\n\");
print(\"*** Készítette: Amirab ***\");
     print(\"--- Fordította: Fajardos ---\");
      SQL_DB_CONNECT();
return 1; }
public OnFilterScriptExit() {
print(\"\\n*** Fegyver mentő rendszer leállt. ***\\n\");
mysql_close(g_MySQL);
return 1; }
public OnPlayerConnect(playerid) {
new query[512];
mysql_format(g_MySQL, query, sizeof(query),\"SELECT `UserID` FROM `playerweaps` WHERE `Username` = \'%e\'\", GetName(playerid));
     mysql_tquery(g_MySQL, query, \"WeapOnAccountCheck\", \"i\", playerid);
      return 1; }
public OnPlayerDisconnect(playerid, reason) {
new
tmpPlayerWeapons[13][2],
     tmpString[64],
      query[100];
for(new i = 0; i <= 12; i++) {
GetPlayerWeaponData(playerid, i, tmpPlayerWeapons[0], tmpPlayerWeapons[1]);
     }
for(new i = 0; i <= 12; i++) {
   format(tmpString, sizeof(tmpString), \"Weap%d\", i);
         mysql_format(g_MySQL, query, sizeof(query), \"UPDATE `playerweaps` SET `%s`=%d WHERE `UserID`=%d\" , tmpString , tmpPlayerWeapons[0] , PlayerInfo[playerid][userID]);
        mysql_tquery(g_MySQL, query, \"\", \"\");
format(tmpString, sizeof(tmpString), \"AWeap%d\", i);
        mysql_format(g_MySQL, query, sizeof(query), \"UPDATE `playerweaps` SET `%s`=%d WHERE `UserID`=%d\" , tmpString , tmpPlayerWeapons[1] , PlayerInfo[playerid][userID]);
        mysql_tquery(g_MySQL, query, \"\", \"\");
}
return 1; }
public OnPlayerSpawn(playerid) {
ResetPlayerWeapons(playerid);
for(new i = 0; i <= 12; i++) {
        GivePlayerWeapon(playerid, gPlayerWeapons[playerid][0], gPlayerWeapons[playerid][1]);
    } return 1; }
forward WeapOnAccountCheck(playerid);
public WeapOnAccountCheck(playerid) {
new rows, fields;
new query[200];
     cache_get_data(rows, fields, g_MySQL);
      if(rows) {
        PlayerInfo[playerid][userID] = cache_get_field_content_int(0, \"UserID\");
       mysql_format(g_MySQL, query, sizeof(query), \"SELECT * FROM `playerweaps` WHERE `Username` = \'%e\' LIMIT 1\", GetName(playerid));
        mysql_tquery(g_MySQL, query, \"WeapOnAccountLoad\", \"i\", playerid);
} else {
   mysql_format(g_MySQL, query, sizeof(query), \"INSERT INTO `playerweaps` (`Username`,`Weap0`,`AWeap0`,`Weap1`,`AWeap1`,`Weap2`,`AWeap2`,`Weap3`,`AWeap3`,`Weap4`,`AWeap4`,`Weap5`,`AWeap5`,`Weap6`,`AWeap6`,`Weap7`,`AWeap7`,`Weap8`,`AWeap8`,`Weap9`,`AWeap9`,`Weap10`,`AWeap10`,`Weap11`,`AWeap11`,`Weap12`,`AWeap12`) VALUES (\'%e\',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)\", GetName(playerid));
         mysql_tquery(g_MySQL, query, \"WeapOnAccountRegister\", \"i\", playerid);
     } return 1; }
forward WeapOnAccountRegister(playerid);
public WeapOnAccountRegister(playerid) {
PlayerInfo[playerid][userID] = cache_insert_id();
printf(\"Új fegyver elmentve. ID: %d\", PlayerInfo[playerid][userID]);
     return 1; }
forward WeapOnAccountLoad(playerid);
public WeapOnAccountLoad(playerid) {
PlayerInfo[playerid][LoggedIn] = 1;
new szTmp[64];
for(new i = 0; i <= 12; i++) {
   format(szTmp, sizeof(szTmp), \"Weap%d\", i);
         gPlayerWeapons[playerid][0] = cache_get_field_content_int(0 , szTmp);
format(szTmp, sizeof(szTmp), \"AWeap%d\", i);
        gPlayerWeapons[playerid][1] = cache_get_field_content_int(0 , szTmp);
    }
return 1; }
stock GetName(playerid) {
new playerName[MAX_PLAYER_NAME+1];
GetPlayerName(playerid, playerName, sizeof(playerName));
return playerName;
}

 
Köszönöm, hogy meg tekintetted a témát!

Fegyver mentő szkript - MySQL R39.2
« Válasz #1 Dátum: 2015. Január 05. - 14:50:18 »
0
Helló.
Látom nem volt sok idő lefordítani ezt, de azért jó, hogy áthoztad.

Fegyver mentő szkript - MySQL R39.2
« Válasz #2 Dátum: 2015. Január 05. - 14:53:37 »
0
Hát,nem volt sok időm..Szivesen.  :)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal