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, 00:18


akon823

Czekotubka :D






Wiek: 29
Na forum: 4816 dni
Posty: 399
Nick w MP: Remik14

Piwa: 152

Respekt: 76,8

Witam jako i? dawno mnie tu nie by?o nagromadzi?o mi si? du?o pyta? i problem?w.
A wi?c zaczn? .
1.Mam taki problem wywali?em wybieralke w rejestracji zrobi?em ze si? w gui wybiera co tam si? chce i zapisuje skina do pliku po wybraniu odpowiedniej rzeczy no i jest ?adnie i pi?knie wszystko fajnie chodzi lecz po zalogowaniu si? zmienia mi skina na 0 czyli CJ . Nawalilem ju? wsz?dzie zapis?w do pliku itd. ale to nie pomaga
Oto kod
Stock rejestracja/login/wczytaj gracza/zapisz gracza
Kod:

stock Rejestracja(playerid, key[])
{
new Gracz[64];
new Gname[MAX_PLAYER_NAME];
GetPlayerName(playerid, Gname, sizeof(Gname));
format(Gracz,sizeof(Gracz), "/Gracze/%s.txt", Gname);
dini_Create(Gracz);
dini_Set(Gracz, "Haslo", key);
dini_IntSet(Gracz, "Kasa", 10000);
dini_IntSet(Gracz, "Punkty", 0);
dini_IntSet(Gracz, "Doswiadczenie", 0);
dini_IntSet(Gracz, "Lvl", 1);
WczytajGracza(playerid);
return 1;
}

stock Login(playerid, key[])
{
new Gracz[64];
new Gname[MAX_PLAYER_NAME];
GetPlayerName(playerid, Gname, sizeof(Gname));
format(Gracz, sizeof(Gracz), "/Gracze/%s.txt", Gname);
if(!strcmp(key, dini_Get(Gracz,"Haslo"), false))
{
WczytajGracza(playerid);
}
else
{
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "{E10000}Login", "{E10000}Z?e has?o!\n {00FF0A}Wpisz has?o aby si? zalogowa?.", "Loguj", "Anuluj");
}
return 1;
}

stock WczytajGracza(playerid)
{
new Gracz[64];
new Gname[MAX_PLAYER_NAME];
GetPlayerName(playerid, Gname, sizeof(Gname));
format(Gracz, sizeof(Gracz), "/Gracze/%s.txt", Gname);
if(dini_Exists(Gracz))
{
GivePlayerMoney(playerid, dini_Int(Gracz,"Kasa"));
SetPlayerSkin(playerid, dini_Int(Gracz, "Skin"));
SetPlayerScore(playerid, dini_Int(Gracz,"Punkty"));
gGracz[playerid][Doswiadczenie] = dini_Int(Gracz,"Doswiadczenie");
gGracz[playerid][Lvl] = dini_Int(Gracz,"Lvl");
SendClientMessage(playerid, Zielony, "Wszystkie dane zosta?y wczytane.");

}
return 1;
}

stock ZapisGracza(playerid)
{
new Gracz[64];
new Gname[MAX_PLAYER_NAME];
GetPlayerName(playerid, Gname, sizeof(Gname));
format(Gracz, sizeof(Gracz), "/Gracze/%s.txt", Gname);
if(dini_Exists(Gracz))
{
dini_IntSet(Gracz,"Kasa", GetPlayerMoney(playerid));
dini_IntSet(Gracz,"Punkty", GetPlayerScore(playerid));
dini_IntSet(Gracz,"Skin", GetPlayerSkin(playerid));
dini_IntSet(Gracz,"Doswiadczenie", gGracz[playerid][Doswiadczenie]);
dini_IntSet(Gracz,"Lvl", gGracz[playerid][Lvl]);
}
}

Dialog reje
Kod:

if(dialogid == SWOJ)
{
if(response == 1)
{
new Gracz[64];
new Gname[MAX_PLAYER_NAME];
GetPlayerName(playerid, Gname, sizeof(Gname));
format(Gracz,sizeof(Gracz), "/Gracze/%s.txt", Gname);
dini_IntSet(Gracz, "Skin", 96);
SetSpawnInfo(playerid, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
ZapisGracza(playerid);
TogglePlayerSpectating(playerid,0);
}
}
if(dialogid == WOJR)
{
if(response == 1)
{
new Gracz[64];
new Gname[MAX_PLAYER_NAME];
GetPlayerName(playerid, Gname, sizeof(Gname));
format(Gracz,sizeof(Gracz), "/Gracze/%s.txt", Gname);
dini_IntSet(Gracz, "Skin", 18);
SetSpawnInfo(playerid, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
ZapisGracza(playerid);
TogglePlayerSpectating(playerid,0);
}
}
if(dialogid == SWOJKA)
{
if(response == 1)
{
new Gracz[64];
new Gname[MAX_PLAYER_NAME];
GetPlayerName(playerid, Gname, sizeof(Gname));
format(Gracz,sizeof(Gracz), "/Gracze/%s.txt", Gname);
dini_IntSet(Gracz, "Skin", 91);
SetSpawnInfo(playerid, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
ZapisGracza(playerid);
TogglePlayerSpectating(playerid,0);
}
}
if(dialogid == WOJKAR)
{
if(response == 1)
{
new Gracz[64];
new Gname[MAX_PLAYER_NAME];
GetPlayerName(playerid, Gname, sizeof(Gname));
format(Gracz,sizeof(Gracz), "/Gracze/%s.txt", Gname);
dini_IntSet(Gracz, "Skin", 90);
SetSpawnInfo(playerid, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
ZapisGracza(playerid);
TogglePlayerSpectating(playerid,0);
}
}

if(dialogid == ZC)
{
if(response == 1)
{
new Gracz[64];
new Gname[MAX_PLAYER_NAME];
GetPlayerName(playerid, Gname, sizeof(Gname));
format(Gracz,sizeof(Gracz), "/Gracze/%s.txt", Gname);
dini_IntSet(Gracz, "Skin", 181);
SetSpawnInfo(playerid, 0, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
ZapisGracza(playerid);
TogglePlayerSpectating(playerid,0);
}
}
if(dialogid == ZZ)
{
if(response == 1)
{
new Gracz[64];
new Gname[MAX_PLAYER_NAME];
GetPlayerName(playerid, Gname, sizeof(Gname));
format(Gracz,sizeof(Gracz), "/Gracze/%s.txt", Gname);
dini_IntSet(Gracz, "Skin", 162);
SetSpawnInfo(playerid, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
ZapisGracza(playerid);
TogglePlayerSpectating(playerid,0);
}
}
if(dialogid == ZC2)
{
if(response == 1)
{
new Gracz[64];
new Gname[MAX_PLAYER_NAME];
GetPlayerName(playerid, Gname, sizeof(Gname));
format(Gracz,sizeof(Gracz), "/Gracze/%s.txt", Gname);
dini_IntSet(Gracz, "Skin", 238);
SetSpawnInfo(playerid, 0, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
ZapisGracza(playerid);
TogglePlayerSpectating(playerid,0);
}
}
if(dialogid == ZZ2)
{
if(response == 1)
{
new Gracz[64];
new Gname[MAX_PLAYER_NAME];
GetPlayerName(playerid, Gname, sizeof(Gname));
format(Gracz,sizeof(Gracz), "/Gracze/%s.txt", Gname);
dini_IntSet(Gracz, "Skin", 244);
SetSpawnInfo(playerid, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
ZapisGracza(playerid);
TogglePlayerSpectating(playerid,0);
}
}

Dialog Logowania by? mo?e tu jest problem
Kod:

if(dialogid == LOGIN)
{
if(response == 0)
{
SendClientMessage(playerid, Czerwony, "Anulowa?e? logowanie.");
Kick(playerid);
return 1;
}
if(response == 1)
{
Login(playerid, MD5_Hash(inputtext));
new Gracz[64];
new Gname[MAX_PLAYER_NAME];
GetPlayerName(playerid, Gname, sizeof(Gname));
format(Gracz,sizeof(Gracz), "/Gracze/%s.txt", Gname);
SpawnPlayer(playerid);
SetSpawnInfo(playerid, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
TogglePlayerSpectating(playerid,0);
}
}

Oraz daje jeszcze OnPlayerSpawn jakby by?o potrzebne
Kod:

public OnPlayerSpawn(playerid)
{
new Gracz[64];
new Gname[MAX_PLAYER_NAME];
GetPlayerName(playerid, Gname, sizeof(Gname));
format(Gracz,sizeof(Gracz), "/Gracze/%s.txt", Gname);
SetCameraBehindPlayer(playerid);
SetPlayerSkin(playerid, dini_Int(Gracz,"Skin"));
TextDrawShowForPlayer(playerid,PasekStanu[playerid]);
TogglePlayerSpectating(playerid, 0);
return 1;
}


2.Chcia?bym dok?adnie wiedzie? jak zapisac do pliku bronie kt?re ma gracz powiedzmy w stocku zapisz gracza powy?ej on jest . Jak to zrobi??

3. Czy mo?na jako? zrobi? aby amunicja si? nie ko?czy?a . Mo?e by? co? takiego , ?e je?li amunicja gracza wyniesie 0 to ma mu da? zn?w 200 :D

Jak na razie tyle :P
Pozdrawiam.

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-08-18, 00:25


DWD99







Wiek: 29
Na forum: 6264 dni
Posty: 159
Nick w MP: #BENG

Piwa: 1695

Respekt: 64,1

1 . W OnPlayerSpawn ustawiaj graczowi skin.
2 . http://wiki.sa-mp.com/wiki/GetPlayerWeapon
http://wiki.sa-mp.com/wiki/GetPlayerWeaponData
http://wiki.sa-mp.com/wiki/GivePlayerWeapon

3. Dawaj po prostu bronie z 999999 ammo ?

Podpis
Postaw piwo autorowi tego posta
 

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


akon823

Czekotubka :D






Wiek: 29
Na forum: 4816 dni
Posty: 399
Nick w MP: Remik14

Piwa: 152

Respekt: 76,8

1. No przecie? jest
Kod:

SetPlayerSkin(playerid, dini_Int(Gracz,"Skin"));

2. okej dzi?ki z tym pokmini?.
3.Nie tego nie chce , chce aby gdy amunicja osi?gnie 0 to aby dawalo zn?w amunicje np. 200:P

Podpis
Postaw piwo autorowi tego posta
 

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


Sillence







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

Piwa: 1517

Respekt: 416,3
Respekt: 416,3

Co do 1 to spr?buj tak:
Kod:

new zmienna;
zmienna = dini_Int(Gracz,"Skin"));
SetPlayerSkin(playerid,zmienna);


A co do 2 to tak:
Kod:

if(GetPlayerAmmo(playerid) == 0)
{
SetPlayerAmmo(playerid, NAZWA_BRONI, 2500);
return 1;
}


Pozdrawiam :D

Postaw piwo autorowi tego posta
 

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


IgrexolonO







Wiek: 34
Na forum: 6810 dni
Posty: 1386

Piwa: 1062

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

"Sillence" napisał/a:

A co do 3 to tak:
Kod:

if(GetPlayerAmmo(playerid) == 0)
{
SetPlayerAmmo(playerid, NAZWA_BRONI, 2500);
return 1;
}


Pozdrawiam :D


A ja nie pozdrawiam. W momencie, kiedy gracz osi?gnie 0 naboi automatycznie bro? zmieni si? na pi???, co uniemo?liwi wykrycie broni.

OnPlayerUpdate:

Kod:

if(GetPlayerWeaponState(playerid) == WEAPONSTATE_NO_BULLETS && GetPlayerWeapon(playerid) > 15)
{
GivePlayerWeapon(playerid, GetPlayerWeapon(playerid), 200);
}


Postaw piwo autorowi tego posta
 

 
Tagi: spawn
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] Spawn 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