Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2016-02-21, 15:54


Szymon9910911







Wiek: 25
Na forum: 4138 dni
Posty: 251
Nick w MP: Tetral [you]

Piwa: 9

Respekt: 70

Witam mam problem mianowicie chodzi o to ze mam system glodu i jak weide dobra jest ok do momentu gdy nie zeidzie glod i potem caly czas wyswietla sie wiadomosc a tera dam kawalek kodu (Ta wiadomosc powtarza si? ca?y czas co 1 sekund i zasmieca czat)

Kod:

enum DaneGracza
{
Glod,
Sen
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == REGISTER)
{
if(response)
{
if(strlen(inputtext))
{
if(strlen(inputtext) >= 6)
{
Rejestracja(playerid, inputtext);
new Nick[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nick, sizeof(Nick));
new Wiadomosc[500];
format(Wiadomosc, sizeof(Wiadomosc), "{F9F9FC}Witaj %s(%d) zapoznaj si? naszym regulaminem!\n{FF0000}1.Zakaz tworzenia multikont!(kara za multikonto to ban)\n2.Zakaz obrazy innych(kara za obraze mute 10min + warn)", Nick, playerid);
ShowPlayerDialog(playerid, REGULAMIN, DIALOG_STYLE_MSGBOX, NAZWASERWERA, Wiadomosc, "Zarejestruj", "Anuluj");
}
else
{
new NGracza[MAX_PLAYER_NAME];
new InfoNaStart[500];
GetPlayerName(playerid, NGracza, sizeof(NGracza));
format(InfoNaStart, sizeof(InfoNaStart), "{2DFF00}Witaj {AAAAAA}%s(%d){2DFF00} na "NAZWASERWERA "\n{2DFF00}Aby gra? na naszym serwerze musisz za?o?y?\nk?t? wpisuj?c has?o a nast?pnie klikaj?? \nZarejestruj(Has?o musi zawierac min. 6 znak?w) ", NGracza, playerid);
ShowPlayerDialog(playerid, REGISTER, DIALOG_STYLE_PASSWORD, NAZWASERWERA, InfoNaStart, "Zarejestruj", "Anuluj");
}
}
else
{
new NGracza[MAX_PLAYER_NAME];
new InfoNaStart[500];
GetPlayerName(playerid, NGracza, sizeof(NGracza));
format(InfoNaStart, sizeof(InfoNaStart), "{2DFF00}Witaj {AAAAAA}%s(%d){2DFF00} na "NAZWASERWERA "\n{2DFF00}Aby gra? na naszym serwerze musisz za?o?y?\nk?t? wpisuj?c has?o a nast?pnie klikaj?? \nZarejestruj ", NGracza, playerid);
ShowPlayerDialog(playerid, REGISTER, DIALOG_STYLE_PASSWORD, NAZWASERWERA, InfoNaStart, "Zarejestruj", "Anuluj");
}
}
else
{
new Kicked[400];
new Nick[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nick, sizeof(Nick));
format(Kicked, sizeof(Kicked), "{D70000}Gracz {5A5A5A}%s(%d).{D70000}Zosta? skikowany z powodu anulowania Logowania/Rejestracji!", Nick, playerid);
SendClientMessageToAll(0xD70000FF, Kicked);
Kick(playerid);
}
return 1;
}

if(dialogid == REGULAMIN)
{
if(response == 1)
{
new Nick[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nick, sizeof(Nick));
ShowPlayerDialog(playerid, PLEC, DIALOG_STYLE_LIST, NAZWASERWERA, "Kobieta\nM?czyzna", "Zako?cz rejestracje", #);
}
if(response == 2)
{
new Wiadomosc[500];
new Wiadomoscall[500];
new Nazwa[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nazwa, sizeof(Nazwa));
format(Wiadomosc, sizeof(Wiadomosc), "Zostajesz wyproszony z serwera z powodu anulowanie rejestracji");
format(Wiadomoscall, sizeof(Wiadomoscall), "Gracz %s[%d] zosta? wyproszony z serwera powodem tego jest anulowanie rejestracji", Nazwa, playerid);
SendClientMessageToAll(0xFFFF1E00, Wiadomoscall);
}
}

if(dialogid == PLEC)
{
if(response == 1)
{
TogglePlayerSpectating(playerid, false);
SpawnPlayer(playerid);
SetPlayerPos(playerid, 50, 50,10);
if(listitem == 0)
{
SetPlayerSkin(playerid, 56);
}
if(listitem == 1)
{
SetPlayerSkin(playerid, 2);
}
new Nazwa[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nazwa, sizeof(Nazwa));
ZapiszGracza(playerid);
dGracz[playerid][Zalogowany] = true;
SetPlayerColor(playerid, 0xFEFEFEFF);
new Wiadomosc[200];
new Wiadomoscall[200];
TextDrawHideForPlayer(playerid, Logowanie[playerid][0]);
TextDrawHideForPlayer(playerid, Logowanie[playerid][2]);
TextDrawHideForPlayer(playerid, Logowanie[playerid][3]);
TextDrawHideForPlayer(playerid, Logowanie[playerid][4]);
TextDrawShowForPlayer(playerid, Status[0]);
TextDrawShowForPlayer(playerid, Status[1]);
TextDrawShowForPlayer(playerid, Status[2]);
TextDrawShowForPlayer(playerid, Status[3]);
TextDrawShowForPlayer(playerid, Status[4]);
CancelSelectTextDraw(playerid);
format(Wiadomosc, sizeof(Wiadomosc), "{2DFF00}Zapraszamy na Forum {FFFFFF}:{8C8C8C}Link");
format(Wiadomoscall, sizeof(Wiadomoscall), "{0FFF00}Gracz {B4B4B4}%s[%d] {0FFF00}do??czy? serwera!", Nazwa, playerid);
SendClientMessageToAll(0x8C8C8CFF, "");
SendClientMessageToAll(0x8C8C8CFF, "");
SendClientMessageToAll(0x8C8C8CFF, "");
SendClientMessageToAll(0x8C8C8CFF, "");
SendClientMessageToAll(0x8C8C8CFF, "");
SendClientMessageToAll(0x8C8C8CFF, "");
SendClientMessageToAll(0x8C8C8CFF, "");
SendClientMessageToAll(0x8C8C8CFF, "");
SendClientMessageToAll(0x8C8C8CFF, "");
SendClientMessageToAll(0x8C8C8CFF, "");
SendClientMessageToAll(0x8C8C8CFF, "");
SendClientMessageToAll(0x8C8C8CFF, "");
SendClientMessageToAll(0x8C8C8CFF, "");
SendClientMessageToAll(0x8C8C8CFF, "");
SendClientMessageToAll(0x8C8C8CFF, "");
SendClientMessageToAll(0x8C8C8CFF, "");
SendClientMessageToAll(0x8C8C8CFF, "");
SendClientMessage(playerid, 0x8C8C8CFF, Wiadomosc);
SendClientMessageToAll(0x8C8C8CFF, Wiadomoscall);
SetTimer("glod", true, 15000);
SetTimer("sen", true, 10000);
dGracz[playerid][Glod] = 100;
}
}
stock Rejestracja(playerid, Haslo[])
{
new Gracze[500];
new NGracza[MAX_PLAYER_NAME];
GetPlayerName(playerid, NGracza, sizeof(NGracza));
format(Gracze, sizeof(Gracze), "/Gracze/%s.txt",NGracza);
dini_Create(Gracze);
dini_Set(Gracze, "Haslo", Haslo);
dini_IntSet(Gracze, "Pieniadze", 450);
dini_IntSet(Gracze, "Uprawnienia", 0);
dini_IntSet(Gracze, "Ranga", 0);
dini_IntSet(Gracze, "Frakcja", 0);
dini_IntSet(Gracze, "LFrakcji", 0);
dini_IntSet(Gracze, "Score", 0);


return 1;
}

stock ZapiszGracza(playerid)
{
new Float:health;
new Float:armour;
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
new Gracze[250];
format(Gracze, sizeof(Gracze), "/Gracze/%s.txt", name);
if(dini_Exists(Gracze))
{
GetPlayerPos(playerid, Gx, Gy, Gz);
dini_FloatSet(Gracze, "Pozycja X:", Gx);
dini_FloatSet(Gracze, "Pozycja Y:", Gy);
dini_FloatSet(Gracze, "Pozycja Z:", Gz);
dini_IntSet(Gracze, "Pieniadze", GetPlayerMoney(playerid));
dini_IntSet(Gracze, "Score", GetPlayerScore(playerid));
dini_IntSet(Gracze, "Ranga", dGracz[playerid][Ranga]);
dini_IntSet(Gracze, "Frakcjia", dGracz[playerid][Frakcjia]);
dini_IntSet(Gracze, "LFrakcji", dGracz[playerid][LFrakcji]);
dini_IntSet(Gracze, "Bron", GetPlayerWeapon(playerid));
dini_IntSet(Gracze, "Amunicja", GetPlayerAmmo(playerid));
dini_IntSet(Gracze, "Zdrowie", GetPlayerHealth(playerid,health));
dini_IntSet(Gracze, "Kamizelka", GetPlayerArmour(playerid, armour));
dini_IntSet(Gracze, "Kolor", GetPlayerColor(playerid));
dini_IntSet(Gracze, "Uprawnienia", dGracz[playerid][Uprawnienia]);
dini_IntSet(Gracze, "Skin", GetPlayerSkin(playerid));
dini_IntSet(Gracze, "Glod", dGracz[playerid][Glod]);
dini_IntSet(Gracze, "Sen", dGracz[playerid][Sen]);
}
return 1;
}

stock WczytajGracza(playerid)
{
new Gracze[500];
new NGracza[MAX_PLAYER_NAME];
GetPlayerName(playerid, NGracza, sizeof(NGracza));
format(Gracze, sizeof(Gracze), "/Gracze/%s.ini",NGracza);
TogglePlayerSpectating(playerid, false);
Gx = dini_Float(Gracze, "Pozycja X:");
Gy = dini_Float(Gracze, "Pozycja Y:");
Gz = dini_Float(Gracze, "Pozycja Z:");
ResetPlayerMoney(playerid);
ResetPlayerWeapons(playerid);
SetPlayerPos(playerid, Gx, Gy, Gz);
GivePlayerMoney(playerid, dini_Int(Gracze, "Kasa"));
SetPlayerScore(playerid, dini_Int(Gracze, "Score"));
dGracz[playerid][Ranga] = dini_Int(Gracze, "Ranga");
dGracz[playerid][Frakcjia] = dini_Int(Gracze, "Frakcjia");
dGracz[playerid][LFrakcji] = dini_Int(Gracze, "LFrakcji");
SetPlayerHealth(playerid, dini_Int(Gracze, "Zdrowie"));
SetPlayerArmour(playerid, dini_Int(Gracze, "Kamizelka"));
SetPlayerColor(playerid, dini_Int(Gracze, "Kolor"));
SetPlayerSkin(playerid, dini_Int(Gracze, "Skin"));
dGracz[playerid][Glod] = dini_Int(Gracze, "Glod");
dGracz[playerid][Sen] = dini_Int(Gracze, "Sen");
return 1;
}

//Funkcje
stock SendClientMessageInRange(playerid, Float:range, color, string[])
{
for(new i; i < MAX_PLAYERS; i++)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
if(IsPlayerInRangeOfPoint(i, range, x, y, z))
{
SendClientMessage(i, color, string);
}
}
return 1;
}
//Timery
forward glod();
public glod()
{
for(new i; i < MAX_PLAYERS; i++)
{
if(dGracz[i][Glod] <= 20)
{
SetPlayerDrunkLevel(i, 400000);
new Nick[MAX_PLAYER_NAME];
GetPlayerName(i, Nick ,sizeof(Nick));
new wiadomoscOGlodzie[400];
format(wiadomoscOGlodzie, sizeof(wiadomoscOGlodzie), "'Gracz %s mdleje z wyglodzenia. Niech kto? wezwie pogotowie pod numerem /999 [msc.][Zdarzenie]'", Nick);
SendClientMessageInRange(i, 28, 0xFF00E1FF, wiadomoscOGlodzie);
}
if(dGracz[i][Glod] >= 0)
{
dGracz[i][Glod]--;//tutaj Ci sprawdza, ?e jak g??d jest wi?kszy lub r?wny zeru to go odejmuje, inaczej nabija?o by Ci to na minus.
}
else
{
new Float:hp;
GetPlayerHealth(i, hp);
SetPlayerHealth(i, hp-5);
dGracz[i][Glod]=0;//ustawiasz g??d na 0, inaczej b?dzie go nabija? na minus.
}
new TDGlodu[500];
format(TDGlodu, sizeof(TDGlodu), "%d", dGracz[i][Glod]);
TextDrawSetString(Status[5], TDGlodu);
}
return 1;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-02-21, 22:41


kamil3642







Wiek: 29
Na forum: 5882 dni
Posty: 52
Nick w MP: Brak

Piwa: 1201

Respekt: 11,8

Je?eli timer wykonuje si? co sekund? to i wiadomo?? pojawia si? co sekund?, po prostu wrzu? kawa?ek kodu odpowiadaj?cego za sprawdzanie czy gracz jest g?odny + wy?wietlanie wiadomo?ci do jakiego? innego timera, kt?ry si? wykonuje rzadziej.

Postaw piwo autorowi tego posta
 

 
Tagi: system :: glodu
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN » System glodu Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku