Szerző Téma: RP mod kezdés + Autó Spawnolási hiba  (Megtekintve 1626 alkalommal)

Nem elérhető rbit

RP mod kezdés + Autó Spawnolási hiba
« Dátum: 2012. augusztus 27. - 04:09:26 »
0 Show voters
Srácok, bele kezdtem egy RP modba, csak az a gond hogy viszonylag rég pawnoztam (kb fél év) és már eltûntek a fejembõl az infók, akkoriban csináltam egy stunt modot, de nem volt szerverem, szóval csak úgy néha-néha hamachival hülyültünk kicsit haverokkal.
De most viszont kicsit magasabbra emeltem a lécet, és RP-s modba szeretnék kezdeni, ez szép és jó, csak leragadtam ott, hogy hogy az istenbe  (már bocsi...) tudom megcsinálni azt, hogy az elején megkérdezi hogy milyen nemú vagy egy menüben, és az alapján leszel fiú vagy lány skin.
Ezzel próbálkoztam eddig:
ez a mod legtetejére:
 

new Menu:character:
character = CreateMenu(\"Changecharacter\", 2, 55.0, 200.0, 100.0, 80.0);
SetMenuColumnHeader(belepes, 0, \"Milyen nemû vagy?\");
AddMenuItem(character, 0, \"Fiú\");
AddMenuItem(character, 0, \"Lány\");
Ez InGamemodeInIt-be kell?
oké tovább:
public OnPlayerConnect(playerid)
{
{
ShowMenuForPlayer(Menu:character, playerid);
}
return 1;
}
Ez így jó? :)
 
és az utolsó:
public OnPlayerSelectedMenuRow(playerid, row)
{
new Menu:viewingmenu = GetPlayerMenu(playerid);
if(viewingmenu == character)
      {
   switch(row)
   {
      case 0: SetPlayerSkin(playerid,60);
      case 1: SetPlayerSkin(playerid,56);
}
return 1;
}

 
ez stimmel? :D
Illetve van egy kis probléma az autók bespawnolásával...(mikor utóljára pawnoztam ilyen bajom nem volt. 0.3 C-ben)
Alapból már ott probléma van, hogy nem rögtön spawnolnak a kocsik, hanem a szerver indulásától számítva olyan 10 percre rá. Illetve miután be spawnoltak, megint olyan 10-15 perc után ugyan azok a kocsik, ugyan oda rá spawnolnak a régiekre...és ez elég nagy laggot tud okozni. :/
Ezt hogy tudom megoldani? :D
Oké, oké. Tudom, ti most engem kb komplett hülyének néztek. :) Megértem, de legalább próbálkozom. :D Szóval legyetek szívesek segítsetek nekem. :)
« Utoljára szerkesztve: 2012. augusztus 27. - 07:46:53 írta Gentleman »

RP mod kezdés + Autó Spawnolási hiba
« Válasz #1 Dátum: 2012. augusztus 27. - 07:47:56 »
0 Show voters
[gmod] Legközelebb code tagot használd.[/gmod]

Nem elérhető Rupert

  • 2301
    • Profil megtekintése
RP mod kezdés + Autó Spawnolási hiba
« Válasz #2 Dátum: 2012. augusztus 27. - 08:49:02 »
0 Show voters
Megmondom õszintén, én nem szeretem a menüket, mert már a dialogok átvették a helyüket. Sokkal inkább ezt ajánlom:
 

#include <a_samp>
#define DIALOG_KARAKTERVALASZT 0
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\" Blank Filterscript by your name here\");
print(\"--------------------------------------\\n\");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
public OnPlayerConnect(playerid)
{
ShowPlayerDialog(playerid,DIALOG_KARAKTERVALASZT,DIALOG_STYLE_LIST,\"Válassz nemet!\",\"Férfi\\nNõ\",\"OK\",\"Mégsem\");
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_KARAKTERVALASZT && response)
{
    if(listitem == 0)
    {
   // Ha férfi, mi történjen.
    }
if(listitem == 1)
{
    // Ha nõ, mi történjen.
}
}
return 1;
}

 
Értelmezzük. Mindennek az elején definiálunk egy dialog azonosítót \"DIALOG_KARAKTERVALASZT\" néven. Ha a játékos csatlakozik, megjelenítjük neki ezt az azonosítójú dialogot, aminek a típusa \"DIALOG_STYLE_LIST\", tehát egy lista. Beírjuk a fejlécét, ez \"Válassz nemet!\" lesz. Majd jön maga a lista. Így írtam bele: \"Férfi\\nNõ\". Az a \"\\n\" jelenti a sortörést, így fog listaként kinézni.
Az \"OnDialogResponse\" callback alatt írunk néhány \"if\" elágazást. Ha a dialog azonosítója \"DIALOG_KARAKTERVALASZT\" és ha rákattint az \"OK\"-ra, akkor mi történjen. A \"listitem\" jelenti a lista megadott elemét, pl. \"if(listitem == 0)\" a lista elsõ elemével fog visszatérni. Remélem érted.

Nem elérhető rbit

RP mod kezdés + Autó Spawnolási hiba
« Válasz #3 Dátum: 2012. augusztus 27. - 13:42:51 »
0 Show voters
Igen, így mostmár értem és nagyon szépen köszönöm a segítséget. :) Bocsánat hogy nem használtam code tagot, csak még kezdõ vagyok és nem igazán tudom hogy kell. :)  :thumbsup:
Az autós problémára esetleg nem tudja valaki h mi lehet? :/
szerk.: ehh :/ Nem mûkszik. bele írtam a férfihez: SetPlayerSkin (playerid, 60); és semmi :/ nõhöz: SetPlayerSkin (playerid, 56); és itt is semmi :/
 
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
        if(dialogid == DIALOG_KARAKTERVALASZT && response)
        {
            if(listitem == 0)
            {
      SetPlayerSkin(playerid, 60);        // Ha férfi, mi történjen.
      
   }
           
                if(listitem == 1)
                {
                    SetPlayerSkin(playerid, 56); // Ha nõ, mi történjen.
      }
        }
        return 1;
}

 
most így néz ki...:)

Dupla hozzászólás automatikusan összefûzve. ( 2012. augusztus 28. - 04:22:45 )

Na, kocsis problémáim megoldódtak, de sajnos ez a nem alapú spawnolás továbbra sem. :/ Nem azt a skint kapja ami oda van rakva...próbáltam úgy is hogy kivettem az AddPlayerClass-okat a gamemode elejérõl de így se jó :/  Becrashel a szeró, nem tudok már mit kipróbálni. :/
Illetve spawn rendszerhez még abban tudnátok segíteni hogy CSAK 1szer válasszon karaktert, szóval 1szer kiválasztja, és az lesz örökre (kivéve persze ha elmegy szabóhoz...) szóval hogy legyen egy alap skinje, amit minden belépéskor használ az emberke... :) Köszönöm szépen a segítséget. :D
Bocsi h mindenhez segítséget kérek, de a spawn rendszer ez nagyon nem megy. :( Munkák azokat egyszerûen megcsinálom, azok számomra nagyon egyszerûek (még a leaderes munkák elkészítése is.) De a spawnolás, az már bonyolultabb. :/
U.I.: Lehet hogy lesz majd még 1 kérdésem is, de ezen még egy kicsit töröm a fejem. Hátha rájövök. :D Végül is így kell tanulni és nem úgy hogy mindent elmondanak. :D
« Utoljára szerkesztve: 2012. augusztus 28. - 04:22:45 írta rbit »

Nem elérhető shadee

  • 1073
    • Profil megtekintése
RP mod kezdés + Autó Spawnolási hiba
« Válasz #4 Dátum: 2012. augusztus 28. - 13:14:22 »
0 Show voters
figyu,nem olvastam el teljesen,nem bírtam de
szerintem ez a nemes ügyet úgy csináld hogy:
[pawn]forward kerdesek(playerid)
public kerdesek(playerid)
{
//például playerinfosat használok
if(PlayerInfo[playerid][pNeme] == 0)
{
ShowPlayerDialog(playerid,DIALOGID,DIALOG_STYLE_LIST,\"Nemed?\",\"Férfi\\nNõ\",\"Kiválaszt\",\"\");
}
}[/pawn]
OnPlayerConnect:
kerdesek(playerid);
összehangolva ennyi

Nem elérhető rbit

RP mod kezdés + Autó Spawnolási hiba
« Válasz #5 Dátum: 2012. augusztus 28. - 14:03:49 »
0 Show voters
De várjunk egy pillanatot...a dialognak akkor kéne elõl jönnie mikor belép vki a szeróra és akkor az OnPlayerConnect-be kéne tenni nem?
(Nem akarlak meg kérdõjelezni mert 100 h jobban értesz hozzá mint én, csak ez most összekavart...:O)
Vhogy így kéne kinéznie: Belép a szeróra, kiválasztja h fiú vagy lány, ez alapján kap egy skint (nem random, a skin id-ket már bele írtam...), és ez a skin marad neki ÖRÖKRE. (Ezt úgy értem h ne kelljen skint választani minden egyes alkalommal amikor belép, hanem egyszer kiválasztja és kész.)
Illetve ez a kérdés amit említettem h lehet hogy lesz majd egy új kérdésem, nem találtam rá választ. :/ Szóval, hogy lehet azt hogy ha vki kiszáll az autóból az autó újra spawnol, és azon a helyen marad ahol kiszálltak belõle? :D (Nem tudom mennyire érthetõ. :))

Nem elérhető shadee

  • 1073
    • Profil megtekintése
RP mod kezdés + Autó Spawnolási hiba
« Válasz #6 Dátum: 2012. augusztus 28. - 14:06:57 »
0 Show voters
ha azt akarod hogy ha beloginolt,akkor mikor bejelentkezett oda ted  be a kerdesek(playerid);-t
plusz ha azt akarod h automatikusan spawnoljon le,auto_spawn timert hozz létre

Nem elérhető rbit

RP mod kezdés + Autó Spawnolási hiba
« Válasz #7 Dátum: 2012. augusztus 31. - 21:18:59 »
0 Show voters
Ehh ez nekem bonyolult...Inkább maradok az elsõ verziónál. :D De az meg nem mûködik :/ Abban légyszíves tudna vki segíteni? :D Leírtam hogy nállam hogy is néz ki most. :)

Nem elérhető shadee

  • 1073
    • Profil megtekintése
RP mod kezdés + Autó Spawnolási hiba
« Válasz #8 Dátum: 2012. szeptember 09. - 16:50:34 »
0 Show voters
Probálkozz meg ezzel:
 
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
        if(dialogid == DIALOG_KARAKTERVALASZT && response)
        {
           new neme[MAX_PLAYERS];
            if(listitem == 0)
            {
                       //    SetPlayerSkin(playerid, 60);        // Ha férfi, mi történjen.
                           neme[playerid] = 1; 
                        }
           
                if(listitem == 1)
                {
                      //  SetPlayerSkin(playerid, 56); // Ha nõ, mi történjen.
                        neme[playerid] = 2
                                }
        }
        return 1;
}

 
OnPlayerSpawn Alá:
if(neme[playerid] == 1)
{
 //ha férfi,Mit csináljon..
}
else if(neme[playerid] == 2)
{
//ha nõ,Mit csináljon...
}

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal