Nachrichten auch an neuen Spieler schicken, der connectet
Übersicht

![]() |
mas93Betreff: Nachrichten auch an neuen Spieler schicken, der connectet |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
Ich mach gerade ein UDP Spiel. Wenn ich es zu 2. Spiele gibt es kein Problem. Ich gebe meinem Freund per messenger meine ip und er mir seine Dann tragen wir das in bb ein(Gibts auch ne andere möglichkeit??). Dann müssen wir beide auch noch verschiedene Ports einstellen(also send und empfangsport vertauschen).(Auch hierfür muss es ne einfachere lösung geben^^) Nun kann es losgehen und ich komm zur eigentlichen frage: Wenn jetzt ein neuer Spieler beitreten will, dann muss er das ja irgendwie den Spielenden bekannt geben, und die müssen dann ja immer einem mehr ne nachricht schicken. Wie mache ich das am besten?? Wäre nett wenn ihr mir diese Fragen beantworten könntet mfg Mariuis |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
^^
Das mit den Ports musst du nicht machen! Also nur wenn du es auf einem PC spielen willst! Mach einfach Port=8000 und SendPort=8000 Dann gehts auch! Das mit den Ports war nur für das testen auf einem PC, weil man nicht 2 mal die selben Ports belegen kann! (Mas93 weiß wovon ich rede) Wenn ein neuer Spieler beitritt, sollte er einfach eine Nachricht schicken! z.B. "Login"+ Den Spielername! Bei allen wird dan ein Spieler mit dem Spielername erstellt, und der eine darf ihn kontrollieren,....... Wenn 2 Spieler den selben namen haben, musst du noch ne IF- Abfrage machen, ob es den Namen schon gibt! |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
ok, aber wie weiß der andere Spieler die ip adressen der beiden die schon spielen? | ||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Entweder auch per Messenger ![]() oder du speicherst die IPs auf einem zentralen Server, auf den alle Spieler zugreifen können. |
||
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
hmm, Ich hab keinen server.
Und das wäre für mich wahrscheinlich auch zu schwer mit dem server. Gibts keine andere möglichkeit? |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
wenn ein spieler per udp ne nachricht schickt bekommt doch der andere die ip mit von dem die nachricht kommt, oder? dann würde das einladen system greifen:
host: Bildschirm... Code: [AUSKLAPPEN] Einladen Modus
-------------------- tippen sie hier die ip ein und esc um abzubrechen: und im programm sowas wie Code: [AUSKLAPPEN] repeat
writeline "hallo" sendudpmessage an eingetippte ip for count= 1 to 5 warte auf antwort if antwort=gekommen then mach(mal,spiel,an) oder Lad(noch,einen,ein) if keyhit(1) then error=true delay 1000;client zeit geben next until error eingeladener: Code: [AUSKLAPPEN] Erwarte einladung (esc bricht den vorgang ab)....
Code: [AUSKLAPPEN] repeat
if recvudpmsg() hostip=UDPMSGIP() writeline "HAB DICH GEHÖRT" sendudpmsg an hostip gehe zu game endif until keyhit(1) game im client modus: wenn nach dem spielstart innerhalb von 20 sec noch keine positionsangabe etc vom host kam einfach nochmal Code: [AUSKLAPPEN] writeline "HAB DICH GEHört"
sendudpmsg an hostip |
||
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
ok, dann werd ichs wohl mit einladen versuchen.
Aber wie kann ich testen ob in einem Stream am anfang steht: Code: [AUSKLAPPEN] New Player Connected:18248264826 So und jetzt soll das c.a so aussehen: Code: [AUSKLAPPEN] If im stream am anfang steht New Player Connected then Die ip danach in nem neuen typ spechern(Das im type speichern is kein problem,nur die hinter NPC auszulesen) wäre nett wenn ihr mir da helfen könntet mfg Marius |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dafür gibt es eine Funktion! Also wenn du das in einem String schicken willst! Du kannst es aber auch anders machen, indem du mehrere Strings und so schickst!
Zitat: A=ReadString(stream)
If A="New" Name=ReadString(stream) Leben=ReadInt(stream) [...] endif |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
nein, es wäre schon besser wenn alles in einem string wäre.
Wiesst du wie die funktion heißt? |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
mid ^^
Mid(txt,1[=anfang des strings],instr(txt,"New Player Connected:")+1) wobei txt das ist was im string steht |
||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
=D
Ist nicht von mir aber trotzdem schön ![]() Zitat: Function nwort$(byte$, wort)
If wort < 1 Then Return "" trenn$ = " " ;<-- Trennzeichen byte$ = byte$ + trenn$ w = 0 pos = 1 While w < wort And pos > 0 While Mid$(byte$, pos, 1) = trenn$ pos = pos + 1 Wend x = pos y = Instr(byte$, trenn$, pos) pos = y w = w + 1 Wend Return Mid$(byte$, x, y - x) End Function |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
ok, hat eine ipadresse immer gleichviel stellen wenn sie als float ist??
Wenn ja wie viele? Und wenn sie ganz normal ist schon,oder? |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
wie wärs wenn du einfach von dem doppelpunkt bis zumende alles ausliest
mid (txt,instr(txt,":")+1) |
||
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
hmm ich habs mal so getestet.
Funktioniert aber nicht Code: [AUSKLAPPEN] Graphics 640,480,16,2 Global mail$="NewPlayerConnected0120401024" Global npctest$ Global cip% npctest$=Mid$ (mail$, 1, 18) Repeat If npctest="NewPlayerConnected" Then cip%=Mid (mail$,Instr(mail$,":")+1) Text 20,20,npctest Text 30,30,cip Until KeyHit(1) was hab ich falsch gemacht? |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wo ist denn da ein DOPPELPUNKT -.- | ||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
hatte den noch im kopf
New Player Connected:18248264826 bei NewPlayerConnected18248264826 nimmt man eben das "d" |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group