Skocz do zawartości

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Losowanie graczy.


  • Zamknięty Temat jest zamknięty
9 odpowiedzi w tym temacie

#1 Screeaam...

    ; ooo

  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1 012
  • Lokalizacja:Sosnowiec
Offline

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 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

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ę :P
  • +
  • -
  • 0

#3 Screeaam...

    ; ooo

  • Autor tematu
  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1 012
  • Lokalizacja:Sosnowiec
Offline

Napisano 30.06.2010 11:36

Ale jak ma wygldać funkcja losująca? Bo mam na razie tak:

public Nowa_Runda(){
        for (new i=0; i < 33; i++){
	        set_task(15.0, "losowanie", i)
        }
}

xD Ofc. Event zarejestrowałem.

Użytkownik Screeaam... edytował ten post 30.06.2010 11:38


#4 Monsulito

    Profesjonalista

  • Użytkownik

Reputacja: 17
Początkujący

  • Postów:201
  • Lokalizacja:Gdańsk
Offline

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

  • +
  • -
  • 1
RPG MOD - [||||||||||] 5%

#5 Screeaam...

    ; ooo

  • Autor tematu
  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1 012
  • Lokalizacja:Sosnowiec
Offline

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?

#6 Monsulito

    Profesjonalista

  • Użytkownik

Reputacja: 17
Początkujący

  • Postów:201
  • Lokalizacja:Gdańsk
Offline

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

  • +
  • -
  • 1
RPG MOD - [||||||||||] 5%

#7 Screeaam...

    ; ooo

  • Autor tematu
  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1 012
  • Lokalizacja:Sosnowiec
Offline

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 Monsulito

    Profesjonalista

  • Użytkownik

Reputacja: 17
Początkujący

  • Postów:201
  • Lokalizacja:Gdańsk
Offline

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);
}

  • +
  • -
  • 1
RPG MOD - [||||||||||] 5%

#9 Screeaam...

    ; ooo

  • Autor tematu
  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1 012
  • Lokalizacja:Sosnowiec
Offline

Napisano 30.06.2010 15:43

Ok, ale jeszcze mam problem, jak mam wywołać to losowanie, w czym i jak je zapisać?

#10 Monsulito

    Profesjonalista

  • Użytkownik

Reputacja: 17
Początkujący

  • Postów:201
  • Lokalizacja:Gdańsk
Offline

Napisano 30.06.2010 15:46

wywolac taskiem,a po co ty chcesz je zapisywac?

set_task(1.0, "losowanie", i)

W nowej rundzie.

Użytkownik Monsulito edytował ten post 30.06.2010 15:47

  • +
  • -
  • 0
RPG MOD - [||||||||||] 5%




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych