Jo, hab auch mal für dich gevotet.
Wünsche dir noch viel Glück
/Edit: Satz verbessert...
Jo, hab auch mal für dich gevotet.
Wünsche dir noch viel Glück
/Edit: Satz verbessert...
Du brauchst eine Schleife und nicht MAX_PLAYERS
Verusch mal dies hier:
{
new Menu:CurrentMenu = GetPlayerMenu(playerid);
if(CurrentMenu == semenu)
{
switch(row)
{
case 0:
{
for(new i=0; i< MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
ShowPlayerDialog(i,1,DIALOG_STYLE_MSGBOX,"Chiliad2 EV.","Ein admin hat das Event: Chiliad2 gestartet. \n Möchtest du mitmachen?","JA","NEIN");
}
}
}
}
return 1;
}
PS: Einrücken musst du es , es ist nemlich eine etwas schlechte Formatierung
new sendername[MAX_PLAYER_NAME];
new giveplayer[MAX_PLAYER_NAME];
new cmd[256];
new tmp[256];
new giveplayerid,idx;
cmd = strtok(cmdtext, idx);
ReturnUser + IsNumeric:
IsNumeric(const string[])
{
for (new i = 0, j = strlen(string); i < j; i++)
{
if (string[i] > '9' || string[i] < '0') return 0;
}
return 1;
}
ReturnUser(text[], playerid = INVALID_PLAYER_ID)
{
new pos = 0;
while (text[pos] < 0x21) // Strip out leading spaces
{
if (text[pos] == 0) return INVALID_PLAYER_ID; // No passed text
pos++;
}
new userid = INVALID_PLAYER_ID;
if (IsNumeric(text[pos])) // Check whole passed string
{
// If they have a numeric name you have a problem (although names are checked on id failure)
userid = strval(text[pos]);
if (userid >=0 && userid < MAX_PLAYERS)
{
if(!IsPlayerConnected(userid))
{
/*if (playerid != INVALID_PLAYER_ID)
{
SendClientMessage(playerid, 0xFF0000AA, "User not connected");
}*/
userid = INVALID_PLAYER_ID;
}
else
{
return userid; // A player was found
}
}
/*else
{
if (playerid != INVALID_PLAYER_ID)
{
SendClientMessage(playerid, 0xFF0000AA, "Invalid user ID");
}
userid = INVALID_PLAYER_ID;
}
return userid;*/
// Removed for fallthrough code
}
// They entered [part of] a name or the id search failed (check names just incase)
new len = strlen(text[pos]);
new count = 0;
new name[MAX_PLAYER_NAME];
for (new i = 0; i < MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i))
{
GetPlayerName(i, name, sizeof (name));
if (strcmp(name, text[pos], true, len) == 0) // Check segment of name
{
if (len == strlen(name)) // Exact match
{
return i; // Return the exact player on an exact match
// Otherwise if there are two players:
// Me and MeYou any time you entered Me it would find both
// And never be able to return just Me's id
}
else // Partial match
{
count++;
userid = i;
}
}
}
}
if (count != 1)
{
if (playerid != INVALID_PLAYER_ID)
{
if (count)
{
SendClientMessage(playerid, 0xFF0000AA, "Multiple users found, please narrow earch");
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "No matching user found");
}
}
userid = INVALID_PLAYER_ID;
}
return userid; // INVALID_USER_ID for bad return
}
Mute Befehl:
if(strcmp(cmd, "/mute", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, 0xAFAFAF00, "BENUTZE: /mute [playerid]"); //0xAFAFAF00 oder COLOR_GREY(GF)
new playa;
playa = ReturnUser(tmp);
if(IsPlayerAdmin(playerid))
{
if(IsPlayerConnected(playa))
{
if(playa != INVALID_PLAYER_ID)
{
GetPlayerName(playa, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(GetPVarInt(playa, "Muted") == 0)
{
SetPVarInt(playa, "Muted", 1);
format(string, sizeof(string), "AdmCmd: %s wurde von %s gemutet",giveplayer ,sendername);
SendClientMessageToAll(COLOR_LIGHTRED,string);
}
else
{
DeletePVar(playa, "Muted");
format(string, sizeof(string), "AdmCmd: %s wurde von %s ungemutet",giveplayer ,sendername);
SendClientMessageToAll(COLOR_LIGHTRED,string);
}
}
}
}
else SendClientMessage(playerid, COLOR_GRAD1, "Dir ist es nicht erlaubt, diesen Befehl zu benutzen!");
}
return 1;
}
Muteliste zum sehen wer alles Gemutet ist:
if(strcmp(cmd, "/mutelist", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(IsPlayerAdmin(playerid))
{
SendClientMessage(playerid, COLOR_LIGHTRED, "[____ Gemutete Personen ____]");
for(new i=0;i<MAX_PLAYERS;i++)
{
if(GetPVarInt(i, "Muted") >= 1)
{
GetPlayerName(i,sendername,sizeof(sendername));
format(string,sizeof(string), "Name %s ID: %d", sendername,i); SendClientMessage(playerid, COLOR_WHITE, string);
}
}
}
}
return 1;
}
MFG
Picaso
Simple Lösung die ich eingebaut habe...
AddStaticPickup(1210, 23, 0.0,0.0,0.0,1); // OPFER PICKUP
Dies Pickup habe ich vor allen anderen Pickups in OnGameModeInit() getan.
Es liegt in der Virtual World 1 und ist somit nicht sichtbar.
Somit dürften die Pickups vom Autohaus nichtmehr "Verschwinden". Es kann aber möglich sein das die Totenköpfe abunzu bleiben... (Is jedenfalls bei mir so, vieleicht hab ich aber nur nen fehler im System^^)
Mit freundlichen Grüßen,
Picaso
hast du im scriptfiles ordner den Ordner für dein Objectstremer (Opas Objectstreamer)
Wenn du den nicht hast dan stürzt der Server ab
Ich berichtige dich ma ein wenig
Das Fahrzeug fängt bei 249.0 Heal an zu brennen
Überprüf mal denn farbencode von COLOR_GRÜN, hatte mal das Problem mit GangZones die einfach net angezeigt wurden weil die Farbe "Durchsichtig" war sogesagt
Warum? Erklär mir mal genau warum!
Ich bin über zufriedener Kunde bei Server4You, weil sie auf Support Tickets innerhalb von (bei mir) 3 Minuten antworten?
kann dir nur zustimmen , habe nen Rootserver bei Server4You der bis jetz ohne probleme läuft
Guck dir mal #define COLOR_RED .... an und überprüf die beiden letzen zahlen / Buchstaben.
Dann gehst du auf diese seite hier: http://wiki.sa-mp.com/wiki/Colors_List
und vergleichst diese beiden letzen zahlen mit den Minimaps , vieleicht findest du ja nen fehler
Wieso läst du 3 mal die gleiche Funktion ausführen lassen wen
a) Der Server gestartet wird
b) Jemand connected
c) Immer wen jemand Spawnt...
Öhm wo is da die Logik?
das hatte ich bei mir auch, ich hatte das audio plugin drauf und dan kahmen vereinzelnt User an deren Accounts auf 0 gesetzt worden ist sogesagt.
Nun weiß ich auch warum weil er das netmehr gespeichert hat bzw falsch
Alles anzeigenHi
Habe 2 Bugs gefunden (wenn es welche sind xD).
Der erste: Bei Dialogen, wenn ich etwas auswähle oda so, verstellt sich das radio
Der zweite: Bei den Faggios von meinem Zeitungsjob erscheinen auf einmal bei einer aktion Pfeile auf den Rollern, obwohl ich die garnicht gescriptet hab xD
Werde die Bugs ma im englischen samp forum posten^^
MFG, Robdeflop®
Etwas Offtopic:
Wie kann man diese Pfeile überhaubt Scripten?
kein problem
ich finde es so eigentlich ganz praktisch endlich nicht soviel screens im Gta ordner
In den GTA San andreas User Files dort ist dan ein Extra Ordner mit dem namen SAMP und dort ist alles gespeichert
hatte das gleiche problem und habe auch den Steam Support angeschrieben die meinten das ich keinen VAC Ban bekomme und das Level kann leider net zurück gesetzt werden.
MFG,
Picaso
Rc 4 Released
ein paar posts weiter oben hat es schon jemand geschrieben..
Wer lesen kann is klar im vorteil
reicht es eigentlich die datei (Windows) samp-server.exe datei auszutasuchen und den server somit zu updaten oder muss man alles in die neunen verzeichnise verschieben?
Um die Position abzufragen reichen doch auch 5 sekunden oder mehr.
Gutes tut 9/10
//Edit: um statt for(new i=0; i<MAX_PLAYERS; i++) mach lieber for(new i=0; i<GetMaxPlayers(); i++) muss ja nicht für alle Spieler durchgehen, besonders nicht für die die nicht Online sind
Ja wie man den Timer einstellt ist jeden belieben.
Ich habe dies auf 1 Sekunde gestellt da dan der Übergang von z.B. LS nach SF besser aussieht so das, dass wetter gleich umstellt oder z.B. beim /wetter cmd. das dort das Wetter nicht erst nach 5 Sekunden umstellt wird aber wie gesagt jeder kann es so einstellen wie er möchte
Und das mit GetMaxPlayers, danke für die Info , ist sehr hilfreich ich werde es sofort ändern
/Edit: Geändert
Gerne doch
Dafür hab ich das Tutorial geschrieben