Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Installation:
- - Führt diesen SQL Befehl in eurer Datenbank aus:
- CREATE TABLE IF NOT EXISTS `BETAKEYS` (
- `ID` int(10) NOT NULL AUTO_INCREMENT,
- `Code` varchar(50) NOT NULL,
- `UsedByUser` varchar(24) NOT NULL,
- `used` tinyint(1) NOT NULL DEFAULT '0',
- UNIQUE KEY `ID` (`ID`)
- ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;
- - Geht in euren Gamemode, dort fügt ihr Folgendes ein:
- #define BETA // Wenn die Beta endet, diese Zeile(n) einfach wieder entfernen
- #if defined BETA
- #define public OnPlayerConnect(%0) forward _OnPlayerConnect(%0); public _OnPlayerConnect(%0)
- #endif
- - Sollte euer Server noch keine MySQL Verbindung in einem anderen Script aufbauen, müsst ihr folgenden Code mit euren Datenbankinformationen
- füllen und unter OnFilterScriptInit() adden:
- mysql_connect(const host[], const user[], const pass[], const db[], MySQL:handle = (MySQL:0), auto_reconnect = 0);
- Nun könnt ihr InGame mit /addcode [code] Neue Codes hinzufügen, oder sie einfach in die Datenbank schreiben
- */
- #include a_samp
- #include mysql
- #define DIALOG_CONNECT 3
- #define DIALOG_CODE 4
- new pName[MAX_PLAYERS][MAX_PLAYER_NAME];
- public OnFilterScriptInit(){
- mysql_init();
- //mysql_connect(const host[], const user[], const pass[], const db[], MySQL:handle = (MySQL:0), auto_reconnect = 0);
- return 1;
- }
- public OnPlayerConnect(playerid){
- GetPlayerName(playerid,pName[playerid],MAX_PLAYER_NAME);
- new str[256];
- format(str,sizeof str,"SELECT `UsedByUser` FROM `BETAKEYS` WHERE `UsedByUser` = '%s'",pName[playerid]);
- mysql_query(str);
- mysql_store_result();
- if(mysql_num_rows()>0)return CallRemoteFunction("_OnPlayerConnect","d",playerid);
- mysql_free_result();
- format(str, sizeof str,"{FFFFFF}Willkommen {33AA33}%s{FFFFFF}!",pName[playerid]);
- format(str, sizeof str, "%s\nDu hast noch {FF0000}keinen{FFFFFF} Closed-Beta Account.\nMöchtest du jetzt der Betaphase beitreten?",str);
- ShowPlayerDialog(playerid,DIALOG_CONNECT,DIALOG_STYLE_MSGBOX,"{FFFFFF}Closed-Beta",str,"Ja","Verlassen");
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){
- switch(dialogid){
- case DIALOG_CONNECT:{
- if(!response) return Kick(playerid);
- ShowPlayerDialog(playerid,DIALOG_CODE,DIALOG_STYLE_INPUT,"{FFFFFF}Closed-Beta",
- "{FFFFFF}Es fehlt nurnoch ein Schritt in Richtung Beta! Gib hier nun\n deinen {33AA33}Beta-Key{FFFFFF} ein:","Absenden","Zurück");
- }
- case DIALOG_CODE:{
- if(!response) return OnPlayerConnect(playerid);
- new str[256];
- format(str, sizeof str, "SELECT `used` FROM `BETAKEYS` WHERE `Code` = '%s' AND `used` = FALSE",inputtext);
- mysql_query(str);
- mysql_store_result();
- if(!mysql_num_rows()){
- mysql_free_result();
- SendClientMessage(playerid,0xFF0000FF,"Dieser Code existiert nicht oder wurde bereits verwendet!");
- return OnPlayerConnect(playerid);
- }
- mysql_free_result();
- format(str, sizeof str, "UPDATE `BETAKEYS` SET `used` = TRUE, `UsedByUser` = '%s' WHERE `Code` = '%s' AND `used` = FALSE",pName[playerid],inputtext);
- mysql_query(str);
- SendClientMessage(playerid,0x33AA33FF,"Code erfolgreich aktiviert! Du wirst nun weitergeleitet.");
- CallRemoteFunction("_OnPlayerConnect","d",playerid);
- }
- }
- return 0;
- }
- public OnPlayerCommandText(playerid, cmdtext[]){
- new query[128];
- if(strfind(cmdtext,"/addcode",true) != -1 && IsPlayerAdmin(playerid)){
- strmid(query,cmdtext,9,strlen(cmdtext));
- if(strlen(query) < 3 || strlen(query) > 50) return SendClientMessage(playerid,0xFFFFFF,"Der Code sollte zwischen 3 und 50 Zeichen besitzen.");
- format(query,sizeof query, "INSERT INTO BETAKEYS (Code) VALUES ('%s')",query);
- mysql_query(query);
- SendClientMessage(playerid,0xFFFFFF,"Code eingefügt!");
- return 1;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement