[POMOC] 2 problema.


Započeo needer, April 25, 2013, 09:58:37 PRE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim: Od 0.
Detaljan opis problema: Bit će dole.
Dio skripte:

1.PROBLEM

Imam /amoney komandu kojom admin daje igraću novac, sve je tu uredu ali kada mu da novac u /stats-ima ostane stara vrijednost.
Moje pitanje je kako da 'apdejtujem' stats kada mu se da novac.

2. PROBLEM

Napravio sam da pri registraciji korisnik bira u dialogu izmeÄ'u 3 spawna koji želi, te da mu se to snimi i učitava pri svakom loginu.
I sve to fino radi, samo kada se registrujem i kada odaberem spawn npr 1 odmah me spawna što je uredu, dok na loginu kada unesem pw moram kliknuti na spawn iako imam SpawnPlayer(playerid);

Mozda za ovo drugo stavis kada ukucas password da ti se pokaze dialog sa spawnovima :)
Srecu cine male stvari i veliko pivo!
x3M-Gaming USKORO!

Blaeks

*

Madmen

1. problem: je l imas funkciju za azuriranje igraca, primer SacuvajIgraca(playerid) ?

2.problem. kod potvrde logina stavi ovako
SetTimerEx("spawnuj",1000,false,"i",playerid);
i na kraju skripte stavi ovako
forward spawnuj();
public spawnuj()
{
	foreach (Player, i)
	{
		SpawnPlayer(i);
	}
	return 1;
}

Blaeks nemam to prvo, na koji naćin da ga napravim?

A za drugo stavio sam i opet neće da spawna. :$

Blaeks

*

Madmen

1.problem: isto kao sto spremas informacije pod onplayerdisconnect tako napravis public SacuvajIgraca i onda gde god nekom povecavas varijable stavljas i to SacuvajIgraca
2.problem: ne moguce, ja tako imam na mom modu i radi, stavis tajmer kada igrac vec ukuca sifru, i ovo na kraj skripte, i mora da radi, prosto mora

1. problem: možeš li mi dati primjer pa ću ja da uradim ostalo, u kodu ako može.
2. problem: login mi je pod onplayerconnect jer nemam onplayerlogin, i kada ukuca šifru opet samo stoji i moram kliknuti na spawn
evo kod:
if(fexist(UserPath(playerid)))
	{
		INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
		ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,"Prijavljivanje","{FFFFFF}_________________________________________________________________\n\n{39AACC}                DOBRODOÅ LI NAZAD NA BUENO ROLEPLAY SERVER.\n\n                   Vi ste registrovani molili bih vas da se logujete.\n\n {F81414}                      Ukucajte lozinku da bi se ulogovali:\n\n{FFFFFF}_________________________________________________________________\n","Prijavi se","Izadji");
		SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]);
	}
	else
	{
		ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,"Registracija","{FFFFFF}_________________________________________________________________\n\n{39AACC}                DOBRODOÅ LI NAZAD NA BUENO ROLEPLAY SERVER.\n\n                   Vi niste registrovani molili bih vas da to uradite.\n\n{F81414}                      Ukucajte lozinku da bi se registrovali:\n\n{FFFFFF}_________________________________________________________________\n","Registruj se","Izadji");
	}

Blaeks

*

Madmen

2.problem: ma je l ti imas pod ondialogresponse ocitavanje dialoga ?
1.problem:
INI_WriteInt(File, "varijabla_beka", PlayerInfo[playerid][pVarijabla]);

Riješio sam drugi problem, nisam imao provjere za spawn od onih 3 tako da nije spawnalo dodao sam provjere i sada radi.

A ovo:
INI_WriteInt(File, "varijabla_beka", PlayerInfo[playerid][pVarijabla]);


Dodajem sad npr ispod amoney kada mu da pare da se snimi?
YCMD:amoney(playerid, params[], help)
{
        #pragma unused help
        if(PlayerInfo[playerid][pAdmin] < 3) return SCM(playerid, COLOR_LIGHTBLUE,"Trebate biti admin lvl 3 da bi koristili ovo!");
        new
			pplayerid,money,string[128];
        if(sscanf(params, "ui", pplayerid,money)) return SCM(playerid, COLOR_LIGHTBLUE,"KORISTENJE: /amoney [Player ID/Player Name] [Money]");
		GivePlayerMoney(pplayerid, money);
		format(string,sizeof(string),"{39AACC}Admin {FFFFFF}%s {39AACC}ti je dao {FFFFFF}$%d",GetName(playerid),money);
		SCM(pplayerid,-1,string);
		format(string,sizeof(string),"{39AACC}Igrac {FFFFFF}%s {39AACC}je primio {FFFFFF}$%d",GetName(pplayerid),money);
		SCM(playerid,-1,string);
		return 1;
}

Blaeks

*

Madmen

stavis ovo na kraj skripte
forward SacuvajAcc(playerid);
public SacuvajAcc(playerid)
{
new INI:File = INI_Open(UserPath(playerid));
INI_WriteInt(File,"Novac",PlayerInfo[playerid][pNovac]);
INI_Close(File);
return 1;
}
i onda u komandi stavis
SacuvajIgraca(pplayerid);
ako me razumes

Razumijem te, uradio sam tako ali opet na /statsu ostaje vrijednost prije korištenja /amoneya

YCMD:stats(playerid,params[], help)
{
    #pragma unused help,params
	Level=PlayerInfo[playerid][pLevel];
	Novac=PlayerInfo[playerid][pNovac];
	Respekti=PlayerInfo[playerid][pRespekti];
	Paypoeni=PlayerInfo[playerid][pPayPoeni];
	GetPlayerName(playerid,playernamee,sizeof(playernamee));
    format(playernamee,sizeof playernamee,"STATS %s",playernamee);
	msgbox="Level: %d\nNovac: %d\nRespekti: %d\nPayPoeni: %d\n";
	format(stringa,sizeof stringa,msgbox, Level, Novac, Respekti, Paypoeni);
	ShowPlayerDialog(playerid,Dialogonclick,0,playernamee,stringa,"Ok","");
	return 1;
}

Blaeks

*

Madmen

zasto onda u statsu ne ucitas novac ovako
GetPlayerMoney(playerid)

Stavio sam sad ovako i radi:
YCMD:stats(playerid,params[], help)
{
    #pragma unused help,params
	Level=PlayerInfo[playerid][pLevel];
	Money=GetPlayerMoney(playerid);
	Respekti=PlayerInfo[playerid][pRespekti];
	Paypoeni=PlayerInfo[playerid][pPayPoeni];
	GetPlayerName(playerid,playernamee,sizeof(playernamee));
    format(playernamee,sizeof playernamee,"STATS %s",playernamee);
	msgbox="Level: %d\nNovac: %d\nRespekti: %d\nPayPoeni: %d\n";
	format(stringa,sizeof stringa,msgbox, Level, Money, Respekti, Paypoeni);
	ShowPlayerDialog(playerid,Dialogonclick,0,playernamee,stringa,"Ok","");
	return 1;
}


Hvala Blaeks, lock.