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

Wysłany: 2013-08-18, 12:45


Rumun







Wiek: 30
Na forum: 5235 dni
Posty: 316
Nick w MP: Rumun

Piwa: 25

Respekt: 69

Witam.Chcia?bym prosi? was o pomoc w stworzeniu pewnej komendy.Mo?e opisze.
Po wpisaniu jakiej? komendy wyskakuje okienko gui ( DIALOG_STYLE_LIST ) i jak wiadomo mamy mo?liwo?ci klikni?cia w jaka? z opcji.Dalej gdy wybierzemy ju? opcje daje nam jaki? przedmiot na skin (to wiem jak zrobi?) lecz teraz pojawiaj? si? schody poniewa? chce by si? kupione rzeczy zapisywa?y do pliku(dini) i wczytywa?y przy wej?ciu gracza na serwer.Chcia?bym te? by ca?o?? znajdowa?a si? w jakims folderze,by pliki nie za?mieca?y ca?ego scriptfiles.Za pomoc piwko i respekt. ;)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-08-18, 13:28


Sillence







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

Piwa: 1517

Respekt: 416,3
Respekt: 416,3

Rumun, Pewnie wiesz na czym polega tworzenie rejestracji ? Je?eli tak to policz ile w tej funkcji jest argument?w bez playerid. Zapisujesz ka?dy argument do pliku i potem wczytuj?c dodajesz wczytywanie do tej funkcji. Je?li dalej nie wiesz o co chodzi pisz ;]

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-08-18, 15:31


Rumun







Wiek: 30
Na forum: 5235 dni
Posty: 316
Nick w MP: Rumun

Piwa: 25

Respekt: 69

No jakby? m?g? co? wi?cej to bym by? wdzi?czny. ;)Chocia? jaka? podstaw?.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-08-18, 15:55


Sillence







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

Piwa: 1517

Respekt: 416,3
Respekt: 416,3

Rumun, No to tak mo?e wygl?da? przyk?adowo zapis, tylko trzeba go jeszcze dobrze podpi?? :]
Kod:

enum Zapis
{
index,
modelid,
bone,
Float: X,
Float: Y,
Float: Z,
Float: rotX,
Float: rotY,
Float: rotZ,
Float: scaleX,
Float: scaleY,
Float: scaleZ,
color1,
color2
};
new ZapisPliku[MAX_PLAYERS][Zapis];

forward ZapiszObiekt(playerid);
public ZapiszObiekt(playerid){
dini_IntSet("plik.ini","index",ZapisPliku[playerid][index]);
dini_IntSet("plik.ini","modelid",ZapisPliku[playerid][modelid]);
dini_IntSet("plik.ini","bone",ZapisPliku[playerid][bone]);
dini_FloatSet("plik.ini","X",ZapisPliku[playerid][X]);
dini_FloatSet("plik.ini","Y",ZapisPliku[playerid][Y]);
dini_FloatSet("plik.ini","Z",ZapisPliku[playerid][Z]);
dini_FloatSet("plik.ini","rotX",ZapisPliku[playerid][rotX]);
dini_FloatSet("plik.ini","rotY",ZapisPliku[playerid][rotY]);
dini_FloatSet("plik.ini","rotZ",ZapisPliku[playerid][rotZ]);
dini_FloatSet("plik.ini","scaleX",ZapisPliku[playerid][scaleX]);
dini_FloatSet("plik.ini","scaleY",ZapisPliku[playerid][scaleY]);
dini_FloatSet("plik.ini","scaleZ",ZapisPliku[playerid][scaleZ]);
dini_IntSet("plik.ini","color1",ZapisPliku[playerid][color1]);
dini_IntSet("plik.ini","color2",ZapisPliku[playerid][color2]);
return 1;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-08-18, 15:56


IgrexolonO







Wiek: 34
Na forum: 6809 dni
Posty: 1386

Piwa: 1062

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

No to jedziemy krok po kroku..

"Rumun" napisał/a:

Witam.


Pis jo?.

"Rumun" napisał/a:

Chcia?bym prosi? was o pomoc w stworzeniu pewnej komendy.Mo?e opisze.
Po wpisaniu jakiej? komendy wyskakuje okienko gui ( DIALOG_STYLE_LIST ) i jak wiadomo mamy mo?liwo?ci klikni?cia w jaka? z opcji.


Kod:

CMD:jakaskomenda(playerid, p[])
{
ShowPlayerDialog(playerid, 666, DIALOG_STYLE_LIST, "Okienko gui", "Opcja numer 1\nOpcja numer 2\nOpcja numer 3", "Wybierz", "Anuluj");
return true;
}


yhm..

"Rumun" napisał/a:

Dalej gdy wybierzemy ju? opcje daje nam jaki? przedmiot na skin (to wiem jak zrobi?)


Kod:

if(dialogid == 666 && response)
{
if(listitem == 0) SetPlayerAttachedObject(...);
if(listitem == 1) SetPlayerAttachedObject(...);
if(listitem == 2) SetPlayerAttachedObject(...);
return true;
}


"Rumun" napisał/a:

lecz teraz pojawiaj? si? schody


Ale takie olbrzymie jak na Wie?e Eifela?

"Rumun" napisał/a:

poniewa? chce by si? kupione rzeczy zapisywa?y do pliku(dini) i wczytywa?y przy wej?ciu gracza na serwer


Yhm. To ?e? mi narobi? ambarastu! Ca?y kod od nowa jecha?. :/

G?ra mapy:

Kod:

#define attachdObjectPFile "attachedObjects/users/%s"

new bool:_playerAttached[MAX_PLAYERS][3];

stock GetPlayerAttachedObjectFilePath(playerid)
{
new pathe[47];
format(pathe, sizeof(pathe), attachdObjectPFile, PlayerName(playerid));
return pathe;
}

stock PlayerName(pid)
{
new n[24];
GetPlayerName(pid, n, 24);
return n;
}


Kod:

CMD:jakaskomenda(playerid, p[])
{
ShowPlayerDialog(playerid, 666, DIALOG_STYLE_LIST, "Okienko gui", "Opcja numer 1\nOpcja numer 2\nOpcja numer 3", "Wybierz", "Anuluj");
return true;
}


OnDialogResponse:

Kod:

if(dialogid == 666 && response)
{
if(listitem == 0) SetPlayerAttachedObject(...), _playerAttached[playerid][0] = true;
if(listitem == 1) SetPlayerAttachedObject(...), _playerAttached[playerid][1] = true;
if(listitem == 2) SetPlayerAttachedObject(...), _playerAttached[playerid][2] = true;
return true;
}


OnPlayerDisconnect:

Kod:

new numb[2];
for(new i;i<3;i++)
{
format(numb, sizeof(numb), "%d", i);
if(_playerAttached[playerid][i] == true)
{
dini_BoolSet(GetPlayerAttachedObjectFilePath(playerid), numb, true);
}
}


OnPlayerConnect:

// wywo?amy dialogi

Kod:

new numb[2];
for(new i;i<3;i++)
{
format(numb, sizeof(numb), "%d", i);
_playerAttached[playerid][i] = !!dini_Bool(GetPlayerAttachedObjectFilePath(playerid), numb);
if(_playerAttached[playerid][i] == true)
{
CallLocalFunction("OnDialogResponse", "iiii", playerid, 666, i, i);
}
}


Hmm. To chyba wszystko, jo?!

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-08-18, 20:47


Rumun







Wiek: 30
Na forum: 5235 dni
Posty: 316
Nick w MP: Rumun

Piwa: 25

Respekt: 69

Czy zadzia?a to co napisa?e? wy?ej(zapewne tak) powiem jutro.Mam jeszcze jedno pytanie kt?re kiedy? ju? zadawa?em.Chodzi o naliczanie czasu gry.Gracz wchodzi gra 5 min wychodzi potem zn?w wchodzi gra 10 min ,a to wszystko sumuje i zapisuje.Mo?e ten temat kt?ry kiedy? za?o?y?em pomo?e.

http://gtao.pl/inne-ponow...hlight=czas+gry

Za pomoc zn?w piwko i respekt ;)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-08-18, 22:31


IgrexolonO







Wiek: 34
Na forum: 6809 dni
Posty: 1386

Piwa: 1062

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

Ok.. Daj mi kod, kt?ry "napocz??e?". Wcze?niej da?em Ci gotowca, ale wiecznie nie b?d? go dawa?. Kombinuj.

gettime() przy wej?ciu na zmienn? +

przy wyj?ciu (gettime() odj?? to co by?o na zmiennej) doda? pob?r z pliku tych przegranych ju? sekund = zapis do pliku

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-08-18, 23:01


Rumun







Wiek: 30
Na forum: 5235 dni
Posty: 316
Nick w MP: Rumun

Piwa: 25

Respekt: 69

public OnPlayerDisconnect(playerid, reason)
{
INI_WriteInt(Plik, "online", (gettime() - onlineTimeStarta[playerid]) + INI_WriteInt(plik, "online"));

return 1;
}

OnPlayerConnect

onlineTimeStarta[playerid] = gettime();

OnDialogResponse

przy rejestracji

INI_WriteInt(Plik,"online",0);

przy logowaniu nie wiem jak.


enum pInfo
{
pHaslo,
pKasa,
pPunkty
}
new PlayerInfo[MAX_PLAYERS][pInfo];

tutaj te? nale?y dodac informacje o naliczaniu czasu ?

forward Ladowanie_Dane(playerid,name[],value[]);
public Ladowanie_Dane(playerid,name[],value[])
{
INI_Int("Haslo",PlayerInfo[playerid][pHaslo]);
INI_Int("Pieniadze", PlayerInfo[playerid][pKasa]);
INI_Int("Punkty", PlayerInfo[playerid][pPunkty]);

return 1;
}
tutaj te? nie wiem jak doda?.

[ Dodano: 2013-08-19, 12:14 ]
Ps. to b?dzie nalicza?o czas w sekundach,a chcia?bym si? dowiedzie? jak zmieni? by nalicza?o w minutach.

[ Dodano: 2013-08-19, 12:45 ]
+Zrobi?em.Ale przy logowaniu mam problem.


jest.



SetPlayerScore(playerid,PlayerInfo[playerid][pPunkty]);
GivePlayerMoney(playerid,PlayerInfo[playerid][pKasa]);
//////////////////////////////////////////////////
onlineTimeStarta(playerid,PlayerInfo[playerid][ponline]); <-- czy to tak ma wygl?da? ?

Errrory i warningi.


Kod:

error 012: invalid function call, not a valid address
warning 215: expression has no effect
error 001: expected token: ";", but found ")"
error 029: invalid expression, assumed zero
fatal error 107: too many error messages on one line


Postaw piwo autorowi tego posta
 

 
Tagi: gui :: zapis
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN 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