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

Position: Grand Theft Auto: San Andreas » Multiplayer » [SA-MP] Freeze Command kackt ingame ab » Druckansicht
David, 09.02.2008, 23:59
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
if(strcmp(cmd, "/freeze", true) == 0)
      {
          new player;
          new Freezename[MAX_PLAYER_NAME];
         new tmp[256];
         GetPlayerName(playerid, Freezename, MAX_PLAYER_NAME);
         tmp = strtok(cmdtext, idx);

         if(IsPlayerAdmin(playerid))
         {

         if(!strlen(tmp))
            {
               SendClientMessage(playerid, farbe_gelb, "Benutzung: /freeze [Playerid]");
            }
           else if (!IsPlayerConnected(strval(tmp)))
            {
                  player = strval(tmp);
                  tmp = strtok(cmdtext, idx);
                  SendClientMessage(playerid, farbe_rot, "Den Spieler gibts nicht.");
            }
           else if (IsPlayerConnected(player))
            {
                  player = strval(tmp);
                  tmp = strtok(cmdtext, idx);
                    SendClientMessage(playerid, farbe_blau, "%s wurde gefreezed.");
               SendClientMessage(player, farbe_blau, "Du wurdest von einem Admin gefreezt.");
               TogglePlayerControllable(player, 0);
            }
         }
         else SendClientMessage(playerid,0x33AA33AA,"Du musst dich als Admin einloggen");
         return 1;
      }

   if(strcmp(cmd, "/unfreeze", true) == 0)
      {
          new player;
          new Freezename[MAX_PLAYER_NAME];
            new tmp[256];
            GetPlayerName(playerid, Freezename, MAX_PLAYER_NAME);
         tmp = strtok(cmdtext, idx);

         if(IsPlayerAdmin(playerid))
         {

         if(!strlen(tmp))
            {
               SendClientMessage(playerid, farbe_gelb, "Benutzung: /unfreeze [Playerid]");
            }
           else if (!IsPlayerConnected(strval(tmp)))
            {
                  player = strval(tmp);
                  tmp = strtok(cmdtext, idx);
                  SendClientMessage(playerid, farbe_rot, "Den Spieler gibts nicht. ");
            }
           else if (IsPlayerConnected(player))
            {
                  player = strval(tmp);
                  tmp = strtok(cmdtext, idx);
               SendClientMessage(playerid, farbe_blau, "%s kann wieder laufen");
               SendClientMessage(player, farbe_blau, "Du bist wieder Frei.");
          jailcheck[playerid]= 0;
               TogglePlayerControllable(player, 1);
            }
         }
         else SendClientMessage(playerid,0x33AA33AA,"Du musst dich als Admin einloggen");
         return 1;
      }


Der Code ansich stimmt denk ich aber wenn ich Ingame Dan /freeze [id] mache
Kackt das spiel vooll ab *böse*
Kann mir wer helfen ?
dödel, 10.02.2008, 00:11
-> Letzte mal das ich den GameTag setze, nächstes mal sofort geclosed


Dein Problem liegt legendlich an diesen beisen Zeilen

Code:
1
2
3
26: SendClientMessage(playerid, farbe_blau, "%s wurde gefreezed.");

60: SendClientMessage(playerid, farbe_blau, "%s kann wieder laufen");



Denn dort wurde ein String gesetzt, der aber nicht existiert,
also sehe ich das mal so :-O

Code:
1
2
[ERROR-Abkack] wurde gefreezed.
[ERROR-Abkack] kann wieder laufen


Du musst hier einfach format(); verwenden.


Code:
1
2
3
4
5
6
7
8
9
10
11
12
<?

new str[256];
format(str, sizeof(str), "%s wurde gefreezed", PlayerName(player));
SendClientMessage(playerid, farbe_blau, str);
//______________________________________________________________
//
new str[256];
format(str, sizeof(str), "%s kann wieder laufen", PlayerName(player));
SendClientMessage(playerid, farbe_blau, str);

?>



Falls ein Fehler auftritt in dem steht das PlayerName nicht definiert ist,
nimm einfach diesen Code:

Code:
1
2
3
4
5
6
7
8
9
10
<?

stock PlayerName(playerid)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
return pname;
}

?>
David, 10.02.2008, 02:21
Zitatdödel hat folgendes geschrieben:



Falls ein Fehler auftritt in dem steht das PlayerName nicht definiert ist,
nimm einfach diesen Code:

Code:
1
2
3
4
5
6
7
8
9
10
<?

stock PlayerName(playerid)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
return pname;
}

?>



ja der fehler tritt auf aber wohin damit mi diesem code?
dödel, 10.02.2008, 02:37
Einfach ganz unten hinknallen,
das is wie public, nur mit dem namen stock.
David, 10.02.2008, 15:57
leider geht das immer noch nicht.
Es zeigt an das ich gefreezt bin aber ich kann noch laufen mach ich /unfreeze kackt das spiel ab XD
dödel, 10.02.2008, 16:30
Denn ist das wohl dein Pech,
du solltest vllt. einfach mal unter den Scriptbeispielen nachschauen,
Recycler hat schon ein Beispiel zu diesem CMD gemacht.
Recycler, 10.02.2008, 16:48
Sein Script ist aus den Scriptbeispielen, und stammt nicht von mir sondern von Rafioso.

MfG
Recycler
Rafioso, 10.02.2008, 17:31
Teste es mal ohne deine Veränderungen: Download

=) =) :D :D =) =)
dödel, 10.02.2008, 17:34
Achso !?
Ich kannte nur den hier :D

Seite
Download
David, 10.02.2008, 18:09
Also ohne veränderungen geht es aber ich will das zb dort steht David hat den [jeweiligen
spielernamen] gefreezd
Und [jeweiligen spielernamen] kann wieder laufen.
so stell ich mier das mal vor aber das funktz nich.
Könntet ihr vllt ein beispiel machen das auch so geht.
Mfg david :D
Rafioso, 10.02.2008, 18:20
Schau dir mal mein Wantedsystem an, dann weißt wie man sowas zu stande bekommt :-)

=) =) :D :D =) =)
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