bei dem Checkpoint wird nur die x,y,z Koordinate gebraucht. Die ROtation wird nicht gebraucht
Beiträge von Ryan_Crawley
-
-
Sorry wenn ich den Thread nochmal erwecke
Ich bin nun auch auf 0.3d umgestiegen. Ich habe folgenen CreateObject
lspd_gate = CreateObject(7657, 1582.5396728516, -1638.1068115234, 14.096267700195, 0, 0, 180);
Irgendwie spinnt es aber immernoch rum. Habe mit den neuen Includes Compiliert und auch nur CreateObject/MoveObject etc.
Hoffe man kann mir helfen :s
Edit: Das Tor geht normal mit Timer zu
Edit: Denke das der Streamer nicht mit 0.3d klappt. Habe den Streamer rausgenommen, habe normal CreateObject und die Objecte sind alle nicht da :o -
Ich habe es mit einem public SendAdminMessage. Eigentlich reicht es, wenn du in einer schleife abfragst wer Admin ist und diesem eine Nachricht zukommen lässt.
Da man das aber öffters als nur für den Achat braucht lässt es sich mit einem Public einfacher lösen
forward SendAdminMessage(color,string[]); //erstellt einen forward für den publickommen wir zum Public
public SendAdminMessage(color, string[])
{
for(new i = 0; i < MAX_SLOTS; i++) // wie gesagt, einfach eine schleife die alle Spieler abgeht und
{
if(IsPlayerConnected(i)) //abfragt ob sie connected sind
{
if(PlayerInfo[i][pAdmin] >= 1) //und das Adminlevel gleich oder größer als 1 ist
{
SendClientMessage(i, color, string); //wenn ja, wird der definierte String gesendet
}
}
}
}
dcmd_a(playerid,params[])
{
new aname[MAX_PLAYER_NAME];
new Text[128], string[128];
GetPlayerName(playerid,aname,sizeof(aname));
if(PlayerInfo[playerid][pAdmin] >= 1)
{
if(sscanf(params,"s",Text)) // das habe ich dir ja schon via Teamviewer erklärt
{
SendClientMessage(playerid,COLOR_LIGHTGREEN,"Benutzung /a [text]");
return 1;
}format(string,sizeof(string),"( %d Admin %s: %s )",PlayerInfo[playerid][pAdmin],aname,Text); // Hier wird der String formatiert
SendAdminMessage(COLOR_LIGHTBLUE,string); //und hier dann ganz einfach die Sendung des Strings an alle Admins mit dem Adminrank 1 oder höher
return 1;
}
else
{
SendClientMessage(playerid,COLOR_LIGHTGREEN,"Du bist kein Admin Level 1");
return 1;
}
}Denke das müsste relative einfach sein.
Mfg
//Schreibfehler behoben
//Wie Qini schon sagte, wäre es relativ gut, wenn du dir das Wiki mal anschaust und zudem mal die Youtube Tutorials von Mr.Monat
// ; am forward vergessen :o -
Acc verschenken ist meines wissens nach verboten
-
Also Filterscript ist ansich eine Aufteilung des GameModes. Es gibt Möglichkeiten zum Beispiel ein Tacho als Filterscript zu machen. Da du sagst, du bist anfänger würde ich dir von Filterscripts abraten und statt dessen einfach ein GameMode anzufange. Schau dir die Tutorials hier an und fang mit einem Register und Login system an. Das ist die Grundlage eines GameModes. Dann kannst du dir durch diverese Tutorials Scriptkenntnisse aneignen. Die Filterscripts sind meiner Meinung nach nur dafür da, wenn du für andere etwas Scriptes oder in deinem GameMode einfach bissl Struktur und Ordnung reinbringen willst.
Ich habe es so gerlernt: Habe mir auf Youtube die Turorials von Mr.Monat angeschaut. Zum Teil musste ich die Videos 3-4x anschauen und den rest halt "lerning by doing"
VIel Glück, bei fragen kannst du dich gerne an mich wenden.
Mfg
-
versuchs mal so new mod[100];
-
Man könnte einen Bot erstellen und wenn man sich reg. laufen lassen. Der Spieler der sich reg. geht solange /tv beim Bot. Das sollte Möglich sein
-
änder ma das
pInfo[playerid][Adminlevel] = rank;
zu das
pInfo[i][Adminlevel] = rank;
und hier stimmt auch was nicht
format(string,sizeof(string)," %d* Admin: %s ",pInfo[playerid][Adminlevel],sendername,i);
format(string,sizeof(string),"%d Admin: %s",pInfo[i][Adminlevel],sendername); // das i am schluss gehört da nicht hindenke nun sollte es gehen
Edit // Was fisher geschrieben hat stimmt nicht :o
-
und welche? Poste mal die Errors mit den Zeilen
-
setzt das new Spieler[MAX_PLAYERS][spieler_daten]; mal unter das Enum
-
public IsANewbie(carid)
{
if(carid == noobcar[0] || carid == noobcar[1] || carid == noobcar[2] || carid == noobcar[3] || carid == noobcar[4] || carid == noobcar[5])
{
score = GetPlayerScore(playerid);
if(score <= 3);
{
return 1;
}
else
{
RemovePlayerFromVehicle(playerid);
return 1;
}
}
return 0;
} -
das enum dazu muss auch enum spieler_daten heißen
-
Denke nicht das das hier unterstüzt wird ..
-
Dann nimm die Base wieder raus und teste es nochmal
-
gut, um die Nachricht zumachen, siehst wie folgt aus
new name[MAX_PLAYER_NAME], pIDname[MAX_PLAYER_NAME];
new string[128], string2[128], pID;
GetPlayerName(playerid,name,sizeof(name));
GetPlayerName(pID,pIDname,sizeof(pIDname));
format(string,sizeof(string),"Du wurdest von %s in die Fraktion %d eingeladen",name,PlayerInfo[playerid][Fraktion]);
SendClientMessage(pID,COLOR_WHITE,string);
format(string2,sizeof(string2),"Du hast %s in deine Fraktion eingeladen",pIDname);
SendClientMessage(playerid,COLRO_WHITE,string2); -
Das mit Enum sieht bei mir so aus
enum Info
{
Member,
Rank
}
new PlayerInfo[MAX_PLAYERS][Info];
so schaut ein Enum aus. Das ist bei mir ein Enum wo alles über den Player steht, Geld, Level, Fraktion, Rank etc. Da wird also alles gespeichert und geladen Finde damit ist es am einfachsten -
Add mich in Skype
Freggel.Metin2
hatte das Problem auch, ich zeige dir wie man es löst
Edit// Also du musst das, was du bei OnPlayerConnect hast, das Anzeigen der DIaloge und Kontrollieren ob es den SPieler schon gibt bei OnPlayerRequestClass machen. Dann einfach, wenn er die sachen läd SpawnPlayer ganz drunter machen.
-
Arbeitest du mit PVar oder mit Enum? Und wie lautet deine Frationsvariable
-
Entweder die Fraktions ID mit %d wiedergeben, oder mit %s und den Fraktionsnamen definieren
-
public OnPlayerDeath(playerid, killerid, reason)
{
PlayerInfo[playerid][pTod] = 1;
return 1;
}