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

Wysłany: 2014-01-12, 19:06


B!4CK

Never give UP!






Wiek: 32
Na forum: 5809 dni
Posty: 1047
Nick w MP: John

Piwa: 1891

Respekt: 124,2
Respekt: 124,2

Cze?? Wszystkim ! :)

Do rzeczy, wi?c zaczynam gadk?:

Chcia?bym doda? funkcj? (?) do zapisu plik?w czyli w scriptfiles -> konta.

Ot?? chcia?bym doda? wi?cej rzeczy do zapisu np skin.


Mo?e wyt?umacz? inaczej:

G?ra mapy:
Pawn
enum DaneGracza
{
    Wiek,
    Urzadid,
    Sklepid,
    Plec,
    Skin,//Nowa rzecz
}


STOCK:
Pawn
stock Register(playerid,haslo[])
{
    new string[500];
    new Gname[MAX_PLAYER_NAME];
    GetPlayerName(playeridGnamesizeof(Gname));
    format(stringsizeof(string), "GF/Gracze/%s.ini",Gname);
    dini_Create(string);
    //

    dini_Set(string"Haslo",haslo);
    dini_IntSet(string"Kasa"KASAGRACZASTART);
    dini_IntSet(string"Miasto"0);
    dini_IntSet(string"Wiek"0);
    dini_IntSet(string"Plec"0);
    dini_IntSet(string"Skin"0);


Drugi stock - Wczytajgracza:
Pawn
    ResetPlayerMoney(playerid);
    GivePlayerMoney(playeriddini_Int(string"Kasa"));
    SetPlayerScore(playeriddini_Int(string"Punkty"));
    Gracz[playerid][Miasto] = dini_Int(string"Miasto");
    Gracz[playerid][Wiek] = dini_Int(string"Wiek");
    Gracz[playerid][Plec] = dini_Int(string"Plec");
    Gracz[playerid][Skin] = dini_Int(string"Skin");


Zapiszgracza:
Pawn
    dini_IntSet(string"Kasa"GetPlayerMoney(playerid));
    dini_IntSet(string"Punkty"GetPlayerScore(playerid));
    dini_IntSet(string"Wiek"Gracz[playerid][Wiek]);
    dini_IntSet(string"Miasto"Gracz[playerid][Miasto]);
    dini_IntSet(string"Plec"Gracz[playerid][Plec]);
    dini_IntSet(string"Skin"Gracz[playerid][Skin]);


public OnPlayerSpawn:
Pawn
    if(Gracz[playerid][Plec] == 1//Mezczyzna
        {SetPlayerSkin(playerid2);}
        if(Gracz[playerid][Plec] == 2//Kobieta
        {SetPlayerSkin(playerid56);}


Og?lnie gdy zapisuj? mi si? dane w pliku .txt to jest brak linijki skin tylko s? linijki:
Kasa=
Punkty=
Wiek=
Plec=
Skin=


A ja chcia?bym po prostu doda? do zapisu, aby mi si? zapisa? inny skin, a nie ten podstawowy.

Korzystam z tego poradnika:
http://gtao.pl/tutorial-dini-i-file-vt31339.htm

Lecz nie dzia?a :/
A chcia?bym, aby odczyta?o skin gracza i po zalogowaniu mia? skin, kt?ry np wybra? w sklepie z tabelki (ta nowa z textdrawawem)


Podpis
Cześć
! :)


Projekt, który poruszy scenę platformy SA:MP!
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-01-12, 20:16


xqz

otaku desu!






Wiek: 32
Na forum: 6407 dni
Posty: 723
Nick w MP: xqz

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

Cytat:

Og?lnie gdy zapisuj? mi si? dane w pliku .txt to jest brak linijki skin tylko s? linijki:
Kasa=
Punkty=
Wiek=
Plec=
Skin=


Taaa to ma sens :D


To daj tam przy wyborze skina;

Kod:

Gracz[playerid][Skin] = wybrany_skin_w_sklepie;


A w OnPlayerSpawn

Kod:

SetPlayerSkin(playerid,Gracz[playerid][Skin]);


Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-01-12, 20:23


B!4CK

Never give UP!






Wiek: 32
Na forum: 5809 dni
Posty: 1047
Nick w MP: John

Piwa: 1891

Respekt: 124,2
Respekt: 124,2

xqz, og?lnie temat nie ma sensu xD

Ale chcia?bym zrobi? tak, ?e kupuje sobie skina w binco za pomoc? tej rzeczy:

I ona mi si? zapisuje do pliku gracza czyli np John_Laron.txt

Podpis
Cześć
! :)


Projekt, który poruszy scenę platformy SA:MP!
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-01-12, 20:39


xqz

otaku desu!






Wiek: 32
Na forum: 6407 dni
Posty: 723
Nick w MP: xqz

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

No to masz ten system zapisu tego czy nie? xd

Podales tam w dini a teraz mowisz, ze chcesz zeby sie zapisywalo :(


http://gtao.pl.com/showthread.php?t=407045

W example masz jak ustawic skin i tam tez ta zmienna wklepujesz. Albo dynamicznie zapisujesz do dini.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-01-12, 20:42


B!4CK

Never give UP!






Wiek: 32
Na forum: 5809 dni
Posty: 1047
Nick w MP: John

Piwa: 1891

Respekt: 124,2
Respekt: 124,2

xqz, tzn ja stworzy?em te pSkin i reszte i jest w scriptfiles linijka skin, ale chodzi mi o to, aby ten skin faktycznie si? zapisa? i pisa?o np skin=71 (to jest przyk?ad)
I to ma si? zapisa? w tym pliku xD


Mo?e inaczej wyja?ni?.

Id? do sklepu binco tu? po rejestracji na serwerze (mam skin domy?lny) i id? do sklepu zakupi? skin i si? przebra?. Dobra, jestem w sklepie i si? przebra?em poprzez komend?, a teraz chc?, aby tego domy?lnego skina by? ten co go zakupi?em w binco.

Podpis
Cześć
! :)


Projekt, który poruszy scenę platformy SA:MP!
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-01-12, 20:44


xqz

otaku desu!






Wiek: 32
Na forum: 6407 dni
Posty: 723
Nick w MP: xqz

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

No to powiedzialem jak to zrobic w moim pierwszym poscie :mrgreen:

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-01-13, 17:15


B!4CK

Never give UP!






Wiek: 32
Na forum: 5809 dni
Posty: 1047
Nick w MP: John

Piwa: 1891

Respekt: 124,2
Respekt: 124,2

komenda:

CMD:skin(playerid, params[])
{
new wybrany_skin_w_sklepie;
DestroySelectionMenu(playerid);

SetPVarInt(playerid, "skinc_active", 1);
//SetPVarInt(playerid, "skinc_page", 0); // will reset the page back to the first
Gracz[playerid][Skin] = wybrany_skin_w_sklepie;
CreateSelectionMenu(playerid);
SelectTextDraw(playerid, 0xACCBF1FF);
return 1;

}
kod:
http://pastebin.com/248FRTKQ

public
Kod:

onPlayerSpawn:
public OnPlayerSpawn(playerid)
{
if(Gracz[playerid][Zalogowany] == true)
{
new pos = Gracz[playerid][Miasto] - 1;
SetPlayerPos(playerid, Spawny[pos][0],Spawny[pos][1],Spawny[pos][2]);
SetPlayerFacingAngle(playerid, Spawny[pos][3]);
SetPlayerVirtualWorld(playerid, 0);
if(Gracz[playerid][Plec] == 1) //Mezczyzna
SetPlayerSkin(playerid,Gracz[playerid][Skin]);
if(Gracz[playerid][Plec] == 2) //Kobieta
{SetPlayerSkin(playerid, 56);}
SetPlayerColor(playerid, 0xC8C8C83E);
SetPlayerVirtualWorld(playerid,0);
if(gpInfo[playerid][firstspawn] == 1)
{
gpInfo[playerid][firstspawn] = 0;
SetCameraBehindPlayer(playerid);
TogglePlayerControllable(playerid, 0);
SetTimerEx("HackCheck", FREEZE_SECONDS * 1000, 0, "i", playerid);
SendClientMessage(playerid, -1, "Trwa sprawdzanie klienta.. prosz? czeka?..");
}
}
return 1;
}


Nie zapisuje mi skinu wci?? i gdy wybior? sobie skin to wyjd?, p??niej wejd? mam skin CJ.

Podpis
Cześć
! :)


Projekt, który poruszy scenę platformy SA:MP!
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-01-13, 17:54


xqz

otaku desu!






Wiek: 32
Na forum: 6407 dni
Posty: 723
Nick w MP: xqz

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

Panie kolego elegy.

Ten kod na przypisanie zmiennej nalezy umiescic (z tego kodu tak wnioskuje) o tak:


Kod:

HandlePlayerItemSelection(playerid, selecteditem)
{
// In this case we change the player's skin
if(gSelectionItemsTag[playerid][selecteditem] >= 0 && gSelectionItemsTag[playerid][selecteditem] < 300) {
SetPlayerSkin(playerid, gSelectionItemsTag[playerid][selecteditem]);
Gracz[playerid][Skin] = gSelectionItemsTag[playerid][selecteditem];
return;
}
}


Tak jak ty zrobi?e? to nie ma sensu.


Kod:

CMD:skin(playerid, params[])
{
new wybrany_skin_w_sklepie;
DestroySelectionMenu(playerid);

SetPVarInt(playerid, "skinc_active", 1);
//SetPVarInt(playerid, "skinc_page", 0); // will reset the page back to the first
Gracz[playerid][Skin] = wybrany_skin_w_sklepie;
CreateSelectionMenu(playerid);
SelectTextDraw(playerid, 0xACCBF1FF);
return 1;

}


Stworzyles zmienna "wybrany_skin_w_sklepie" i jej domyslna wartosc to 0.
Po czym to zapisujesz do zmiennej i koniec (czyli 0 - CJ)


Dodatkowo OnPlayerSpawn. Nie dodales tam zmiany skinu z tego co wczytales z dini:



Kod:

public OnPlayerSpawn(playerid)
{
if(Gracz[playerid][Zalogowany] == true)
{
new pos = Gracz[playerid][Miasto] - 1;
SetPlayerPos(playerid, Spawny[pos][0],Spawny[pos][1],Spawny[pos][2]);
SetPlayerFacingAngle(playerid, Spawny[pos][3]);
SetPlayerVirtualWorld(playerid, 0);
if(Gracz[playerid][Plec] == 1) //Mezczyzna
SetPlayerSkin(playerid,Gracz[playerid][Skin]);
if(Gracz[playerid][Plec] == 2) //Kobieta
SetPlayerSkin(playerid, 56);
SetPlayerColor(playerid, 0xC8C8C83E);
SetPlayerVirtualWorld(playerid,0);
if(gpInfo[playerid][firstspawn] == 1)
{
gpInfo[playerid][firstspawn] = 0;
SetCameraBehindPlayer(playerid);
TogglePlayerControllable(playerid, 0);
SetTimerEx("HackCheck", FREEZE_SECONDS * 1000, 0, "i", playerid);
SendClientMessage(playerid, -1, "Trwa sprawdzanie klienta.. prosz? czeka?..");
}
if(Gracz[playerid][Skin]!=0) //zapobiegamy ustawienia CJ!
SetPlayerSkin(playerid,Gracz[playerid][Skin]);
}
return 1;
}

Takie cos

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-01-13, 18:57


B!4CK

Never give UP!






Wiek: 32
Na forum: 5809 dni
Posty: 1047
Nick w MP: John

Piwa: 1891

Respekt: 124,2
Respekt: 124,2

xqz, Panie xqz dzia?a i zapisuje w scriptfiles :)

Dzi?ki ! :)


Temat lock.

Podpis
Cześć
! :)


Projekt, który poruszy scenę platformy SA:MP!
Postaw piwo autorowi tego posta
 

 
Tagi: skin
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