уррррррррррааааааааааааааааааааааааа Всем разрабам ГИГАНТСКОЕ спасибо!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
С меня каждому по + )))))))))))))
А пока я пойду баги искать))))))Добавлено (03.02.2010, 00:15)
---------------------------------------------
Хм гуд) но явно недоделан...
Например выбивание окна регистрации при вводе пароля, мелочь но для нуба заблуждение)))))))))
heufix
А чего не вписали доп. ~1824 машины?
О баг! Короче когда ты просто ркон админ, то при нажатии на игрока не появляется "дополнительных" команд... только после установки статуса норм..
2. Входишь в дом а при выходе появляшся в другом месте...
3. Чекпоинты после финиша тормозят
4. Нельзя устанавливать лвл в админке, тоесть в диалоговом окне...
5. И пожалуйста сделайте скрипт на переименование)
А вобщем мод СУПЕР)
И еще, а что точки кача убрали?
Было-бы супер если бы вы сделали возможность их улучшать, пока ее кто-то другой не завоевал)))
Добавлено (03.02.2010, 02:31)
---------------------------------------------
короче я 1, 4 и 5 пункт сам "исправил")
кому надо делаем так:
1. меняем
if(IsPlayerMod(playerid)) strcat(listitems, "\nKick\nMute\nUnMute\nJail\nUnJail", sizeof(listitems));
if(IsPlayerAdm(playerid)) strcat(listitems, "\nИнфо\nУбить\nTele to\nTele here\nSet health\nSet arm\nGive XP\nДать денег\nFreeze\nUnfreeze", sizeof(listitems));
на
if(IsPlayerMod(playerid)) strcat(listitems, "\nKick\nMute\nUnMute\nJail\nUnJail", sizeof(listitems));
if(IsPlayerAdm(playerid)) strcat(listitems, "\nИнфо\nУбить\nTele to\nTele here\nSet health\nSet arm\nGive XP\nДать денег\nFreeze\nUnfreeze\nУстановить уровень игроку\nПереименовать", sizeof(listitems));
if(IsPlayerAdmin(playerid)) strcat(listitems, "\nУстановить статус", sizeof(listitems));
2. потом прям перед :
ShowPlayerDialog(playerid,ClickDialogResp,DIALOG_STYLE_INPUT,GuiHeader,GuiText,"Отправить","Отмена");
вставляем:
if(listitem == 18)
{
GuiHeader = "Установка уровня";
GuiText = " Введите уровень\n\n";
}
if(listitem == 19)
{
GuiHeader = "Переименование";
GuiText = " Введите желаемое имя\n\n";
}
if(listitem == 20)
{
GuiHeader = "Установка статуса";
GuiText = " Введите статус\n\n";
}
3. в самом конце добавляем перед :
}
return 1;
}
4.Вставляем:
[pwn] if(ListResponseType[playerid] == 18)
{
new receiverid = Player[playerid][ClickedPlayerid];
if((receiverid < 0) || (receiverid >= MAX_PLAYERS) || (IsPlayerAdmin(receiverid) && !IsPlayerAdmin(playerid)))
{
SendPlayerFormattedText(playerid,lang_texts[12][2],0,COLOUR_RED);
return 1;
}
if(IsPlayerConnected(receiverid) == 0)
{
SendPlayerFormattedText(playerid,lang_texts[12][3],0,COLOUR_RED);
return 1;
}
new lvlamount = strval(inputtext);
if((lvlamount < 0) || (lvlamount > MAX_LEVEL))
{
SendPlayerFormattedText(playerid,lang_texts[12][33],0,COLOUR_RED);
return 1;
}
if(!IsPlayerAdmin(receiverid) && (lvlamount >MAX_LEVEL-1))
{
SendPlayerFormattedText(playerid,lang_texts[12][39],0,COLOUR_RED);
return 1;
}
new lvlthisday = CalculatePlayerLevel(receiverid);
SetPlayerXP(receiverid,LevelList[lvlamount][level_xp]);
CheckPlayerLevel(receiverid);
new string[MAX_STRING];
format(string,sizeof(string),lang_texts[12][31],oGetPlayerName(playerid),lvlamount);
SendPlayerFormattedText(receiverid,string,0,COLOUR_XP_GOOD);
format(string,sizeof(string),lang_texts[12][32],oGetPlayerName(receiverid),lvlamount,lvlthisday);
SendPlayerFormattedText(playerid,string,0,COLOUR_XP_GOOD);
return 1;
}
if(ListResponseType[playerid] == 19)
{
new receiverid = Player[playerid][ClickedPlayerid];
if ((receiverid < 0) || (receiverid >= MAX_PLAYERS) || (IsPlayerAdmin(receiverid) && !IsPlayerAdmin(playerid)))
{
SendPlayerFormattedText(playerid,"Вы не можете переименовать главного администратора!" , 0,COLOUR_RED);
return 1;
}
if (IsPlayerConnected(receiverid) == 0)
{
SendPlayerFormattedText(playerid,"Игрока не существует!" , 0,COLOUR_RED);
return 1;
}
if(!strlen(inputtext))
{
SendPlayerFormattedText(playerid,"Необходимо ввести новое имя!!!", 0,COLOUR_RED);
return 1;
}
SetPlayerName(receiverid,inputtext);
return 1;
}
if(ListResponseType[playerid] == 20)
{
new receiverid = Player[playerid][ClickedPlayerid];
if((receiverid < 0) || (receiverid >= MAX_PLAYERS))
{
SendPlayerFormattedText(playerid,lang_texts[12][2],0,COLOUR_RED);
return 1;
}
if(IsPlayerConnected(receiverid) == 0)
{
SendPlayerFormattedText(playerid,lang_texts[12][3],0,COLOUR_RED);
return 1;
}
new sid = strval(inputtext);
if((sid < 0) || (sid > 255))
{
SendPlayerFormattedText(playerid,lang_texts[12][44],0,COLOUR_RED);
return 1;
}
if(sid < 255 && IsPlayerAdmin(receiverid))
{
SendPlayerFormattedText(playerid,lang_texts[12][89],0,COLOUR_RED);
return 1;
}
new string[MAX_STRING],sidstring[MAX_STRING];
if(sid > 10) format(sidstring,sizeof(sidstring),lang_texts[12][86],sid);
else if((sid >= 1) && (sid <= 10)) format(sidstring,sizeof(sidstring),lang_texts[12][87],sid);
else format(sidstring,sizeof(sidstring),lang_texts[12][88]);
if(sid > 1)
{
format(string,sizeof(string),lang_texts[12][82],oGetPlayerName(playerid), playerid, sidstring);
SendPlayerFormattedText(receiverid,string,0,COLOUR_WHITE);
format(string,sizeof(string),lang_texts[12][83],oGetPlayerName(receiverid), receiverid, sidstring);
SendPlayerFormattedText(playerid,string,0,COLOUR_WHITE);
}
else
{
format(string,sizeof(string),lang_texts[12][84],oGetPlayerName(playerid),playerid);
SendPlayerFormattedText(receiverid,string,0,COLOUR_WHITE);
format(string,sizeof(string),lang_texts[12][85],oGetPlayerName(receiverid),receiverid);
SendPlayerFormattedText(playerid,string,0,COLOUR_WHITE);
}
Player[receiverid][Status]=sid;
player_save_db_dini(receiverid);
return 1;
}
[/pwn]
поправте меня если что не так, плз
P.S.: Делать это надо в файле GTO Development\pawno\include\click.inc
Добавлено (03.02.2010, 02:38)
---------------------------------------------
я еще делать буду норм окно админам...
Если его конечно нет...
Или есть?
П.С.: Окно типа набор команд админа:
Кикнуть всех
Подкинуть в небо всех
Перезапуск мода
Очистить чат
Парализовать всех
и т.п.
Добавлено (03.02.2010, 05:36)
---------------------------------------------
вот кстати я окно сделал...
[pwn]
#include "a_samp.inc"
#include "base"
#include "utils\gtoutils"
#include "player"
#include "account"
#define AdminDialogid 8
#define AdminDialogResp 7
forward AdmList(playerid,cmdtext[]);
forward AdminResponse(playerid,dialogid,response,listitem,inputtext[]);
new Adminlistcom[MAX_PLAYERS];
public AdmList(playerid,cmdtext[]) // process player commands
{
if (!strcmp("/allcom", cmdtext, true, 5))
{ new commitems[256];
commitems ="Кикнутся";
if(IsPlayerAdm(playerid)) strcat(commitems, "\nТелепортировать всех к себе\nНаписать текст по средине экрана\nНаписать текст от себя\nПерезапустить сервер", sizeof(commitems));
if(IsPlayerAdmin(playerid)) strcat(commitems, "\nОчистить чат\nСбросить всех с парашютами\nПарализовать всех\nРаспарализовать всех\nЗабрать деньги у всех\nЗабрать оружие у всех\nСкрытся на радаре\nПоявится на радаре\nНаписать от имени сервера", sizeof(commitems));
ShowPlayerDialog(playerid,1222,DIALOG_STYLE_LIST,"Выберите действие",commitems," Выбрать"," Отмена");
}
return 1;
}
public AdminResponse(playerid,dialogid,response,listitem,inputtext[])
{
if(dialogid == 1222)
{
new string[MAX_STRING];
if(!response) return 1;
Adminlistcom[playerid] = listitem;
new GuiHeader[32],GuiText[32];
if(listitem == 0)
{
Kick(playerid);
}
if(listitem == 1)
{
SendMessageToAdmins(playerid,COLOUR_LIGHTGREEN,inputtext);
new Float:X,Float:Y,Float:Z,Float:Angle;
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid,Angle);
for(new id=0;id<MAX_PLAYERS;id++)
{
if((id < playerid) || (id > playerid))
{
if(IsPlayerConnected(id) && (Player[id][Jailed] == 0) && !IsPlayerAdmin(id) && !IsPlayerInAnyDM(id))
{
if(IsPlayerConnected(id) == 0) return 0;
SetPlayerFacingAngle(id,Angle);
X=X+(random(2)-random(4));Y=Y+(random(2)-random(4));
SetPlayerPos(id,X,Y,Z);
format(string,sizeof(string),lang_texts[12][66] ,oGetPlayerName(playerid),playerid);
SendPlayerFormattedText(id,string, 0,COLOUR_XP_GOOD);
}
}
}
format(string,sizeof(string), lang_texts[12][74]);
SendPlayerFormattedText(playerid,string, 0,COLOUR_XP_GOOD);
return 1;
}
if(listitem == 2)
{
GuiHeader = " Текст";
GuiText = " Введите текст\n\n";
}
if(listitem == 3)
{
GuiHeader = " Текст";
GuiText = " Введите текст\n\n";
}
if(listitem == 4)
{
format(string, sizeof(string), "Перезапуск сервера, не беспокойтесь!");
SendClientMessageToAll(COLOUR_XP_GOOD, string);
SendRconCommand("gmx");
return 1;
}
if(listitem == 5)
{
SendClientMessageToAll(COLOUR_XP_GOOD, " ");
SendClientMessageToAll(COLOUR_XP_GOOD, " ");
SendClientMessageToAll(COLOUR_XP_GOOD, " ");
SendClientMessageToAll(COLOUR_XP_GOOD, " ");
SendClientMessageToAll(COLOUR_XP_GOOD, " ");
SendClientMessageToAll(COLOUR_XP_GOOD, " ");
SendClientMessageToAll(COLOUR_XP_GOOD, " ");
SendClientMessageToAll(COLOUR_XP_GOOD, " ");
SendClientMessageToAll(COLOUR_XP_GOOD, " ");
SendClientMessageToAll(COLOUR_XP_GOOD, " ");
SendClientMessageToAll(COLOUR_XP_GOOD, " ");
SendClientMessageToAll(COLOUR_XP_GOOD, " ");
SendClientMessageToAll(COLOUR_XP_GOOD, " ");
SendClientMessageToAll(COLOUR_XP_GOOD, " ");
SendClientMessageToAll(COLOUR_XP_GOOD, " ");
SendClientMessageToAll(COLOUR_XP_GOOD, " ");
SendClientMessageToAll(COLOUR_XP_GOOD, " ");
SendClientMessageToAll(COLOUR_XP_GOOD, " ");
SendClientMessageToAll(COLOUR_XP_GOOD, " ");
SendClientMessageToAll(COLOUR_XP_GOOD, " ");
SendClientMessageToAll(COLOUR_XP_GOOD, " ");
SendClientMessageToAll(COLOUR_XP_GOOD, " ");
SendClientMessageToAll(COLOUR_XP_GOOD, " ");
SendClientMessageToAll(COLOUR_XP_GOOD, " ");
SendClientMessageToAll(COLOUR_XP_GOOD, " ");
SendClientMessageToAll(COLOUR_XP_GOOD, " ");
SendClientMessageToAll(COLOUR_XP_GOOD, " ");
SendClientMessageToAll(COLOUR_XP_GOOD, " ");
SendClientMessageToAll(COLOUR_XP_GOOD, " ");
SendClientMessageToAll(COLOUR_XP_GOOD, " ");
}
if(listitem == 6)
{
new Float:playerx,Float:playery,Float:playerz;
for(new id=0;id<MAX_PLAYERS;id++)
{
if(IsPlayerConnected(id) && (Player[id][Jailed] == 0) && !IsPlayerInAnyDM(id))
{
GivePlayerWeapon(id,46,1);
GetPlayerPos(id,playerx,playery,playerz);
PlayerPlaySound(id,1058,0,0,0);
SetPlayerPos(id,playerx,playery,playerz+1200);
}
if(Player[id][Jailed] == 1) SendPlayerFormattedText(id, lang_texts[1][22], 0,COLOUR_LIGHTRED);
}
SendClientMessageToAll(COLOUR_WHITE,lang_texts[1][19]);
format(string,sizeof(string), lang_texts[1][20]);
GameTextForAll(string,5000,6);
return 1;
}
if(listitem == 7)
{
for(new id=0;id<MAX_PLAYERS;id++)
{
if(id != playerid)
{
if(IsPlayerConnected(id) && Player[id][Jailed] == 0 && !IsPlayerInAnyDM(id))
{
if(IsPlayerConnected(id) == 0) return 0;
if(IsPlayerAdmin(id) == 1) return 0;
TogglePlayerControllable(id,0);
format(string,sizeof(string),lang_texts[12][54] ,oGetPlayerName(playerid));//игроку
SendPlayerFormattedText(id,string,0,COLOUR_XP_GOOD);
}
}
}
format(string,sizeof(string), lang_texts[12][76]);
SendPlayerFormattedText(playerid,string, 0,COLOUR_XP_GOOD);
return 1;
}
if(listitem == 8)
{
new string[MAX_STRING];
for(new id=0;id<MAX_PLAYERS;id++)
{
if(id != playerid)
{
if(IsPlayerConnected(id) && Player[id][Jailed] == 0 && !IsPlayerInAnyDM(id))
{
if(IsPlayerConnected(id) == 0) return 0;
if(IsPlayerAdmin(id) == 1) return 0;
TogglePlayerControllable(id,1);
format(string,sizeof(string),lang_texts[12][56],oGetPlayerName(playerid));//игроку
SendPlayerFormattedText(id,string, 0,COLOUR_XP_GOOD);
}
}
}
format(string,sizeof(string),lang_texts[12][77]);
SendPlayerFormattedText(playerid,string,0,COLOUR_XP_GOOD);
return 1;
}
if(listitem == 9)
{
new string[MAX_STRING];
for(new id=0;id<MAX_PLAYERS;id++)
{
if(id != playerid)
{
if(IsPlayerConnected(id) && Player[id][Jailed] == 0)
{
if(IsPlayerConnected(id) == 0) return 0;
if(IsPlayerAdmin(id) == 1) return 0;
ResetPlayerMoney(id);
format(string,sizeof(string),lang_texts[12][58],oGetPlayerName(playerid));//игроку
SendPlayerFormattedText(id,string,0,COLOUR_XP_GOOD);
}
}
}
format(string,sizeof(string),lang_texts[12][78]);
SendPlayerFormattedText(playerid,string,0,COLOUR_XP_GOOD);
return 1;
}
if(listitem == 10)
{
new string[MAX_STRING];
for(new id=0;id<MAX_PLAYERS;id++)
{
if(id != playerid)
{
if(IsPlayerConnected(id) && (Player[id][Jailed] == 0) && !IsPlayerInAnyDM(id))
{
if(IsPlayerConnected(id) == 0) return 0;
if (IsPlayerAdmin(id) == 1) { return 0; }
ResetPlayerWeapons(id);
ADMDropAmmo(id);
format(string,sizeof(string),lang_texts[12][48],oGetPlayerName(playerid)); //игроку
SendPlayerFormattedText(id,string,0,COLOUR_XP_GOOD);
}
}
}
format(string,sizeof(string),lang_texts[12][75]);
SendPlayerFormattedText(playerid,string,0,COLOUR_XP_GOOD);
return 1;
}
if(listitem == 11)
{
Player[playerid][Hide] = 1;
player_save_db_dini(playerid);
PushHide(playerid);
new string[MAX_STRING];
format(string,sizeof(string),"*** Вы скрыты на радаре");
SendPlayerFormattedText(playerid,string,0,COLOUR_WHITE);
return 1;
}
if(listitem == 12)
{
Player[playerid][Hide] = 0;
//player_save_db_dini(playerid);
PushHide(playerid);
format(string,sizeof(string),"*** Вы видны на радаре");
SendPlayerFormattedText(playerid,string,0,COLOUR_WHITE);
return 1;
}
if(listitem == 13)
{
GuiHeader = " Сервер:";
GuiText = " Введите Текст\n\n";
}
ShowPlayerDialog(playerid,AdminDialogResp,DIALOG_STYLE_INPUT,GuiHeader,GuiText,"Отправить","Отмена");
}
if(dialogid == AdminDialogResp)
{
if(!response) return 1;
if(strlen(inputtext) == 0) return 1;
if(strlen(inputtext) > 30) return
SendClientMessage(playerid,COLOUR_MISC,lang_texts[12][92]);
if(Adminlistcom[playerid] == 1)
{
SendMessageToAdmins(playerid,COLOUR_LIGHTGREEN, inputtext);
new string[MAX_STRING];
set(string,inputtext);
format(string,sizeof(string), "%s" ,string);
GameTextForAll(string,4000,6);
return 1;
}
if(Adminlistcom[playerid] == 2)
{
SendMessageToAdmins(playerid,COLOUR_LIGHTGREEN,inputtext);
new string[MAX_STRING];
set(string,inputtext);
format(string,sizeof(string),lang_texts[12][37],string);
SendClientMessageToAll(COLOUR_BLUE,string);
return 1;
}
if(Adminlistcom[playerid] == 13)
{
new string[MAX_STRING];
set(string,inputtext);
format(string,sizeof(string),lang_texts[12][1],string);
SendClientMessageToAll(COLOUR_YELLOW, string);
return 1;
}
}
return 1;
}
[/pwn]
не судите строго... При компл. ошибок нет но вот команда не срабатывает... что делать?
Добавлено (03.02.2010, 06:15)
---------------------------------------------
Блин незнаю... Окно вылазит а команды не работают... Вроде и респонс правильный...
ХЕЛП