Szerző Téma: 3 percenként lévõ hírdetés  (Megtekintve 831 alkalommal)

3 percenként lévõ hírdetés
« Dátum: 2012. november 11. - 18:47:16 »
0 Show voters
Sziasztok!Mint a címbõl látszik azt kéne megcsinálni nekem ,hogy 3 percenként tudjanak csak az emberek hirdetni.DT Módban lévõ /hirdetés parancsal.Itt a script:
 
if(strcmp(cmd, \"/hirdetés\", true) == 0 || strcmp(cmd, \"/hirdetés\", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
   GetPlayerName(playerid, sendername, sizeof(sendername));
   new length = strlen(cmdtext);
   while ((idx < length) && (cmdtext[idx] <= \' \'))
   {
      idx++;
   }
   new offset = idx;
   new result[64];
   while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
   {
      result[idx - offset] = cmdtext[idx];
      idx++;
   }
   result[idx - offset] = EOS;
   if(!strlen(result))
   {
      SendClientMessage(playerid, COLOR_GRAD2, \"HASZNÁLAT: /hirdetés [szöveg]\");
      return 1;
   }
   new hosszusag = strlen(result);
   if(strfind(result,\".\", true,0) != -1)
   {
            if(strfind(result,\":\",true,0) !=-1)
            {
                SendClientMessage(playerid, COLOR_GRAD2, \"Ezt a hirdetést nem adhatod fel!\");
                return 1;
            }
   }
   if(PlayerInfo[playerid][Penz] >= hosszusag*2)
   {
         format(stringx,256,\"[HIRDETÉS]: %s, Feladó: %s, (Tel.Szám.: %d)\",result,sendername,PlayerInfo[playerid][pPnumber]);
         OOCNews(0x7FFF00,stringx);
         PlayerInfo[playerid][Penz] -= hosszusag*2;
         varoskassza += hosszusag*2;
         Savevaroskassza();
         format(stringx,sizeof(stringx), \"A hírdetésben %d karaktert használtál fel ami %d$!\",hosszusag,hosszusag*2);
         SendClientMessage(playerid, COLOR_WHITE, stringx);
            SafeGivePlayerMoney(playerid, -hosszusag*2);
            new nev[32];
         GetPlayerName(playerid, nev, sizeof(nev));
         new h,mi,s,y,m,d;
         getdate(y,m,d);
         gettime(h,mi,s);
         format(stringx,sizeof(stringx), \"[%d/%d/%d][%d:%d:%d] [HIRDETÉS]: %s, Feladó: %s, (Tel.Szám.: %d)\",y,m,d,h,mi,s,result,nev,PlayerInfo[playerid][pPnumber]);
         LoOoG(stringx);
   }
   else SendClientMessage(playerid, COLOR_GRAD1, \"A hírdetés ára 2$*karakter!\");
}
return 1;
}

 
Elõre is köszönöm!

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
3 percenként lévõ hírdetés
« Válasz #1 Dátum: 2012. november 11. - 18:55:08 »
0 Show voters
õõ játékosonként vagy szerveren lehet 3 percenként hírdetni?
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

3 percenként lévõ hírdetés
« Válasz #2 Dátum: 2012. november 11. - 18:56:52 »
0 Show voters
Szerveren,gondoltam hogy ez lesz az elsõ kérdés. :D

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
3 percenként lévõ hírdetés
« Válasz #3 Dátum: 2012. november 11. - 19:01:25 »
0 Show voters
tudod lusta vagyok és nem akarok duplán dolgozni :D

Dupla hozzászólás automatikusan összefûzve. ( 2012. november 11. - 19:08:07 )

new AdTime;
if(AdTime) { return SendClientMessage(playerid, COLOR_GRAD1, \"Még nem tudsz hírdetni !\"); }
AdTime = 300;
if(AdTime) { AdTime--; }

 
akkor erre a 4 sorra van szükséged :D
1. felülre a többi globális változó közé
2. a hírdetés parancsba a GetPlayerName elé
3. a hírdetés elküldéséhez ( pl ez után: OOCNews(0x7FFF00,stringx); )
4. 1 másodperces timer függvényébe ( pl alap GF-ben volt: SyncTimer )
fontos olyan timerhez rakd be ami ismétlõdik ! és nem csak 1x fut le !
« Utoljára szerkesztve: 2012. november 11. - 19:08:07 írta Kovacs_Richard »
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

3 percenként lévõ hírdetés
« Válasz #4 Dátum: 2012. november 11. - 19:15:02 »
0 Show voters
Thx a gyors választ.De az utolsót nem értem hova kell tenni.  :unsure:

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
3 percenként lévõ hírdetés
« Válasz #5 Dátum: 2012. november 11. - 19:19:33 »
+1 Show voters
keress egy olyan timert ami 1000 milisec-enként fut le és ismétlõdik...
http://wiki.sa-mp.com/wiki/SetTimer
egy ilyen timert keress
 
valami = SetTimer(\"Fuggveny\",1000,1);

 
vagy
 
valami = SetTimer(\"Fuggveny\",1000,true);

 

public Fuggveny()
{
    if(AdTime) { AdTime--; }
return 1;
}
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal