Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <zcmd>
- #include <sscanf2>
- #include <dini>
- #define DIALOG_YEDIT (133)
- #define Yedit-> Yedit_
- #define MAX_YEDIT (100)
- #define yeditYolu "/Yedit/"
- enum y_Enum{
- Float:yX,
- Float:yY,
- Float:yZ,
- Float:yRotX,
- Float:yRotY,
- Float:yRotZ,
- yObje,
- Text3D:yLabel
- };
- new
- YeditData[MAX_YEDIT][y_Enum],
- _yCount
- ;
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" Yılbaşı Objeleri Düzenleme Sistemi Aktif");
- print("--------------------------------------\n");
- for(new _y = false; _y < (MAX_YEDIT); _y++)
- {
- new dosya[96];
- format(dosya, sizeof dosya, ""yeditYolu"%i.ini", _y);
- if(!dini_Exists(dosya)) continue;
- Yedit->Obje(strval(dini_Get(dosya, "obje")), floatstr(dini_Get(dosya, "x")), floatstr(dini_Get(dosya, "y")), floatstr(dini_Get(dosya, "z")), floatstr(dini_Get(dosya, "rotx")), floatstr(dini_Get(dosya, "roty")), floatstr(dini_Get(dosya, "rotz")));
- }
- return 1;
- }
- public OnFilterScriptExit()
- {
- for(new _y = false; _y < (MAX_YEDIT); _y++)
- {
- new dosya[96];
- format(dosya, sizeof dosya, ""yeditYolu"%i.ini", _y);
- if(!dini_Exists(dosya)) continue;
- DestroyObject(YeditData[_y][yObje]);
- Delete3DTextLabel(YeditData[_y][yLabel]);
- }
- return 1;
- }
- CMD:yeditor(playerid){
- if(GetPVarInt(playerid, "Yedit_Duzenliyor") == 0)
- {
- SetPVarInt(playerid, "Yedit_Duzenliyor", 1);
- ShowPlayerDialog(playerid, DIALOG_YEDIT, DIALOG_STYLE_TABLIST_HEADERS, "{ff00ff}Yılbaşı Editör","{00ffff}ID\t{00ffff}Obje\n19076\tYılbaşı Ağacı\n19054\tKoyu Kırmızı Kutu\n19055\tSarı Kutu\n19056\tGökkuşağı Kutu\n19057\tKırmızı Yıldızlı Kutu\n19058\tSiyah Kutu", "Seç", "Kapat");
- GameTextForPlayer(playerid, "~g~Duzenleme basladi.", 5000, 5);
- } else {
- SetPVarInt(playerid, "Yedit_Duzenliyor", 0);
- GameTextForPlayer(playerid, "~r~Duzenleme sona erdi.", 5000, 5);
- }
- return true;
- }
- CMD:yduzenle(playerid, params[]){
- if(!IsPlayerAdmin(playerid)) return true;
- new yid, dosyaYolu[126];
- if(sscanf(params, "i", yid)) return SendClientMessage(playerid, 0xBD1414FF, "KULLANIM: {ffffff}/yduzenle [ID]");
- format(dosyaYolu, sizeof dosyaYolu, ""yeditYolu"%i.ini", yid);
- if(!dini_Exists(dosyaYolu)) return SendClientMessage(playerid, 0xBD1414FF, "HATA: {ffffff}Bu ID'a ait bir obje yok.");
- else {
- format(dosyaYolu, sizeof dosyaYolu, "BILGI: {ffffff}Şu an {00ff00}%i {ffffff}ID'e sahip yılbaşı objesini düzenliyorsunuz.", yid);
- SendClientMessage(playerid, 0x00ff00ff, dosyaYolu);
- SendClientMessage(playerid, 0x00ff00ff, "BILGI: {ffffff}Düzenlemeyi kapatmak için {bd1414}/ydiptal {ffffff}yazın.");
- EditObject(playerid, YeditData[yid][yObje]);
- SetPVarInt(playerid, "Yedit_Duzenleme", 1);
- SetPVarInt(playerid, "Yedit_Duzenlenen", yid);
- }
- return true;
- }
- CMD:ydiptal(playerid){
- if(!IsPlayerAdmin(playerid)) return true;
- if(GetPVarInt(playerid, "Yedit_Duzenleme") == 0) return SendClientMessage(playerid, 0xBD1414FF, "HATA: {ffffff}Yedit düzenlemiyorsunuz.");
- else {
- SetPVarInt(playerid, "Yedit_Duzenleme", 0);
- CancelEdit(playerid);
- SendClientMessage(playerid, 0x00ff00ff, "BILGI: {ffffff}Yılbaşı objesi düzenlemeyi iptal ettiniz.");
- }
- return true;
- }
- CMD:ysil(playerid, params[]){
- if(!IsPlayerAdmin(playerid)) return true;
- new yid, dosyaYolu[126];
- if(sscanf(params, "i", yid)) return SendClientMessage(playerid, 0xBD1414FF, "KULLANIM: {ffffff}/ysil [ID]");
- format(dosyaYolu, sizeof dosyaYolu, ""yeditYolu"%i.ini", yid);
- if(!dini_Exists(dosyaYolu)) return SendClientMessage(playerid, 0xBD1414FF, "HATA: {ffffff}Bu ID'a ait bir obje yok.");
- else {
- DestroyObject(YeditData[yid][yObje]);
- Delete3DTextLabel(YeditData[yid][yLabel]);
- dini_Remove(dosyaYolu);
- format(dosyaYolu, sizeof dosyaYolu, "BILGI: {ffffff}Şu an {00ff00}%i {ffffff}ID'e sahip objeyi sildiniz.", yid);
- SendClientMessage(playerid, 0x00ff00ff, dosyaYolu);
- }
- return true;
- }
- public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ)
- {
- new Float:oldX, Float:oldY, Float:oldZ, Float:oldRotX, Float:oldRotY, Float:oldRotZ;
- GetObjectPos(objectid, oldX, oldY, oldZ);
- GetObjectRot(objectid, oldRotX, oldRotY, oldRotZ);
- if(!playerobject)
- {
- if(!IsValidObject(objectid)) return 1;
- SetObjectPos(objectid, fX, fY, fZ);
- SetObjectRot(objectid, fRotX, fRotY, fRotZ);
- }
- if(response == EDIT_RESPONSE_FINAL)
- {
- new dosya[126];
- format(dosya,126,""yeditYolu"%i.ini", GetPVarInt(playerid, "Yedit_Duzenlenen"));
- if(dini_Exists(dosya))
- {
- dini_FloatSet(dosya, "x", fX);
- dini_FloatSet(dosya, "y", fY);
- dini_FloatSet(dosya, "z", fZ);
- dini_FloatSet(dosya, "rotx", fRotX);
- dini_FloatSet(dosya, "roty", fRotY);
- dini_FloatSet(dosya, "rotz", fRotZ);
- YeditData[GetPVarInt(playerid,"Yedit_Duzenlenen")][yX] = fX;
- YeditData[GetPVarInt(playerid,"Yedit_Duzenlenen")][yY] = fY;
- YeditData[GetPVarInt(playerid,"Yedit_Duzenlenen")][yZ] = fZ;
- YeditData[GetPVarInt(playerid,"Yedit_Duzenlenen")][yRotX] = fRotX;
- YeditData[GetPVarInt(playerid,"Yedit_Duzenlenen")][yRotY] = fRotY;
- YeditData[GetPVarInt(playerid,"Yedit_Duzenlenen")][yRotZ] = fRotZ;
- Delete3DTextLabel(YeditData[GetPVarInt(playerid,"Yedit_Duzenlenen")][yLabel]);
- new hasd[126];
- format(hasd,126,"%s(%i)", GetYeditObjectName(strval(dini_Get(dosya, "obje"))), _yCount);
- YeditData[GetPVarInt(playerid,"Yedit_Duzenlenen")][yLabel] = Create3DTextLabel(hasd, 0xea1354a9, YeditData[GetPVarInt(playerid,"Yedit_Duzenlenen")][yX], YeditData[GetPVarInt(playerid,"Yedit_Duzenlenen")][yY], YeditData[GetPVarInt(playerid,"Yedit_Duzenlenen")][yZ], 5.0, 0, 0);
- }
- cmd_ydiptal(playerid);
- SendClientMessage(playerid, 0x00ff00ff, "BILGI: {ffffff}Yılbaşı objesi başarıyla kaydedildi.");
- }
- if(response == EDIT_RESPONSE_CANCEL)
- {
- if(!playerobject)
- {
- SetObjectPos(objectid, oldX, oldY, oldZ);
- SetObjectRot(objectid, oldRotX, oldRotY, oldRotZ);
- }
- else
- {
- SetPlayerObjectPos(playerid, objectid, oldX, oldY, oldZ);
- SetPlayerObjectRot(playerid, objectid, oldRotX, oldRotY, oldRotZ);
- }
- }
- return true;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == DIALOG_YEDIT)
- {
- if(!response) return cmd_yeditor(playerid);
- new
- Float:yPos[3], dosyaYeri[96];
- GetPlayerPos(playerid, yPos[0], yPos[1], yPos[2]);
- format(dosyaYeri, 96, ""yeditYolu"%i.ini", _yCount);
- dini_Create(dosyaYeri);
- switch(listitem)
- {
- case 0: Yedit->Obje(19076, yPos[0], yPos[1], yPos[2], 0, 0, 0), dini_IntSet(dosyaYeri, "obje", 19076); //Yılbaşı Ağacı
- case 1: Yedit->Obje(19054, yPos[0], yPos[1], yPos[2], 0, 0, 0), dini_IntSet(dosyaYeri, "obje", 19054); //Koyu Kırmızı Kutu
- case 2: Yedit->Obje(19055, yPos[0], yPos[1], yPos[2], 0, 0, 0), dini_IntSet(dosyaYeri, "obje", 19055); //Sarı Kutu
- case 3: Yedit->Obje(19056, yPos[0], yPos[1], yPos[2], 0, 0, 0), dini_IntSet(dosyaYeri, "obje", 19056); //Gökkuşağı Kutu
- case 4: Yedit->Obje(19057, yPos[0], yPos[1], yPos[2], 0, 0, 0), dini_IntSet(dosyaYeri, "obje", 19057); //Kırmızı Yıldızlı Kutu
- case 5: Yedit->Obje(19058, yPos[0], yPos[1], yPos[2], 0, 0, 0), dini_IntSet(dosyaYeri, "obje", 19058); //Siyah Kutu
- }
- SetPlayerPos(playerid, yPos[0]+0.6, yPos[1]+0.6, yPos[2]+0.8);
- new string[126];
- format(string,156,"{00FF00}BILGI: {ffffff}Bu yılbaşı objesini düzenlemek için {ff0000}/yduzenle %i {ffffff}yazınız.", _yCount-1);
- SendClientMessage(playerid, 0xFF0000FF, string);
- dini_FloatSet(dosyaYeri, "x", yPos[0]);
- dini_FloatSet(dosyaYeri, "y", yPos[1]);
- dini_FloatSet(dosyaYeri, "z", yPos[2]);
- dini_FloatSet(dosyaYeri, "rotx", 0);
- dini_FloatSet(dosyaYeri, "roty", 0);
- dini_FloatSet(dosyaYeri, "rotz", 0);
- SetPVarInt(playerid, "Yedit_Duzenliyor", 0);
- }
- return true;
- }
- stock Yedit_Obje(objeid, Float:_yPosX, Float:_yPosY, Float:_yPosZ, Float:_yRotY, Float:_yRotX, Float:_yRotZ){
- new string[126];
- YeditData[_yCount][yObje] = CreateObject(objeid, _yPosX, _yPosY, _yPosZ, _yRotX, _yRotY, _yRotZ);
- format(string,126,"%s(%i)", GetYeditObjectName(objeid), _yCount);
- YeditData[_yCount][yX] = _yPosX;
- YeditData[_yCount][yY] = _yPosY;
- YeditData[_yCount][yZ] = _yPosZ;
- YeditData[_yCount][yRotX] = _yRotX;
- YeditData[_yCount][yRotY] = _yRotY;
- YeditData[_yCount][yRotZ] = _yRotZ;
- YeditData[_yCount][yLabel] = Create3DTextLabel(string, 0xea1354a9, _yPosX, _yPosY, _yPosZ, 5.0, 0, 0);
- printf("YEDIT: %s(%i) yüklendi.", GetYeditObjectName(objeid), _yCount);
- _yCount++;
- return true;
- }
- stock GetYeditObjectName(itemid){
- new iString[56];
- switch(itemid)
- {
- case 19076: format(iString,sizeof iString, "Yılbaşı Ağacı");
- case 19054: format(iString,sizeof iString, "Koyu Kırmızı Kutu");
- case 19055: format(iString,sizeof iString, "Sarı Kutu");
- case 19056: format(iString,sizeof iString, "Gökkuşağı Kutu");
- case 19057: format(iString,sizeof iString, "Kırmızı Yıldızlı Kutu");
- case 19058: format(iString,sizeof iString, "Siyah Kutu");
- }
- return iString;
- }
Advertisement
Add Comment
Please, Sign In to add comment