Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2013-07-27, 01:21


Qadax







Wiek: 36
Na forum: 4776 dni
Posty: 36

Piwa: 3

Respekt: 40,5

Ostrzeżeń: 20%
Cze??. Chcia?bym stworzy? teleport (Np. jako CMD), ale taki kt?ry b?dzie w jakiej? okre?lonej kolejno?ci (nie musi by? losowo) teleportowa? graczy kolejno do pozycji.

oczywi?cie u?ywaj?c:
Kod:


SetPlayerPos(playerid, 0, 0, 0, -1);


Dla przyk?adu - kilku (max 18) wpisze komende /dolacz
kt?ra do??czy ich do gry, po zako?czeniu odliczania gra startuje i teleportuje ich na miejsce gry
np. do:
Kod:


SetPlayerPos(playerid, 1, 1, 0, -1);
SetPlayerPos(playerid, 2, 2, 0, -1);
SetPlayerPos(playerid, 3, 3, 0, -1);


Wiadomo ?e trzeba zrobi? ca?? 18 SetPlayerPos, to tylko dla przyk?adu.

Prosz? o pomoc i z g?ry dzi?kuj? :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-07-27, 01:29


ToxiC.







Wiek: 28
Na forum: 5246 dni
Posty: 3792

Piwa: 8590

Respekt: 1143,8
Respekt: 1143,8

"Qadax" napisał/a:

SetPlayerPos(playerid, 1, 1, 0, -1);


Nie ?ebym si? czepia? ale po co Ci te -1 na ko?cu? :o

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-07-27, 01:33


IgrexolonO







Wiek: 34
Na forum: 6809 dni
Posty: 1386

Piwa: 1062

Respekt: 651,8
Respekt: 651,8Respekt: 651,8

W pierwszym momencie my?la?em, ?e chcia?e? losowe pozycje przy teleporcie ale potem przeczyta?em to drugi raz.. No ok.

Kod:

new bool:_joiningShitz[MAX_PLAYERS char];
#define playersAmountToJoinEvent 18

CMD:dolacz(playerid, p[])
{
if(!_joiningShitz{playerid})
{
_joiningShitz{playerid} = true;
SendClientMessage(playerid, -1, "Do??czy?e? do czego?..");
@evAmountChecker();
}
return 1;
}

forward @evAmountChecker();
@evAmountChecker()
{
new amountz;
for(new i;i<MAX_PLAYERS;i++)
{
if(!IsPlayerConnected(i)) continue;

if(_joiningShitz{i}) amountz+=1;
}

if(amountz >= playersAmountToJoinEvent)
{
SetTimer("@letzStartEvent", 10000, false);
}
return 1;
}

forward @letzStartEvent();
@letzStartEvent()
{
new amountz;
for(new i;i<MAX_PLAYERS;i++)
{
if(!IsPlayerConnected(i)) continue;

if(_joiningShitz{i}) amountz+=1;
}

if(amountz < playersAmountToJoinEvent) return SendClientMessageToAll(-1, "Przykro nam ale niestety w ostatniej chwili zabrak?o os?b na event!"), 1;

for(new i;i<MAX_PLAYERS;i++)
{
if(!IsPlayerConnected(i)) continue;

if(_joiningShitz{i})
{
SetPlayerPos(i, 666.0, 666.0, 666.0);
_joiningShitz{i} = false;
}
}
return 1;
}


Napisa?em Ci tyle kodu. Oczywi?cie mog?o by to zosta? wykonane troszk? lepiej. Je?li bardzo zale?y Ci na pomocach na czasie realnym, to zostaw mi sw?j kontakt na PW.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-07-28, 03:02


Qadax







Wiek: 36
Na forum: 4776 dni
Posty: 36

Piwa: 3

Respekt: 40,5

Ostrzeżeń: 20%
@up
Jako? nie jestem przekonany do tego kodu.
Raczej widz? to w spos?b tablicy, p?tli for(dodaj?cej +1 do tablicy) oraz kolejne identyfikatory jako pozycje.

Kod:



for(new i=0; i<MAX_PLAYERS;i++)
/* tutaj gdzie gracz do??cza dodaje mu warto?? +1 i przydziela do pierwszej pozycji w tablicy o Identyfikatorze 0, nast?pny gracz do drugiej o id. 1 itd... */

// tablica na [18] pozycji (koord?w - SetPlayerPos)

//Tu kolejno pouk?adane pozycje

{
SetPlayerPos(playerid, 1, 1, 0, -1);
SetPlayerPos(playerid, 2, 2, 0, -1);
SetPlayerPos(playerid, 3, 3, 0, -1);
//itd...
}

//co? co ??czy pierwszego gracza z pierwsz? pozycj?, drugiego z drug? itd...


nie rozumiem po cholere ten "if(!IsPlayerConnected", skoro nie b?dzie gracza to tak czy tak go nie doda ;d
przecie? skrypt nie zapisuje do niczego danych graczy kt?rzy byli kiedy? na serwerze.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-07-28, 09:01


IgrexolonO







Wiek: 34
Na forum: 6809 dni
Posty: 1386

Piwa: 1062

Respekt: 651,8
Respekt: 651,8Respekt: 651,8

"Qadax" napisał/a:

nie rozumiem po cholere ten "if(!IsPlayerConnected", skoro nie b?dzie gracza to tak czy tak go nie doda ;d
przecie? skrypt nie zapisuje do niczego danych graczy kt?rzy byli kiedy? na serwerze.


Ju? Ci m?wi?. Mija troch? czasu od rozpoczynania eventu, oraz jego zainicjowania. Je?li os?b, kt?re si? zapisa?y jest mniej ni? wyznaczona liczba, to event nie wystartuje.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-07-28, 13:02


Qadax







Wiek: 36
Na forum: 4776 dni
Posty: 36

Piwa: 3

Respekt: 40,5

Ostrzeżeń: 20%
@up Doobra xD to to ja ju? mam w swoim kodzie.
Kod r?wnie? teleportuje (ale tylko w jedno miejsce) graczy, podczas startu co? robi, na zako?czenie co? robi, tak?e ja tylko chc? doda? warunki, aby teleportowa? kolejno graczy do kolejno pouk?adanych miejsc (jak mia?by by? losowo to nie szkodzi, mo?e to b?dzie ?atwiejsze).

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-07-28, 13:14


IgrexolonO







Wiek: 34
Na forum: 6809 dni
Posty: 1386

Piwa: 1062

Respekt: 651,8
Respekt: 651,8Respekt: 651,8

Kod:

new Float:teleportz[][4] =
{
// (X, Y, Z, Angle)
{666.0, 666.0, 666.0, 666.0},
{666.0, 666.0, 666.0, 666.0},
{666.0, 666.0, 666.0, 666.0}
};

new tt;
for(new i;i<MAX_PLAYERS;i++)
{
if(_joiningShitz{i})
{
SetPlayerPos(i, teleportz[tt][0], teleportz[tt][1], teleportz[tt][2]);
SetPlayerFacingAngle(i, teleportz[tt][3]);
tt+=1;
}
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-07-28, 15:00


Qadax







Wiek: 36
Na forum: 4776 dni
Posty: 36

Piwa: 3

Respekt: 40,5

Ostrzeżeń: 20%
Nadal prosz? pomoc.

@up, to nie b?dzie dzia?a? poprawnie.

Nie ma czego? losowego, jak np,

Kod:


SetPlayerPos(playerid, 1, 1, 0, -1);
or
SetPlayerPos(playerid, 2, 2, 0, -1);
or
SetPlayerPos(playerid, 3, 3, 0, -1);

?? ? :<

Co to jest ten Angle?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-07-28, 17:12


IgrexolonO







Wiek: 34
Na forum: 6809 dni
Posty: 1386

Piwa: 1062

Respekt: 651,8
Respekt: 651,8Respekt: 651,8

"Qadax" napisał/a:

Nadal prosz? pomoc.

@up, to nie b?dzie dzia?a? poprawnie.

Nie ma czego? losowego, jak np,

Kod:


SetPlayerPos(playerid, 1, 1, 0, -1);
or
SetPlayerPos(playerid, 2, 2, 0, -1);
or
SetPlayerPos(playerid, 3, 3, 0, -1);

?? ? :<

Co to jest ten Angle?


Dlaczego nie b?dzie dzia?a? poprawnie? To to samo co Ty chcesz zrobi?, tylko zamiast pisa? SetPlayerPos 300 razy i bawi? si? w globalne zmienne ja zrobi?em to lokalnie, jedynie z alokacj? globalnej zmiennej trzymaj?cej te pozycje z Twojego SetPlayerPos.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-07-28, 20:20


Qadax







Wiek: 36
Na forum: 4776 dni
Posty: 36

Piwa: 3

Respekt: 40,5

Ostrzeżeń: 20%
@up
Dobra, mo?e i b?dzie dzia?a?, ale jak dopasowa? go do tego (podaj? ca?y skrypt)

Najlepiej jak by? zmodyfikowa? tylko dan? cz??? i napisa? gdzie co? modyfikowa?e? na


//Edit

Usuwam i wysy?am na PW.

Ostatnio zmieniony przez Qadax 2013-07-28, 21:57, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-07-28, 20:30


IgrexolonO







Wiek: 34
Na forum: 6809 dni
Posty: 1386

Piwa: 1062

Respekt: 651,8
Respekt: 651,8Respekt: 651,8

Niestety nie mam zamiaru modyfikowa? tego ca?ego kodu i bawi? si? w jego zmienianie, dlatego je?li rzeczywi?cie potrzebujesz mojej pomocy, to tak jak ju? wspomnia?em. Zostaw mi sw?j kontakt na PW.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-08-20, 12:54


Qadax







Wiek: 36
Na forum: 4776 dni
Posty: 36

Piwa: 3

Respekt: 40,5

Ostrzeżeń: 20%
Aby nie otwiera? nie potrzebnie nowego tematu, to tu zadam pytanie.

Jak mog? po wpisaniu komendy zablokowa? j? na 70 sekund, tak aby wyskakiwa?a informacja "nie mozesz jeszcze uzyc tej komendy" ? Po 70 sekundach, aby mozna bylo zn?w j? u?y? i nie wyskakiwa?a powy?sza informacja.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-08-20, 13:00


Sillence







Wiek: 26
Na forum: 5157 dni
Posty: 1514
Nick w MP: Sillence

Piwa: 1517

Respekt: 416,3
Respekt: 416,3

Qadax, Dajesz taki warunek w danej komendzie:
Kod:

if (gettime() - GetPVarInt(playerid, "Blokada") < 70) //
{
SendClientMessage(playerid, -1, "Tej komendy mozesz uzyc raz na 70 sekund.");
return 1;
}


I potem za tym warunkiem dajesz:
Kod:

SetPVarInt(playerid, "Blokada", gettime());


Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-08-20, 13:07


Qadax







Wiek: 36
Na forum: 4776 dni
Posty: 36

Piwa: 3

Respekt: 40,5

Ostrzeżeń: 20%
Okej, ale chc? aby komenda po u?yciu blokowa?a si? dla wszystkich (kto 1 ten lepszy) i odblokowywa?a si? po tych 70 sekundach.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-08-20, 13:20


IgrexolonO







Wiek: 34
Na forum: 6809 dni
Posty: 1386

Piwa: 1062

Respekt: 651,8
Respekt: 651,8Respekt: 651,8

Kod:

new bool:go?ombkiKrysi;


cmd;

Kod:

if(go?ombkiKrysi != true)
{
//komenda..
go?ombkiKrysi = true;
SetTimerEx("@_unblock", 700000, false);
}


Kod:

forward @_unblock();
@_unblock()
{
go?ombkiKrysi = false;
return true;
}


Postaw piwo autorowi tego posta
 

 
Tagi: teleport :: kilka :: miejsc
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN » [INNE] 1 TELEPORT - KILKA MIEJSC Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku