McCool, 26.09.2009, 20:28 |
---|
Hallo, Ich bräuchte da mal eure Hilfe. Undzwar habe ich eine DM Arena auf meinem Server. Jezt würde ich gerne haben das wenn man /dm eingibt man 1. Zur Arena kommt, 2. Einem Team zugewiesen wird ( Army, Terorosten) und 3. Wenn man Stirbt man wieder an den Spawn der Arena kommt. Wäre nett wenn mir jemand helfen könnte. MfG McCool |
Rafioso, 26.09.2009, 22:14 |
---|
Hi. Zu 1.: Erstell einfach ein Teleport mit SetPlayerPos. Zu 2. & 3.: Schau mal beim sftdm nach, da siehtst du, wie man Teams erstellt. MfG Rafioso |
Robdeflop1, 27.09.2009, 00:44 |
---|
Hi McCool, ich machs für dich^^ ich denk das werd ich hinbekommen. Ich hab mir schonmal SFTDM angeschaut. Aber das soll so gemacht werden, dass wenn man sich dahinteleportet, aufgeteilt wird. Das wird ja dann mit randomspawn gemacht oda? Un dann soll es nur 2 teams geben. Die eine rot die andere blau. Dann sollen die teams verschiedene waffen bekommen. Das teleportmenu-script hat is ja durch diese case 0... gemacht. Wie kann ich einfügen, dass der spieler, der da spawnt, ca 3 sekunden lang gefreezed is, damit die map in der zeit laden kann? Sonst fällt man ins wasser. Aber ansonsten versteh ich das glaube ich. Ich werds mal versuchen. Vielleicht könnt ihr mir ja ein weinig helfen. MFG, RoB |
Rafioso, 27.09.2009, 00:52 |
---|
Robdeflop1 hat folgendes geschrieben: Wie kann ich einfügen, dass der spieler, der da spawnt, ca 3 sekunden lang gefreezed is, damit die map in der zeit laden kann? Sonst fällt man ins wasser. Ich bin mir nicht sicher, aber wenn man "vereist" wird, dann kann man sich glaube ich nicht in X- und Y-Richtung bewegen, wohl aber in Z-Richtung(Höhe). Deshalb wird das glaube ich nicht klappen. Wenn du es dennoch testen willst, dann brauchst du lediglich einen Timer und eine eigene Funktion mach_mich_warm. Mit dem Timer rufst du dann nach drei Sekunden die Funktion mach_mich_warm auf und dort drinn befindet sich dann die Funktion TogglePlayerControllable. MfG Rafioso |
Robdeflop1, 27.09.2009, 00:57 |
---|
Hi Das hab ich schonmal in einem anderen server gesehen. Das mit toggleplayer... wusste ich. es geht aber auch nicht den player ein bischen höher spawnen zu lassen, dafür ist die zeit zu kurz. Was du mit mach_mich_warm meinst, weiß ich nicht^^ Ich bin im scripten nicht sooo erfahren xD MFG, RoB |
Rafioso, 27.09.2009, 01:10 |
---|
Robdeflop1 hat folgendes geschrieben: Was du mit mach_mich_warm meinst, weiß ich nicht^^ Eine selbst erstelle Funktion |
Robdeflop1, 27.09.2009, 12:01 |
---|
aso, ok, thx Ich werds mal probieren MFG, RoB |
Rafioso, 27.09.2009, 12:12 |
---|
Robdeflop1 hat folgendes geschrieben: aso, ok, thx Ich werds mal probieren MFG, RoB Ja mach das mal, ich habs nämlich nicht getestet. |
Robdeflop1, 27.09.2009, 15:44 |
---|
Hi Habs grad getestet. Ich hab dein script einfach ins script eingefügt. Funzt aber net -.- Ich hab aber nochwas getestet. Ich hab einfach PlayerControllable auf 0 gesetzt. Der Player ist auch in der hochachse gefreezed. Jetzt muss ich nurnoch einen kleinen timer da reinbekommen. Also so ungefähr: Zitat: case 1:{ SetPlayerPos(playerid,-3144.5801,1741.7068,10.7973); TogglePlayerControllable(playerid, 0); SendClientMessageToAll(COLOR_YELLOW, "Ein Spieler hat meine DM Arena betreten!");} //hier der Timer TogglePlayerControllable(playerid, 1); Kann mir einer helfen? MFG, RoB *EDIT: Ich glaub ich habs selber xD Mein Inetbroser hat nur die hälfte deines zitates angezeigt xD |
Robdeflop1, 27.09.2009, 16:31 |
---|
Es funktioniert, danke *wink* MFG, RoB |
Robdeflop1, 27.09.2009, 20:08 |
---|
Hi Hab´s eben nochmal mit jemand anderem getestet. Aber diesmal is immer der zweite der sich dahinteleportet gefreezed. Beim ersten der sich teleportet, funzt es. Aber der zweite is gefreezed. Woran liegts? Need help Danke schonmal im Vorraus MFG, RoB *edit: Kann es was mit return 1/0 zu tun haben? wofür is das eig? MFG ,RoB |
Robdeflop1, 27.09.2009, 20:32 |
---|
So Nochwas rausgefunden. Ich hatte ID 0 un es hat geklappt. Egal ob erster oda zweiter. Mein freund (McCool) hatte ID 1 un da wars auch egal wer als erstes oda als zweites teleportet hat. Woran liegt das? Ich weiß einfach nit weiter. Hier das script: Zitat: #include <a_samp> #define COLOR_YELLOW 0xFFFF00AA new Menu:Teleports; public OnPlayerConnect(playerid) { SendClientMessage(playerid, COLOR_YELLOW, "/tele und gewünschten Ort auswählen!"); return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp("/tele",cmdtext, true, 10)==0) { Teleports = CreateMenu("TELEPORTS",2,200,100,150,100); AddMenuItem(Teleports, 0, "Flugzeugschrottplatz"); AddMenuItem(Teleports, 0, "DM-Arena | by Robdeflop"); AddMenuItem(Teleports, 0, "LS-Flugzeughafen"); AddMenuItem(Teleports, 0, "SF-Flugzeughafen"); AddMenuItem(Teleports, 0, "LV-Flugzeughafen"); AddMenuItem(Teleports, 0, "NRG-Teststrecke"); ShowMenuForPlayer(Teleports, playerid); TogglePlayerControllable(playerid, 0); return 1; } return 0; } public OnPlayerSelectedMenuRow(playerid, row) { new Menu:Current = GetPlayerMenu(playerid); //Teleports if (Current == Teleports) { switch(row) { case 0:{ SetPlayerPos(playerid,383.8395,2544.9424,16.5391); TogglePlayerControllable(playerid, 1);} case 1:{ SetPlayerPos(playerid,-3144.5801,1741.7068,10.7973); TogglePlayerControllable(playerid, 0); SetTimer("mach_mich_warm", 3000, 0);} case 2:{ SetPlayerPos(playerid,2143.1462,-2542.4590,13.5468); TogglePlayerControllable(playerid, 1);} case 3:{ SetPlayerPos(playerid,-1347.3499,-232.4646,14.1484); TogglePlayerControllable(playerid, 1);} case 4:{ SetPlayerPos(playerid,1592.5164,1448.1063,10.8302); TogglePlayerControllable(playerid, 1);} case 5:{ SetPlayerPos(playerid,814.5911, -1434.7079, 22.1172); TogglePlayerControllable(playerid, 1);} } } return 1; } //ON MENU EXIT public OnPlayerExitedMenu(playerid) { new Menu:Current = GetPlayerMenu(playerid); if( Current == Teleports){ TogglePlayerControllable(playerid,1);} return 1; } forward mach_mich_warm(playerid); public mach_mich_warm(playerid) //mach_mich_warm weil dem User kalt ist, immerhin ist er eingefroren { TogglePlayerControllable(playerid, 1); return 1; } Also nur bei der DM arena. (case 1) Kann mir pls einer helfen? MFG, RoB |
Rafioso, 27.09.2009, 21:03 |
---|
Ok, dann ersetze mal gegen vll. klappt das. Robdeflop1 hat folgendes geschrieben: Kann es was mit return 1/0 zu tun haben? wofür is das eig? Sagt nur aus, ob der Rückgabewert der Funktion true(1) oder false(0) ist. Du kannst es von mir aus auch in 1 ändern, macht in diesem Beispiel glaube ich keinen Unterschied. |
Robdeflop1, 27.09.2009, 21:09 |
---|
Hi Thx für die schnelle antwort. Raus kommt das: Zitat: F:\Rockstar Games Server\GTA San Andreas\filterscripts\tele.pwn(46) : warning 217: loose indentation F:\Rockstar Games Server\GTA San Andreas\filterscripts\tele.pwn(46) : error 014: invalid statement; not in switch F:\Rockstar Games Server\GTA San Andreas\filterscripts\tele.pwn(46) : warning 215: expression has no effect F:\Rockstar Games Server\GTA San Andreas\filterscripts\tele.pwn(46) : error 001: expected token: ";", but found ":" F:\Rockstar Games Server\GTA San Andreas\filterscripts\tele.pwn(46) : error 029: invalid expression, assumed zero F:\Rockstar Games Server\GTA San Andreas\filterscripts\tele.pwn(46) : fatal error 107: too many error messages on one line Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase 4 Errors. :*( Trotzdem erstmal danke. MFG, RoB |
Rafioso, 27.09.2009, 21:10 |
---|
Ich glaube du hast beim Einfügen eine } gelöscht. //Edit PS. Eigentlich ist folgender Tag für Code gedacht (hier im Forum): [code]lalala[/code] |
Robdeflop1, 27.09.2009, 21:13 |
---|
uuuups *peinlich* Ich werds testen |
Robdeflop1, 27.09.2009, 21:44 |
---|
Hi Es funktioniert schonmal. Damit wars das aber leider nicht. Jetzt muss ich iwie machen, dass wenn man sich dahin teleportet, entweder ins terroristen team kommt, oda ins army team. Also per zufallsgenerator. Geht das iwie mit gRandomSpawn? Dass mit dem Skin un den Waffen müsste ich hinbekommen. Das SFTDM hab ich mir schonmal angeschaut, weiß aber nich wie ich das alles in einen kleinen command reinbekommen soll :*( Das soll dann aber nochmal unterteilt werden. Wenn man in z.B. das Army team kommt, soll es 5 slots geben. Also 5 spawns nebeneinnander. Wenn der eine belegt ist, kommt der spieler auf einen anderen slot. Un wenn kein slot mehr frei is, soll der spieler in das terroristen-team kommen. Wenn da auch nichtsmehr frei ist, dann soll eine nachricht kommen, dass die Arena besetzt ist. Ich hab aber kein plan von. Ich wäre seeehr dankbar wenn mir einer helfen könnte. MFG, RoB |
Robdeflop1, 28.09.2009, 16:25 |
---|
habs editiert, pls nochmal anschauen |
Robdeflop1, 29.09.2009, 16:01 |
---|
Hi Das mit dem Randomspawn hab ich mittlerweile hinbekommen : ) Jetzt aber nochwas. Ich weiß nit genau, wie ich es machen soll, dass wenn der player automatisch zur Pos1 gesetzt wird, dass der dann in einen slot verteilt wird. Also soll der dann, wieder umgesetzt werden^^ Ich weiß, komig, aber das muss klappen. Das is ein simples Randmom script: Zitat: new Float:RandomSpawn[][4] = { // Positions, (X, Y, Z and Facing Angle) {-2796.9854, 1224.8180, 20.5429, 192.0335}, {-2454.2170, 503.8759, 30.0790, 267.2932}, {-2669.7322, -6.0874, 6.1328, 89.8853} } Zitat: public OnPlayerSpawn(playerid) { new iRandom = random(sizeof(RandomSpawn)); // SetPlayerPos to the random spawn information SetPlayerPos(playerid, RandomSpawn[iRandom][0], RandomSpawn[iRandom][1],RandomSpawn[iRandom][2]); SetPlayerFacingAngle to the random facing angle information SetPlayerFacingAngle(playerid, RandomSpawn[iRandom][3]); return 1; } Das hab ich genommen. Jetzt will ich hinkriegen, dass der z.B. mit GetPlayerPos die pos bekommt. Un wenn die z.B. genau blabla.bla, blabla.bla, blabla.bla entspricht, soll dann mit dem command SetPlayerPos woanders hingeportet werden^^ Ich hab mir das iwie so vorgestellt: { getplayerpos(playerid);{ if ka-iwie-playerpos^^ = blabla.bla, blabla.bla, blabla.bla {setplayerpos(playerid, blabla.bla, blabla.bla, blabla.bla); else ka-iwie-playerpos^^ = blabla.bla, blabla.bla, blabla.bla {setplayerpos(playerid, blabla.bla, blabla.bla, blabla.bla}; else return 1; } ACHTUNG: IS NUR NE NOTIZ Versteht ihr was ich meine? könnt ihr mir das verwirklichen? ich hab ka wie ich das machen soll oO MFG, RoB |
Rafioso, 29.09.2009, 20:01 |
---|
Wenn man weiß, was für Parameter GetPlayerPos erwartet, ist das doch Kinderleicht |
Robdeflop1, 29.09.2009, 22:25 |
---|
Hi Thx : ) Ka, ich bin schon ne zeit lang am scripten (am lernen) aber das meiste versteh ich immernochnit richtig. Meistens weiß ich nit wie ich dat schreiben soll, aber im kopf weiß ich jans jenau wie dat sein muss. Naja, ich denk dass ich das schaffen werde^^ Es kommen bestimmt noch mehr fragen xD MFG, RoB |
Robdeflop1, 29.09.2009, 22:41 |
---|
HI Ich hab wieder ein problem xD Zitat: F:\Rockstar Games Server\GTA San Andreas\filterscripts\DMArenen.pwn(1369 -- 1370) : error 029: invalid expression, assumed zero Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase 1 Error. Das sind die zeilen 1369 -- 1370: Zitat: else(x == -3373.8662 && y == 1720.5365 && z == 10.7912) { Was is diesmal falsch? Ich habs schon mehrmals probiert. Danke im Vorraus auf eine Antwort! MFG, RoB |
Rafioso, 30.09.2009, 00:40 |
---|
Versuch mal die Koordinaten in einen String zu setzen. |
Robdeflop1, 30.09.2009, 14:56 |
---|
Hi oO, ein string??? Dafür bin ich mal wieder zu blöde -.- Wie geht das? MFG, RoB |
Robdeflop1, 30.09.2009, 16:49 |
---|
oO sry, wieder was doofes xD du hast ja "elseif" gesagt. Ich hab aber nur "esle" gemacht, weil ich dacht du hast dich verschrieben. Du hast aber nur vergessen zwichen else un if ein leerzeichen zu setzten xD Jetzt funzt es MFG, RoB |
Rafioso, 30.09.2009, 19:42 |
---|
Robdeflop1 hat folgendes geschrieben: Hi oO, ein string??? Dafür bin ich mal wieder zu blöde -.- Wie geht das? MFG, RoB Durchlesen: http://de.wikipedia.org/wiki/Zeichenkette#Syntax_f.C3.BCr_Literale Robdeflop1 hat folgendes geschrieben: oO sry, wieder was doofes xD du hast ja "elseif" gesagt. Ich hab aber nur "esle" gemacht, weil ich dacht du hast dich verschrieben. Du hast aber nur vergessen zwichen else un if ein leerzeichen zu setzten xD Jetzt funzt es MFG, RoB Jop. |
Robdeflop1, 30.09.2009, 22:10 |
---|
omg xD Das is ja einfach Das nächste mal wikipedia ich^^ MFG, RoB |