Szerző Téma: Login/Register dialog készítése gamemode-ba - Radio Stream  (Megtekintve 1587 alkalommal)

Login/Register dialog készítése gamemode-ba - Radio Stream
« Dátum: 2012. Augusztus 24. - 20:05:19 »
0 Show voters
Üdv mindenkinek,
Az a helyzet, hogy régebbi admin scriptem van és nincs benne dialog bejelentkezési rendszer. Hogyan lehet azt megoldani, hogy az admin szkript mellett tudjak dialog alapú beléptetést csinálni? Úgy értem, hogyha a gamemode-ba kell tennem a dialog alapú beléptetést/regisztrálást, akkor a scriptbe (admin script beléptetéssel) ott marad és \"zavarnák\" egymást.
Megtudná valaki mondani, hogy mi a pontos dialog kódja? Beléptetés ill. regisztrálás. Annak is örülnék, ha a scriptbe kell betenni és nem a gamemode-ba, illetve még ha valaki tud egy jelengel újnak számító admin szkriptet azt is megköszönném. Vagy ha gamemode-ba tudtok admin szkriptet sok-sok paranccsal ááá az még jobb lenne :D
A másik problémám a RadioStream lenne. Ennek utána olvastam már, viszont csak sima zenefeltöltést írtak mindeüntt. Ezt is dialogba szeretném, illetve parancsra jöjjön elõ a dialog és ott lehetne egyénileg beállítanom a rádió állomásokat.
Tudom, hogy sok a kérdés, de kérlek titeket rendesen magyarázzátok el, mert én még a kezdõnél is kezdõbb vagyok ebben a témában és nem nagyon tudnék sehol sem megtanulni pawno-zni, csak a scripteket dúrom le ezerrel meg másolom össze mindenhonnan amit találok  :-[  :cry3:
Elõre is köszönöm,
Richárd

Dupla hozzászólás automatikusan összefûzve. ( 2012. Augusztus 25. - 01:59:39 )

Elnézést a duplapost-ért, de nagyon érdekelne és sürgõs is  :Cry2:
Kell hozzá valamilyen .inc fájl vagy akármi? Megköszönném nagyon :|
« Utoljára szerkesztve: 2012. Augusztus 25. - 01:59:39 írta mcricardo »

Login/Register dialog készítése gamemode-ba - Radio Stream
« Válasz #1 Dátum: 2012. Augusztus 25. - 08:16:06 »
+1 Show voters
Nem tudom hogy van e ennél jobb admin script, de en a LuxAdmin-t használom.Szerintem elég okos kis adminscript.
A rádiós cucchoz szükséged lessz rádió linkekre és nem nagy szám megcsinálni.
Ha egy picit utána néztél volna, akkor nem kellet volna várjal.Itt meg van minden leirva szépen.
http://wiki.sa-mp.com/wiki/How_to_Create_a_Dialog
Neked a dialog style listes cuccra van szükséged.
 

ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_LIST, \"Fejléc\", \"ide a dolgokat, amiket akarsz\", \"Gomb1\", \"Gomb2l\");

 
A te esetedben:
 

ShowPlayerDialog(playerid, 245, DIALOG_STYLE_LIST, \"Rádió\", \"R1\\nR2\\nR3\\nR4\", \"Gomb1\", \"Gomb2l\");

 
Ebben a példában az R1, R2, R3, és R4 a rádióállomás.
Ha a rádió dialogba egy ujjabb elemet akarsz helyezni, akkor R4 után egy \" \\n \" jelet.Ez a következõ elemként rakja az utána levõ karaktereket.
 

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == PSONG_DIALOG) {
TogglePlayerControllable(playerid, true);
if(response == 1) {
   switch(listitem) {
       case 0: {
         SendClientMessage(playerid, ZOLD, \"Rádió1\" );
         PlayAudioStreamForPlayer(playerid, \"RádióLink\");
   } case 1: {
                   
         SendClientMessage(playerid, ZOLD, \"Rádió2\" );
         PlayAudioStreamForPlayer(playerid, \"RádióLink\");
   } case 2: {
                   
         SendClientMessage(playerid, ZOLD, \"Rádió3\" );
         PlayAudioStreamForPlayer(playerid, \"RádióLink\");
   } case 3: {
         SendClientMessage(playerid, ZOLD, \"Rádió4\" );
                                        PlayAudioStreamForPlayer(playerid, \"RádióLink\");
          }
 
   }
}
return 1;
}
       return 0;
}

Login/Register dialog készítése gamemode-ba - Radio Stream
« Válasz #2 Dátum: 2012. Augusztus 25. - 11:49:00 »
0 Show voters
Te vagy az Isten, ha mondhatom, mert legalább rendesen elmagyaráztad, viszont hiányzik egy definíció :doubt: Egyébként nézegettem a wikipédiát, de onnan sem ment, egyébként még most sem fogom megérteni, hogy milyen paranccsal lehet lehívni a RadioStream-et és kiválasztani a rádió állomást, mert sehol egy command.
Az luxadmint mindjárt próbálom kifelé :)
 
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == PSONG_DIALOG) {
TogglePlayerControllable(playerid, true);
if(response == 1) {
   switch(listitem) {
       case 0: {
         SendClientMessage(playerid, ZOLD, \"RiseFM\" );
         PlayAudioStreamForPlayer(playerid, \"http://www.risefm.hu/inc/balaton_playlist.m3u\");
          }
 
   }
}
return 1;
}
       return 0;
}

 
D:\\C\\Rics_CUCCAI\\_MesterMC sa-mp\\FTP\\gamemodes\\lvdm.pwn(938) : error 017: undefined symbol \"PSONG_DIALOG\"
D:\\C\\Rics_CUCCAI\\_MesterMC sa-mp\\FTP\\gamemodes\\lvdm.pwn(945) : error 035: argument type mismatch (argument 2)

Dupla hozzászólás automatikusan összefûzve. ( 2012. Augusztus 25. - 12:13:43 )

Na már meg ott tartok, hogy a luxadmin sem jó, megcsináltam mindent úgy, ahogy az le van írva. Erre nem jön elõ a regisztrációs dialog :hmmm:  :unsure:
« Utoljára szerkesztve: 2012. Augusztus 25. - 12:13:43 írta mcricardo »

Login/Register dialog készítése gamemode-ba - Radio Stream
« Válasz #3 Dátum: 2012. Augusztus 25. - 12:23:19 »
0 Show voters
Am boccs ezt tenleg elfelejtettem.Szoval:
 

ShowPlayerDialog(playerid, 245, DIALOG_STYLE_LIST, \"Rádió\", \"R1\\nR2\\nR3\\nR4\", \"Gomb1\", \"Gomb2l\");

 
// 245 a Dialog id ja, akkor az ondialogresponse alatt , az id(dialogid == 245) {
azaz a psong_dialog helyet 245 ot hasznalj, viszont ha nem tudod megjegyezni a szamokat, egyszeruen definalsz egy szamot pl.
A script elejere ird hogy:
 
#define PSONG_DIALOG 245 // a psong_dialog a 245 os erteket veszi fel

 
Ha ez meg van a gamemode od elott, akkor psong_dialog 245 lessz.
 
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == PSONG_DIALOG) {
TogglePlayerControllable(playerid, true);
if(response == 1) {
   switch(listitem) {
       case 0: {
         SendClientMessage(playerid, ZOLD, \"RiseFM\" );
         PlayAudioStreamForPlayer(playerid, \"http://www.risefm.hu/inc/balaton_playlist.m3u\");
          }
 
   }
}
return 1;
}
       return 0;
}

Login/Register dialog készítése gamemode-ba - Radio Stream
« Válasz #4 Dátum: 2012. Augusztus 25. - 12:30:28 »
0 Show voters
Köszönöm, egy hiba kilõve :)
Viszont;
D:\\C\\Rics_CUCCAI\\_MesterMC sa-mp\\FTP\\gamemodes\\lvdm.pwn(944) : error 035: argument type mismatch (argument 2)
Egyébként elnézést, hogy ennyit kell velem szenvedni és sokat magyarázkodni nekem :-[

Login/Register dialog készítése gamemode-ba - Radio Stream
« Válasz #5 Dátum: 2012. Augusztus 25. - 12:39:37 »
0 Show voters
Masold be 944 es sort

Login/Register dialog készítése gamemode-ba - Radio Stream
« Válasz #6 Dátum: 2012. Augusztus 25. - 12:55:13 »
0 Show voters
SendClientMessage(playerid, ZOLD, \"RiseFM\" );
A zold definiálva van, mint: \"#define ZOLD #008000\"

Login/Register dialog készítése gamemode-ba - Radio Stream
« Válasz #7 Dátum: 2012. Augusztus 25. - 14:09:55 »
0 Show voters
Idézetet írta: mcricardo date=1345892113\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"26805\" data-ipsquote-contentclass=\"forums_Topic
SendClientMessage(playerid, ZOLD, \"RiseFM\" );
A zold definiálva van, mint: \"#define ZOLD #008000\"
 


#define ZOLD #008000

 
evel van a gond. A sampba nem ilyen szinkod kell, hanem ehez hasonlo:
 

0x38FF06FF
0xF6BB0AA

 

http://sampforum.hu/index.php?page=color
Itt konnyen kavarhatsz ki szineket es fontos hogy a szinkod az legyen amilyet mutattam peldanak.
Ha egy stringben akarsz szint valtani , azaz a fele ilyen, amasik fele olyan szinu legyen, akkor mar az ilyen fajta szinkodot hasznald:
 

{c42d2d}
{874a4a}

 
Pelda:
 

SendClientMessage(playerid, ZOLD, \"hello {c42d2d} hello\");

 
Az elso hello zold, mig a masik mar mas szinu lessz.Remelem meg erted

Login/Register dialog készítése gamemode-ba - Radio Stream
« Válasz #8 Dátum: 2012. Augusztus 25. - 14:16:39 »
0 Show voters
Értem, és mûködik is, nem ír ki hibát :)))
Viszont egy utolsó kérdés, aztán mehet a + pont   :D
Milyen parancsra mûködik ez a RadioStream, vagy hogy mûködik ez? Mert ugye kell akkor egy olyan sor is, hogy parancsra hozza elõ a dialogot :yes:

Login/Register dialog készítése gamemode-ba - Radio Stream
« Válasz #9 Dátum: 2012. Augusztus 25. - 17:28:09 »
0 Show voters
Ez a legkönnyebb.
A parancsod ala be rakod hogy:
 
ShowPlayerDialog(playerid, 245, DIALOG_STYLE_LIST, \"Rádió\", \"R1\\nR2\\nR3\\nR4\", \"Gomb1\", \"Gomb2l\");

 
Azaz a showPlayerDialogod.Lehet hogy azota mar atirtad.

Login/Register dialog készítése gamemode-ba - Radio Stream
« Válasz #10 Dátum: 2012. Augusztus 25. - 17:35:41 »
0 Show voters
Lehet, hogy én írtam le rosszul, vagy te értetted félre.
 

    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    ShowPlayerDialog(playerid, 245, DIALOG_STYLE_LIST, \"Rádió\", \"R1\\nR2\\nR3\\nR4\", \"Gomb1\", \"Gomb2l\");
if(dialogid == PSONG_DIALOG) {
            TogglePlayerControllable(playerid, true);
                    if(response == 1) {
                            switch(listitem) {
                                case 0: {
                                            SendClientMessage(playerid, COLOR_GREEN, \"RiseFM\" );
                                            PlayAudioStreamForPlayer(playerid, \"http://www.risefm.hu/inc/balaton_playlist.m3u\");
                                   }
 
                            }
                    }
                    return 1;
            }
           return 0;
    }
   

 
Én azt kérdeztem, hogy milyen parancsra fogja nekem behozni a dialogot, ahol kiválaszthatom a rádióállomásokat?
/radio vagy esetleg /rádió???
Mert igaz, hogy hibátlan ez a kód, viszont így be se lehet kapcsolni a rádiót. Vagy csak én vagyok hozzá a hülye :D

Dupla hozzászólás automatikusan összefûzve. ( 2012. Augusztus 25. - 22:10:41 )

ZCMD-vel meg lett oldva :D
Na, mivel egész napi munkámba telt összeszedegetni az infókat, a kész RadioStream egy Rádióval (4rádió menüponttal) itt van:
 
        CMD:radio(playerid,params[]){ ShowPlayerDialog(playerid, PSONG_DIALOG, DIALOG_STYLE_LIST, \"Rádió\", \"R1\\nR2\\nR3\\nR4\", \"Gomb1\", \"Gomb2l\"); return 1; }
        public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
        {
        if(dialogid == PSONG_DIALOG) {
     
                TogglePlayerControllable(playerid, true);
     
                        if(response == 1) {
                                switch(listitem) {
                                    case 0: {
     
                                                SendClientMessage(playerid, COLOR_GREEN, \"RiseFM\" );
                                                PlayAudioStreamForPlayer(playerid, \"http://www.risefm.hu/inc/balaton_playlist.m3u\");
                                       }
     
     
                                }
                        }
     
                        return 1;
                }
               return 0;
        }

 
Megy a + , ha megtalálom :D Köszi puszi  :)
« Utoljára szerkesztve: 2012. Augusztus 25. - 22:10:41 írta mcricardo »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal