Pomoc HITNO!

Započeo Sonicc
pre 5 godina
938
pregleda
19
postova
Sonicc
Hustler
pre 5 godina
Problem(error/warning):Kada se netko pogodi tazerom nece ga tazeat
Dio skripte:
public OnPlayerTakeDamage( playerid, issuerid, Float:amount, weaponid, bodypart ) {
if( issuerid != INVALID_PLAYER_ID && issuerid != INVALID_PLAYER_ID && amount == 0 && weaponid == 0 && bodypart == 3 ) {
    format( globalstring, sizeof( globalstring ), "{009DFF}- {FFFFFF}.:: Crown ::.{009DFF} -"col_white" %s je kickovan sa servera. Razlog: "col_white"Command kill", ImeIgraca( issuerid ) );
AdminPoruka( SCBOJA, globalstring );
Kickovanje( issuerid, ""col_white"Ti si kickovan sa servera. Razlog: "col_scboja"Command kill");
      return 0;
}

if( issuerid != INVALID_PLAYER_ID  ) {
if( OI[ PlayerInfo[ issuerid ][ xClan ] ][ oTip ] == ORG_TIP_PD && !IsPlayerInAnyVehicle( issuerid ) && !IsPlayerInAnyVehicle( playerid ) && GetWeapon( issuerid ) == 23 && ImaTazer[ issuerid ] == true && !AdminDuty[ playerid ] ) {
    if( GetFactionType( playerid ) == ORG_TIP_PD ) return SCM( issuerid, CRVENA, "Ne mozes tazovati PD!" );

new Float:Pos[ 3 ];
GetPlayerPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
if( IsPlayerInRangeOfPoint( issuerid, 6.0, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] ) ) {

format( globalstring, sizeof( globalstring ), "%s puca tazerom na %s-a i pogadja ga.", ImeIgraca( issuerid ), ImeIgraca( playerid ) );
PorukaRadius( 20.0, issuerid, globalstring, SIVA );
TogglePlayerControllable( playerid, false );

PlayerCuffed[ playerid ] = 1;
crown_SetPlayerHealth( playerid, 50 );
SetPVarInt( playerid, "CuffTimerCalled", 1 );
TazerTimer[ playerid ] = SetTimerEx("TazovanTajmer", 15000, false, "i", playerid );
OnePlayAnim( playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0 );
return 0;
}
        }
        if( NaDmEventu[ playerid ] == false && WARPInfo[ playerid ][ WARIgrac ] == -1 && !AdminDuty[ playerid ] && PlayerCuffed[ playerid ] == 0 ) {
        if( weaponid <= 42 ) {
        new Float:takeHealth = antiCheatCS[ playerid ][ TrueHealth ];
        crown_SetPlayerHealth( playerid, takeHealth );
}
}

printf( "%s je naneo %.0f demidza %s-u, oruzje: %d, dio tela: %d", ImeIgraca( issuerid ), amount, ImeIgraca( playerid ), weaponid, bodypart );
}
return 1;
}

public TazovanTajmer( playerid ) {
if( PlayerCuffed[ playerid ] == 1 ) {

PlayerCuffed[ playerid ] = 0;
SetPVarInt( playerid, "CuffTimerCalled", 0 );
TogglePlayerControllable( playerid, true );
GameTextForPlayer( playerid, "~y~Tazer zavrsen", 5000, 3 );
ClearAnimations( playerid );
        crown_KillTimer( TazerTimer[ playerid ] );
}
return 1;
}

Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ]vaš odgovor[ /code ]
Slika/video ingame problema(obavezno ako je ingame problem): link slike
Skrilew
Godfather
pre 5 godina
Nemoj ovo:
new Float:Pos[ 3 ];
GetPlayerPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );


Vec ovo:
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);


Manje memorije zauzima druga metoda, ali nebitno to sada xDDD

@tema

Da li posalje tu poruku da je tazovao igraca?

Meni ovo sve deluje uredu, tako da bog zna sta je u pitanju..

Probaj napravi novi, mnogo jednostavniji koji ce samo freeze igraca..
new bool:TazerIma;

CMD:tazer(playerid, params[])
{
GivePlayerWeapon(playerid, 24, 20);
TazerIma = true;
return 1;
}

public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
{
if(TazerIma = true && weaponid == 24)
{
TogglePlayerControllable(playerid, 0);
return 1;
}
return 1;
}


Nesto na ovaj fazon mozda?
           
Sonicc
Hustler
pre 5 godina
Zamijenio sam ovo sto si mi rekao i dobio sam ove errore.
C:\Users\M\Desktop\[CF-RP]GameMode\E-Trail [NE DIRAJ]\gamemodes\crown.pwn(20710) : error 017: undefined symbol "Pos"
C:\Users\M\Desktop\[CF-RP]GameMode\E-Trail [NE DIRAJ]\gamemodes\crown.pwn(20710) : warning 215: expression has no effect
C:\Users\M\Desktop\[CF-RP]GameMode\E-Trail [NE DIRAJ]\gamemodes\crown.pwn(20710) : error 001: expected token: ";", but found "]"
C:\Users\M\Desktop\[CF-RP]GameMode\E-Trail [NE DIRAJ]\gamemodes\crown.pwn(20710) : error 029: invalid expression, assumed zero
C:\Users\M\Desktop\[CF-RP]GameMode\E-Trail [NE DIRAJ]\gamemodes\crown.pwn(20710) : fatal error 107: too many error messages on one line
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
        if( IsPlayerInRangeOfPoint( issuerid, 6.0, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] ) ) {
Sonicc
Hustler
pre 5 godina
meni ovo sve radilo ispravno i kada sam ubacio weapon config prestalo je da radi
Skrilew
Godfather
pre 5 godina
Sonicc wrote on April 17, 2020, 7:24 pm:
Zamijenio sam ovo sto si mi rekao i dobio sam ove errore.
C:\Users\M\Desktop\[CF-RP]GameMode\E-Trail [NE DIRAJ]\gamemodes\crown.pwn(20710) : error 017: undefined symbol "Pos"
C:\Users\M\Desktop\[CF-RP]GameMode\E-Trail [NE DIRAJ]\gamemodes\crown.pwn(20710) : warning 215: expression has no effect
C:\Users\M\Desktop\[CF-RP]GameMode\E-Trail [NE DIRAJ]\gamemodes\crown.pwn(20710) : error 001: expected token: ";", but found "]"
C:\Users\M\Desktop\[CF-RP]GameMode\E-Trail [NE DIRAJ]\gamemodes\crown.pwn(20710) : error 029: invalid expression, assumed zero
C:\Users\M\Desktop\[CF-RP]GameMode\E-Trail [NE DIRAJ]\gamemodes\crown.pwn(20710) : fatal error 107: too many error messages on one line
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
        if( IsPlayerInRangeOfPoint( issuerid, 6.0, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] ) ) {

if( IsPlayerInRangeOfPoint( issuerid, 6.0, X, Y, Z) )


Logika xDDD

Trebao si reci da je weapon config u pitanju, jel baca nesto u server_logu kada puknes lika tazerom? Pritom ubaci crashdetect i nativechecker
Sonicc
Hustler
pre 5 godina
ispravio sam to sto si reko nema mi errora imam jedino warning u includu
C:\Users\M\Desktop\[CF-RP]GameMode\Uređivanje GameModa!\pawno\include\newsamp.inc(253) : warning 202: number of arguments does not match definition

A sto se tice server_log nemam nikakih debugova ni nista sto se tice taze
Sonicc
Hustler
pre 5 godina
i opet mi ne radi :/
Skrilew
Godfather
pre 5 godina
Probaj drugi callback
Sonicc
Hustler
pre 5 godina
Mozes primjer dati? Kako da napravim imas neki prijedlog?
Skrilew
Godfather
pre 5 godina
Mozda OnPlayerShootPlayer??

Link : KLIKNI ME NEZNO

Kod:
#include 

new bool:TazerIma;

CMD:tazer(playerid, params[])
{
GivePlayerWeapon(playerid, 24, 20);
TazerIma = true;
return 1;
}

public OnPlayerShootPlayer(Shooter,Target,Float:HealthLost,Float:ArmourLost)
{
if(TazerIma = true && weaponid == 24)
{
TogglePlayerControllable(Target, 0);
SendClientMessage(Target, -1, "Tazovan si");
return 1;
}
    return 1;
}


Jako simple, ako ovo radi, napravi slozenije i vidi da li ce opet praviti problem.
Sonicc
Hustler
pre 5 godina
C:\Users\M\Desktop\[CF-RP]GameMode\Uređivanje GameModa!\pawno\include\YSI\y_iterate.inc(449) : warning 201: redefinition of constant/macro (symbol "foreach%1(%0)")
C:\Users\M\Desktop\[CF-RP]GameMode\Uređivanje GameModa!\pawno\include\newsamp.inc(253) : warning 202: number of arguments does not match definition
C:\Users\M\Desktop\[CF-RP]GameMode\Uređivanje GameModa!\gamemodes\crown.pwn(60951) : warning 211: possibly unintended assignment
C:\Users\M\Desktop\[CF-RP]GameMode\Uređivanje GameModa!\gamemodes\crown.pwn(60951) : error 017: undefined symbol "weaponid"
C:\Users\M\Desktop\[CF-RP]GameMode\Uređivanje GameModa!\gamemodes\crown.pwn(82339) : warning 203: symbol is never used: "lastweapon"


Tu sam probao staviti samo weapon ali nece
	if(TazerIma = true && weaponid == 24)


a ovaj 82339 mi ne postoji linija
Skrilew
Godfather
pre 5 godina
if(TazerIma = true)


Ovako stavi
Sonicc
Hustler
pre 5 godina
Hvala sada mi je sve bez errora jedino oni warninzi znas li kako da se njih rijesim ?
Skrilew
Godfather
pre 5 godina
C:\Users\M\Desktop\[CF-RP]GameMode\Uređivanje GameModa!\pawno\include\YSI\y_iterate.inc(449) : warning 201: redefinition of constant/macro (symbol "foreach%1(%0)")
C:\Users\M\Desktop\[CF-RP]GameMode\Uređivanje GameModa!\pawno\include\newsamp.inc(253) : warning 202: number of arguments does not match definition


Posalji linije i oznaci koja je koja
Sonicc
Hustler
pre 5 godina
#if 1
//#define foreach(%1,%2)
// for (new %2 = %1_YSI_gS; _:%2 != -1; %2 = %1_YSI_gA[%2])
#define foreach%1(%0) for(new Y_FOREACH_SECOND|||Y_FOREACH_THIRD|||%0|||)
// This allows us to use "new" multiple times - stripping off ONLY whole words.
#define new%0|||%9|||%1:%2||| %9|||%0|||%1|||%2|||

{
        new
      ret = ApplyAnimation(playerid, animlib, animname, fDelta, loop, lockx, locky, freeze, time, forcesync);

        if (ret)
        {
                SetTimerEx("Callback_Animation", 100, false, "d", playerid);
        }
        return ret;
}

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava