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

Wysłany: 2013-07-14, 22:42


pozioma113

#otaku






Wiek: 28
Na forum: 4889 dni
Posty: 49
Nick w MP: PozioMa

Piwa: 1

Respekt: 50

Witam,

Zrobi?em dzi? komend? /100hp i chcia?bym ?eby ulecza?o po czasie 10 sekund.

Kod:

if (strcmp("/100hp", cmdtext, true, 10) == 0)
{
SetPlayerHealth(playerid, 100);
SendClientMessage(playerid, 0xFFFFFFAA, "Zostales uleczony.");
}
return 0;


Sorki za takie banalne pytania, ale dopiero ucz? si? pawno. :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-07-14, 23:03


Sillence







Wiek: 26
Na forum: 5157 dni
Posty: 1514
Nick w MP: Sillence

Piwa: 1517

Respekt: 416,3
Respekt: 416,3

pozioma113, Tu masz ca?y kod jak to powinno wygl?da? :) A zaraz ni?ej wyt?umacz? Ci o co w tym kodzie chodzi aby? go zrozumia?:
Kod:

#include <a_samp>

new Timer[MAX_PLAYERS];

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/100hp", cmdtext, true, 10) == 0)
{
SendClientMessage(playerid, 0xFFFFFFAA, "Odczekaj 10s zanim zostaniesz uleczony.");
Timer[playerid] = SetTimerEx("Ulecz", 10000, false, "i", playerid);
}
return 0;
}

forward Ulecz(playerid);
public Ulecz(playerid)
{
SetPlayerHealth(playerid, 100);
SendClientMessage(playerid, 0xFFFFFFAA, "Zosta?e? uleczony !");
KillTimer(Timer[playerid]);
return 1;
}


A wi?c tak wpisujemy komend? w tym przypadku "/100hp" Wy?wietla nam si? wiadomo?? ?e zostaniemy uleczeni za 10s i w tym samym czasie odpala nam si? timer, do kt?rego wcze?niej przypisali?my zmienn? "Timer". Gdy czas w timerze up?ynie odpala si? nam kod z naszej funkcji czyli nas ulecza, wysy?a wiadomo?? i zabija wcze?niej stworzony timer.

Pozdrawiam :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-07-14, 23:48


IgrexolonO







Wiek: 34
Na forum: 6809 dni
Posty: 1386

Piwa: 1062

Respekt: 651,8
Respekt: 651,8Respekt: 651,8

Kod:

#include <a_samp>

new Timer[MAX_PLAYERS];

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/100hp", cmdtext, true, 10) == 0)
{
SendClientMessage(playerid, 0xFFFFFFAA, "Odczekaj 10s zanim zostaniesz uleczony.");
Timer[playerid] = SetTimerEx("Ulecz", 10000, false, "i", playerid);
}
return 0;
}

forward Ulecz(playerid);
public Ulecz(playerid)
{
SetPlayerHealth(playerid, 100);
SendClientMessage(playerid, 0xFFFFFFAA, "Zosta?e? uleczony !");
KillTimer(Timer[playerid]);
return 1;
}


Wszystko spoko, tylko po co zabijasz timer, kt?ry si? wykona?? Po co tworzy? do niego zmienn?, skoro na niej nie dzia?asz? Je?li ju? chcesz dzia?a? na tym timerze, to doda?bym r?wnie? jego zabijanie, np. w OnPlayerDisconnect.

Postaw piwo autorowi tego posta
 

 
Tagi: komenda :: /100hp
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN » [DM] Komenda /100hp 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