Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: AlienWare95 poslato Februar 03, 2017, 10:41:47 PRE PODNE

Naslov: [POMOC] oko bilborda
Poruka od: AlienWare95 poslato Februar 03, 2017, 10:41:47 PRE PODNE
Skripta koju koristim: moja licna
Detaljan opis problema: napravio sam sistem bilborda i sve je super malo sam kopao po modovima editovao i radi ali kada kucam na primer /bilbord asd ne desi se nista skine golde ali se ne promeni text
Dio skripte:/
Neke slike/video za lakse dobivanje pomoci(neobavezno): nemam ali dacu ako treba
Pawno kod: CMD:bilbord(playerid, params[])
{
if(PlayerInfo[playerid][xLevel] < 6) return SCM(playerid, SIVA, "Morate biti 6+ lvl");
if(bilbas == 1 && PlayerInfo[playerid][ xHiac ] < 1) return SCM(playerid, SIVA, "Neki bilbord je vec napisan, sacekajte malo");
//if(!IsPlayerInRangeOfPoint(playerid, 10, 1519.19, -1725.64, 11.59) && !IsPlayerInRangeOfPoint(playerid, 10, 1473.17, -1042.98, 21.70) && !IsPlayerInRangeOfPoint(playerid, 10, 1232.87, -924.13, 40.62) && !IsPlayerInRangeOfPoint(playerid, 10, 1185.61, -1388.17, 11.17) &&
//!IsPlayerInRangeOfPoint(playerid, 10, 1583.20, -2309.10, 11.42)) return SCM(playerid, SIVA, "Nisi blizu bilborda");
new bilt[60];
if(sscanf(params, "s[128]", bilt)) return SCM(playerid, -1, "{0B83E6}[{FFFFFF}BMHP{0B83E6}]{FFFFFF} Koristi: {F3FF02}/bilbord [text]");
new is1=0;
        new r=0;
        while(strlen(bilt[is1]))
        {
        if('0'<=bilt[is1]<='9')
        {
        new is2=is1+1;
        new p=0;
        while(p==0)
        {
        if('0'<=bilt[is2]<='9'&&strlen(bilt[is2])) is2++;
        else
        {
        strmid(strR[r],bilt,is1,is2,255);
        if(strval(strR[r])<255) r++;
    is1=is2;
    p=1;
    }
    }
    }
    is1++;
        }
        if(r>=4)
        {
        //new spamstr[200];
        //new namespamer[MAX_PLAYER_NAME];
        //GetPlayerName(playerid, namespamer, sizeof(namespamer));
        //format(spamstr,sizeof(spamstr), "[WARNING!!] %s je pokusao da reklamira na /BILBORD, text: %s", namespamer, bilt);
        //ABroadCast(ZUTA, spamstr, 1);
        //for(new z=0;z<r;z++)
        //{
        //new pr2;
        //while((pr2=strfind(bilt,strR[i],true))!=-1) for(new i=pr2,j=pr2+strlen(strR[i]);i<j;i++) bilt[i]='*');
        //return 1;
        //}
        }
if( strlen( params ) > 38 ) return GRESKA( playerid, "Ne moze vise 50 karaktera." );
if(PlayerInfo[playerid][xZlato] < 1) return SCM(playerid, SIVA, "Nemas 1g zlata");
if(IsPlayerInRangeOfPoint(playerid, 10, 1519.19, -1725.64, 11.59))
{
SetDynamicObjectMaterialText(bill1, 0, bilt, 130, "Arial", 24, 0, 0xFFFFFFAA, -16777216, 1);
}
if(IsPlayerInRangeOfPoint(playerid, 10, 1473.17, -1042.98, 21.70))
{
SetDynamicObjectMaterialText(bill3, 0, bilt, 130, "Arial", 24, 0, 0xFFFFFFAA, -16777216, 1);
}
if(IsPlayerInRangeOfPoint(playerid, 10, 1232.87, -924.13, 40.62))
{
SetDynamicObjectMaterialText(bill4, 0, bilt, 130, "Arial", 24, 0, 0xFFFFFFAA, -16777216, 1);
}
if(IsPlayerInRangeOfPoint(playerid, 10, 1185.61, -1388.17, 11.17))
{
SetDynamicObjectMaterialText(bill5, 0, bilt, 130, "Arial", 24, 0, 0xFFFFFFAA, -16777216, 1);
}
if(IsPlayerInRangeOfPoint(playerid, 10, 1583.20, -2309.10, 11.42))
{
SetDynamicObjectMaterialText(bill6, 0, bilt, 130, "Arial", 24, 0, 0xFFFFFFAA, -16777216, 1);
}
bilbas = 1;
SCMF(playerid, CRVENA, "Dali ste 1 GOLD za ime bilborda ' %s '.",bilt);
PlayerInfo[playerid][xZlato]-= 1;
//SetTimer("SkiniBilb", 30000, 0);
return 1;
}

Naslov: Odg: [POMOC] oko bilborda
Poruka od: Dragi poslato Februar 03, 2017, 19:34:49 POSLE PODNE
Nesto na brzaka, sto sti stavio // ako ne posle kad dodjem pregledacu ceo kod, i potrudi se da postavljeas u [pawno][/pawno] :)
Naslov: Odg: [POMOC] oko bilborda
Poruka od: AlienWare95 poslato Februar 04, 2017, 00:04:00 PRE PODNE
ovo je moja kopija

[pawn]CMD:bilbord(playerid, params[])
{
   if(PlayerInfo[playerid][xLevel] < 6) return SCM(playerid, SIVA, "Morate biti 6+ lvl");
   if(bilbas == 1 && PlayerInfo[playerid][ xHiac ] < 1) return SCM(playerid, SIVA, "Neki bilbord je vec napisan, sacekajte malo");
   //if(!IsPlayerInRangeOfPoint(playerid, 10, 1519.19, -1725.64, 11.59) && !IsPlayerInRangeOfPoint(playerid, 10, 1473.17, -1042.98, 21.70) && !IsPlayerInRangeOfPoint(playerid, 10, 1232.87, -924.13, 40.62) && !IsPlayerInRangeOfPoint(playerid, 10, 1185.61, -1388.17, 11.17) &&
   //!IsPlayerInRangeOfPoint(playerid, 10, 1583.20, -2309.10, 11.42)) return SCM(playerid, SIVA, "Nisi blizu bilborda");
   new bilt[60];
   if(sscanf(params, "s[128]", bilt)) return SCM(playerid, -1, "{0B83E6}[{FFFFFF}BMHP{0B83E6}]{FFFFFF} Koristi: {F3FF02}/bilbord [text]");
   new is1=0;
        new r=0;
        while(strlen(bilt[is1]))
        {
        if('0'<=bilt[is1]<='9')
        {
        new is2=is1+1;
        new p=0;
        while(p==0)
        {
        if('0'<=bilt[is2]<='9'&&strlen(bilt[is2])) is2++;
        else
        {
        strmid(strR[r],bilt,is1,is2,255);
        if(strval(strR[r])<255) r++;
    is1=is2;
    p=1;
    }
    }
    }
    is1++;
        }
        if(r>=4)
        {
        //new spamstr[200];
        //new namespamer[MAX_PLAYER_NAME];
        //GetPlayerName(playerid, namespamer, sizeof(namespamer));
        //format(spamstr,sizeof(spamstr), "[WARNING!!] %s je pokusao da reklamira na /BILBORD, text: %s", namespamer, bilt);
        //ABroadCast(ZUTA, spamstr, 1);
        //for(new z=0;z<r;z++)
        //{
        //new pr2;
        //while((pr2=strfind(bilt,strR,true))!=-1) for(new i=pr2,j=pr2+strlen(strR);i<j;i++) bilt='*');
        //return 1;
        //}
        }
   if( strlen( params ) > 38 ) return GRESKA( playerid, "Ne moze vise 50 karaktera." );
   if(PlayerInfo[playerid][xZlato] < 1) return SCM(playerid, SIVA, "Nemas 1g zlata");
   if(IsPlayerInRangeOfPoint(playerid, 10, 1519.19, -1725.64, 11.59))
   {
      SetDynamicObjectMaterialText(bill1, 0, bilt, 130, "Arial", 24, 0, 0xFFFFFFAA, -16777216, 1);
   }
   if(IsPlayerInRangeOfPoint(playerid, 10, 1473.17, -1042.98, 21.70))
   {
      SetDynamicObjectMaterialText(bill3, 0, bilt, 130, "Arial", 24, 0, 0xFFFFFFAA, -16777216, 1);
   }
   if(IsPlayerInRangeOfPoint(playerid, 10, 1232.87, -924.13, 40.62))
   {
      SetDynamicObjectMaterialText(bill4, 0, bilt, 130, "Arial", 24, 0, 0xFFFFFFAA, -16777216, 1);
   }
   if(IsPlayerInRangeOfPoint(playerid, 10, 1185.61, -1388.17, 11.17))
   {
      SetDynamicObjectMaterialText(bill5, 0, bilt, 130, "Arial", 24, 0, 0xFFFFFFAA, -16777216, 1);
   }
   if(IsPlayerInRangeOfPoint(playerid, 10, 1583.20, -2309.10, 11.42))
   {
      SetDynamicObjectMaterialText(bill6, 0, bilt, 130, "Arial", 24, 0, 0xFFFFFFAA, -16777216, 1);
   }
   bilbas = 1;
   SCMF(playerid, CRVENA, "Dali ste 1 GOLD za ime bilborda ' %s '.",bilt);
   PlayerInfo[playerid][xZlato]--;
   //SetTimer("SkiniBilb", 30000, 0);
   return 1;
}[/pawn]

A ovo je orginal
[pawn]CMD:bilbord(playerid, params[])
{
   if(PI[playerid][pLevel] < 6) return SCM(playerid, SIVA, "Morate biti 6+ lvl");
   if(bilbas == 1 && PI[playerid][pAGS] < 1) return SCM(playerid, SIVA, "Neki bilbord je vec napisan, sacekajte malo");
   if(!IsPlayerInRangeOfPoint(playerid, 10, 1519.19, -1725.64, 11.59) && !IsPlayerInRangeOfPoint(playerid, 10, 1473.17, -1042.98, 21.70) && !IsPlayerInRangeOfPoint(playerid, 10, 1232.87, -924.13, 40.62) && !IsPlayerInRangeOfPoint(playerid, 10, 1185.61, -1388.17, 11.17) &&
   !IsPlayerInRangeOfPoint(playerid, 10, 1583.20, -2309.10, 11.42)) return SCM(playerid, SIVA, "Nisi blizu bilborda");
   new bilt[60];
   if(sscanf(params, "s[128]", bilt)) return SCM(playerid, -1, "{0B83E6}[{FFFFFF}AG:RP{0B83E6}]{FFFFFF} CMD | {F3FF02}/bilbord [text]");
   new is1=0;
        new r=0;
        while(strlen(bilt[is1]))
        {
        if('0'<=bilt[is1]<='9')
        {
        new is2=is1+1;
        new p=0;
        while(p==0)
        {
        if('0'<=bilt[is2]<='9'&&strlen(bilt[is2])) is2++;
        else
        {
        strmid(strR[r],bilt,is1,is2,255);
        if(strval(strR[r])<255) r++;
    is1=is2;
    p=1;
    }
    }
    }
    is1++;
        }
        if(r>=4)
        {
        new spamstr[200];
        new namespamer[MAX_PLAYER_NAME];
        GetPlayerName(playerid, namespamer, sizeof(namespamer));
        format(spamstr,sizeof(spamstr), "[WARNING!!] %s je pokusao da reklamira na /BILBORD, text: %s", namespamer, bilt);
        ABroadCast(ZUTA, spamstr, 1);
        for(new z=0;z<r;z++)
        {
        new pr2;
        while((pr2=strfind(bilt,strR[z],true))!=-1) for(new i=pr2,j=pr2+strlen(strR[z]);i<j;i++) bilt='*';
        return 1;
        }
        }
   if(strlen(bilt) > 50) return SCM(playerid, SIVA, "Ne moze vise od 50 znakova");
   if(PI[playerid][pZlato] < 1) return SCM(playerid, SIVA, "Nemas 1g zlata");
   if(IsPlayerInRangeOfPoint(playerid, 10, 1519.19, -1725.64, 11.59))
   {
      SetDynamicObjectMaterialText(bill1, 0, bilt, 130, "Arial", 24, 0, 0xFFFFFFAA, -16777216, 1);
   }
   if(IsPlayerInRangeOfPoint(playerid, 10, 1473.17, -1042.98, 21.70))
   {
      SetDynamicObjectMaterialText(bill3, 0, bilt, 130, "Arial", 24, 0, 0xFFFFFFAA, -16777216, 1);
   }
   if(IsPlayerInRangeOfPoint(playerid, 10, 1232.87, -924.13, 40.62))
   {
      SetDynamicObjectMaterialText(bill4, 0, bilt, 130, "Arial", 24, 0, 0xFFFFFFAA, -16777216, 1);
   }
   if(IsPlayerInRangeOfPoint(playerid, 10, 1185.61, -1388.17, 11.17))
   {
      SetDynamicObjectMaterialText(bill5, 0, bilt, 130, "Arial", 24, 0, 0xFFFFFFAA, -16777216, 1);
   }
   if(IsPlayerInRangeOfPoint(playerid, 10, 1583.20, -2309.10, 11.42))
   {
      SetDynamicObjectMaterialText(bill6, 0, bilt, 130, "Arial", 24, 0, 0xFFFFFFAA, -16777216, 1);
   }
   bilbas = 1;
   SCMF(playerid, SIVA, "Dali ste 1G GOLD-A za ime bilborda ' %s '.",bilt);
   PI[playerid][pZlato]--;
   SetTimer("SkiniBilb", 500000, 0);
   return 1;
}[/pawn]
Naslov: Odg: [POMOC] oko bilborda
Poruka od: #Rakic poslato Februar 05, 2017, 16:50:10 POSLE PODNE
Napravio si samo jednu proveru da li se igrac nalazi kod bilborta a imas 5-6 provera ako je igrac na tom mestu da se na taj bilbord postavi taj text.
Naslov: Odg: [POMOC] oko bilborda
Poruka od: ukc poslato Februar 05, 2017, 16:50:32 POSLE PODNE
Kopiraj sa drugog moda i eto
Naslov: Odg: [POMOC] oko bilborda
Poruka od: Maranello poslato Februar 05, 2017, 22:03:05 POSLE PODNE
Nije svrha kopirati sa drugog moda, mozda nisu iste definicije! :D
Javi mi se na Facebook (http://fb.com/MaraneLLoDSM)
Naslov: Odg: [POMOC] oko bilborda
Poruka od: AlienWare95 poslato Februar 05, 2017, 23:49:52 POSLE PODNE
Sredio sam to ipak je bilo to sto ja nisam hteo da bude inrangeofpoint pa sam sve definicije InRangeOfPoint jednostavno izbacio vezao bilborde da bi bilo kada jedan ukuca /bilbord izmeni ih sve na 30min i to je to
Naslov: Odg: [POMOC] oko bilborda
Poruka od: #Rakic poslato Februar 06, 2017, 07:29:16 PRE PODNE
Tako stavljaj i kada budes dodavao da ti se ne bi desavalo isto.