Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* SA-MP Include GetText-Functions
- *
- * (c) by Kaliber, 2015
- *
- */
- #if !defined _samp_included
- #include <a_samp>
- #endif
- #if defined _samp_getText
- #endinput
- #endif
- #define _samp_getText
- #if !defined MAX_BUFFER
- #define MAX_BUFFER (128)
- #endif
- #if !defined MAX_TEXT
- #define MAX_TEXT (MAX_BUFFER * 4)
- #endif
- #define A:: e_T_
- #define db_free db_free_result
- #define e_T_DATABASE ("TextDraws.db")
- #define dbe(%0,%1) format(string,sizeof string,%0,%1),db_free(db_query(A::DB,string))
- /*
- native TextDrawGetText(Text:id);
- native PlayerTextDrawGetText(PlayerText:id);
- */
- #if defined FILTERSCRIPT
- forward A::OnFilterScriptInit();
- forward A::OnFilterScriptExit();
- #else
- forward A::OnGameModeInit();
- forward A::OnGameModeExit();
- #endif
- native Text:A::TextDrawCreate(Float:x, Float:y, text[]) = TextDrawCreate;
- native A::TextDrawSetString(Text:text, string[]) = TextDrawSetString;
- native A::TextDrawDestroy(Text:text) = TextDrawDestroy;
- native PlayerText:A::CreatePlayerTextDraw(playerid,Float:x, Float:y, text[]) = CreatePlayerTextDraw;
- native A::PlayerTextDrawSetString(playerid, PlayerText:text, string[]) = PlayerTextDrawSetString;
- native A::PlayerTextDrawDestroy(playerid, PlayerText:text) = PlayerTextDrawDestroy;
- static DB:A::DB;
- stock TextDrawGetText(Text:id) {
- static string[MAX_BUFFER] = "NaN",DBResult:result;
- format(string,MAX_BUFFER,"SELECT `text` FROM `TextDraw` WHERE `flag`='%d' AND `x`='0'",_:id);
- result = db_query(A::DB,string),db_get_field(result,0,string,MAX_BUFFER),db_free(result);
- return string;
- }
- stock PlayerTextDrawGetText(PlayerText:id) {
- static string[MAX_BUFFER] = "NaN",DBResult:result;
- format(string,MAX_BUFFER,"SELECT `text` FROM `TextDraw` WHERE `flag`='%d' AND `x`='1'",_:id);
- result = db_query(A::DB,string),db_get_field(result,0,string,MAX_BUFFER),db_free(result);
- return string;
- }
- stock Text:_TextDrawCreate(Float:x, Float:y, text[]) {
- new tmp = _:A::TextDrawCreate(x,y,text),string[MAX_TEXT];
- dbe("INSERT INTO `TextDraw` ('flag','x','text') VALUES ('%d','0','%s')",tmp,text);
- return Text:tmp;
- }
- #if defined _ALS_TextDrawCreate
- #undef TextDrawCreate
- #else
- #define _ALS_TextDrawCreate
- #endif
- #define TextDrawCreate _TextDrawCreate
- stock PlayerText:_CreatePlayerTextDraw(playerid, Float:x, Float:y, text[]) {
- if(!IsPlayerConnected(playerid)) return PlayerText:INVALID_TEXT_DRAW;
- new tmp = _:A::CreatePlayerTextDraw(playerid,x,y,text),string[MAX_TEXT];
- dbe("INSERT INTO `TextDraw` ('flag','x','text') VALUES ('%d','1','%s')",tmp,text);
- return PlayerText:tmp;
- }
- #if defined _ALS_CreatePlayerTextDraw
- #undef CreatePlayerTextDraw
- #else
- #define _ALS_CreatePlayerTextDraw
- #endif
- #define CreatePlayerTextDraw _CreatePlayerTextDraw
- stock _TextDrawSetString(Text:text, tmp[]) {
- static string[MAX_TEXT];
- dbe("UPDATE `TextDraw` SET `text`='%s' WHERE `flag`='%d' AND `x`='0'",tmp,_:text);
- return A::TextDrawSetString(text,tmp);
- }
- #if defined _ALS_TextDrawSetString
- #undef TextDrawSetString
- #else
- #define _ALS_TextDrawSetString
- #endif
- #define TextDrawSetString _TextDrawSetString
- stock _PlayerTextDrawSetString(playerid, PlayerText:text, tmp[]) {
- static string[MAX_TEXT];
- dbe("UPDATE `TextDraw` SET `text`='%s' WHERE `flag`='%d' AND `x`='1'",tmp,_:text);
- return A::PlayerTextDrawSetString(playerid,text,tmp);
- }
- #if defined _ALS_PlayerTextDrawSetString
- #undef PlayerTextDrawSetString
- #else
- #define _ALS_PlayerTextDrawSetString
- #endif
- #define PlayerTextDrawSetString _PlayerTextDrawSetString
- stock _PlayerTextDrawDestroy(playerid, PlayerText:text) {
- static string[MAX_BUFFER];
- dbe("DELETE FROM `TextDraw` WHERE `flag`='%d' AND `x`='1'",_:text);
- return A::PlayerTextDrawDestroy(playerid,text);
- }
- #if defined _ALS_PlayerTextDrawDestroy
- #undef PlayerTextDrawDestroy
- #else
- #define _ALS_PlayerTextDrawDestroy
- #endif
- #define PlayerTextDrawDestroy _PlayerTextDrawDestroy
- stock _TextDrawDestroy(Text:text) {
- static string[MAX_BUFFER];
- dbe("DELETE FROM `TextDraw` WHERE `flag`='%d' AND `x`='0'",_:text);
- return A::TextDrawDestroy(text);
- }
- #if defined _ALS_TextDrawDestroy
- #undef TextDrawDestroy
- #else
- #define _ALS_TextDrawDestroy
- #endif
- #define TextDrawDestroy _TextDrawDestroy
- #if defined FILTERSCRIPT
- public OnFilterScriptInit() {
- if(fexist(A::DATABASE)) fremove(A::DATABASE);
- A::DB = db_open(A::DATABASE);
- db_free(db_query(A::DB,"CREATE TABLE IF NOT EXISTS `TextDraw` (`flag`,`x`,`text`)"));
- return CallLocalFunction("e_T_OnFilterScriptInit","");
- }
- #if defined _ALS_OnFilterScriptInit
- #undef OnFilterScriptInit
- #else
- #define _ALS_OnFilterScriptInit
- #endif
- #define OnFilterScriptInit e_T_OnFilterScriptInit
- public OnFilterScriptExit() {
- db_close(A::DB);
- return CallLocalFunction("e_T_OnFilterScriptExit","");
- }
- #if defined _ALS_OnFilterScriptExit
- #undef OnFilterScriptExit
- #else
- #define _ALS_OnFilterScriptExit
- #endif
- #define OnFilterScriptExit e_T_OnFilterScriptExit
- #else
- public OnGameModeInit() {
- if(fexist(A::DATABASE)) fremove(A::DATABASE);
- A::DB = db_open(A::DATABASE);
- db_free(db_query(A::DB,"CREATE TABLE IF NOT EXISTS `TextDraw` (`flag`,`x`,`text`)"));
- return CallLocalFunction("e_T_OnGameModeInit","");
- }
- #if defined _ALS_OnGameModeInit
- #undef OnGameModeInit
- #else
- #define _ALS_OnGameModeInit
- #endif
- #define OnGameModeInit e_T_OnGameModeInit
- public OnGameModeExit() {
- db_close(A::DB);
- return CallLocalFunction("e_T_OnGameModeExit","");
- }
- #if defined _ALS_OnGameModeExit
- #undef OnGameModeExit
- #else
- #define _ALS_OnGameModeExit
- #endif
- #define OnGameModeExit e_T_OnGameModeExit
- #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement