Снова я с вопросом:
К примеру есть 2 переменные: new Float:a = 3.4; new Float:b = 3.8; Вопрос в следующем: Как их округлить и преобразовать в целое число? ( К примеру если > *.5 то округлим на число больше, т.е было 3.8 стало 4) |
if (sscanf(params, "us", Id, Reason)){
if(strlen(Reason) > 15 || strlen(Reason) < 3) { //... }
if (strlen(Text) > 64 || strlen(Text) < 3){
// тыры-пыры, хрен
return 1;}
dcmd_g(playerid, params[]){
new Text[64], PlayerFuckingName[MAX_PLAYER_NAME], Str1[150];
GetPlayerName(playerid, PlayerFuckingName, sizeof(PlayerFuckingName));
if (PlayerGang[playerid] == 0){
//
return 1;}
if (sscanf(params, "s", Text)){
//
return 1;}
if (strlen(Text) > 64 || strlen(Text) < 3){
//
return 1;}
format(Str1, sizeof(Str1), "[Gang Chat] от %s (%d): %s", PlayerFuckingName, playerid, Text);
MessageToGangs(PlayerGang[playerid], Str1);
return 1;}
forward MessageToGangs(gangid, text[]);
public MessageToGangs(gangid, text[]){
for (new i = 0; i < MAX_PLAYERS; i++){
if (PlayerGang[i] == gangid && IsPlayerConnected(i)) SendClientMessage(i, 0xFFFFFFFF, text);}
return 1;}
Эм... эт чо такое, и почему оно на меня ругаецо?
Warning: PlayerDialogResponse PlayerId: 6 dialog ID doesn't match last sent dialog ID Только лог включил, а оно фигнёй страдать начинает... |
Чуть выше спрашивал про ограничение символов, возникла новая проблема. Делаю ограничение вводимых символов для ганг чата, т.е. чтобы в ганг чате было не размахнуться, устанавливаю 64 символа
|
dcmd_g( playerid, params[ ] )
{
new
t_x[ 64 ],
p_name[ 24 ],
s_t[ 80 ];
GetPlayerName(playerid, p_name, 24 );
if (PlayerGang[ playerid ] > 0)
{
if(sscanf(params, "s", t_x ) ) return SendClientMessage( playerid, -1, "/g [ text ]" );
if( strlen( t_x ) < 0b00010000 << 2)
{
format(s_t, sizeof s_t, "[Gang Chat] от %s (%d): %s", p_name, playerid, t_x );
MessageToGangs( PlayerGang[ playerid ], s_t);
}
}
return 1;
}
sscanf(params, "s[64]", t_x )
sscanf(params, "s[64]", t_x )
forward CheckKills();
public CheckKills(){
new PlayerName[MAX_PLAYER_NAME];
for (new i = 0; i < MAX_PLAYERS; i++){
if (IsPlayerConnected(i)){
GetPlayerName(i, PlayerName, MAX_PLAYER_NAME);
SetPlayerScore(i, PlayerInfo[i][Kills]);
PlayerInfo[i][Kills] = GetPlayerScore(i);}}}
forward CheckKills(); public CheckKills(){ for (new i = 0; i < GetMaxPlayers(); i++){ if (IsPlayerConnected(i)) SetPlayerScore(i, PlayerInfo[i][Kills]);}}
А реально без Set/GetPlayerScore? Т.к. люди юзают некий софт, с которым реально набить за пару секунд несколько тысяч Kills.
|
if( GetPlayerScore( playerid ) > PlayerInfo[ playerid ] [ Kills ] ) SetPlayerScore( playerid, PlayerInfo[ playerid ] [ Kills ] );