GTAvision.com - Forum - Grand Theft Auto News, Downloads, Community and more...

Position: Grand Theft Auto: San Andreas » Multiplayer » Gamemode umschreiben??? » Druckansicht
Wamer, 21.10.2008, 18:28
Hallo, ich hab da ein Problem...
Ich bin schon seit ewigkeiten auf der suche nach einem geeigneten GM für meinen Server... Leider
erfolglos, weil irgendwie keiner so richtig meinen Vorstellungen entspricht... Nach langer suche
bin ich auf den German Godfather Mode gestolpert, nun aber zu meinem Problem... Es nervt derb das
man beim /register sein Geburtsdatum etc angeben muss, danach muss man ewig warten bevor man
spielen kann... Ich versuchte mit einigen Tutorials Scripten zu lernen... Ich weiss jetzt wie man
Autos und Objecte einfügt, leider ist das nich genug um ein "einfacheres" login system zu
schreiben... Mein 2tes Problem ist das es bei diesem Mode keine Gangs gibt, auch dazu hab ich keine
Anleitung gefunden :( Problem Nr.3 ist das ich es nicht hinbekommen habe ein Race Script zu
schreiben, ich bin aber auf einen interesannten Link gestossen [FS] Yagu's Race filterscript [v0.4a
- Aug 5th]

Könnte man das mit in den German Godfather Mode mit einbauen???

Nochmal eine kleine zusammenfassung:
Den vorhandenen GM (im Anhang) folgendermaßen umschreiben,
Dieses FS mit in den GM einfügen [FS] Yagu's Race filterscript [v0.4a - Aug 5th],
Das Login system bisschen einfacher machen, also nur /login pw danach kann man gleich spielen, ohne
Wartezeit,
Eventuell noch Gangs einfügen...

Es wäre echt nett wenn vieleicht jemand dabei ist der das vieleicht umschreiben kann...
Thx schonmal im vorraus
Jermuk, 22.10.2008, 21:17
Also, Gangs machst du folgendermasen:

Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// Team Script
new gClass[MAX_PLAYERS];
//new gTeam[MAX_PLAYERS];
#define TEAM_POLIZEI 1
#define TEAM_ARMY 2
#define TEAM_MAFIA 3

public OnPlayerRequestClass(playerid, classid)
{
   gClass[playerid] = classid;
   if (classid >= 0 && classid <= 9)
   {
      GameTextForPlayer(playerid, "~g~Polizei", 1000, 3);
      SetPlayerTeam(playerid, TEAM_POLIZEI);
       //gTeam[playerid] = TEAM_POLIZEI;
   }
   else if (classid == 10)
   {
      GameTextForPlayer(playerid, "~g~Militär", 1000, 3);
      SetPlayerTeam(playerid, TEAM_ARMY);
        //gTeam[playerid] = TEAM_ARMY;
   }
   else if (classid >= 11 && classid <=14)
   {
      GameTextForPlayer(playerid, "~g~Mafia", 1000, 3);
      SetPlayerTeam(playerid, TEAM_MAFIA);
        //gTeam[playerid] = TEAM_MAFIA;
   }
   else if (classid == 15)
   {
      GameTextForPlayer(playerid, "~r~+++Jermuk+++", 1000, 3);
      SetPlayerTeam(playerid, TEAM_POLIZEI);
        //gTeam[playerid] = TEAM_POLIZEI;
   }
   else if (classid == 16)
   {
      GameTextForPlayer(playerid, "~r~+++Merlin+++", 1000, 3);
      SetPlayerTeam(playerid, TEAM_MAFIA);
      //gTeam[playerid] = TEAM_MAFIA;
   }
   
   SetPlayerInterior(playerid,14);
   SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);
   SetPlayerFacingAngle(playerid, 270.0);
   SetPlayerCameraPos(playerid,256.0815,-43.0475,1004.0234);
   SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);
   return 1;
}


Selbstverständlich musst du dies deinem Script anpassen.
Wenn du beispielsweise wenn du einen Befehl machen willst, wo nur Mafiosen reindürfen,
nimmst du beispielsweise dies:
Code:
1
2
3
4
5
6
7
8
9
10
11
if (strcmp(cmdtext, "/gotomafia", true)==0)
   {
      if(GetPlayerTeam(playerid) == TEAM_MAFIA)
       {
          SetPlayerPos(playerid,689.9902,-1275.9163,13.5596);
          SetPlayerFacingAngle(playerid, 87);
          SetPlayerInterior(playerid,0);
          SendClientMessage(playerid, COLOR_GREY, "Willkommen im Mafia-Bereich!");
          return 1;
       }
    }


Beim Login Script kann ich leider nicht helfen, aber beim Race Script schon:
http://forum.gtavision.com/posts_54_574_1.html
Dort findest du alles, was du wissen musst!
Und auch SEEHHHRRR ausführlich erklärt!
Wegen den Gangs, was stellst du dir da so vor?
Wenn du eine GangZone machen willst:
Code:
1
2
3
new area51;
GangZoneShowForPlayer(playerid, area51, COLOR_RED); // In OnPlayerSawn()
area51 = GangZoneCreate(-72.9683,1642.7612,434.1817,2139.6919); // In OnGameModeInit()


Wenn du einen Bereich, nur für eine GAng machen willst, nutze:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
public AdminArea(playerid)

{
    for (new i = 0; i < MAX_PLAYERS; i++)
    {

      IsPlayerInVipZone(i);
        if(GetPlayerTeam(playerid) == TEAM_MAFIA)
       {
           SendClientMessage(i,GREEN, "Bis Bald!");
             GameTextForPlayer(i,"Bis Bald!",3000,3);
            Jermuk[i]=false;
          }
        if (IsPlayerInVipZone(i))
        {
           if(GetPlayerTeam(playerid) == TEAM_MAFIA)
            {
                if (Jermuk[i]!=true)
                {
                  SendClientMessage(i,GREEN, "Willkommen im V.I.P. Bereich!");
                    GameTextForPlayer(i,"Willkommen im V.I.P. Bereich!",3000,3);
                    Jermuk[i]=true;
                }

         }

         else
            {
               SendClientMessage(i,RED,"Du bist im V.I.P. Gebiet!!! Betreten Verboten!");
                 GameTextForPlayer(i,"Du bist im V.I.P. Gebiet!!! Betreten Verboten!",5000,3);
               SetPlayerHealth(i,0);
              }
      }
}

public IsPlayerInVipZone(i)
{
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(i, X, Y, Z);
    if (X <= 206.71 && X >= 19.33 && Y <= 450 && Y >= 240.93)
    {
       adminwahr[i]=true;
       return 1;
    }
    else
    {
       adminwahr[i]=false;
       return 0;
    }
}


So, das Letzte(übrigens nicht von mir, sonder von glaube ich Recycler) kriegst du schon irgendwie
reingewrickelt!

Programmierst du auch in anderen Sprachen?

Viel Spaß,

Gruß Jermuk
Wamer, 25.10.2008, 23:09
Danke Jermuk, das hat mir schon sehr geholfen...
Ich steh jetz nur bei dem Problem das man in dem GM (vom 1ten Post) automatisch die energie
verliert wenn man nichts isst und das man andere Spieler nicht auf dem Radar sieht... Wie kann ich
das ändern´, damit ich andere Spieler auch im Radar sehe und man keine Energie verliert (Wenn man
angeschossen wird etc natürlich schon^^)... Wäre wirklich nett wenn mir jemand helfen könnte :)
Jermuk, 26.10.2008, 19:37
Also, in Zeile 63 wird die Farbe jedes Spieler deklariert.
Und in Zeile 5198 wird jedem Spieler diese Zugewiesen.

Ich würde Zeile 63 löschen, und bei SetPlayerToTeamColor dann die entsprechenden Farben
einsetzten.(z.B. if(GetPlayerTeam(1)) SetPlayerColor(playerid, GREEN)) )

Gruß Jermuk

PS: Ich habe die Zeilen aus deinem hier gezeigten Gamemode herausgenommen.
Da du diese wahrscheinlich geändert hast, gebe ich dir nun die Variablen und Funktionsnamen,
nachdenen du Suchen musst: Zeile 63 = TEAM_HIT_COLOR Zeile 5198= public
SetPlayerToTeamColor(playerid)

Viel Spaß!!!!!!
GTAvision.com :: Forumregeln :: FAQ :: Impressum :: Kontakt :: RDRvision.com :: LANOIREvision.com :: MaxPayneVision.com
NetVisionWork.NET
.: © 2006-2014 by GTAvision.com :.

Rockstar GamesTake-Two Interactive Deutschland

Free Grand Theft Auto Downloads