Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Görev Sistemi. Kodlayan: Zoxy
- */
- #include <a_samp>
- #include <zcmd>
- // ------------------------ DEĞİŞKENLER -----------------------------
- new KurbanID[MAX_PLAYERS];
- new GorevDakika[MAX_PLAYERS];
- new GorevOdul[MAX_PLAYERS];
- new Text:GorevTD[MAX_PLAYERS][7];
- #define ACTOR_X 1215.0837 // Actorun X pozisyonudur.
- #define ACTOR_Y -1653.7765 // Actorun Y Pozisyonudur.
- #define ACTOR_Z 11.7969 // Actorun Z pozisyonudur.
- #define ACTOR_ROTATION 264.9668 // Actorun bakış açısı.
- #define ACTOR_SKINID 33 // Actorun kullanacağı Skin id.
- #define DIALOG_GOREV 8885 // Dialog ID. Mod ile çakışırsa buradan değiştirebilirsiniz.
- #define ODUL_PARA 100000 // Görevi bitirdiği zaman verilecek para. Örnek olarak eğer 100000 yazarsanız 100000/dakika
- #define ODUL_SKOR 2 // Görevi bitirdiği zaman verilecek skor.
- // ------------------------------------------------------------------
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" Görev Sistemi yüklenmiştir. Kodlayan: Zoxy");
- print("--------------------------------------\n");
- SetTimer("GorevTimer",1000,true);
- CreateActor(33,ACTOR_X,ACTOR_Y,ACTOR_Z,ACTOR_ROTATION);
- Create3DTextLabel("{FF0000}Görev almak istiyorsan {00FF5E}Y {FF0000}tuşuna bas.",-1,ACTOR_X,ACTOR_Y,ACTOR_Z,15.0,0,0);
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- TDYukle(playerid);
- KurbanID[playerid] = INVALID_PLAYER_ID;
- GorevDakika[playerid] = 0;
- GorevOdul[playerid] = 0;
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++)
- {
- if(IsPlayerConnected(i))
- {
- if(KurbanID[i] == playerid && GorevDakika[i] > 0)
- {
- KurbanID[i] = INVALID_PLAYER_ID;
- GorevDakika[i] = 0;
- GorevOdul[i] = 0;
- TDGizle(i);
- SendClientMessage(i,-1,"{00FF6A}[+] {FFFFFF}Kurban oyundan çıktı, görev başarısız.");
- }
- }
- }
- TDGizle(playerid);
- KurbanID[playerid] = INVALID_PLAYER_ID;
- GorevDakika[playerid] = 0;
- GorevOdul[playerid] = 0;
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- if(killerid != INVALID_PLAYER_ID)
- {
- if(KurbanID[killerid] == playerid && GorevDakika[killerid] > 0)
- {
- KurbanID[killerid] = INVALID_PLAYER_ID;
- GorevDakika[killerid] = 0;
- GivePlayerMoney(killerid,GorevOdul[killerid]);
- SetPlayerScore(killerid,GetPlayerScore(killerid) + ODUL_SKOR);
- TDGizle(killerid);
- new str[100];
- #if ODUL_SKOR > 0
- {
- format(str,sizeof(str),"{00FF6A}[+] {FFFFFF}Görevi başarıyla tamamlayarak {00FF6A}%d$ ve %d skor {FFFFFF}kazandınız.",GorevOdul[killerid],ODUL_SKOR);
- }
- #else
- {
- format(str,sizeof(str),"{00FF6A}[+] {FFFFFF}Görevi başarıyla tamamlayarak {00FF6A}%d$ {FFFFFF}kazandınız.",GorevOdul[killerid]);
- }
- #endif
- SendClientMessage(killerid,-1,str);
- GorevOdul[killerid] = 0;
- }
- }
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if(newkeys & KEY_YES && !IsPlayerInAnyVehicle(playerid) && IsPlayerInRangeOfPoint(playerid,3.5,ACTOR_X,ACTOR_Y,ACTOR_Z))
- {
- if(KurbanID[playerid] != INVALID_PLAYER_ID) return SendClientMessage(playerid,-1,"{FF0000}[!] {FFFFFF}Zaten bir göreviniz var.");
- if(OnlinePlayers() < 4) return SendClientMessage(playerid,-1,"{FF0000}[!] {FFFFFF}Sunucuda en az 4 kişi bulunmak zorundadır.");
- new pID = GetRandomPlayer();
- if(pID == INVALID_PLAYER_ID || pID == playerid) return SendClientMessage(playerid,-1,"{FF0000}[!] {FFFFFF}Sana uygun birisini bulamadım, tekrar dene.");
- new string[350];
- format(string,sizeof(string),"{FFFFFF}Kurbanın {2CE817}%s, {FFFFFF}bu kişiyi kaç dakikada öldürebilirsin? Minimum 3, maksimum 30 dakika girebilirsiniz.\n\n{FF0000}NOT: {FFFFFF}Dakika ne kadar az olursa o kadar fazla para kazanırsınız. Oyundan çıktığında görev iptal olur.",getName(pID));
- ShowPlayerDialog(playerid,DIALOG_GOREV,DIALOG_STYLE_INPUT,"Görev",string,"Devam","Kapat");
- SetPVarInt(playerid,"KurbanID",pID);
- }
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == DIALOG_GOREV)
- {
- if(!response) return DeletePVar(playerid,"KurbanID");
- if(response)
- {
- new string[400];
- if(isnull(inputtext))
- {
- format(string,sizeof(string),"{FFFFFF}Kurbanın {2CE817}%s, {FFFFFF}bu kişiyi kaç dakikada öldürebilirsin? Minimum 3, maksimum 30 dakika girebilirsiniz.\n\n{FF0000}NOT: {FFFFFF}Dakika ne kadar az olursa o kadar fazla para kazanırsınız. Oyundan çıktığında görev iptal olur.",getName(GetPVarInt(playerid,"KurbanID")));
- ShowPlayerDialog(playerid,DIALOG_GOREV,DIALOG_STYLE_INPUT,"Görev",string,"Devam","Kapat");
- return 1;
- }
- if(!IsNumeric(inputtext))
- {
- format(string,sizeof(string),"{FFFFFF}Kurbanın {2CE817}%s, {FFFFFF}bu kişiyi kaç dakikada öldürebilirsin? Minimum 3, maksimum 30 dakika girebilirsiniz.\n\n{FF0000}NOT: {FFFFFF}Dakika ne kadar az olursa o kadar fazla para kazanırsınız. Oyundan çıktığında görev iptal olur.",getName(GetPVarInt(playerid,"KurbanID")));
- ShowPlayerDialog(playerid,DIALOG_GOREV,DIALOG_STYLE_INPUT,"Görev",string,"Devam","Kapat");
- return 1;
- }
- if(strval(inputtext) < 3 || strval(inputtext) > 30)
- {
- format(string,sizeof(string),"{FFFFFF}Kurbanın {2CE817}%s, {FFFFFF}bu kişiyi kaç dakikada öldürebilirsin? Minimum 3, maksimum 30 dakika girebilirsiniz.\n\n{FF0000}NOT: {FFFFFF}Dakika ne kadar az olursa o kadar fazla para kazanırsınız. Oyundan çıktığında görev iptal olur.",getName(GetPVarInt(playerid,"KurbanID")));
- ShowPlayerDialog(playerid,DIALOG_GOREV,DIALOG_STYLE_INPUT,"Görev",string,"Devam","Kapat");
- return 1;
- }
- new odul = ODUL_PARA/strval(inputtext);
- SetPVarInt(playerid,"GorevDakika",strval(inputtext));
- format(string,sizeof(string),"{C2A2DA}Kurban: %s\n{C2A2DA}Dakika: %d\n{C2A2DA}Ödül: %d$\n\n{FFFFFF}Bu görevi almak istediğinize emin misiniz?",getName(GetPVarInt(playerid,"KurbanID")),strval(inputtext),odul);
- ShowPlayerDialog(playerid,DIALOG_GOREV+1,DIALOG_STYLE_MSGBOX,"Görev - Onayla",string,"Evet","Hayır");
- }
- }
- if(dialogid == DIALOG_GOREV+1)
- {
- if(!response)
- {
- DeletePVar(playerid,"KurbanID");
- DeletePVar(playerid,"GorevDakika");
- return 1;
- }
- if(response)
- {
- KurbanID[playerid] = GetPVarInt(playerid,"KurbanID");
- GorevDakika[playerid] = GetPVarInt(playerid,"GorevDakika")*60;
- GorevOdul[playerid] = floatround(ODUL_PARA/GetPVarInt(playerid,"GorevDakika"));
- TextDrawShowForPlayer(playerid,GorevTD[playerid][0]);
- TextDrawShowForPlayer(playerid,GorevTD[playerid][1]);
- TextDrawShowForPlayer(playerid,GorevTD[playerid][2]);
- TextDrawShowForPlayer(playerid,GorevTD[playerid][3]);
- TextDrawShowForPlayer(playerid,GorevTD[playerid][4]);
- TextDrawShowForPlayer(playerid,GorevTD[playerid][5]);
- TextDrawShowForPlayer(playerid,GorevTD[playerid][6]);
- SendClientMessage(playerid,-1,"{00FF6A}[+] {FFFFFF}Süre başladı, görevini bitirdiğin zaman paranı alacaksın. /goreviptal ile iptal edebilirsin.");
- }
- }
- return 1;
- }
- // ------------------------------ KOMUTLAR --------------------------------
- CMD:goreviptal(playerid)
- {
- if(KurbanID[playerid] == INVALID_PLAYER_ID) return SendClientMessage(playerid,-1,"{FF0000}[!] {FFFFFF}Bir göreviniz yok.");
- TDGizle(playerid);
- KurbanID[playerid] = INVALID_PLAYER_ID;
- GorevDakika[playerid] = 0;
- GorevOdul[playerid] = 0;
- SendClientMessage(playerid,-1,"{00FF6A}[+] {FFFFFF}Görev iptal edildi.");
- return 1;
- }
- // --------------------------------------------------------------------------
- // -------------------------- FONKSIYONLAR ---------------------------
- forward GorevTimer();
- public GorevTimer()
- {
- for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++)
- {
- if(IsPlayerConnected(i))
- {
- if(KurbanID[i] != INVALID_PLAYER_ID && GorevDakika[i] >= 1)
- {
- GorevDakika[i]--;
- new str[100];
- format(str,sizeof(str),"%s",getName(KurbanID[i]));
- TextDrawSetString(GorevTD[i][2],str);
- format(str,sizeof(str),"%s",TimeConvert(GorevDakika[i]));
- TextDrawSetString(GorevTD[i][4],str);
- format(str,sizeof(str),"%d$",GorevOdul[i]);
- TextDrawSetString(GorevTD[i][6],str);
- if(GorevDakika[i] == 0)
- {
- KurbanID[i] = INVALID_PLAYER_ID;
- GorevDakika[i] = 0;
- GorevOdul[i] = 0;
- TDGizle(i);
- SendClientMessage(i,-1,"{00FF6A}[+] {FFFFFF}Süre doldu, görev başarısız.");
- }
- }
- }
- }
- return 1;
- }
- TimeConvert(seconds, tarz=0, saat=0)
- {
- new tmp[16];
- new minutes = floatround(seconds/60);
- seconds -= minutes*60;
- if(minutes >= 60)
- {
- saat++;
- }
- if(tarz == 1)
- {
- format(tmp, sizeof(tmp), "%d:%02d", minutes, seconds);
- } else {
- format(tmp, sizeof(tmp), "%02d:%02d:%02d", saat, minutes, seconds);
- }
- return tmp;
- }
- IsNumeric(const string[])
- {
- for (new i = 0, j = strlen(string); i < j; i++)
- {
- if (string[i] > '9' || string[i] < '0') return 0;
- }
- return 1;
- }
- stock getName(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- return name;
- }
- stock OnlinePlayers()
- {
- new count = 0;
- for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++)
- {
- if(IsPlayerConnected(i))
- {
- count++;
- }
- }
- return count;
- }
- stock GetRandomPlayer()
- {
- new array[MAX_PLAYERS],idx;
- for(new i = 0; i <= GetPlayerPoolSize(); i ++)
- {
- if(IsPlayerConnected(i))
- {
- array[idx] = i;
- idx++;
- }
- }
- return array[random(idx)];
- }
- /*stock GetRandomPlayer()
- {
- new poolsize = GetPlayerPoolSize(), array[poolsize], idx;
- for(new i = 0; i <= poolsize; i ++)
- {
- if(IsPlayerConnected(i))
- {
- array[idx] = i;
- idx ++;
- }
- }
- return array[random(idx)];
- }*/
- stock TDYukle(playerid)
- {
- GorevTD[playerid][0] = TextDrawCreate(641.199951, 153.073333, "usebox");
- TextDrawLetterSize(GorevTD[playerid][0], 0.000000, 7.067037);
- TextDrawTextSize(GorevTD[playerid][0], 566.799987, 0.000000);
- TextDrawAlignment(GorevTD[playerid][0], 1);
- TextDrawColor(GorevTD[playerid][0], 0);
- TextDrawUseBox(GorevTD[playerid][0], true);
- TextDrawBoxColor(GorevTD[playerid][0], 102);
- TextDrawSetShadow(GorevTD[playerid][0], 0);
- TextDrawSetOutline(GorevTD[playerid][0], 0);
- TextDrawFont(GorevTD[playerid][0], 0);
- GorevTD[playerid][1] = TextDrawCreate(572.799987, 152.319976, "Kurban:");
- TextDrawLetterSize(GorevTD[playerid][1], 0.226000, 1.338666);
- TextDrawAlignment(GorevTD[playerid][1], 1);
- TextDrawColor(GorevTD[playerid][1], 16777215);
- TextDrawSetShadow(GorevTD[playerid][1], 0);
- TextDrawSetOutline(GorevTD[playerid][1], 1);
- TextDrawBackgroundColor(GorevTD[playerid][1], 51);
- TextDrawFont(GorevTD[playerid][1], 1);
- TextDrawSetProportional(GorevTD[playerid][1], 1);
- GorevTD[playerid][2] = TextDrawCreate(605.599975, 153.813308, "ZiqZaq");
- TextDrawLetterSize(GorevTD[playerid][2], 0.206000, 1.114666);
- TextDrawAlignment(GorevTD[playerid][2], 1);
- TextDrawColor(GorevTD[playerid][2], -65281);
- TextDrawSetShadow(GorevTD[playerid][2], 0);
- TextDrawSetOutline(GorevTD[playerid][2], 1);
- TextDrawBackgroundColor(GorevTD[playerid][2], 51);
- TextDrawFont(GorevTD[playerid][2], 1);
- TextDrawSetProportional(GorevTD[playerid][2], 1);
- GorevTD[playerid][3] = TextDrawCreate(573.799987, 168.253311, "Kalan:");
- TextDrawLetterSize(GorevTD[playerid][3], 0.226000, 1.338666);
- TextDrawAlignment(GorevTD[playerid][3], 1);
- TextDrawColor(GorevTD[playerid][3], 16777215);
- TextDrawSetShadow(GorevTD[playerid][3], 0);
- TextDrawSetOutline(GorevTD[playerid][3], 1);
- TextDrawBackgroundColor(GorevTD[playerid][3], 51);
- TextDrawFont(GorevTD[playerid][3], 1);
- TextDrawSetProportional(GorevTD[playerid][3], 1);
- GorevTD[playerid][4] = TextDrawCreate(602.599975, 169.746627, "00:00");
- TextDrawLetterSize(GorevTD[playerid][4], 0.206000, 1.114666);
- TextDrawAlignment(GorevTD[playerid][4], 1);
- TextDrawColor(GorevTD[playerid][4], -65281);
- TextDrawSetShadow(GorevTD[playerid][4], 0);
- TextDrawSetOutline(GorevTD[playerid][4], 1);
- TextDrawBackgroundColor(GorevTD[playerid][4], 51);
- TextDrawFont(GorevTD[playerid][4], 1);
- TextDrawSetProportional(GorevTD[playerid][4], 1);
- GorevTD[playerid][5] = TextDrawCreate(574.799987, 191.653305, "Odul:");
- TextDrawLetterSize(GorevTD[playerid][5], 0.226000, 1.338666);
- TextDrawAlignment(GorevTD[playerid][5], 1);
- TextDrawColor(GorevTD[playerid][5], 16777215);
- TextDrawSetShadow(GorevTD[playerid][5], 0);
- TextDrawSetOutline(GorevTD[playerid][5], 1);
- TextDrawBackgroundColor(GorevTD[playerid][5], 51);
- TextDrawFont(GorevTD[playerid][5], 1);
- TextDrawSetProportional(GorevTD[playerid][5], 1);
- GorevTD[playerid][6] = TextDrawCreate(603.599975, 193.146606, "100000$");
- TextDrawLetterSize(GorevTD[playerid][6], 0.206000, 1.114666);
- TextDrawAlignment(GorevTD[playerid][6], 1);
- TextDrawColor(GorevTD[playerid][6], -65281);
- TextDrawSetShadow(GorevTD[playerid][6], 0);
- TextDrawSetOutline(GorevTD[playerid][6], 1);
- TextDrawBackgroundColor(GorevTD[playerid][6], 51);
- TextDrawFont(GorevTD[playerid][6], 1);
- TextDrawSetProportional(GorevTD[playerid][6], 1);
- return 1;
- }
- stock TDGizle(playerid)
- {
- for(new i; i<7; i++)
- {
- TextDrawHideForPlayer(playerid,GorevTD[playerid][i]);
- }
- }
- // -----------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment