Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define FILTERSCRIPT
- #include <a_samp>
- #include <a_sampdb>
- #include <zcmd>
- #include <sscanf2>
- #define function%0(%1) forward%0(%1);public%0(%1)
- #define ADosya ("Aktor.db")
- enum AktorInfo
- {
- AktorSkin,
- Float: AktorX,
- Float: AktorY,
- Float: AktorZ,
- Float: AktorA,
- AktorVirtual,
- AktorYazi[360],
- AktorAd[32],
- Aaktif,
- Aktor,
- Text3D: AktorLabel
- }
- new Ainfo[MAX_ACTORS][AktorInfo];
- new gValue[128];
- new DB:ADB;
- new Aktor_AI = 1;
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" _Backup & Kralcik dinamik aktör sistemi yüklendi!"); // This is credits do not delete !
- print("--------------------------------------\n"); // ( Türkçeden anlamayan amipler için ingilizce yazdım )
- if(!fexist(ADosya))
- {
- fcreate(ADosya);
- printf("%s adlı veritabanı bulunamadı üzümle ben senin için oluştururum.", ADosya);
- }
- ADB = db_open(ADosya); // dbyi açıyoruz
- AktorYukle(); // db yi açtıktan sonra Aktörlerimizi yüklüyoruz.
- return 1;
- }
- public OnFilterScriptExit()
- {
- db_close(ADB); // dbyi kapatıyoruz
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- 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[])
- {
- 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)
- {
- 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;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- return 1;
- }
- CMD:aktorekle(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xE60000FF, "Bu komutu sadece adminler kullanabilir!");
- if(GetLastID() > MAX_ACTORS) return SendClientMessage(playerid, 0xE60000FF, "Daha fazla aktör oluşturamazsınız!");
- new Float:PPos[4], string[128], query[256],skin,actname[32],yazi[250];
- GetPlayerPos(playerid, PPos[0], PPos[1], PPos[2]);
- GetPlayerFacingAngle(playerid,PPos[3]);
- if(sscanf(params,"ssi",actname,yazi,skin)) return SendClientMessage(playerid, 0xE60000FF, "Kullanım: /Aktorekle [isim] [Yazi] [Skin]");
- format(query, sizeof(query), "INSERT INTO `AktorDB` (`AktorX`,`AktorY`,`AktorZ`, `AktorNeymim`,`Yazi`, `AktorVirtual`, `AktorA`,`Skin`,`Aaktif`) VALUES('%f','%f','%f','%s','%s','%i','%f','%i','1');",PPos[0], PPos[1], PPos[2],actname,yazi,GetPlayerVirtualWorld(playerid),PPos[3],skin);
- db_query(ADB,query);
- format(string,sizeof(string),"%s isimli %i skinli bir aktör oluşturdunuz!", actname,skin);
- SendClientMessage(playerid, 0xFFFFFFFF, string);
- SetPlayerPos(playerid, PPos[0] + (1.5 * floatsin(-PPos[3], degrees)), PPos[1] + (1.5 * floatcos(-PPos[3], degrees)), PPos[2]);
- AktorEkle(actname,Aktor_AI,yazi,skin,PPos[0],PPos[1],PPos[2],PPos[3],GetPlayerVirtualWorld(playerid),1);
- Aktor_AI ++;
- return 1;
- }
- CMD:aktorsil(playerid,params[])
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xE60000FF, "Bu komutu sadece adminler kullanabilir!");
- new ID;
- if(sscanf(params,"i",ID)) return SendClientMessage(playerid,0xE60000FF,"Kullanım: /aktorsil [AKTOR ID]");
- new query[250];
- Ainfo[ID][Aaktif] = 0;
- format(query, sizeof(query), "UPDATE `AktorDB` SET `Aaktif` = '0' WHERE `AktorNeymim` = '%s'",Ainfo[ID][AktorAd]);
- db_query(ADB,query);
- DestroyActor(Ainfo[ID][Aktor]);
- Delete3DTextLabel(Ainfo[ID][AktorLabel]);
- SendClientMessage(playerid,-1,"Başarıyla aktorü sildiniz!");
- return true;
- }
- CMD:aktorduzenle(playerid,params[])
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xE60000FF, "Bu komutu sadece adminler kullanabilir!");
- new akid ,yazi[256],skin,Float:PPos[4],actname[32],query[500];
- if(sscanf(params,"is[32]s[250]i,",akid,actname,yazi,skin)) return SendClientMessage(playerid,0xE60000FF,"Kullanım : /aktorduzenle [AktorID] [Yeni isim] [Yazi] [Skin]");
- if(Ainfo[akid][Aaktif] == 0) return SendClientMessage(playerid, 0xE60000FF ,"Bu aktör aktif durumda değil!");
- GetPlayerPos(playerid, PPos[0], PPos[1], PPos[2]);
- GetPlayerFacingAngle(playerid,PPos[3]);
- DestroyActor(Ainfo[akid][Aktor]);
- Delete3DTextLabel(Ainfo[akid][AktorLabel]);
- new ad[32];
- format(ad,32,"%s",Ainfo[akid][AktorAd]);
- format(query, sizeof(query), "UPDATE `AktorDB` SET `AktorNeymim` = '%s' WHERE `AktorNeymim` = '%s'",actname,ad);
- db_query(ADB,query);
- format(query, sizeof(query), "UPDATE `AktorDB` SET `AktorX` = '%f' WHERE `AktorNeymim` = '%s'",PPos[0],ad);
- db_query(ADB,query);
- format(query, sizeof(query), "UPDATE `AktorDB` SET `AktorY` = '%f' WHERE `AktorNeymim` = '%s'",PPos[1],ad);
- db_query(ADB,query);
- format(query, sizeof(query), "UPDATE `AktorDB` SET `AktorZ` = '%f' WHERE `AktorNeymim` = '%s'",PPos[2],ad);
- db_query(ADB,query);
- format(query, sizeof(query), "UPDATE `AktorDB` SET `AktorA` = '%f' WHERE `AktorNeymim` = '%s'",PPos[3],ad);
- db_query(ADB,query);
- format(query, sizeof(query), "UPDATE `AktorDB` SET `Skin` = '%i' WHERE `AktorNeymim` = '%s'",skin,ad);
- db_query(ADB,query);
- format(query, sizeof(query), "UPDATE `AktorDB` SET `Yazi` = '%s' WHERE `AktorNeymim` = '%s'",yazi,ad);
- db_query(ADB,query);
- format(query, sizeof(query), "UPDATE `AktorDB` SET `AktorVirtual` = '%i' WHERE `AktorNeymim` = '%s'",GetPlayerVirtualWorld(playerid),ad);
- db_query(ADB,query);
- SetPlayerPos(playerid, PPos[0] + (1.5 * floatsin(-PPos[3], degrees)), PPos[1] + (1.5 * floatcos(-PPos[3], degrees)), PPos[2]);
- AktorEkle(actname,akid,yazi,skin,PPos[0],PPos[1],PPos[2],PPos[3],GetPlayerVirtualWorld(playerid),1);
- return true;
- }
- /// Stocklar
- stock GetLastID()
- {
- new DBResult:qresult, count = 0, Value[128];
- qresult = db_query(ADB, "SELECT * FROM `AktorDB` ORDER BY `ID` DESC LIMIT 1");
- count = db_num_rows(qresult);
- for(new a=0;a<count;a++)
- {
- if(count <= MAX_ACTORS)
- {
- db_get_field_assoc(qresult, "ID", Value, 5); gValue[a] = Value[a]+1;
- db_next_row(qresult);
- }
- }
- db_free_result(qresult);
- return 1;
- }
- stock fcreate(filename[])
- {
- if (fexist(filename)){return false;}
- new File:fhandle = fopen(filename,io_write);
- fclose(fhandle);
- return true;
- }
- stock AktorYukle()
- {
- new query[356], DBResult:qresult, count = 0, value[128],string[356],Float:xim,Float:yim,Float:zim,Float:aim,gelenyazi[356],aktorneymim[32],
- aktorvirtualim,askinim,adurum3;
- if(!db_query(DB: ADB, "SELECT * FROM `AktorDB`"))
- {
- print("Aktor tablosu bulunamadı! Ben senin icin oluşturuyorum...");
- format(query,sizeof(query),"CREATE TABLE IF NOT EXISTS `AktorDB` (`ID` INTEGER PRIMARY KEY AUTOINCREMENT,`AktorNeymim` TEXT,`AktorVirtual`INTEGER ,`AktorX` TEXT,`AktorA` TEXT,`AktorY` TEXT,`AktorZ` TEXT,`Skin` INTEGER ,`Aaktif` INTEGER ,`Yazi` TEXT)");
- db_query(ADB,query);
- print("--------------------------------------\n");
- print("Aktör tablosu oluşturuldu sunucuya restart atman gerekiyor...");
- print("--------------------------------------\n");
- SendRconCommand("exit");
- }
- else
- {
- qresult = db_query(ADB, "SELECT * FROM `AktorDB`");
- count = db_num_rows(qresult);
- for(new a=0;a<count;a++)
- {
- if(count >= 1 && count <= MAX_ACTORS)
- {
- db_get_field_assoc(qresult, "AktorX", value, 20); xim = floatstr(value);
- db_get_field_assoc(qresult, "AktorY", value, 20); yim = floatstr(value);
- db_get_field_assoc(qresult, "AktorZ", value, 20); zim = floatstr(value);
- db_get_field_assoc(qresult, "AktorA", value, 20); aim = floatstr(value);
- db_get_field_assoc(qresult, "Yazi",string,356); format(gelenyazi,356,string);
- db_get_field_assoc(qresult,"AktorNeymim",string,35); format(aktorneymim,32,string);
- db_get_field_assoc(qresult, "AktorVirtual", value, 20); aktorvirtualim = strval(value);
- db_get_field_assoc(qresult, "Skin", value, 20); askinim = strval(value);
- db_get_field_assoc(qresult, "Aaktif", value, 20); adurum3 = strval(value);
- if(adurum3 == 1)
- {
- AktorEkle(aktorneymim,Aktor_AI,gelenyazi,askinim,xim,yim,zim,aim,aktorvirtualim,adurum3);
- Aktor_AI++;
- }
- db_next_row(qresult);
- }
- }
- db_free_result(qresult);
- print("Backup & Kralcik aktör sistemi şuanda yüklendi.");
- print("--------------------------------------\n");
- }
- return true;
- }
- stock AktorEkle(AktorNeym[],AktorAydi,BilgiYazi[],Smodel,Float:Axxx,Float:Ayyy,Float:Azzz,Float:Aaaa,AVorld,adurum)
- {
- if(adurum == 1)
- {
- new dongustr[256];
- format(dongustr,256,"%s(%i)\n%s",AktorNeym,AktorAydi,BilgiYazi);
- Ainfo[AktorAydi][AktorLabel] = Create3DTextLabel(dongustr, 0x008080FF, Axxx, Ayyy, Azzz, 20.0, AVorld, 0);
- Ainfo[AktorAydi][Aktor] = CreateActor(Smodel,Axxx,Ayyy,Azzz,Aaaa);
- SetActorVirtualWorld(Ainfo[AktorAydi][Aktor], AVorld);
- Ainfo[AktorAydi][Aaktif] = 1;
- Ainfo[AktorAydi][AktorX] = Axxx;
- Ainfo[AktorAydi][AktorY] = Ayyy;
- Ainfo[AktorAydi][AktorZ] = Azzz;
- Ainfo[AktorAydi][AktorA] = Aaaa;
- Ainfo[AktorAydi][AktorVirtual] = AVorld;
- Ainfo[AktorAydi][AktorSkin] = Smodel;
- format(Ainfo[AktorAydi][AktorAd],32,AktorNeym);
- format(Ainfo[AktorAydi][AktorYazi],256,BilgiYazi);
- }
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement