GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: idokepp - 2013. január 12. - 15:52:59

Cím: undefined symbol "playerid"
Írta: idokepp - 2013. január 12. - 15:52:59
GM elejen:
 
new deaths[MAX_PLAYERS];
new kills[MAX_PLAYERS];

 

public OnPlayerDeath(playerid, killerid, reason)
{
deaths[playerid]++;
kills[killerid]++;

 
Ez mar mashol van:
 
new tstring[256];
format(tstring,256,\"Olesek szama: %d  -  Halalok szama: %d\",kills[playerid],deaths[playerid]);
TextDrawSetString(kd,tstring);

 
Ha torlom a \"playerid\"-t akkor nem ir hibat viszont mindenkinek kiirja az Olesek és Halalok szamat.
HELP!!
Cím: undefined symbol "playerid"
Írta: Virgonc - 2013. január 12. - 15:54:39
Az utolsó rész milyen public alatt van?
Cím: undefined symbol "playerid"
Írta: idokepp - 2013. január 12. - 15:55:54
public PontFrissito()
{
Cím: undefined symbol "playerid"
Írta: Rupert - 2013. január 12. - 15:57:00
A teljes eljárást bemásolnád? (PontFrissito)
Cím: undefined symbol "playerid"
Írta: Virgonc - 2013. január 12. - 15:57:35
Idézetet írta: idokepp date=1358002554\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"32323\" data-ipsquote-contentclass=\"forums_Topic
public PontFrissito()
{
 
Nincs bnne (playerid). Ehhez nem értek 100%-osan az a baj. Ez egy timerhöz van rendelve?
Cím: undefined symbol "playerid"
Írta: idokepp - 2013. január 12. - 16:01:21
Igen Timerhez van.
Igy nez ki most.
 
public PontFrissito()
{
new tstring[256];
format(tstring,256,\"Olesek szama: %d  -  Halalok szama: %d\",kills,deaths);
TextDrawSetString(kd,tstring);
}
Cím: undefined symbol "playerid"
Írta: Virgonc - 2013. január 12. - 16:02:44
Próbáld így:
E: Jaj nemjó.
Bemásolnád a textdraw készítését?
Cím: undefined symbol "playerid"
Írta: idokepp - 2013. január 12. - 16:04:27
De jo. :D De bolond vagyok erre nem is gondoltam. Koszonom!  :thumbsup:
Cím: undefined symbol "playerid"
Írta: Rupert - 2013. január 12. - 19:14:36
[mod]Téma kérésre megnyitva.[/mod]
Cím: undefined symbol "playerid"
Írta: idokepp - 2013. január 12. - 19:19:44
Kiprobaltam igy:
 
public PontFrissito(playerid)
{   
new tstring[256];
format(tstring,256,\"Olesek szama: %d  -  Halalok szama: %d\",kills[playerid],deaths[playerid]);
TextDrawSetString(kd,tstring);
}

 
Mukodik is, csak az baj hogy mindenkinek kiirja.  Szoval ha engem megolnek egyszer akkor azt masnal is szamolja. (Nem egyeni a dolog)
Azt hogy lehet megcsinalni?
Cím: undefined symbol "playerid"
Írta: Virgonc - 2013. január 12. - 20:13:29
írtam pm-ben, ha elkulted megcsinalom.
E: Úgy látom kiléptél, leírom, hogy mit csinálj majd.
Tehát van ugye a new része a textdrawnok, ezt írd át ilyenre:
 
new Text:textdrawnév[MAX_PLAYERS];

 
Majd van az OnGameModeInit alatt az a rész, ahol létrehoztad és beállítotad a textdrawot, itt írd át ilyenre:

for(new i; i < GetMaxPlayers(); i++)
{
textdrawnév = TextDrawCreate(koordináta1, koordináta2, \" \");  //fontos, hogy a szöveg így legyen!
SetTimerEx(\"PontFrissito\", 1000, true, \"i\", i);
TextDrawFont(textdrawnév, 3);
TextDrawColor(textdrawnév, 0xFFFFFFFF);
//stb.
}

 
És végül van ugye a frissítés:

forward PontFrissito(playerid);
public PontFrissito(playerid)
{     
new tstring[256];
format(tstring,256,\"Olesek szama: %d  -  Halalok szama: %d\",kills[playerid],deaths[playerid]);
TextDrawSetString(textdrawnév,tstring);
}

 
Remélem érthetõ.
Cím: undefined symbol "playerid"
Írta: idokepp - 2013. január 12. - 21:10:04
Na beraktam nem ir errort mukodik is. De most csak en latom. ID 0 voltam foljottek segiteni tesztelni ID 1 nem latott semmit.
gm elejen:
 
new Text:kd[MAX_PLAYERS];

 
OnGamemodinit:
 
for( new i = 0; i < MAX_PLAYERS; i ++ )
{
kd = TextDrawCreate(20.000000, 321.000000, \"\");
TextDrawBackgroundColor(kd, 255);
TextDrawFont(kd, 1);
TextDrawLetterSize(kd, 0.500000, 1.000000);
TextDrawColor(kd, -1);
TextDrawSetOutline(kd, 0);
TextDrawSetProportional(kd, 1);
TextDrawSetShadow(kd, 1);

 
OnPlayerConnect:
 
TextDrawShowForPlayer(playerid,Text:kd[playerid]);

 
PontFrissito:
 
new tstring[256];
format(tstring,256,\"Olesek szama: %d  -  Halalok szama: %d\",kills[playerid],deaths[playerid]);
TextDrawSetString(kd[playerid],tstring);

 
SZERK:
Most nezem hogy kihagytam a \"SetTimerEx(\"PontFrissito\", 1000, true, \"i\", i);\" ez lehet a baj? Bar ettol fuggetlenul is frissitette.
Cím: undefined symbol "playerid"
Írta: Virgonc - 2013. január 12. - 21:16:09
TextDrawShowForPlayer(playerid, kd[playerid]);

 
Így írd.
E: És igen a frissítést is írd át!!!
Cím: undefined symbol "playerid"
Írta: idokepp - 2013. január 12. - 21:41:01
Koszonom mukodik!
Mar csak egy kerdesem lenne ezzel az aranyt meglehet valahogy csinalni? Mert probalkozok vele, de meg az se jelenik meg ami eddig.
 
new tdstring[5];
new Float:arany = kills[playerid]/deaths[playerid];
format( tdstring, sizeof( tdstring ),\"Olesek szama: %d  -  Halalok szama: %d - Arany: %f\",kills[playerid],deaths[playerid],arany);
TextDrawSetString(kd[playerid],tdstring);
Cím: undefined symbol "playerid"
Írta: Virgonc - 2013. január 12. - 21:57:19
Persze. :)
 
new Float:arany=floatdiv(kills[playerid],deaths[playerid]);

 
És a floathoz ezt írd inkább:
%.2f

 
OFF:


Adsz szerver ip-t? :)
Cím: undefined symbol "playerid"
Írta: idokepp - 2013. január 12. - 22:19:52
Koszonom! Adnek ipt de hazi belso iprol tesztelem. Routerem van es nem ertek a port nyitashoz.