Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: ShoMi993 poslato Avgust 06, 2019, 00:15:22 PRE PODNE

Naslov: Oko Vracanja helta u Duelu
Poruka od: ShoMi993 poslato Avgust 06, 2019, 00:15:22 PRE PODNE
Problem(error/warning): vaÅ¡ odgovo:  Radim na jednom modu i sad u njemu nije bio duel niti ista samo dm, napravio sam duel dodao razne komande i to sve je okej nema errora, Ali kad udjem u duel protiv druga vracuju nam se helti, nije do amina ni do admin duty jer je to iskljuceno... A kada odemo u dm arenu helti se skidaju najnormalnije
Deo skripte: [ pawn ]vaš odgovor: CMD:duel(playerid, params[])
{
    new user, weap[45], weaponid = -1, string[128], string2[128] ;
    if(sscanf(params, "us[45]", user, weap)) return SCM(playerid,-1,""BLUE"POMOC | "YELLOW"/Duel [name/id] [weapon name]");
    if(user == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1,""col_larp"[E:DM]"col_tzuta"Igrac nije ulogovan");
    if(user == playerid) return SendClientMessage(playerid, -1,""col_larp"[E:DM]"col_tzuta"Ne mozes poslati duel sam sebi");
    if(duelinfo[playerid][induel] == 1) return SendClientMessage(playerid, -1,""col_larp"[E:DM]"col_tzuta"Vec ste u duelu");
    if(duelinfo[user][induel] == 1) return SendClientMessage(playerid, -1,""col_larp"[E:DM]"col_tzuta"Igrac je u duelu");
    if(invite[user] == 1) return SendClientMessage(playerid, -1,""col_larp"[E:DM]"col_tzuta"Igrac je vec ima zahtev za duel");
    if(inviter[playerid] == 1) return SendClientMessage(playerid, -1,""col_larp"[E:DM]"col_tzuta"Vec si pozvao igraca u duel,sacekaj da prihvati!");
    if(StringNumeric(weap))
    {
       weaponid = strval(weap);
    }
    else
    {
        weaponid = CheckWeaponID(weap);
    }
    DuelSender[user] = playerid;
    duelinfo[playerid][weapid] = weaponid;
    duelinfo[playerid][weapname] = weap;
    duelinfo[user][weapid] = weaponid;
    duelinfo[user][weapname] = weap;
    invite[user] = 1;
    inviter[playerid] = 1;
    DuelReciever[playerid] = user;
    format(string, sizeof(string), ""RED"[DUEL] "WHITE"Poslao si duel zahtev igracu %s. [Oruzje : %s]", GetName(user), weap);
    SendClientMessage(playerid, -1, string);
    format(string2, sizeof(string2), ""RED"[DUEL] "WHITE"Primio si duel zahtev od igraca %s. [Oruzje : %s]", GetName(playerid), weap);
    SendClientMessage(user, -1, string2);
    SCM(user,-1,""RED"[DUEL] "WHITE"Da prihvatis duel kucaj /AD I da odbijes /DD");
    return 1;
}
CMD:ad(playerid, params[])
{
    if(invite[playerid] == 1)
       {
      VirtualWorld ++;
        new user = DuelSender[playerid];
        SetPlayerHealth(user,99.0);
        TogglePlayerControllable(user,0);
       SetTimerEx("antiskd",5000,false,"i",user);
        ResetPlayerWeapons(user);
        RemovePlayerFromVehicle(user);
        SetPlayerArmour(user, 99.0);
        SetPlayerHealth(user, 99.0);
        SetPlayerVirtualWorld(user, VirtualWorld);
        SetPlayerInterior(user,0);
        SetPlayerPos(user, 1399.3311, 2789.9409, 10.8203);
        GivePlayerWeapon(user, duelinfo[playerid][weapid], 500);
        duelinfo[user][induel] = 1;
        inviter[user] = 0;
        SetPlayerHealth(playerid,99.0);
        TogglePlayerControllable(playerid,0);
       SetTimerEx("antiskd",5000,false,"i",playerid);
////////////////////////////////////////////////////////////////
        ResetPlayerWeapons(playerid);
        RemovePlayerFromVehicle(playerid);
        SetPlayerArmour(playerid, 99.0);
        SetPlayerHealth(playerid, 99.0);
          SetPlayerVirtualWorld(playerid, 15);
        SetPlayerInterior(playerid,0);
        GivePlayerWeapon(playerid, duelinfo[user][weapid], 500);
        SetPlayerPos(playerid, 1358.0012, 2789.6218, 10.8203);
        duelinfo[playerid][induel] = 1;
        invite[playerid] = 0;
        nijenigdje[playerid] = 0;
        UKojojSamZoniDMa[playerid] = 0;
        Streak[playerid] = 0;
        nijenigdje[user] = 0;
        UKojojSamZoniDMa[user] = 0;
        Streak[user] = 0;
        SendClientMessage(playerid, -1,""col_larp"[R:DM]"col_tzuta"Ukoliko dodje do buga /report ili /bugkick !");
        SendClientMessage(user, -1,""col_larp"[R:DM]"col_tzuta"Ukoliko dodje do buga /report ili /bugkick !");
    }
    else return SendClientMessage(playerid, -1,""col_larp"[R:DM]"col_tzuta"Niste pozvani na duel zahtev!");
    return 1;
}

CMD:dd(playerid, params[])
{
    if(invite[playerid] == 1)
    {
        new user = DuelSender[playerid], string[128], string2[128];
        invite[playerid] = 0;
        inviter[user] = 0;
        format(string, sizeof(string), ""RED"[DUEL] "WHITE"Odbili ste duel zahtev od igraca %s", GetName(user));
        SendClientMessage(playerid, -1, string);
        format(string2, sizeof(string2), ""RED"[DUEL] "WHITE"Igrac %s je odbio vas duel zahtev", GetName(playerid));
        SendClientMessage(user, -1, string2);
    }
    else return SendClientMessage(playerid, -1,""col_larp"[E:DM]"col_tzuta"Niste pozvani na duel zahtev!");
    return 1;
}
CMD:cr(playerid, params[])
{
    if(inviter[playerid] == 1)
    {
        new user = DuelReciever[playerid], string[128], string2[128];
        inviter[playerid] = 0;
        invite[user] = 0;
        format(string, sizeof(string), ""RED"[DUEL] "WHITE"Otkazali ste duel poslat igracu %s", GetName(user));
        SendClientMessage(playerid, -1, string);
        format(string2, sizeof(string2), ""RED"[DUEL] "WHITE"Igrac %s je otkazao duel zahtev koji vam je poslao", GetName(playerid));
        SendClientMessage(user, -1, string2);
    }
    else return SendClientMessage(playerid, -1,""col_larp"[E:DM]"col_tzuta"Niste poslali duel zahtev nikome!");
    return 1;
}
[ /pawn ]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): //
Slika/video ingame problema(obavezno ako je ingame problem): link slike //
Naslov: Odg: Oko Vracanja helta u Duelu
Poruka od: __vedran.xyz77 poslato Avgust 06, 2019, 01:07:12 PRE PODNE
OnPlayerTakeDamage ?
Naslov: Odg: Oko Vracanja helta u Duelu
Poruka od: ShoMi993 poslato Avgust 06, 2019, 01:36:22 PRE PODNE
[pawn]public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
   if(playerid != INVALID_PLAYER_ID)
    {
       new s[128];
      format(s, 128, "%s - %s -%.0fHP",GetName(issuerid),GunIme(weaponid),amount);
      PlayerTextDrawSetString(playerid,TakeDamage[playerid],s);
      PlayerTextDrawShow(playerid, TakeDamage[playerid]);
      SetTimerEx("DestruirTextoDraw", 1000, false, "i", playerid);
   }
    return 1;
}[/pawn]
Naslov: Odg: Oko Vracanja helta u Duelu
Poruka od: ShoMi993 poslato Avgust 06, 2019, 20:26:26 POSLE PODNE
BUMP
Naslov: Odg: Oko Vracanja helta u Duelu
Poruka od: bunta poslato Avgust 07, 2019, 00:14:51 PRE PODNE
Mozda te jebe AC sa tog moda? Mozda ima neku drugu funkciju za davanje oruzija...
Naslov: Odg: Oko Vracanja helta u Duelu
Poruka od: ShoMi993 poslato Avgust 07, 2019, 00:27:14 PRE PODNE
Nije proveravao sam bas i to ali vraca helte dok u dm areni je sve okej...
[pawn]stock GunIme(weaponid)
{
   new imeoruzja[40];
   GetWeaponName(weaponid,imeoruzja,sizeof(imeoruzja));
   return imeoruzja;
}[/pawn]
Evo vidi
[pawn]stock CheckWeaponID(name[])
{
    for(new i = 0; i < 46; i++)
    {
        if(strfind(WeaponInfo[Name], name, true) != -1)
        {
            if(WeaponInfo[Valid] == 0) return -2;
            return i;
        }
    }
    return -1;
}[/pawn]
Naslov: Odg: Oko Vracanja helta u Duelu
Poruka od: Balsa. poslato Avgust 07, 2019, 09:29:03 PRE PODNE
Ne mogu naci gresku, nego sta ce ti 2 puta setplayerhealth user, 99.0 tqko i za playerid, msm da je nepotrebno
Naslov: Odg: Oko Vracanja helta u Duelu
Poruka od: ShoMi993 poslato Avgust 07, 2019, 20:34:45 POSLE PODNE
Stavio sam 2 puta zbog sk-a, sad cu skinuti da vidim bas mozda je i do toga pa mu stalno seta hp