UlkiorraJeezy | Дата: Суббота, 14.07.2012, 12:37 | Сообщение # 1 |
 Лейтенант
Группа: Администраторы
Сообщений: 71
Статус: Offline
| Приступим. Вырезал из Samp-Rp.
1. В enum pInfo 2. В public OnPlayerConnect(playerid) Code PlayerInfo[playerid][pRp] = 0; 3. В public OnPlayerRegister(playerid, password[]) Code format(var, 32, "Rp=%d\n",PlayerInfo[playerid][pRp]);fwrite(hFile, var); 4. Далее в public OnPlayerUpdateSG(playerid) Code format(var, 32, "Rp=%d\n",PlayerInfo[playerid][pRp]);fwrite(hFile, var); 5. В public OnPlayerLogin(playerid,password[]) вставляем Code if( strcmp( key , "Rp" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pRp] = strval( val ); } 6. Далее в команду /setstat вставляем: Code case 30: // 30 - замените на своё { PlayerInfo[giveplayerid][pRp] = amount; format(string, sizeof(string), "Рейтинг %d ", amount); } 7. Далее в команду /mute вставляем Code PlayerInfo[playa][pRp] -=2; // [playa] - можете изменить на своё 8. Далее в команду /ban вставляем Code PlayerInfo[giveplayerid][pRp] -=20; // [giveplayerid] - можете изменить на своё 9. Далее в команду /warn вставляем Code PlayerInfo[giveplayerid][pRp] -=10; // [giveplayerid] - можете изменить на своё 10. Далее в команду /kick вставляем Code PlayerInfo[giveplayerid][pRp] -=5; 11. Добавляем команды в public OnPlayerCommandText(playerid, cmdtext[]) Code if(strcmp(cmd, "/getrpr", true) == 0) { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext,idx); if(!strlen(tmp)) { SendClientMessage(playerid,COLOR_WHITE,"{00FFFF}Ваш текущий РП рейтинг: %d. Оставшееся количество очков для голосования: %d"); SendClientMessage(playerid,COLOR_WHITE,"Введите: /getrpr [playerid] если хотите узнать рейтинг другого игрока"); return 1; } giveplayerid = ReturnUser(tmp); GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); format(string, sizeof(string), "{00FFFF}Текущий РП рейтинг %s: %d",giveplayer,PlayerInfo[giveplayerid][pRp]); SendClientMessage(playerid,COLOR_BLUE,string); } return 1; }
if(strcmp(cmd, "/setrpr", true) == 0) { if(IsPlayerConnected(playerid)) { if(!strlen(tmp)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "Введите: /setrpr [playerid] [очки -5 - +5] [причина]"); return 1; } giveplayerid = ReturnUser(tmp); if(IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "Введите: /setrpr [playerid] [очки -5 - +5] [причина]"); return 1; } if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GRAD1, "Нельзя изменять рейтинг самому себе!"); return 1; } new amount; amount = strval(tmp); if(PlayerInfo[giveplayerid][pLevel] < amount) { SendClientMessage(playerid, COLOR_WHITE, "Уровень игрока ниже указанного вами рейтинга"); return 1; } /*if(PlayerInfo[giveplayerid][pRp] > PlayerInfo[playerid][pRp]) { SendClientMessage(playerid, COLOR_WHITE, "У данного игрока рейтинг выше Вашего"); return 1; }*/ if(PlayerInfo[playerid][pRp] < -1) { SendClientMessage(playerid, COLOR_GRAD1, "Вы не можете голосовать, ваш рейтинг слишком мал"); return 1; } if(golosov[playerid] >= 5) { SendClientMessage(playerid, COLOR_GRAD1, "Вы уже голосовали больше 5 раз"); return 1; } PlayerInfo[giveplayerid][pRp] += amount; format(string, sizeof(string), "Голос: %d", amount); SendClientMessage(playerid, COLOR_GRAD1, string); GetPlayerName(playerid, sendername, sizeof(sendername)); golosov[playerid] +=1; format(string, sizeof(string), "%s проголосовал за ваш рейтинг. Голос: %d",sendername,amount); SendClientMessage(giveplayerid, COLOR_YELLOW2, string); } } } } return 1;
}
Если правильно вставите коды,все работает 100%
|
|
| |