Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Includs
- #include <a_samp>
- #include <ocmd>
- #include <sscanf2>
- #include <a_mysql>
- //enums
- enum playerInfo{
- eingeloggt,
- level,
- id,
- alevel,
- aussehen,
- jahre
- }
- enum buildingsEnum{
- Float:b_x,
- Float:b_y,
- Float:b_z,
- Float:b_ix,
- Float:b_iy,
- Float:b_iz,
- b_interior,
- b_shopname[15],
- b_world
- }
- enum actorinfoLabel{
- actor_name[128],
- actor_skin,
- Float:a_x,
- Float:a_y,
- Float:a_z,
- Float:a_r,
- actor_vw,
- actor_best,
- actor_besttype,
- actor_id
- }
- //Globale Variable
- new dbhandle;
- new sInfo[MAX_PLAYERS][playerInfo];
- new bInfo[][buildingsEnum] = {
- {243.0825,-178.3224,1.5822,285.3642,-41.5576,1001.515,1,"AMMUN1"},//Ammunation Farm
- {212.1142,-202.1886,1.5781,372.4523,-133.5244,1001.4922,5,"FDPIZA"},//Pizza Farm
- {1481.0005,-1771.4497,18.7958,384.808624,173.804992,1008.382812,3}//LS Stadhalle
- };
- new actorInfo[][actorinfoLabel] = {
- {"Schönen guten Tag\nwie kann ich Ihnen helfen?\nZum Interagieren nutze die Eingabetaste",141,359.7171,173.5524,1008.3893,265.9239,2,0,0}
- };
- //Farben
- #define COLOR_RED 0xFF0023FF
- #define COLOR_ORANG 0xFF8200FF
- //Dialoge
- #define DIALOG_TELEPORT 1
- #define DIALOG_REGISTER 2
- #define DIALOG_LOGIN 3
- #define DIALOG_STADTHALLE 4
- #define DIALOG_STATS 5
- //MySQL
- #define db_host "127.0.0.1"
- #define db_user "st_dominiks"
- #define db_pass "336f2e59f4f87fdf9e63"
- #define db_db "st_dominiks"
- //Forwards
- forward OnUserCheck(playerid);
- forward OnPasswordResponse(playerid);
- main()
- {
- print("\n----------------------------------");
- print(" Reallife Scripting by [cX]CrazyPlayer");
- print("----------------------------------\n");
- }
- public OnGameModeInit()
- {
- SetGameModeText("Reallife Script");
- DisableInteriorEnterExits();
- EnableStuntBonusForAll(0);
- //Laden
- //Actors
- for(new i=0; i<sizeof(actorInfo); i++)
- {
- new string[128];
- format(string,sizeof(string),"%s",actorInfo[i][actor_name]);
- Create3DTextLabel(actorInfo[i][actor_name],COLOR_RED,actorInfo[i][a_x],actorInfo[i][a_y],actorInfo[i][a_z]+1.2,10,actorInfo[i][actor_vw],1);
- actorInfo[i][actor_id]=CreateActor(actorInfo[i][actor_skin],actorInfo[i][a_x],actorInfo[i][a_y],actorInfo[i][a_z],actorInfo[i][a_r]);
- SetActorVirtualWorld(actorInfo[i][actor_id],actorInfo[i][actor_vw]);
- }
- //Interiors
- for(new i=0; i<sizeof(bInfo); i++)
- {
- CreatePickup(1239,1,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z]);
- Create3DTextLabel("/enter",COLOR_RED,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z],20,0,1);
- }
- //
- //MySQL
- dbhandle = mysql_connect(db_host,db_user,db_db,db_pass);
- return 1;
- }
- public OnGameModeExit()
- {
- mysql_close(dbhandle);
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- SetSpawnInfo(playerid,135,0,0,0,0,0,0,0,0,0,0,0);
- SpawnPlayer(playerid);
- return 1;
- }
- public OnUserCheck(playerid)
- {
- new num_rows,num_fields;
- cache_get_data(num_rows,num_fields,dbhandle);
- if(num_rows==0)
- {
- //Registrierung
- ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Gib bitte dein gewünschtes Passwort an:","Bestätigen","Abbrechen");
- }
- else
- {
- //Login
- ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gibt bitte dein Passwort ein:","Okay","Abbrechen");
- }
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- //Login/Register
- new name[MAX_PLAYER_NAME],query[128];
- GetPlayerName(playerid,name,sizeof(name));
- format(query,sizeof(query),"SELECT id FROM user WHERE username='%s'",name);
- mysql_function_query(dbhandle,query,true,"OnUserCheck","i",playerid);
- return 1;
- }
- savePlayer(playerid)
- {
- if(sInfo[playerid][eingeloggt]==0)return 1;
- //Speichern level,money,alevel
- new query[128];
- format(query,sizeof(query),"UPDATE user SET level='%i',money='%i',alevel='%i' WHERE id='%i'",sInfo[playerid][level],GetPlayerMoney(playerid),sInfo[playerid][alevel],sInfo[playerid][id]);
- mysql_function_query(dbhandle,query,false,"","");
- return 1;
- }
- resetPlayer(playerid)
- {
- for(new i=0; i<sizeof(sInfo[]); i++)
- {
- sInfo[playerid][playerInfo:i]=0;
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- savePlayer(playerid);
- resetPlayer(playerid);
- return 1;
- }
- //Befehle
- ocmd:exit(playerid,params[])
- {
- for(new i=0; i<sizeof(bInfo); i++)
- {
- if(GetPlayerVirtualWorld(playerid)!=i)continue;
- if(!IsPlayerInRangeOfPoint(playerid,2,bInfo[i][b_ix],bInfo[i][b_iy],bInfo[i][b_iz]))continue;
- SetPlayerPos(playerid,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z]);
- SetPlayerInterior(playerid,0);
- SetPlayerVirtualWorld(playerid,0);
- return 1;
- }
- return 1;
- }
- ocmd:enter(playerid,params[])
- {
- for(new i=0; i<sizeof(bInfo); i++)
- {
- if(!IsPlayerInRangeOfPoint(playerid,2,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z]))continue;
- SetPlayerPos(playerid,bInfo[i][b_ix],bInfo[i][b_iy],bInfo[i][b_iz]);
- SetPlayerInterior(playerid,bInfo[i][b_interior]);
- SetPlayerVirtualWorld(playerid,i);
- SetPlayerShopName(playerid,bInfo[i][b_shopname]);
- return 1;
- }
- return 1;
- }
- ocmd:sms(playerid,params[])
- {
- new pID,text[128];
- if (sscanf(params,"us[128]",pID,text))return SendClientMessage(playerid,COLOR_RED,"/sms [Spielername/ID] [Naricht]");
- format(text,sizeof(text),"SMS: %s Von: (%i)",text,pID);
- SendClientMessage(pID,COLOR_ORANG,text);
- return 1;
- }
- //ADMIN BEFEHLE
- ocmd:infos(playerid,params[])
- {
- new string[250],pID;
- if(sscanf(params,"u",pID))return SendClientMessage(playerid,COLOR_RED,"/info [playerid]");
- format(string,sizeof(string),"Virtualworld %d Interior: %d",GetPlayerVirtualWorld(pID),GetPlayerInterior(pID));
- SendClientMessage(playerid,COLOR_RED,"------Infos------");
- SendClientMessage(playerid,COLOR_RED,string);
- SendClientMessage(playerid,COLOR_RED,"-----------------");
- return 1;
- }
- ocmd:veh(playerid,params[])
- {
- if(!isAdmin(playerid,3))return SendClientMessage(playerid,COLOR_RED,"Dein Adminrang ist zu niedrig");
- new mID;
- if(sscanf(params,"i",mID))return SendClientMessage(playerid,COLOR_RED,"/veh [Vehicle ID]");
- if(mID<400||mID>611)return SendClientMessage(playerid,COLOR_RED,"Ungültige Vehicle ID");
- new Float:xc,Float:yc,Float:zc,Float:rc;
- GetPlayerPos(playerid,xc,yc,zc);
- GetPlayerFacingAngle(playerid,rc);
- CreateVehicle(mID,xc,yc,zc,rc,-1,-1,-1);
- return 1;
- }
- ocmd:delcar(playerid,params[])
- {
- if(!isAdmin(playerid,3))return SendClientMessage(playerid,COLOR_RED,"Dein Adminrang ist zu niedrig.");
- if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid,COLOR_RED,"Du bist in keinem Fahrzeug.");
- DestroyVehicle(GetPlayerVehicleID(playerid));
- return 1;
- }
- ocmd:setadmin(playerid,params[])
- {
- if(!isAdmin(playerid,4))return SendClientMessage(playerid,COLOR_RED,"Dein Adminrang ist zu niedrig");
- new pID,a_level;
- if(sscanf(params,"ui",pID,a_level)) return SendClientMessage(playerid,COLOR_RED,"INFO: /setadmin [playerid] [adminlevel]");
- sInfo [pID][alevel]=a_level;
- savePlayer(pID);
- SendClientMessage(playerid,COLOR_RED,"Dein Adminrang wurde geändert");
- SendClientMessage(playerid,COLOR_RED,"Du hast den Adminrang geändert");
- return 1;
- }
- isAdmin(playerid,a_level)
- {
- if(sInfo[playerid][alevel]>=a_level)return 1;
- return 0;
- }
- ocmd:gmx(playerid,params[])
- {
- if(!isAdmin(playerid,3))return SendClientMessage(playerid,COLOR_RED,"Dein Adminrang ist zu niedrig");
- SendRconCommand("gmx");
- return 1;
- }
- ocmd:teleport(playerid,params[])
- {
- if(!isAdmin(playerid,2))return SendClientMessage(playerid,COLOR_RED,"Dein Adminrang ist zu niedrig");
- ShowPlayerDialog(playerid,DIALOG_TELEPORT,DIALOG_STYLE_LIST,"Teleports","Zivispawn\nBSN\nLSPD","Weiter","Abbrechen");
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- SendClientMessage(playerid,COLOR_RED,"Willkommen am Los Santos Airport dein Second Life kann nun beginnen.");
- SetPlayerPos(playerid,1641.8796,-2333.6069,13.5469);
- SetPlayerFacingAngle(playerid,1.0462);
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if (!strcmp("/help",cmdtext,true))
- {
- SendClientMessage(playerid,COLOR_RED,"Allgemein");
- SendClientMessage(playerid,COLOR_RED,"/help, /gmx");
- return 1;
- }
- return 0;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- return 1;
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnRconCommand(cmd[])
- {
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- return 1;
- }
- public OnObjectMoved(objectid)
- {
- return 1;
- }
- public OnPlayerObjectMoved(playerid, objectid)
- {
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- return 1;
- }
- public OnVehicleMod(playerid, vehicleid, componentid)
- {
- return 1;
- }
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
- {
- return 1;
- }
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- return 1;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- return 1;
- }
- public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
- {
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if(newkeys & KEY_NO)
- {
- //Enter/Exit-taste
- ocmd_enter(playerid,"");
- ocmd_exit(playerid,"");
- return 1;
- }
- return 1;
- }
- public OnRconLoginAttempt(ip[], password[], success)
- {
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- return 1;
- }
- public OnPlayerStreamIn(playerid, forplayerid)
- {
- return 1;
- }
- public OnPlayerStreamOut(playerid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamOut(vehicleid, forplayerid)
- {
- return 1;
- }
- SetPlayerMoney(playerid,money)
- {
- ResetPlayerMoney(playerid);
- GivePlayerMoney(playerid,money);
- return 1;
- }
- public OnPasswordResponse(playerid)
- {
- new num_fields,num_rows;
- cache_get_data(num_rows,num_fields,dbhandle);
- if(num_rows==1)
- {
- //Passwort richtig
- sInfo[playerid][eingeloggt] = 1;
- sInfo[playerid][level] = cache_get_field_content_int(0,"level",dbhandle);
- SetPlayerScore(playerid,sInfo[playerid][level]);
- sInfo[playerid][id] = cache_get_field_content_int(0,"id",dbhandle);
- SetPlayerMoney(playerid,cache_get_field_content_int(0,"money",dbhandle));
- sInfo[playerid][alevel] = cache_get_field_content_int(0,"alevel",dbhandle);
- }
- else
- {
- //Passwort falsch
- SendClientMessage(playerid,COLOR_RED,"Das eingegebene Passwort ist falsch.");
- ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gibt bitte dein Passwort ein:","Okay","Abbrechen");
- }
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid== DIALOG_LOGIN)
- {
- if(response)
- {
- new name[MAX_PLAYER_NAME],query[128],passwort[35];
- GetPlayerName(playerid,name,sizeof(name));
- if(strlen(inputtext)>0)
- {
- mysql_escape_string(inputtext,passwort,dbhandle);
- format(query,sizeof(query),"SELECT * FROM user WHERE username='%s' AND password=MD5('%s')",name,passwort);
- mysql_function_query(dbhandle,query,true,"OnPasswordResponse","i",playerid);
- }
- else
- {
- //Keine Eingabe
- SendClientMessage(playerid,COLOR_RED,"Gib bitte dein Passwort an.");
- ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gibt bitte dein Passwort ein:","Okay","Abbrechen");
- }
- }
- else
- {
- Kick(playerid);
- }
- return 1;
- }
- if(dialogid==DIALOG_REGISTER)
- {
- if(response)
- {
- new name[MAX_PLAYER_NAME],query[128],passwort[35];
- GetPlayerName(playerid,name,sizeof(name));
- if(strlen(inputtext)>3)
- {
- //Registrierungsfunktion
- mysql_escape_string(inputtext,passwort,dbhandle);
- format(query,sizeof(query),"INSERT INTO user (username,password) VALUES ('%s',MD5('%s')) ",name,passwort);
- mysql_function_query(dbhandle,query,false,"","");
- }
- else
- {
- //Kleiner als 4 Zeichen
- SendClientMessage(playerid,COLOR_RED,"Dein Passwort muss mindestens 4 Zeichen lang sein.");
- ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Regestrierung","Gib bitte dein gewünschtes Passwort an:","Bestätigen","Abbrechen");
- }
- }
- else
- {
- Kick(playerid);
- }
- return 1;
- }
- if(dialogid==DIALOG_TELEPORT)
- {
- if(response)
- {
- if(listitem==0)
- {
- //Spawn
- SetPlayerPos(playerid,1641.8796,-2333.6069,13.5469);
- }
- if(listitem==1)
- {
- //BSN
- SetPlayerPos(playerid,1221.4990,-918.8586,42.6397);
- }
- if(listitem==2)
- {
- //LSPD
- SetPlayerPos(playerid,1519.7507,-1653.1948,13.2662);
- }
- }
- else
- {
- SendClientMessage(playerid,COLOR_RED,"Vorgang abgebrochen.");
- }
- return 1;
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement