Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Guest Message by DevFuse
Losowanie graczy.
Temat rozp.
Screeaam...
, 30.06.2010 10:55
9 odpowiedzi w tym temacie
#1
Napisano 30.06.2010 10:55
Witam, mam do Was pytanie, jak zrobić, aby 15 sekund po rozpoczęciu rundy było losowanie i w tym losowaniu może wypaść, że 3 graczy przejdzie do Terro lub 2 graczy przejdzie do terro, reszta pójdzie do CT, jak takie coś zrobić?
#2
Napisano 30.06.2010 11:32
event "HLTV" na wywołanie funkjci wraz z rozpoczęciem się rundy (jest w dziale tutoriale)
set_task na 15.0 sek (jest w dziale tutoriale)
funkcja losująca to już formalność, wykaż się trochę
set_task na 15.0 sek (jest w dziale tutoriale)
funkcja losująca to już formalność, wykaż się trochę
#3
Napisano 30.06.2010 11:36
Ale jak ma wygldać funkcja losująca? Bo mam na razie tak:
Ofc. Event zarejestrowałem.
public Nowa_Runda(){ for (new i=0; i < 33; i++){ set_task(15.0, "losowanie", i) } }
Ofc. Event zarejestrowałem.
Użytkownik Screeaam... edytował ten post 30.06.2010 11:38
#4
Napisano 30.06.2010 12:14
public losowanie() {
new ilu_losowac = 3
new players[32], num, jest
new bool: wylosowany[33]
get_players(players, num)
if(num >= ilu_losowac)
{
while(jest<ilu_losowac){
new id = players[random_num(0, num)]
if(is_user_connected(id) && is_user_alive(id)){
wylosowany[id] = true;
jest++;
}
}
for(new id=0; id<num; id++){
new i = players[id];
if(wylosowany[i]){
if(get_user_team(i) != 1) cs_set_user_team(i, CS_TEAM_T)
} else {
if(get_user_team(i) != 2) cs_set_user_team(i, CS_TEAM_CT)
}
}
}
else
client_print(0, print_chat, "Nie ma na serwerze %i osob!", ilu_losowac);
}
Użytkownik Monsulito edytował ten post 30.06.2010 12:17
RPG MOD - [||||||||||] 5%
#5
Napisano 30.06.2010 12:19
Widzę, że wyciągnąłeś z Zomgies moda... A jak zrobić, aby losowało np. jedno spośród 3? Np. 1 - przerzuca 3 osoby, 2 - przerzuca 2 osoby 3 - przerzuca polowe ludzi.
I jak zrobić, że jak TT walnie CT to CT przenosi do Terro?
I jak zrobić, że jak TT walnie CT to CT przenosi do Terro?
#6
Napisano 30.06.2010 14:40
to losowanie to moze cos takiego
public losowanie(id) {
new ilu_losowac1 = 1
new ilu_losowac2 = 2
new ilu_losowac3 = 3
new rannum = random_num(1,3)
new players[32], num, jest
new bool: wylosowany[33]
get_players(players, num)
switch(rannum)
{
case 1:
{
if(num >= ilu_losowac1)
{
while(jest<ilu_losowac1){
new id = players[random_num(0, num)]
if(is_user_connected(id) && is_user_alive(id)){
wylosowany[id] = true;
jest++;
}
}
}
for(new id=0; id<num; id++){
new i = players[id];
if(wylosowany[i]){
if(get_user_team(i) != 2) cs_set_user_team(i, CS_TEAM_CT)
else {
if(get_user_team(i) != 1) cs_set_user_team(i, CS_TEAM_T)
}
}
}
}
case 2:
{
if(num >= ilu_losowac2)
{
while(jest<ilu_losowac2){
new id = players[random_num(0, num)]
if(is_user_connected(id) && is_user_alive(id)){
wylosowany[id] = true;
jest++;
}
}
}
for(new id=0; id<num; id++){
new i = players[id];
if(wylosowany[i]){
if(get_user_team(i) != 2) cs_set_user_team(i, CS_TEAM_CT)
else {
if(get_user_team(i) != 1) cs_set_user_team(i, CS_TEAM_T)
}
}
}
}
case 3:
{
if(num >= ilu_losowac3)
{
while(jest<ilu_losowac3){
new id = players[random_num(0, num)]
if(is_user_connected(id) && is_user_alive(id)){
wylosowany[id] = true;
jest++;
}
}
}
for(new id=0; id<num; id++){
new i = players[id];
if(wylosowany[i]){
if(get_user_team(i) != 2) cs_set_user_team(i, CS_TEAM_CT)
else {
if(get_user_team(i) != 1) cs_set_user_team(i, CS_TEAM_T)
}
}
}
}
}
}
Użytkownik Monsulito edytował ten post 30.06.2010 14:40
RPG MOD - [||||||||||] 5%
#7
Napisano 30.06.2010 14:46
Dzięki, jeszcze mam pytanie, jak zrobić tak jak jest w ZombiePlague, że gdy zaczynamy, to CT nie może atakować TT i na odwrót a jak jest już Zombie to mogą?
#8
Napisano 30.06.2010 15:41
Zastosuj god mode :
#include <amxmodx>
#include <fun>
public plugin_init() {
register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0")
}
public Nowa_Runda(id) {
for(new i = 1; i <33; i++){
set_user_godmode(i,1);
set_task(15.0, "koniec", i) //Ustawisz sie po ile jest zarazenie 1 zombie.
}
}
public koniec(id) {
set_user_godmode(id,0);
}
RPG MOD - [||||||||||] 5%
#9
Napisano 30.06.2010 15:43
Ok, ale jeszcze mam problem, jak mam wywołać to losowanie, w czym i jak je zapisać?
#10
Napisano 30.06.2010 15:46
wywolac taskiem,a po co ty chcesz je zapisywac?
W nowej rundzie.
set_task(1.0, "losowanie", i)
W nowej rundzie.
Użytkownik Monsulito edytował ten post 30.06.2010 15:47
RPG MOD - [||||||||||] 5%
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych