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

Wysłany: 2012-03-12, 21:28


xxmikel611xx

~!@#$%^!






Wiek: 30
Na forum: 5813 dni
Posty: 163
Nick w MP: Mikel__xD

Piwa: 159

Respekt: 35,3

Mam taki problem ze score, mam tu kod kt?ry daje 5 score za 5 minut gry ale on nie dzia?a nie daje 5 score ale 160 i nie wiem dlaczego. M?g?by kto? mi pom?c??

Mama taki kod:

Kod:

SetTimer("Score5", 300000, 1);// to w OnPlayerConnect


forward Score5 ();
public Score5 ()
{
for(new y = 0; y < GetMaxPlayers(); y++)
{
new playerid;
SetPlayerScore(playerid, GetPlayerScore(playerid) + 5);
}
return 1;
}


...


Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-03-12, 21:33


DumpeR







Wiek: 30
Na forum: 5330 dni
Posty: 171
Nick w MP: dumpeer

Piwa: 1026

Respekt: 48,3

Pawn
forward Score(playerid);
public Score(playerid)
{
    for(new 0GetMaxPlayers(); ji++)
    {
        if(IsPlayerConnected(i))
        {
            SetPlayerScore(playeridGetPlayerScore(playerid) + 5);
        }
    }
    return 1;
}


Ostatnio zmieniony przez DumpeR 2012-03-13, 15:10, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-03-13, 14:18


PrO_95







Wiek: 31
Na forum: 5201 dni
Posty: 14

Piwa: 5

Respekt: 50

Ostrzeżeń: 100%
Bo?e, a? serce przestaje bi? jak si? widzi taki kod xD

Chcesz aby timer wykonywa? si? nawet gdy gracz nie b?dzie online, w dodatku na ka?dego z graczy xD ?

poprawny kod:

OnPlayerConnect

Kod:


SetPVarInt(playerid, "TimerScore", SetTimerEx("DajScore", 1000*60*5, true, "i", playerid));


OnPlayerDisconnect

Kod:


KillTimer(GetPVarInt(playerid, "TimerScore"));


D??/g?ra mapy.

Pawn

forward DajScore(playerid);
public DajScore(playerid)
{
    new score GetPlayerScore(playerid);
    SetPlayerScore(playeridscore 5);
    SendClientMessage(playerid, -1"Dosta?e? 5 punkt?w score..");
    return 1;
}


Pouczenie dla Was 2 Panowie, te p?tle co wy tam macie u g?ry s? zb?dne i w dodatku wolne, polecam u?ywa? foreach lub po prostu p?tl? mog? wygl?da? tak

Kod:


for(new x, r = MAX_PLAYERS; x != r; x++)


Pozdrawiam! :->

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-03-13, 15:12


DumpeR







Wiek: 30
Na forum: 5330 dni
Posty: 171
Nick w MP: dumpeer

Piwa: 1026

Respekt: 48,3

"PrO_95" napisał/a:

Bo?e, a? serce przestaje bi? jak si? widzi taki kod xD

Co? Tobie nie pasuje?

Kod:


for(new x, r = MAX_PLAYERS; x != r; x++)

U?ywam p?tli kt?r? widzisz, ka?dy u?ywa inn?, prawda? ;)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-03-13, 15:30


PrO_95







Wiek: 31
Na forum: 5201 dni
Posty: 14

Piwa: 5

Respekt: 50

Ostrzeżeń: 100%
Cytat:


Co? Tobie nie pasuje?


Tak, nie pasuje mi co? mianowicie - nie wiesz co tutaj piszesz to si? nie udzielaj, w twojej g?wnianej poprawce kodu mog? znale?? wi?cej b??d?w ni? linijek "kodu".

A wi?c, sam siebie wprowadzi?e? w b??d mianowicie, tworzysz niepotrzebn? p?tle ;>

Kod:


forward Score(playerid);
public Score(playerid)
{
for(new i = 0, j = GetMaxPlayers(); i < j; i++)
{
if(IsPlayerConnected(i))
{


Po jakiego guzika jest tutaj ta p?tla + IsPlayerConnected(kt?rego wcze?niej nie by?o!)? jak widzisz, on da? SetTimer do OnPlayerConnect(co te? jest b??dem! mog?e? chocia? to poprawi?.)

Po drugie, twoja "p?tla" jest do niczego, mog? Ci obja?ni? jej dzia?anie.

new i = 0; - zerujesz zmienn?, przypisujesz jej warto?c 0? po co? przecie? ona jest ju? wyzerowana ziomek.

tworzysz now? zmienn?, kt?ra pobiera ilo?c slot?w na serwerze i przypisuje je do tej zmiennej, no dobra to jest okej.

<- spos?b z != si? pr?dzej wykona.

Kod:


SetPlayerScore(playerid, GetPlayerScore(playerid) + 5);


Da?e? to wszystko w p?tli, a masz playerid, a gdzie i skoro u?ywasz tej p?tli xD ? (kt?ra jest nie potrzebna!)

Po raz kt?ry? tam, je?li dajesz mu kod to skracaj go maksymalnie, tutaj m?g?by? to zrobi? wszystko bez klamrowo.

Ju? t?umacz? Ci jego b??d z timerem, kt?rego nie potrafi?e? zmieni?.

Kod:


SetTimer(Score5, 300000, 1);// to w OnPlayerConnect


Mianowicie, co to ma by?? powinno by? SetTimerEx + argument playerid, no i powinno by? to przypisane do tablicy lub PVar'a bo inaczej b?dzie go wykonywa? ci?gle, a tak to w OnPlayerDisconnect wy??czymy timer.

Postaw piwo autorowi tego posta
 

 
Tagi: score
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] Score 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