Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Skazy_ Cappone poslato Januar 23, 2019, 00:51:51 PRE PODNE

Naslov: Pomoc oko komande.
Poruka od: Skazy_ Cappone poslato Januar 23, 2019, 00:51:51 PRE PODNE
Problem(error/warning): Pomoc oko komande /disarm Ja kada nekome dam /disarm , skine mu se oruzije i ode u GS i kupi oruzije i moze da puca.
Evo Komanda :
YCMD:disarm(playerid,params[],help)
{
    #pragma unused help
    if(UlogovanProvera[playerid] == 0) return SendMessage( playerid, "Morate se ulogovati da bi pisali.");
    new pid,vreme,str[128];
    if(PlayerInfo[playerid][pAdmin] < 5 ) return SendErrorMessage( playerid, "Samo A5+");
    if(AdminDuty[playerid] == 0 ) return SendErrorMessage( playerid, "Morate biti na Admin duznosti!");
    if(sscanf(params, "uis[48]", pid,vreme)) return SendUsageMessage( playerid, "disarm [id] [vreme(minut]");
    if(PlayerInfo[pid][pDisarm] == 1) return SendErrorMessage ( playerid, "Taj igrac je vec disarmovan!");
    if(!IsPlayerConnected(pid)) return SendErrorMessage( playerid, "Pogresan ID!");
    if( PlayerInfo[pid][pDisarm] == 1 && PlayerInfo[pid][pDisarmVreme] != 0 ) return SendErrorMessage( playerid, "Zabranjeno vam je koristenje oruzija");
    PlayerInfo[pid][pDisarm] = 1;
    PlayerInfo[pid][pDisarmVreme] = vreme * 60;
    ResetPlayerWeapons(pid);
    format(str,sizeof str,"{77FF00}Admin %s vam je zabranio koriscenje oruzija %d minuta.", GetName(playerid),vreme);
    SCM(pid,-1,str);

    format(str,sizeof str,""ZELENA"Zabranili ste rokanje igracu: %s na %d!", GetName(pid),vreme);
    SCM(playerid,-1,str);
    return 1;
}
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): //
Naslov: Odg: Pomoc oko komande.
Poruka od: Darkic poslato Januar 23, 2019, 00:58:32 PRE PODNE
Jednostavno postavi proveru, ako je disarmovan da ne moze da kupi oruzje
Naslov: Odg: Pomoc oko komande.
Poruka od: PazzOnee poslato Januar 23, 2019, 02:49:10 PRE PODNE
Stavi pod OnPlayerUpdate ovako
[pawn]if(PlayerInfo[playerid][pDisarmovan] == 1) //proverava da l je igrac disarmovan i ako jeste odradi sledece
{
    ResetPlayerWeapons(playerid); //resetuje oruzija
    SendClientMessage(playerid, -1, "Ne mozes da koristis oruzije jer imas disarm")! //salje poruku igracu
    return 1;
}[/pawn]
Naslov: Odg: Pomoc oko komande.
Poruka od: // xunder poslato Januar 23, 2019, 14:19:53 POSLE PODNE
Citat: PazzOnee poslato Januar 23, 2019, 02:49:10 PRE PODNE
Stavi pod OnPlayerUpdate ovako
[pawn]if(PlayerInfo[playerid][pDisarmovan] == 1) //proverava da l je igrac disarmovan i ako jeste odradi sledece
{
    ResetPlayerWeapons(playerid); //resetuje oruzija
    SendClientMessage(playerid, -1, "Ne mozes da koristis oruzije jer imas disarm")! //salje poruku igracu
    return 1;
}[/pawn]

Znaci ako je disarmovan da mu resetuje oruzija i salje poruku pri svakom updateu igraca (od prilike 100 updatea u sekundi)?
Zar nije logicnije da mu zabrani dobavljanje oruzija tipa funkciom GivePlayerWeapon ili da na komande stavi provjere...
Naslov: Odg: Pomoc oko komande.
Poruka od: Skazy_ Cappone poslato Januar 23, 2019, 17:05:37 POSLE PODNE
Molim vas pomozi te mi ako moze neko lijepo citavu komandu da mi objavi jer mi je stvarno potrebno.
Naslov: Odg: Pomoc oko komande.
Poruka od: Darkic poslato Januar 23, 2019, 17:17:03 POSLE PODNE
Daj nam komandu za nabavljanje oruzja
Naslov: Odg: Pomoc oko komande.
Poruka od: Skazy_ Cappone poslato Januar 23, 2019, 18:20:29 POSLE PODNE
YCMD:kupi(playerid, params[], help)
{
    #pragma unused help
    if(UlogovanProvera[playerid] == 0) return SendMessage( playerid, "Morate se ulogovati da bi pisali.");
   new x;
   for(new i; i < MAX_FIRMI; i++)
    {
      if(IsPlayerInRangeOfPoint(playerid, 25.0, FirmaInfo[fIzlazX], FirmaInfo[fIzlazY], FirmaInfo[fIzlazZ]) && GetPlayerVirtualWorld(playerid) == FirmaInfo[fVW])
      {
         if(FirmaInfo[fVrsta] == VRSTA_MARKET)
         {
            x++;
            if(FirmaInfo[UsaoFirma[playerid]][fProizvodi] <= 0) return SCM(playerid,-1,""BELA"Nemamo vise proizvoda!");
             new string1[275], string2[275], string[550];
            format(string1,sizeof(string1),""CRVENA1"- "BELA"Mobilni Telefon (150$)\n"CRVENA1"- "BELA"Imenik (50$)\n"CRVENA1"- "BELA"Cigare (20$)\n"CRVENA1"- "BELA"Upaljac (10$)\n"CRVENA1"- "BELA"Dopuna od 50$\n"CRVENA1"- "BELA"Dopuna od 100$\n"CRVENA1"- "BELA"Kanap (350$)\n");
            format(string2,sizeof(string2),""CRVENA1"- "BELA"Naocare (300$)\n"CRVENA1"- "BELA"Cvece (100$)\n"CRVENA1"- "BELA"Sok (10$)\n"CRVENA1"- "BELA"Pivo (10$)\n"CRVENA1"- "BELA"MP3 (700$)\n"CRVENA1"- "BELA"Sprej (70$)\n"CRVENA1"- "BELA"Sat (130$)\n"CRVENA1"- "BELA"Marama (500$)\n"CRVENA1"- "BELA"Hrana (300$)\n");
             format(string, sizeof(string), "%s%s", string1, string2);
             SPD(playerid, 86, DIALOG_STYLE_LIST, ""BELA"Market Kupovina", string, "Kupi", "Izlaz");
            break;
         }
         else if(FirmaInfo[fVrsta] == VRSTA_SEXSHOP)
         {
            x++;
            if(FirmaInfo[UsaoFirma[playerid]][fProizvodi] <= 0) return SCM(playerid,-1,""PLAVA"[UG FIRMA] "BELA"Nemamo vise proizvoda!");
            SPD(playerid, 88, DIALOG_STYLE_LIST, ""BELA"Sex Shop", ""LJUB"- "BELA"Sivi Vibrator (50$)\n"LJUB"- "BELA"Beli Vibrator (50$)\n"LJUB"- "BELA"Ljubicasti Vibrator (70$)\n"LJUB"- "BELA"Cvece (10$)", "Kupi", "Izlaz");
            break;
         }
         else if(FirmaInfo[fVrsta] == VRSTA_GUNSHOP)
         {
            x++;
            if( UsaoFirma[playerid] == -1 ) return SCM( playerid,-1,""ZPLAVA"[Firma]: "BELA"Morate biti u firmi!");
            if(FirmaInfo[UsaoFirma[playerid]][fProizvodi] <= 0) return SCM(playerid,-1,""ZPLAVA"[Firma]: "BELA"Nemamo vise proizvoda!");
            if(PlayerInfo[playerid][pGunDozvola] == 0) return SCM(playerid,-1, ""SIVA"Morate imati dozvolu za oruzije da bi kupili oruzije!");
            SPD(playerid, 90, DIALOG_STYLE_LIST, ""BELA"Gun Shop", ""SPLAVA"- "BELA"Noz (2000$)\n"SPLAVA"- "BELA"Palica (60$)\n"SPLAVA"- "BELA"Shotgun (8500$)\n"SPLAVA"- "BELA"Padobran (250$)\n"SPLAVA"- "BELA"Dezert (3000$)\n"SPLAVA"- "BELA"M4 (8500$)\n"SPLAVA"- "BELA"AK-47 (8500$)\n"SPLAVA"- "BELA"MP5 (5500$)\n"SPLAVA"- "BELA"Sniper (10000$)\n"SPLAVA"- "BELA"Pancir (5000$)", "Kupi", "Izlaz");
            break;
         }
         else if(FirmaInfo[fVrsta] == VRSTA_KLADIONICA)
            {
                x++;
                new broj, brojk = random(300), string[128];
            if(FirmaInfo[UsaoFirma[playerid]][fProizvodi] <= 0) return SCM(playerid,-1,""PLAVA"[UG FIRMA] "BELA"Nemamo vise proizvoda!");
                if(sscanf(params, "i",broj)) return SCM(playerid, -1, ""CRVENA1"[FS:RPG] Pomoc | "BELA"/kupi [BROJ 1- 300 (100$)]");
                if(broj < 1 || broj > 300) return SCM(playerid,-1, ""CRVENA1"[FS:RPG] "BELA"Ne mozete ici ispod 1 i vise od 300!");
            if(PlayerInfo[playerid][pNovacDzep] < 100) return SCM(playerid,-1,""CRVENA1"[FS:RPG] | "SIVA"Nemate dovoljno novca!");
            KladionicaBroj[playerid] = broj; g_NovacMinus(playerid, 100);
            if(KladionicaBroj[playerid] == brojk)
             {
                 SCM(playerid,-1,""SPLAVA"[Kladionica]: "SIVA"Cestitamo pogodili ste broj, osvojili ste 50000000$!");
                   g_NovacPlus(playerid, 50000000);
                   format(string,sizeof(string),""CRVENA1"[AC] "SIVA"Igrac %s je osvojio na kladionici 50000000$!",GetName(playerid));
               AdminGm(-1, string);
               FirmaInfo[UsaoFirma[playerid]][fProizvodi]--; FirmaNovac(UsaoFirma[playerid], 50);
             }
             else
             {
                 SCM(playerid,-1,""CRVENA1"[Kladionica]: "SIVA"Zao nam je ovaj put niste osvojili na kladionici!");
                    FirmaInfo[UsaoFirma[playerid]][fProizvodi]--; FirmaNovac(UsaoFirma[playerid], 50);
            }
            break;
            }
      }
   }
   for(new i = 86; i < 91; i++)
      {
          if(IsPlayerInRangeOfPoint(playerid, 5.0, FirmaInfo[fUlazX], FirmaInfo[fUlazY], FirmaInfo[fUlazZ]))
      {
            if(FirmaInfo[fVrsta] == VRSTA_SBIZZ)
         {
            x++;
            KioskKupovina[playerid] = i;
            SPD(playerid, 222, DIALOG_STYLE_LIST, ""BELA"Trafika", ""CRVENA1"- "BELA"Dopuna (20$)\n"CRVENA1"- "BELA"Dopuna (50$)\n"CRVENA1"- "BELA"Dopuna (100$)\n"CRVENA1"- "BELA"Sok (10$)\n"CRVENA1"- "BELA"Cigare (20$)\n"CRVENA1"- "BELA"Upaljac (10$)\n"CRVENA1"- "BELA"Cokoladica (10$)\n"CRVENA1"- "BELA"Halo Kartica (50$)", "Odaberi", "Izlaz");
                break;
         }
         }
   }
   return 1;
}
Naslov: Odg: Pomoc oko komande.
Poruka od: Darkic poslato Januar 23, 2019, 18:33:35 POSLE PODNE

         else if(FirmaInfo[fVrsta] == VRSTA_GUNSHOP)
         {
            x++;
         
            if( UsaoFirma[playerid] == -1 ) return SCM( playerid,-1,""ZPLAVA"[Firma]: "BELA"Morate biti u firmi!");
            if(FirmaInfo[UsaoFirma[playerid]][fProizvodi] <= 0) return SCM(playerid,-1,""ZPLAVA"[Firma]: "BELA"Nemamo vise proizvoda!");
            if(PlayerInfo[playerid][pGunDozvola] == 0) return SCM(playerid,-1, ""SIVA"Morate imati dozvolu za oruzije da bi kupili oruzije!");
            if(PlayerInfo[playerid][pDisarm] == 1) return SendClientMessage(playerid, -1 ""SIVA"Ne mozete kupovati oruzje jer ste disarmovani!"); // Dodaj ovu liniju
            SPD(playerid, 90, DIALOG_STYLE_LIST, ""BELA"Gun Shop", ""SPLAVA"- "BELA"Noz (2000$)\n"SPLAVA"- "BELA"Palica (60$)\n"SPLAVA"- "BELA"Shotgun (8500$)\n"SPLAVA"- "BELA"Padobran
            (250$)\n"SPLAVA"- "BELA"Dezert (3000$)\n"SPLAVA"- "BELA"M4 (8500$)\n"SPLAVA"- "BELA"AK-47 (8500$)\n"SPLAVA"- "BELA"MP5 (5500$)\n"SPLAVA"- "BELA"Sniper (10000$)\n"SPLAVA"-
           "BELA"Pancir (5000$)", "Kupi", "Izlaz");
            break;
         }
Naslov: Odg: Pomoc oko komande.
Poruka od: Vuxoni poslato Januar 23, 2019, 19:16:23 POSLE PODNE
[pawn]YCMD:disarm(playerid,params[],help)
{
    #pragma unused help
    if(UlogovanProvera[playerid] == 0) return SendMessage( playerid, "Morate se ulogovati da bi pisali.");
    new pid,vreme,str[128];
    if(PlayerInfo[playerid][pAdmin] < 5 ) return SendErrorMessage( playerid, "Samo A5+");
    if(AdminDuty[playerid] == 0 ) return SendErrorMessage( playerid, "Morate biti na Admin duznosti!");
    if(sscanf(params, "uis[48]", pid,vreme)) return SendUsageMessage( playerid, "disarm [id] [vreme(minut]");
    if(PlayerInfo[pid][pDisarm] == 1) return SendErrorMessage ( playerid, "Taj igrac je vec disarmovan!");
    if(!IsPlayerConnected(pid)) return SendErrorMessage( playerid, "Pogresan ID!");
    PlayerInfo[pid][pDisarm] = 1;
    PlayerInfo[pid][pDisarmVreme] = vreme * 60;
    ResetPlayerWeapons(pid);
    format(str,sizeof str,"{77FF00}Admin %s vam je zabranio koriscenje oruzija %d minuta.", GetName(playerid),vreme);
    SCM(pid,-1,str);

    format(str,sizeof str,""ZELENA"Zabranili ste rokanje igracu: %s na %d!", GetName(pid),vreme);
    SCM(playerid,-1,str);
    return 1;
}[/pawn]
Probaj ovako...
Naravno,prilagodi svom modu.
Naslov: Odg: Pomoc oko komande.
Poruka od: Skazy_ Cappone poslato Januar 24, 2019, 19:58:16 POSLE PODNE
Momci hvala vam mnogo stvarno mi je ovo mnogo od pomoci , hvala jos jednom <3.