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: palesz_88 - 2011. Október 01. - 10:24:15

Cím: Pause/UnPause
Írta: palesz_88 - 2011. Október 01. - 10:24:15
Sziasztok
Csináltam egy afk rendszert, de nem mûködik  :-[
 
public OnPlayerPause(playerid)
{
SetTimerEx(\"AFKTimer\", 1000, true, \"i\", \"playerid\");
SetPlayerColor(playerid, COLOR_BLACK);
return 1;
}

 

public OnPlayerUnPause(playerid)
{
afktime = 0;
Delete3DTextLabel(afktext[playerid]);
SetPlayerColor(playerid, pParams[playerid][pcolor]);
return 1;
}

 

public AFKTimer(playerid)
{
afktime++;
format(afkstr, sizeof(afkstr), \"Nem válaszol %i\\nmásodperce (AFK)\", afktime);
afktext[playerid] = Create3DTextLabel(afkstr, COLOR_YELLOW, 0.0, 0.0, 900.0, 35.0, 1);
if(afktime == 0) Attach3DTextLabelToPlayer(afktext[playerid], playerid, 0.0, 0.0, 1.0);
else Update3DTextLabelText(afktext[playerid], COLOR_YELLOW, afkstr);
}

 
A lényege az lenne, hogy mikor AFK-ba meg, akkor elinduljon egy timer, ami másodpercenként ismétli magát, és hozzáad 1-et az afktime változóhoz, aminek az értéke bekerül a 3d-text-be. De nem jeleníti meg a 3d-textet sem.  :-[
Cím: Pause/UnPause
Írta: ~BlackStyler~ - 2011. Október 01. - 10:44:09
warning error van benne?
Cím: Pause/UnPause
Írta: palesz_88 - 2011. Október 01. - 11:03:54
Idézetet írta: ~BlackStyler~ date=1317458649\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"12102\" data-ipsquote-contentclass=\"forums_Topic
warning error van benne?
 
:mistrust:
Akkor valószínûleg azt írtam volna...  :mistrust:
Cím: Pause/UnPause
Írta: ~BlackStyler~ - 2011. Október 01. - 11:07:21
Igazad van bocs. Csak kérdezhtem.  :-[
Cím: Pause/UnPause
Írta: kadaradam - 2011. Október 01. - 11:45:02
Saját 3DTextLabel-dat nem látod :)
Volt tesztelõd?
Amúgy az afktime változót enum-ba hozd létre,mert minden egyes játékosnak el kell tárolnia a számlálást,és legyen playerid paramétere is ([playerid])
És szerintem úgy csináld hogy OnPlayerPause-nél:
Létrehoz egy 3dText-t,majd a timert elindítod és Update3dTExtLabel meg hozzád +1 mp-t!
OnPlayerUnPause-nél pedig:
Destroy3DTextlabel
afktime[playerid] = 0; <----itt majd figyelj az enmura,ne felejtsd ki
Cím: Pause/UnPause
Írta: Casamiro - 2011. Október 01. - 13:30:43
Használj streamer plugint, van benne CreateDynamic3DTextLabel függvény.
[pawn]native Text3D:CreateDynamic3DTextLabel(const text[ ], color, Float:x, Float:y, Float:z, Float:drawdistance, attachedplayer = INVALID_PLAYER_ID, attachedvehicle = INVALID_VEHICLE_ID, testlos = 0, worldid = -1, interiorid = -1, playerid = -1, Float:distance = 100.0);[/pawn]