impulzeplay | Дата: Понедельник, 20.04.2015, 22:51 | Сообщение # 1 |
Новенький
Группа:
Пользователи
Сообщений: 6
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
| 1. Нашёл FS для сервака, чтобы его включить надо зайти в игру и прописать команду /disco, после рестарта сервера всё это дело надо прописывать заного, можно ли сделать автоматическое появление данного скрипта? [off]Код /*============================================================================== Íàçâàíèå: [FS]Disco Àâòîð: Dima(Jack_Daniels) Îïèñàíèå: Äàííàÿ ðàáîòà ðàáîòàåò èñêëþ÷èòåëüíî äëÿ SAMP 0.3d, Òàê êàê â íåé èñïîëüçóþòñÿ ôóíêöèè óäàëåíèÿ îáúåêòîâ. ==============================================================================*/ AntiDeAMX2() { new a[][] = { "Unarmed (Fist)", "Brass K" }; #pragma unused a } #include <a_samp>
//----------------[Disco]-------------// new OnlineDisco[MAX_PLAYERS]; new DiskoRound = 0; new Dens[111]; //-----------------------------------//
#define COLOR_LIGHTRED 0xFF6347AA
public OnFilterScriptInit() { print("\n"); print("*******************************************"); print("* Àâòîð Dima(Jack Daniels) *"); print("* Skype: dima95221 *"); print("*******************************************"); print("\n"); return 1; } public OnGameModeInit() { AntiDeAMX2(); AntiDeAMX(); } public OnFilterScriptExit() { OffDiskach(); return 1; }
public OnPlayerConnect(playerid) { OnlineDisco[playerid] = 0; return 1; }
public OnPlayerPickUpPickup(playerid, pickupid) { if(pickupid == Dens[110]) { ShowPlayerDialog(playerid,10101,DIALOG_STYLE_MSGBOX,"{00FF00}.::Disco-Dance::.","{FFFFFF} {00FF00}\n\n{FFFFFF}Çäåñü âû ìîæåòå ïîòóñîâàòüñÿ, ðàçâëå÷üñÿ êàê ñëåäóåò\nÒàêæå ñïåöàëüíî äëÿ èãðîêîâ cäåëàíà êîìàíäà {00FF00}/dmenu{FFFFFF}\n\nÀäìèíèñòðàöèÿ {00FF00}KEKC'a {FFFFFF}æåëàåò âàì õîðîøî ðàçâëå÷üñÿ.\n\n{33AA33}{FFFFFF}({33AA33}{FFFFFF}): {33AA33}","Ãîòîâî",""); return 1; } return 0; }
public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp("/adisco", cmdtext, true, 10) == 0) { ShowPlayerDialog(playerid, 9600, DIALOG_STYLE_MSGBOX, "Disco-Dance","{00FF00}\t .::Disco-Dance::.","ON","OFF"); return 1; } if (strcmp("/dmenu", cmdtext, true, 10) == 0) { if(DiskoRound == 0) { return 1; } if(!PlayerToPoint(25.0,playerid,1479.3390,-1704.4926,14.0469)) { SendClientMessage(playerid, COLOR_LIGHTRED, "{00FF00}.::Disco-Dance::. {FFFFFF}Âû íå ó ìýðèè! (( /gps - Ìýðèÿ ))"); return 1; } ShowPlayerDialog(playerid, 9601, DIALOG_STYLE_LIST, "{00FF00}.::Disco-Dance::.","Âîäà \t\t\t[100 âèðò]\nÑîäà \t\t\t[150 âèðò]\nÊîêà-êîëà \t\t[200 âèðò]\nÏèâî \t\t\t[500 âèðò]\nÂèíî \t\t\t[700 âèðò]\nÂèñêè \t\t\t[800 âèðò]\nÀáñåíò \t\t\t[900 âèðò]\nSmoke \t\t\t[300 âèðò]\nÄàëüøå >>","Âûáðàòü","Îòìåíà"); } if (strcmp("/disco", cmdtext, true, 10) == 0) { for(new i =0;i<MAX_PLAYERS;i++) { if(IsPlayerConnected(i)) { if(DiskoRound == 1) return SendClientMessage(playerid,COLOR_LIGHTRED,"Äèñêàòåêà óæå íà÷àòà!"); PlayAudioStreamForPlayer(i, "http://air.radiorecord.ru:8101/rr_128", 1479.3390, -1704.4926, 14.0469, 100.0, 1); SendClientMessage(i, COLOR_LIGHTRED, "{00FF00}.::Disco-Dance::. {FFFFFF}Äèñêîòåêà ó ìýðèè íà÷àëàñü!"); DiskoRound = 1; Diskach(playerid); return 1; } } return 1; } if (strcmp("/discooff", cmdtext, true, 10) == 0) { for(new i =0;i<MAX_PLAYERS;i++) { if(IsPlayerConnected(i)) { if(DiskoRound == 0) return SendClientMessage(playerid,COLOR_LIGHTRED,"Äèñêàòåêà íå íà÷àòà!"); StopAudioStreamForPlayer(i); SendClientMessage(i, COLOR_LIGHTRED, "{00FF00}.::Disco-Dance::. {FFFFFF}Äèñêîòåêà ó ìýðèè çàêîí÷èëàñü!"); DiskoRound = 0; OffDiskach(); return 1; } } } return 0; }
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == 9600) { if(response) { OnPlayerCommandText(playerid, "/disco"); } else { OnPlayerCommandText(playerid, "/discooff"); } } if(dialogid == 9601) { if(response) { if(listitem == 0) { ApplyAnimation(playerid,"BAR","dnk_stndF_loop",4.1,0,0,0,0,0,1); GivePlayerMoney(playerid,-100); } if(listitem == 1) { SetPlayerSpecialAction (playerid, SPECIAL_ACTION_DRINK_SPRUNK ); GivePlayerMoney(playerid,-150); } if(listitem == 2) { SetPlayerSpecialAction (playerid, SPECIAL_ACTION_DRINK_SPRUNK ); GivePlayerMoney(playerid,-200); } if(listitem == 3) { SetPlayerSpecialAction (playerid, SPECIAL_ACTION_DRINK_WINE ); GivePlayerMoney(playerid,-500); } if(listitem == 4) { SetPlayerSpecialAction (playerid, SPECIAL_ACTION_DRINK_WINE ); GivePlayerMoney(playerid,-700); } if(listitem == 5) { SetPlayerSpecialAction (playerid, SPECIAL_ACTION_DRINK_BEER ); GivePlayerMoney(playerid,-800); } if(listitem == 6) { ApplyAnimation(playerid,"BAR","dnk_stndF_loop",4.1,0,0,0,0,0,1); SetPlayerSpecialAction (playerid, SPECIAL_ACTION_DRINK_BEER ); SetPlayerDrunkLevel(playerid, 2323000); GivePlayerMoney(playerid,-900); } if(listitem == 7) { SetPlayerSpecialAction (playerid, SPECIAL_ACTION_SMOKE_CIGGY ); GivePlayerMoney(playerid,-300); } if(listitem == 8) { ShowPlayerDialog(playerid, 8602, DIALOG_STYLE_LIST, "{00FF00}.::Disco-Dance::.","{FFFFFF}Òàíåö\t[1]\nÒàíåö\t[2]\nÒàíåö\t[3]\nÒàíåö\t[4]\nÂûêëþ÷èòü àíèìàöèè","Âûáðàòü","<< Íàçàä"); } } return 1; } if(dialogid == 9602) { if(response) { if(listitem == 0) { SetPlayerSpecialAction (playerid, SPECIAL_ACTION_DANCE1); } if(listitem == 1) { SetPlayerSpecialAction (playerid, SPECIAL_ACTION_DANCE2); } if(listitem == 2) { SetPlayerSpecialAction (playerid, SPECIAL_ACTION_DANCE3); } if(listitem == 3) { SetPlayerSpecialAction (playerid, SPECIAL_ACTION_DANCE4); } if(listitem == 4) { SetPlayerSpecialAction (playerid, SPECIAL_ACTION_NONE); SetPlayerDrunkLevel (playerid, 0); }
} ShowPlayerDialog(playerid, 9601, DIALOG_STYLE_LIST, "{00FF00}.::Disco-Dance::.","Âîäà \t\t\t[100 âèðò]\nÑîäà \t\t\t[150 âèðò]\nÊîêà-êîëà \t\t[200 âèðò]\nÏèâî \t\t\t[500 âèðò]\nÂèíî \t\t\t[700 âèðò]\nÂèñêè \t\t\t[800 âèðò]\nÀáñåíò \t\t\t[900 âèðò]\nSmoke \t\t\t[300 âèðò]\nÄàëüøå >>","Âûáðàòü","Îòìåíà"); return 1; } return 0; }
forward Diskach(playerid); public Diskach(playerid) { RemoveBuildingForPlayer(playerid, 1231, 1479.6953, -1702.5313, 15.6250, 0.25); RemoveBuildingForPlayer(playerid, 1231, 1479.3828, -1692.3906, 15.6328, 0.25); RemoveBuildingForPlayer(playerid, 1231, 1479.3828, -1682.3125, 15.6328, 0.25); return 1; }
forward OffDiskach(); public OffDiskach() { DestroyObject(Dens[0]); DestroyObject(Dens[1]); DestroyObject(Dens[2]); DestroyObject(Dens[3]); CreateObject(1231,1479.69530000,-1702.53130000,15.62500000,0.00000000,0.00000000,0.00000000); // CreateObject(1231,1479.38280000,-1692.39060000,15.63280000,0.00000000,0.00000000,0.00000000); // CreateObject(1231,1479.38280000,-1682.31250000,15.63280000,0.00000000,0.00000000,0.00000000); // return 1; } //---------------------------------------------------------------------------------------// AntiDeAMX() { new a[][] = { "Unarmed (Fist)", "Brass K" }; #pragma unused a } forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z); public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z) { if(IsPlayerConnected(playerid)) { new Float:oldposx, Float:oldposy, Float:oldposz; new Float:tempposx, Float:tempposy, Float:tempposz; GetPlayerPos(playerid, oldposx, oldposy, oldposz); tempposx = (oldposx -x); tempposy = (oldposy -y); tempposz = (oldposz -z); if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))) { return 1; } } return 0; } [/off]
2.Проблема есть с работой на серваке, выполняю к примеру угон автомобиля, выдаётся денежный бонус и тут же сервер забирает его обратно. Кто знает суть этой проблемы?
|
|
|
|
SLICK | Дата: Вторник, 21.04.2015, 00:14 | Сообщение # 2 |
Местный
Группа:
I'm V.I.P.
Сообщений: 603
Награды: 9
Город: Unknown
Репутация: 388
Замечания: 0%
Статус:
| Цитата impulzeplay ( ) 1. Нашёл FS для сервака, чтобы его включить надо зайти в игру и прописать команду /disco, после рестарта сервера всё это дело надо прописывать заного, можно ли сделать автоматическое появление данного скрипта?
Нужно перенести часть кода из /disco в OnPlayerConnect, должно быть так: Код public OnPlayerConnect(playerid) { OnlineDisco[playerid] = 0; PlayAudioStreamForPlayer(playerid, "http://air.radiorecord.ru:8101/rr_128", 1479.3390, -1704.4926, 14.0469, 100.0, 1); SendClientMessage(playerid, COLOR_LIGHTRED, "{00FF00}.::Disco-Dance::. {FFFFFF}Äèñêîòåêà ó ìýðèè íà÷àëàñü!"); Diskach(playerid); return 1; } Это не лучший способ, но так проще всего. В идеале лучше этот код выполнять при первом спавне например.
Цитата impulzeplay ( ) 2.Проблема есть с работой на серваке, выполняю к примеру угон автомобиля, выдаётся денежный бонус и тут же сервер забирает его обратно. Кто знает суть этой проблемы?
Скорее всего дело в античите
My works: [GM] RTDM Advertising system Fuel System Artefacts Search (Динамическая сис-ма артефактов)
Сообщение отредактировал SLICK - Вторник, 21.04.2015, 00:17 |
|
|
|