Wysłany: 2013-07-13, 13:42
Maxvell
d_b
Wiek: 26 Na forum: 4771 dni Posty: 83
Nick w MP: Kotlet
Piwa : 270
Siema mam problem mz komenda /zp tzn jak zapne to zapina ale jak w cos walne to i tak zabiera hp mozna prosic o pomoc?. nizej kod rzem z /op
Kod: if (strcmp(cmdtext, "/zp", true)==0)
{
if(IsPlayerInAnyVehicle(playerid))
{
pasy[playerid] = 1;
SendClientMessage(playerid, COLOR_YELLOW, "Pasy zapi?te! Mo?esz ruszac! ");
}
else{
SendClientMessage(playerid, COLOR_LIGHTRED, "Nie jeste? w poje?dzie!");
}
return 1;
}
if (strcmp(cmdtext, "/op", true)==0)
{
if(IsPlayerInAnyVehicle(playerid))
{
pasy[playerid] = 0;
SendClientMessage(playerid, COLOR_YELLOW, "Pasy odpi?te!");
}
else{
SendClientMessage(playerid, COLOR_LIGHTRED, "Nie jeste? w poje?dzie!");
}
return 1;
}
za pomoc piwo
Wysłany: 2013-07-13, 13:50
akon823
Czekotubka :D
Wiek: 29 Na forum: 4815 dni Posty: 399
Nick w MP: Remik14
Piwa : 152
Ale konkretnie co Ty chcesz ? Chcesz ?e gdy ma zapi?te pasy to zabiera mniej ?ycia a jak odpi?te to wi?cej ?:P Je?li tak to musisz to po??czy? z systemem wypadk?w je?li taki masz I nawiasem to strcmp jest ju? przestarza?e
Wysłany: 2013-07-13, 13:52
Maxvell
d_b
Wiek: 26 Na forum: 4771 dni Posty: 83
Nick w MP: Kotlet
Piwa : 270
chce zeby jak walnie to nic nie zabiera a jak ma odpi?te to zabiera
to jest kod wypadku
Kod: forward WypadekAuta();
public WypadekAuta()
{
new Float:health;
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
GetVehicleHealth(IDWozu[i], NoweHPPojazdu[IDWozu[i]]);
HPPojazdu[IDWozu[i]] = StareHPPojazdu[IDWozu[i]] - NoweHPPojazdu[IDWozu[i]];
if(HPPojazdu[IDWozu[i]] >= 80 && IsPlayerInVehicle(i, IDWozu[i]) && (GetPlayerState(i) == PLAYER_STATE_DRIVER || GetPlayerState(i) == PLAYER_STATE_PASSENGER) && Wypadek[i] == false)
{
for(new g=0;g<MAX_PLAYERS;g++)
{
if(IsPlayerConnected(g))
{
if(IsPlayerInVehicle(g, IDWozu[i]))
{
Wypadek[g] = true;
GetPlayerHealth(g, health);
SetPlayerHealth(g, health-40);
TogglePlayerControllable(g, 0);
GetVehicleHealth(IDWozu[g], NoweHPPojazdu[IDWozu[g]]);
if(NoweHPPojazdu[IDWozu[g]] < 300)
{
SetVehicleHealth(IDWozu[i], 0);
}
StareHPPojazdu[IDWozu[i]] = 0;
NoweHPPojazdu[IDWozu[i]] = 0;
HPPojazdu[IDWozu[i]] = 0;
new bool:faktycznie[MAX_PLAYERS] = false;
if(gTeam[i] == TEAM_MEDYK)
{
new Float:x, Float:y, Float:z;
SendClientMessage(g, COLOR_LIGHTRED, "{FFFFFF}Wypadek! {ff0000}Poczekaj 5 sekund i wezwij pogotowie, aby zregenerowa? swoje ?ycie");
GetPlayerPos(g, x, y ,z );
SetPlayerCP(i,x,y,z, 10);
faktycznie[g]=true;
SendClientMessage(i, COLOR_LIGHTRED, "{FFFFFF}Wypadek na drodze! {ff0000}Miejsce wypadku zaznaczone jest na mapie czerwonym kwadratem.");
}
else if(faktycznie[g] == false)
{
TimerPOWYPADKU[g] = SetTimerEx("PoWypadku", 5000, 0, "d", g);
SendClientMessage(g, COLOR_YELLOW, "{FFFFFF}Wypadek! {ff0000}Poczekaj 5 sekund i wezwij pogotowie, aby zregenerowa? swoje ?ycie");
}
}
}
}
}
[ Dodano : 2013-07-13, 13:59 ]
a tu jest dalsze
Kod: IDWozu[i] = GetPlayerVehicleID(i);
GetVehicleHealth(IDWozu[i], StareHPPojazdu[IDWozu[i]]);
}
}
}
forward PoWypadku(playerid);
public PoWypadku(playerid)
{
Wypadek[playerid] = false;
TogglePlayerControllable(playerid, 1);
}
forward Wypadki();
public Wypadki(){
new Float:x, Float:y, Float:z;
for(new k = 0; k < MAX_PLAYERS; k++)
{
if(IsPlayerConnected(k))
{
if(Wypadek[k] == true){
GetPlayerPos(k, x, y, z);
for(new e = 0; e < MAX_PLAYERS; e++)
{
if(IsPlayerConnected(e))
{
if(gTeam[e] == TEAM_MEDYK){
SetPlayerCP(e, x, y, z, 10);
}
}
}
}
}
}
}
Wysłany: 2013-07-13, 14:26
Sillence
Wiek: 26 Na forum: 5157 dni Posty: 1514
Nick w MP: Sillence
Piwa : 1517
Rejmunt , A do tej funkcji wypadek masz jaki? timer czy co ? Jak tak to zabij go jak u?yjesz komendy: /zp.
Pozdrawiam
Wysłany: 2013-07-13, 14:49
akon823
Czekotubka :D
Wiek: 29 Na forum: 4815 dni Posty: 399
Nick w MP: Remik14
Piwa : 152
Albo po prostu daj taki warunek ?e ifpasy[playerid] = 0; to ma si? sta? wypadek a je?li pasy = 1 to wysy?aj wiadomo?? ?e prze?y? dzi?ki zapi?tym pasom
Wysłany: 2013-07-13, 15:55
Maxvell
d_b
Wiek: 26 Na forum: 4771 dni Posty: 83
Nick w MP: Kotlet
Piwa : 270
Kopcioo , mam timer na wypadek
[ Dodano : 2013-07-13, 15:56 ]
i co mam go usunac?.
Wysłany: 2013-07-13, 16:05
akon823
Czekotubka :D
Wiek: 29 Na forum: 4815 dni Posty: 399
Nick w MP: Remik14
Piwa : 152
Zobacz mo?e co? takiego ;]
Chyba ?e wolisz jakos inaczej to robi?
Kod: if(pasy[playerid] == 0)
{
SetPlayerHealth(g, health-40);
}
else
SendClientMessage(playerid, -1, "Nie straci?e? hp dzi?ki zapi?tym pasom !");
Wysłany: 2013-07-13, 17:15
Sillence
Wiek: 26 Na forum: 5157 dni Posty: 1514
Nick w MP: Sillence
Piwa : 1517
Rejmunt , Zrobimy troch? innym sposobem, patrz zamie? ten poprzedni kod na taki:
Kod: forward WypadekAuta();
public WypadekAuta()
{
new Float:health;
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
GetVehicleHealth(IDWozu[i], NoweHPPojazdu[IDWozu[i]]);
HPPojazdu[IDWozu[i]] = StareHPPojazdu[IDWozu[i]] - NoweHPPojazdu[IDWozu[i]];
if(HPPojazdu[IDWozu[i]] >= 80 && IsPlayerInVehicle(i, IDWozu[i]) && (GetPlayerState(i) == PLAYER_STATE_DRIVER || GetPlayerState(i) == PLAYER_STATE_PASSENGER) && Wypadek[i] == false)
{
if(pasy[playerid] == 1)
{
SendClientMessage(playerid,-1,"Masz wypadek, ale pasy s? zapi?te wi?c hp nie zostalo ci zabrane");
return 1;
}
for(new g=0;g<MAX_PLAYERS;g++)
{
if(IsPlayerConnected(g))
{
if(IsPlayerInVehicle(g, IDWozu[i]))
{
Wypadek[g] = true;
GetPlayerHealth(g, health);
SetPlayerHealth(g, health-40);
TogglePlayerControllable(g, 0);
GetVehicleHealth(IDWozu[g], NoweHPPojazdu[IDWozu[g]]);
if(NoweHPPojazdu[IDWozu[g]] < 300)
{
SetVehicleHealth(IDWozu[i], 0);
}
StareHPPojazdu[IDWozu[i]] = 0;
NoweHPPojazdu[IDWozu[i]] = 0;
HPPojazdu[IDWozu[i]] = 0;
new bool:faktycznie[MAX_PLAYERS] = false;
if(gTeam[i] == TEAM_MEDYK)
{
new Float:x, Float:y, Float:z;
SendClientMessage(g, COLOR_LIGHTRED, "{FFFFFF}Wypadek! {ff0000}Poczekaj 5 sekund i wezwij pogotowie, aby zregenerowa? swoje ?ycie");
GetPlayerPos(g, x, y ,z );
SetPlayerCP(i,x,y,z, 10);
faktycznie[g]=true;
SendClientMessage(i, COLOR_LIGHTRED, "{FFFFFF}Wypadek na drodze! {ff0000}Miejsce wypadku zaznaczone jest na mapie czerwonym kwadratem.");
}
else if(faktycznie[g] == false)
{
TimerPOWYPADKU[g] = SetTimerEx("PoWypadku", 5000, 0, "d", g);
SendClientMessage(g, COLOR_YELLOW, "{FFFFFF}Wypadek! {ff0000}Poczekaj 5 sekund i wezwij pogotowie, aby zregenerowa? swoje ?ycie");
}
}
}
}
}
Powinno to dzia?a? tak ?e jak uderzysz pojazdem to poka?e Ci info na czacie A hp nie zostanie zabrane
Wysłany: 2013-07-13, 17:47
akon823
Czekotubka :D
Wiek: 29 Na forum: 4815 dni Posty: 399
Nick w MP: Remik14
Piwa : 152
Pisa?em tak od pocz?tku to kombinujecie z jakimi? timerami
Wysłany: 2013-07-13, 17:55
Sillence
Wiek: 26 Na forum: 5157 dni Posty: 1514
Nick w MP: Sillence
Piwa : 1517
akon823 , z Timerem te? mo?na zrobi? Zabijasz potem aktywujesz i jest dobrze ale ten spos?b jest lepszy
Wysłany: 2013-07-13, 17:56
akon823
Czekotubka :D
Wiek: 29 Na forum: 4815 dni Posty: 399
Nick w MP: Remik14
Piwa : 152
Po co mu miesza? z timerami Lepiej prosty warunek
Wysłany: 2013-07-13, 21:17
Maxvell
d_b
Wiek: 26 Na forum: 4771 dni Posty: 83
Nick w MP: Kotlet
Piwa : 270
Kopcioo , to mam wstawic ten kod zamiast tametego?.
Wysłany: 2013-07-13, 22:07
akon823
Czekotubka :D
Wiek: 29 Na forum: 4815 dni Posty: 399
Nick w MP: Remik14
Piwa : 152
Tak wstaw ten co on Ci poda? zamiast tamtego ale nic wi?cej nie usuwaj . Zamie? tylko ten co masz taki sam na ten co poda? .
Wysłany: 2013-07-14, 10:49
Maxvell
d_b
Wiek: 26 Na forum: 4771 dni Posty: 83
Nick w MP: Kotlet
Piwa : 270
zamieni?em i mam 2 errory
Kod: C:\Users\?ukasz\Downloads\Testowa.pwn(5731) : error 017: undefined symbol "playerid"
C:\Users\?ukasz\Downloads\Testowa.pwn(5733) : error 017: undefined symbol "playerid"
C:\Users\?ukasz\Downloads\Testowa.pwn(5778) : warning 209: function "WypadekAuta" should return a value
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
2 Errors.
Wysłany: 2013-07-14, 11:33
B!4CK
Never give UP!
Wiek: 32 Na forum: 5809 dni Posty: 1047
Nick w MP: John
Piwa : 1891
Rejmunt , w owym kodzie masz, ?e jak zapniesz pasy to zabiera Ci mniej HP mimo, ?e pojazd straci wi?cej ni? 50 lub 100 z 1000% HP pojazdu, dlatego Ci odejmuje o dwa lub wi?cej procent HP po uderzeniu nawet z pasami, a bez pas?w b?dziesz mia? wi?ksze obra?enia.
Podpis
Cześć
[you]
!
Projekt, który poruszy scenę platformy SA:MP!
Tagi: komenda
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: