[Pomoc] Varijabla za Vipa

Započeo Bugi, Mart 29, 2013, 18:10:18 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 2 gostiju pregledaju ovu temu.

Skripta koju koristim: EGRPG FINAL moj neki edit u pokusaju
Detaljan opis problema: Zanima me kako da napravim vip system a pogotovu tu varijablu, znam ono kod enum Info da savim pVip e al sta da radim posle s tim sta da stavljam gde i kako, kako komande da pravim, to mi nije jasno...
Dio skripte: /
Neke slike/video za lakse dobivanje pomoci(neobavezno): /
RESPECT: Blaeks, Yui_Sang, Gagi, Kapetan Husein, Luksa, Slay, Denis_Lapi, Zoran(Dude)

Programski jezici koje koristim: C, C#, Visual Basic, HTML, CSS, PHP (tek ucim).


Citat: |LZ| Bugi poslato Mart 29, 2013, 18:10:18 POSLE PODNE
Skripta koju koristim: EGRPG FINAL moj neki edit u pokusaju
Detaljan opis problema: Zanima me kako da napravim vip system a pogotovu tu varijablu, znam ono kod enum Info da savim pVip e al sta da radim posle s tim sta da stavljam gde i kako, kako komande da pravim, to mi nije jasno...
Dio skripte: /
Neke slike/video za lakse dobivanje pomoci(neobavezno): /

Koji sistem spremanja koristš da ti napravim primjer:

Npr. koristiš ga sa varijablom koju uzmeš,mi ćemo uzeti pVip.


COMMAND:fixveh(playerid, params[])
{
	if(PlayerInfo[playerid][pVip] < 1) return SCM(playerid, 4, "Samo Vip lvl 1 i vise."); // Znaci ovu komandu moze koristiti samo VIP LEVEL 1,2,3,4,5,6,7 .. sve do kraja dok ga ne ogranicis.
   // Umjesto toga mozes staviti druge funkcije,reci koju da ti pojasnim komandu npr ?
    if(IsPlayerInAnyVehicle(playerid))
    {
    	RepairVehicle(GetPlayerVehicleID(playerid));
		SetVehicleHealth(GetPlayerVehicleID(playerid), 1000);
		SendClientMessage(playerid, COLOR_WHITE, "Popravio si vozilo.");
	}
	return 1;
}



npr. Chat:

COMMAND:vip(playerid, params[])
{
    new string[160];
    if(!(PlayerInfo[playerid][pVip] >= 1)) return SCM(playerid, 4, "Samo VIP");
    if(isnull(params)) return SCM(playerid, 3, "Koristi: /vip [text]");
    GetPlayerName(playerid,sendername,sizeof(sendername));
    sendername[strfind(sendername,"_")] = ' ';
    format(string,160,"VipChat - %s (Lvl %d): (( %s ))",sendername,PlayerInfo[playerid][pVip],params);
    SendVipMessage(COLOR_WHITE, string);
    return 1;
}

stock SendVipMessage( color, string[] )
{
    foreach (Player,i)
    {
		if( PlayerInfo[ i] [ pVip ] > 0 )
		{
		    SendClientMessage( i, color, string );
		}
    }
    return 1;
}


Postavljanje vip-a.

COMMAND:makevip(playerid, params[])
{
    if(PlayerInfo[playerid][pAdmin] < 1338) return SCM(playerid, 4, "Samo admin moze ovo korsitit"); // samo admin 1338 moze psotaviti vipa
    new victimname[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], viplvl, id; // definiramo varijable koje koristimo u cmd
   	if (sscanf(params, "ui", id, viplvl)) return SCM(playerid, 4, "Koristi: /makevip [playerid] [lvl]"); // Znaci sta treba ukucati
    if (id == INVALID_PLAYER_ID) return SCM(playerid, 4, "Taj igrac je off"); // ako je igrac off
    if (viplvl > 4 || viplvl < 0) return SendClientMessage(playerid, COLOR_WHITE,"Pogresan level vipa."); // Znaci ovime definiras da imas samo 4 lvl-a za VIPA
    PlayerInfo[id][pVip] = viplvl; // PostaviÅ¡ mu level koji upiÅ¡eÅ¡ od 0-4
    GetPlayerName(id, victimname, sizeof(victimname)); // Uzimas ime od osobe kojoj postavis
    GetPlayerName(playerid, adminname, sizeof(adminname)); // Uzimas ime od admina koji postavlja
    new str[128]; // definiras string
    format(str,128,"Admin %s ti je postavio igracu %s vip level na %i",adminname,victimname,viplvl); // string koji salje poruku da mu je postavljen
    SendClientMessage(playerid,COLOR_WHITE,str); // salje mu poruku
    format(str, sizeof(str), "Administrator %s je postavio igracu %s vip Level na %i",adminname,victimname,viplvl); // string tko je sta postavio
    SendAdminMessage(COLOR_WHITE,str); // salje poruku adminima,Prilagodis si po varijabli ako imas ako nemas korsiti stock dolje
    return 1;
}

stock SendAdminMessage( color, string[] )
{
    foreach (Player,i)
    {
		if( PlayerInfo[ i] [ pAdmin ] > 0 )
		{
		    SendClientMessage( i, color, string );
		}
    }
    return 1;
}
Poslednja Izmena: Mart 29, 2013, 18:28:16 POSLE PODNE od FlasH
BIG RESPEKT: Blaeks,  [CRP] Joey_, David (Sabljak) A.k.A SABO(T), joXy_, Dimi, Sexserghy ♥, TerminuS, H1TM4N

E brate al samo meni nesto ovaj mod nece sa ZCMD, a i meni je lakse, to onaj Faris nesto zezno xD salim se, al ja nemam uopste varijablu ja ocu da napravim a nzm kako :D
RESPECT: Blaeks, Yui_Sang, Gagi, Kapetan Husein, Luksa, Slay, Denis_Lapi, Zoran(Dude)

Programski jezici koje koristim: C, C#, Visual Basic, HTML, CSS, PHP (tek ucim).


Evo onda u YINI:

U PlayerInfo dodaš:


pVip // definiras varijablu


Funckija iz koje ćeš očitati varijablu:

function LoadUser_data(playerid,name[],value[])
{
    INI_Int("Vip",PlayerInfo[playerid][pVip); // Zovemo ga pVip
     return 1;
}


Funkcija di ćeš spremiti pVip varijablu za igraca:

function SaveAccountStats(playerid)
{
	new INI:File = INI_Open(UserPath(playerid));
    INI_SetTag(File,"data");
    INI_WriteInt(File,"Vip",PlayerInfo[playerid][pVip]);
	INI_Close(File);

    return 1;
}


Dialog kod registracije dodamo varijablu da upiše u datoteku igraca:

new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File,"Vip",0);
INI_Close(File);
BIG RESPEKT: Blaeks,  [CRP] Joey_, David (Sabljak) A.k.A SABO(T), joXy_, Dimi, Sexserghy ♥, TerminuS, H1TM4N

ne treba ti tu mnogo matematike, odes pod enum pinfo napravis
pVip
restartujes je pod onplayerconnect
PlayerInfo[playerid][pVip] = 0;
i onda udaris komandu gde stavljas tu varijablu, i posle ako zelis da ti taj Vip ima neke odredjene privilegije dodajes tu varijablu kroz komande

Citat: Blaeks poslato Mart 29, 2013, 18:45:04 POSLE PODNE
ne treba ti tu mnogo matematike, odes pod enum pinfo napravis
pVip
restartujes je pod onplayerconnect
PlayerInfo[playerid][pVip] = 0;
i onda udaris komandu gde stavljas tu varijablu, i posle ako zelis da ti taj Vip ima neke odredjene privilegije dodajes tu varijablu kroz komande

Hvala obojici, a steta sto nema matematike posto mi dobro ide Hahhaha :D Ae fala
RESPECT: Blaeks, Yui_Sang, Gagi, Kapetan Husein, Luksa, Slay, Denis_Lapi, Zoran(Dude)

Programski jezici koje koristim: C, C#, Visual Basic, HTML, CSS, PHP (tek ucim).