Skripta koju koristim:Se
Detaljan opis problema: Napravio sam txd exp i sada nzm kako da napravim da pise gore exp: npr 1/32
Dio skripte: /
Neke slike/video za lakse dobivanje pomoci(neobavezno): /
Hoces da stringujes TD? Da ti pokazuje vrednost neke varijable?
Da
Evo ti primer sa wiki, sta ne bude jasno pitaj. Ali mislim da je ovde sve jasno
public OnGameModeInit()
{
himessage = TextDrawCreate(1.0, 5.6, "Hi, how are you?");
return 1;
}
new string[256];
format(string, sizeof(string), "String TD");
TextDrawSetString(himessage, string);
TextDrawShowForPlayer(playerid, himessage);
Takodje, ovo mozes uraditi i sa player TD-ovima.
A ne brate ne ovako vec kad udjem ig da mi bude u hudu npr EXP: 1/100 kako da add imam textdraw ubacio sam ali nzm sta dalje da radim
Ne razumem sta hoces da napravis.
Nisam nasao nista bolje evo ti video pa pogledaj gore u hudu https://www.youtube.com/watch?v=-k9FE6imIts
+
Ja ne znam sta to EXP: treba da znaci i st to predstavlja.
Ako se to menja tj. nije staticno nego zavisi od varijable, to ti ide preko ovoga sam ti dao.
A sad, ako je to obican TD, onda ga samo kreiraj i ubaci pomocu f-je TextDrawShowForPlayer
Ovako ocu da gore u gornjem uglu kod helta imam EXP:npr 1/100 npr ako je igrac lvl 1 da mu pise 0/8 a dva 0/12 npr i sve tako znaci kad igrac predje lvl da mu se poveca za 4 exp i kako sad to da uradim
ako sam te dobro razumeo zelis nesto poput ovogg ?
public Exp_Update()
{
for(new y=0; y<MAX_IGRACA; y++)
{
new ssstring[50];
format(ssstring, sizeof(ssstring),"~y~Exp: [%i/%i]",PI[y][pexp]);
TextDrawSetString(Exp[y], ssstring);
}
return 1;
}
E bas to jel to od BM Posto imam i ja to ali nzm da sredim koristim mod od South Europe
Pa samo kreiraj TD i napravi timer koji ce ti update stalno td i ovo sto sam ti ja napravio samo promeni kako ti je definisano za Exp to mozes najlakse da vidis u dialogu za /stats samo se malo potrudi :)
Sacu da probam
Edit:
Imam errore
Evo dio skripte a evo errori
ExpTD[i] = TextDrawCreate(542.000000, 21.000000, "EXP:15/100");
TextDrawBackgroundColor(ExpTD[i], 255);
TextDrawFont(ExpTD[i], 1);
TextDrawLetterSize(ExpTD[i], 0.370000, 1.000000);
TextDrawColor(ExpTD[i], -65281);
TextDrawSetOutline(ExpTD[i], 0);
TextDrawSetProportional(ExpTD[i], 1);
TextDrawSetShadow(ExpTD[i], 1);
C:\Users\Gasabo\Desktop\South Europe RolePlay by gReeDy.aMx(Savo)\gamemodes\idemo.pwn(2485) : error 017: undefined symbol "MAX_IGRACA"
C:\Users\Gasabo\Desktop\South Europe RolePlay by gReeDy.aMx(Savo)\gamemodes\idemo.pwn(9983) : error 017: undefined symbol "i"
C:\Users\Gasabo\Desktop\South Europe RolePlay by gReeDy.aMx(Savo)\gamemodes\idemo.pwn(9984) : error 017: undefined symbol "i"
C:\Users\Gasabo\Desktop\South Europe RolePlay by gReeDy.aMx(Savo)\gamemodes\idemo.pwn(9985) : error 017: undefined symbol "i"
C:\Users\Gasabo\Desktop\South Europe RolePlay by gReeDy.aMx(Savo)\gamemodes\idemo.pwn(9986) : error 017: undefined symbol "i"
C:\Users\Gasabo\Desktop\South Europe RolePlay by gReeDy.aMx(Savo)\gamemodes\idemo.pwn(9987) : error 017: undefined symbol "i"
C:\Users\Gasabo\Desktop\South Europe RolePlay by gReeDy.aMx(Savo)\gamemodes\idemo.pwn(9988) : error 017: undefined symbol "i"
C:\Users\Gasabo\Desktop\South Europe RolePlay by gReeDy.aMx(Savo)\gamemodes\idemo.pwn(9989) : error 017: undefined symbol "i"
C:\Users\Gasabo\Desktop\South Europe RolePlay by gReeDy.aMx(Savo)\gamemodes\idemo.pwn(9990) : error 017: undefined symbol "i"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
9 Errors.
probaj umesto da stavos [y] a ovo MAX_PLAYER vidi kako je kod tebe definisano
Edit: Definisi Textdraw
Sredio sam errore ali imam problem kada udjem ig pise mi 15/100 kao sto sam lupio kako to da sredim
forward Exp_Update();
SetTimer("Exp_Update", 500, 1);
Pise mi da se vec koristi pritisnem ctrl + f ukucam Exp_Update i ima samo dva nema timera
Citat: Kriso_Anderson poslato Januar 07, 2015, 21:10:32 POSLE PODNE
Pise mi da se vec koristi pritisnem ctrl + f ukucam Exp_Update i ima samo dva nema timera
Nerazumem te sta bas hoces da kazes
Ocu da kazem da nemam vec definisan tajmer
Pa stavi samo forward i ovaj timer sto sam ti rekao i ovde gore stavis Exp_Update i naravno onaj timer kao sta sam ti vec dao
public Exp_Update()
{
for(new y=0; y<MAX_IGRACA; y++)
{
new ssstring[50];
format(ssstring, sizeof(ssstring),"~y~Exp: [%i/%i]",PI[y][pexp]);
TextDrawSetString(Exp[y], ssstring);
}
return 1;
}
Izbacuje ove errore
C:\Users\Gasabo\Desktop\South Europe RolePlay by gReeDy.aMx(Savo)\gamemodes\idemo.pwn(2489) : error 017: undefined symbol "Exp"
C:\Users\Gasabo\Desktop\South Europe RolePlay by gReeDy.aMx(Savo)\gamemodes\idemo.pwn(2489) : warning 215: expression has no effect
C:\Users\Gasabo\Desktop\South Europe RolePlay by gReeDy.aMx(Savo)\gamemodes\idemo.pwn(2489) : error 001: expected token: ";", but found "]"
C:\Users\Gasabo\Desktop\South Europe RolePlay by gReeDy.aMx(Savo)\gamemodes\idemo.pwn(2489) : error 029: invalid expression, assumed zero
C:\Users\Gasabo\Desktop\South Europe RolePlay by gReeDy.aMx(Savo)\gamemodes\idemo.pwn(2489) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
public Exp_Update()
{
for(new y=0; y<MAX_IGRACA; y++)
{
new ssstring[50];
format(ssstring, sizeof(ssstring),"~y~Exp: [%i/%i]",PI[y][pexp]); //ovo PI[y][pexp] odnosno samo pexp mijenjaj u svoju varijablu koju nadjes u enum pInfo mozda ti je pEXP mozda pExp mozda pIskustvo itd...
TextDrawSetString(ExpTD[y], ssstring);
}
return 1;
}
STAVI OVO
Opet jbt pise gore 15/100 kao sto sam napisao na txdu
Probaj da izbrišes sav tekst u td.Da ti pude prazno ono polje za text.
Znaci ovo izbrisem EXP:15/100
Da.
Sad nema nista gore
Pa imaš lio ti tajmer za Exp_Update
Ako nemaš moraš ga imat.
Da imam
Bili mi mogo poslat taj textdraw i ovaj expupdate sto si radio.
Evo
OVo je textdraw
for(new i = 0; i < MAX_PLAYERS; i++)
{
ExpTD[i] = TextDrawCreate(542.000000, 21.000000, "");
TextDrawBackgroundColor(ExpTD[i], 255);
TextDrawFont(ExpTD[i], 1);
TextDrawLetterSize(ExpTD[i], 0.370000, 1.000000);
TextDrawColor(ExpTD[i], -65281);
TextDrawSetOutline(ExpTD[i], 0);
TextDrawSetProportional(ExpTD[i], 1);
TextDrawSetShadow(ExpTD[i], 1);
}
Timer
SetTimer("Exp_Update", 100, 1);
forward Exp_Update();
public Exp_Update()
{
for(new y=0; y<MAX_PLAYERS; y++)
{
new ssstring[50];
format(ssstring, sizeof(ssstring),"~y~EXP: [%i/%i]",PlayerInfo[y][pExp]); //ovo PI[y][pexp] odnosno samo pexp mijenjaj u svoju varijablu koju nadjes u enum pInfo mozda ti je pEXP mozda pExp mozda pIskustvo itd...
TextDrawSetString(ExpTD[y], ssstring);
}
return 1;
}
Sredio sam ali imam problem kada udjem ig dobijem ban kada izbrisem ovo EXP Nisam ban