Ein neues Thema erstellen  Auf das Thema antworten  [ 15 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 28.04.2002, 18:35 

Registriert: 18.03.2002, 09:09
Beiträge: 41
Wohnort: Duisburg
Also ich will nach 10 sekunden die map zu map1 wechseln...
aber es klappt nicht...
Code:
public Mapwechsel(Timer,Repeat,HLUser,HLParam) 
       {
        new NewMap[MAX_NAME_LENGTH];
        convert_string(HLParam,NewMap,MAX_NAME_LENGTH);
        if(strlen(NewMap) != 0) {
        changelevel(NewMap);
        }
so sieht die function aus

Code:
set_timer("Mapwechsel",10,1,map1);
und so ruf ich sie auf...
warum klappts nicht?

_________________
Zitat: "ICK LIEBE EUCK AAAAALE" :-)


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 28.04.2002, 18:48 

Registriert: 17.12.2001, 01:00
Beiträge: 697
Was kommt denn für ein Fehler ? Wie ist map1 deklariert ?


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 28.04.2002, 19:25 
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 01:00
Beiträge: 3564
Wohnort: In der Nähe von Bonn
Willst Du es als String an die Timerfunktion übergeben ? Dann mache noch in den Timer-Aufruf set_timer("Mapwechsel",10,1,HLParam=map1)

map1 muss dann sowas sein wie "de_dust".

_________________
Fehleranalyse: Poste den Inhalt Deiner liblist.gam, (listen)server.cfg, adminmod.cfg, users.ini, vault.ini, plugin.ini von adminmod und plugins.ini von metamod. Benutze auch die Such-Funktion


Nach oben
   
BeitragVerfasst: 28.04.2002, 19:43 
AM.de Team
Benutzeravatar

Registriert: 22.10.2001, 01:00
Beiträge: 839
Zitat:
warum klappts nicht?
Vielleicht sollltest Du mal sagen, "was" nicht klappt. "Geht nicht" ist keine Fehlerbeschreibung. Ich gehe natuerlich davon aus, dass Du bereits admin_debug 3 gesetzt hast, um die Timerfunktion im Log zu ueberpruefen.

_________________
There are no stupid questions, only stupid people.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 29.04.2002, 13:13 

Registriert: 18.03.2002, 09:09
Beiträge: 41
Wohnort: Duisburg
Jo stimmt..
über solche Fehlerbeschreibungen reg ich micht normalerweise selbst auf ;)

Also, ich glaub Sir hat den Fehler gefunden ich probiers gleich mal aus..

_________________
Zitat: "ICK LIEBE EUCK AAAAALE" :-)


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 29.04.2002, 16:11 
AM.de Team
Benutzeravatar

Registriert: 23.11.2001, 00:00
Beiträge: 3842
Wohnort: Vor König Arthus
Hmmm,
reicht nicht einfach die Angabe map1? Ich meine, dass das automatisch an HLParam weitergegeben wird.
Und braucht man für changelevel nicht noch eine Zeitangabe als 2. Parameter? Oder ist der optional?

_________________
Der schwarze Ritter triumphiert immer...
WING-Clan


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 29.04.2002, 16:18 

Registriert: 17.12.2001, 01:00
Beiträge: 697
Die HLParam Zuweisung in der Funktion bezieht sich nicht auf den Timeraufruf, sondern auf die lokal bzw. global deklarierte HLParam-Variable.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 29.04.2002, 16:48 
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 01:00
Beiträge: 3564
Wohnort: In der Nähe von Bonn
Schon richtig.

Aber da er ja in seiner Timer-Funktion unbedingt HLParam haben will, muss er bei set_timer auch den HLParam übergeben, oder?

Ich habe es so gemacht und das HLParam in der Funktion mit Timeraufruf local definiert und dann nachher mit set_timer an die Timerfunktion übergeben.
Mit convert_string(HLParam,XXX,200) wieder local in die Timerfunktion an XXX übergeben. :-)

Klingt ein wenig durcheinander, glaube ich. Naja, ich hoffe, ihr versteht ungefähr wie ich es meine.

Man hätte es auch besser ein wenig globaler gestalten können. In dem Plugin, was er versucht, wäre es wahrscheinlich auch sinvoller.

*Oder hat Blacky nicht doch Recht :-)*

_________________
Fehleranalyse: Poste den Inhalt Deiner liblist.gam, (listen)server.cfg, adminmod.cfg, users.ini, vault.ini, plugin.ini von adminmod und plugins.ini von metamod. Benutze auch die Such-Funktion


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 29.04.2002, 18:41 

Registriert: 17.12.2001, 01:00
Beiträge: 697
Hmm, ich hab nicht verstanden wie Du das meinst. Ein HLParam ist beim Aufruf von set_timer nicht nötig, genauso wenig wie HLParam global definiert sein muss. Wichtig ist nur das die richtige Parameter übergeben werden, also wenn gefordert wird String, dann String übergeben , bei Integer, Integer übergeben usw.
Selbst bei der Deklaration der Timer-Funktion benötigt man kein HLParam, denn Namen sind Schall und Rauch. Genausogut kann man da auch "QuakeParam" hinschreiben.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 29.04.2002, 19:25 
AM.de Team
Benutzeravatar

Registriert: 22.10.2001, 01:00
Beiträge: 839
Zitat:
Ich habe es so gemacht und das HLParam in der Funktion mit Timeraufruf local definiert und dann nachher mit set_timer an die Timerfunktion übergeben.
Mit convert_string(HLParam,XXX,200) wieder local in die Timerfunktion an XXX übergeben. :-)

Klingt ein wenig durcheinander, glaube ich. Naja, ich hoffe, ihr versteht ungefähr wie ich es meine.
Ein wenig?! :o

_________________
There are no stupid questions, only stupid people.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 29.04.2002, 20:26 
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 01:00
Beiträge: 3564
Wohnort: In der Nähe von Bonn
Ich denke eben immer zu kompliziert und um 10 Ecken :oops:
Das muss ich mir mal abgewöhnen.

Aber ich will mich jetzt mal blamieren und erkläre es mal so, wie ich mir vorstelle, dass es funktioniert: (*Autsch...es tut mir leid Hr. Deutschlehrer*)

Definitiv ist doch zu diesem Plugin zu sagen, dass man gar keinen Param braucht.
Einfach map1 global definieren und in einer Funktion XYZ wird diese map1 gesetzt und in der Timerfunktion ABC verwendet.

Oder local in der Funktion XYZ map1 definieren und mit set_timer(x,10,1,map1) an die Timerfunktion ABC übergeben.
(Ich hoffe, ihm ist klar, was jetzt mit Integer oder String gemeint ist. In meinen Gedanken arbeite ich jetzt mal mit einem String.)

Die Daten dieser map1 stehen dann eben in dem HLParam der Timer-Funktion. Oder eben QuakeParam. Je nachdem, wie man die Timer-Funktion definiert hat.

Den convert_string braucht man nicht mehr machen.

So ist es doch richtig, oder? :oops: :oops:

_________________
Fehleranalyse: Poste den Inhalt Deiner liblist.gam, (listen)server.cfg, adminmod.cfg, users.ini, vault.ini, plugin.ini von adminmod und plugins.ini von metamod. Benutze auch die Such-Funktion


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 29.04.2002, 21:29 
AM.de Team
Benutzeravatar

Registriert: 22.10.2001, 01:00
Beiträge: 839
Doch, convert_string() ist noetig. Deswegen heisst es ja HLParam, damit man sich daran erinnert, dass das ein HL String ist, und keiner, den man einfach so verwenden kann.

_________________
There are no stupid questions, only stupid people.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 29.04.2002, 21:31 

Registriert: 17.12.2001, 01:00
Beiträge: 697
Sofern map1 global ist, benötigt man in der Tat kein convert_string, sofern Du das gemeint hast. Sicher kann man mit globalen Variablen Programmierschwächen umschiffen, es geht aber auch anders... :D


Nach oben
   
BeitragVerfasst: 29.04.2002, 21:40 
AM.de Team
Benutzeravatar

Registriert: 22.10.2001, 01:00
Beiträge: 839
Zitat:
Code:
set_timer("Mapwechsel",10,1,map1);
warum klappts nicht?
In diesem Falle ist es egal, aber Du solltest nochmal nachschlagen, wie set_timer() funktioniert. Kleiner Hinweis: der dritte Parameter heisst nicht umsonst Repeatcount.

_________________
There are no stupid questions, only stupid people.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 29.04.2002, 23:32 
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 01:00
Beiträge: 3564
Wohnort: In der Nähe von Bonn
Ok. Ich habe es jetzt wenigstens verstanden :-)

Ich muss unbedingt mal meine Plugins überarbeiten. In allen ist eine 1000% Optimierung möglich :oops:

_________________
Fehleranalyse: Poste den Inhalt Deiner liblist.gam, (listen)server.cfg, adminmod.cfg, users.ini, vault.ini, plugin.ini von adminmod und plugins.ini von metamod. Benutze auch die Such-Funktion


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 15 Beiträge ] 


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de
Original Design von "[ Half-Life Admin Mod © Alfred Reynolds 2000-2003 ] - [ site design by Jägermeister ]"