Problem(error/warning): Moze li mi netko napraviti sistem ranjavanja kao na SM
Dio skripte: [ pawn ]//[ /pawn ]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ]//[ /code ]
Slika/video ingame problema(obavezno ako je ingame problem): //
Ranjavanje
1,133
pregleda
15
postova
7. Avg. 2018.
Sejnur337_ wrote on August 7, 2018, 1:54 pm:
Kako tacno mislis 'sistem ranjavanja na SM'?
Nikad nisam igrao na SM, moze li malo vise detalja?
Nikad nisam igrao na SM, moze li malo vise detalja?
https://www.youtube.com/watch?v=uwGoKZLUljQ&t=420s
7. Avg. 2018.
Probaj ovako nesto.
Vrh skripte:
Resetiranje:
Nisam siguran dal radi sve kako si zamislio, igraÄ Ä‡e u sluÄaju da ima ispod 20 hpa kada primi metak past na pod i kao trest se (promjeni animaciju ako želiÅ¡ drugu) i tako 15 sekundi, i onda će umrijeti.
MožeÅ¡ dodati provjere za dizanje HPa i sliÄno, npr ako igraÄ pojede sendviÄ da viÅ¡e ne bude nokovan.
Evo primjer:
Vrh skripte:
new DeadTimer, DeadStep, bool:Knocked;public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid, bodypart)
{
if(issuerid != INVALID_PLAYER_ID)
{
new Float:health;
GetPlayerHealth(playerid, health);
if(Knocked) SetPlayerHealth(playerid, health+amount);
if(health <= 20 && !Knocked) {
ApplyAnimation(playerid, "CRACK", "crckdeth2", 4.1, 0, 1, 1, 1, 1, 1); //zamjeni animaciju sebi
DeadTimer = SetTimerEx("DeathTimer", 1000, false, "i", playerid);
DeadStep = 15;
Knocked = true;
TogglePlayerControllable(playerid, false);
}
}
return 1;
}forward DeathTimer(playerid);
public DeathTimer(playerid)
{
if(!IsPlayerConnected(playerid) || !Knocked) return 1;
if(DeadStep > 1) {
DeadStep--;
DeadTimer = SetTimerEx("DeathTimer", 1000, false, "i", playerid);
TogglePlayerControllable(playerid, false);
}
else {
Knocked = false;
SCM(playerid, -1, "Umrli ste.");
SetPlayerHealth(playerid, 0);
DeadTimer = -1;
TogglePlayerControllable(playerid, true);
}
return 1;
}Resetiranje:
public OnPlayerDisconnect(playerid, reason)
{
if(DeadTimer != -1) {
KillTimer(DeadTimer);
DeadTimer = -1;
}
}public OnPlayerConnect(playerid)
{
DeadTimer = -1;
}public OnPlayerDeath(playerid, killerid, reason)
{
if(DeadTimer != -1) {
KillTimer(DeadTimer);
DeadTimer = -1;
TogglePlayerControllable(playerid, true);
}
}Nisam siguran dal radi sve kako si zamislio, igraÄ Ä‡e u sluÄaju da ima ispod 20 hpa kada primi metak past na pod i kao trest se (promjeni animaciju ako želiÅ¡ drugu) i tako 15 sekundi, i onda će umrijeti.
MožeÅ¡ dodati provjere za dizanje HPa i sliÄno, npr ako igraÄ pojede sendviÄ da viÅ¡e ne bude nokovan.
Evo primjer:
new Float:health;
GetPlayerHealth(playerid, health);
SCM(playerid, -1, "Pojeli ste sendvic.");
SetPlayerHealth(playerid, health+15);
if(Knocked && health+15 > 20) {
Knocked = false;
if(DeadTimer != -1) {
KillTimer(DeadTimer);
DeadTimer = -1;
}
TogglePlayerControllable(playerid, true);
ClearAnimations(playerid);
}7. Avg. 2018.
Ja sam ovako nesto kao sto je Slade napisao gore radio na tu foru ali desilo mi se isto sto i tebi nije radilo, ali radi na OnPlayerUpdate, e sad koristi to pod OnPlayerUpdate je velika greska zato sto se poziva puno taj callback pa ono nemam pojma, ako koristis weapon-config, probaj sa "OnPlayerDamage" umesto "OnPlayerTakeDamage"
7. Avg. 2018.
omcho wrote on August 7, 2018, 4:01 pm:
Ja sam ovako nesto kao sto je Slade napisao gore radio na tu foru ali desilo mi se isto sto i tebi nije radilo, ali radi na OnPlayerUpdate, e sad koristi to pod OnPlayerUpdate je velika greska zato sto se poziva puno taj callback pa ono nemam pojma, ako koristis weapon-config, probaj sa "OnPlayerDamage" umesto "OnPlayerTakeDamage"
8. Avg. 2018.
forward DeathTimer(playerid);
public DeathTimer(playerid)
{
if(!IsPlayerConnected(playerid) || !Knocked) return 1;
if(DeadStep > 1) {
DeadStep--;
DeadTimer = SetTimerEx("DeathTimer", 1000, false, "i", playerid);
TogglePlayerControllable(playerid, false);
new bubble;
format(bubble, sizeof(bubble), "[Ranjena osoba]\nUmire za %d sek.", DeadStep);
SetPlayerChatBubble(playerid, bubble, 0xF81414AA, 30.0, 1000);
}
else {
Knocked = false;
SCM(playerid, -1, "Umrli ste.");
SetPlayerHealth(playerid, 0);
DeadTimer = -1;
TogglePlayerControllable(playerid, true);
SetPlayerChatBubble(playerid, "", 0xF81414AA, 30.0, 1000);
}
return 1;
}14. Avg. 2018.
if(!IsPlayerConnected(playerid) || !Knocked) return 1;
if(DeadStep > 1) {
DeadStep--;
DeadTimer = SetTimerEx("DeathTimer", 1000, false, "i", playerid);
TogglePlayerControllable(playerid, false);
}
else {
Knocked = false;
SCM(playerid, -1, "Umrli ste.");
SetPlayerHealth(playerid, 0);
DeadTimer = -1;
TogglePlayerControllable(playerid, true);
}
De to treba nov am u skriptanju ?
if(DeadStep > 1) {
DeadStep--;
DeadTimer = SetTimerEx("DeathTimer", 1000, false, "i", playerid);
TogglePlayerControllable(playerid, false);
}
else {
Knocked = false;
SCM(playerid, -1, "Umrli ste.");
SetPlayerHealth(playerid, 0);
DeadTimer = -1;
TogglePlayerControllable(playerid, true);
}
De to treba nov am u skriptanju ?
14. Avg. 2018.
Falcone Mapper wrote on August 14, 2018, 2:33 pm:
if(!IsPlayerConnected(playerid) || !Knocked) return 1;
if(DeadStep > 1) {
DeadStep--;
DeadTimer = SetTimerEx("DeathTimer", 1000, false, "i", playerid);
TogglePlayerControllable(playerid, false);
}
else {
Knocked = false;
SCM(playerid, -1, "Umrli ste.");
SetPlayerHealth(playerid, 0);
DeadTimer = -1;
TogglePlayerControllable(playerid, true);
}
De to treba nov am u skriptanju ?
if(DeadStep > 1) {
DeadStep--;
DeadTimer = SetTimerEx("DeathTimer", 1000, false, "i", playerid);
TogglePlayerControllable(playerid, false);
}
else {
Knocked = false;
SCM(playerid, -1, "Umrli ste.");
SetPlayerHealth(playerid, 0);
DeadTimer = -1;
TogglePlayerControllable(playerid, true);
}
De to treba nov am u skriptanju ?
16. Avg. 2018.
Ako koristis weapon config imas sve callbackove uradjene za to bez tajmera to ces resiti. Mislim da ima preparedeath i tako to.
public OnPlayerPrepareDeath(playerid, animlib, animname, &anim_lock, &respawn_time);
eto nasao sam.
evo ti dokumentacija pa pogledaj
https://github.com/oscar-broman/samp-weapon-config
public OnPlayerPrepareDeath(playerid, animlib, animname, &anim_lock, &respawn_time);
eto nasao sam.
evo ti dokumentacija pa pogledaj
https://github.com/oscar-broman/samp-weapon-config
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava