Ein neues Thema erstellen  Auf das Thema antworten  [ 13 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: wieso gehen bei mir kein if() ?
BeitragVerfasst: 31.03.2002, 09:05 

Registriert: 25.03.2002, 23:02
Beiträge: 131
Wohnort: Berlin
hi , also ich hab echt alles versucht aber ich hab volgenden code

...
convert_string(HLData,Data,MAX_DATA_LENGTH);
consgreet(Data); //dann gibt er mir aus was ich nach dem command geschrieben hab is auch 100 % ok

if(Data == 1)//Und genau hier kommen immer fehler.
{
consgreet("Jup die 1 , die is gut");
}

oder wenn ich

/*dann wehre Data admin_xxxx test 1*/
strgsep(Data, " ", "^"", Text, MAX_NAME_LENGTH, zahl, MAX_NUMBER_LENGTH);

if(zahl == 1) /*Auch hier kommt wieder mal der fehler*/
{
consgreet(Text);
consgreet("Jup die 1 , die is gut");
}
else
{
...
..
.
}


wesi einer was ich da machen muß ?


Nach oben
   
 Betreff des Beitrags: wieso gehen bei mir kein if() ?
BeitragVerfasst: 31.03.2002, 10:26 
HLDS Team
Benutzeravatar

Registriert: 26.11.2001, 01:00
Beiträge: 676
if(check_param(Data) == 1) {
execclient(Target,"say I'k bin oin Berlinr!");
}


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 31.03.2002, 11:09 

Registriert: 25.03.2002, 23:02
Beiträge: 131
Wohnort: Berlin
also beim einem script ging es nur beim 2ten nicht

new sekunden = timeleft();

if(check_param(sekunden) < 60)
{
...
..
.
}

was da nun wieder falsch ?


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 31.03.2002, 11:55 
HLDS Team
Benutzeravatar

Registriert: 26.11.2001, 01:00
Beiträge: 676
check_param(sParam)-->Gibt 1 wieder wenn sParam '1' oder 'on' ist, bei allem anderen '0'!!!

Bin mir nicht sicher, glaub aber das man das mit numtostr(num,str) machen muss. -->Convert the number stored in num to a string and store it in the variable str.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 31.03.2002, 12:25 

Registriert: 25.03.2002, 23:02
Beiträge: 131
Wohnort: Berlin
geht nicht :-(((


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 31.03.2002, 13:20 

Registriert: 25.03.2002, 23:02
Beiträge: 131
Wohnort: Berlin
ich weis aus php,js das man die id mit

time1 = set_timer("warn20", time - 1200, 0);

bekommt , also so is es bei php und js , nur die frage is wie muß das new time1[xxxxxxxx] aussehen ? und ich denk mal mit

kill_timer(time1);

löscht man den einen wieder


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 31.03.2002, 13:31 
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 01:00
Beiträge: 3564
Wohnort: In der Nähe von Bonn
richtig mit dem Timer...habe ich gerade noch im anderen Thread geschrieben.

Zum Data == 1

Die Data ist ein String. Also keine Zahl. Entweder machst Du die Data zur Zahl mit iData= numtostr(Data) oder Du setzt Data == "1", oder Du machst ein if(strcmp(Data,"1")==0) und und und...

es gibt soviele schöne string Manipulationen und Vergleiche. Hat daRope schön gemacht :-)

_________________
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: 31.03.2002, 13:36 

Registriert: 25.03.2002, 23:02
Beiträge: 131
Wohnort: Berlin
und hm , das dürfe aber auch nicht gegen weil du ja abfragst nach 1 , aber die timeid auch anders sein kann , und wo ist der kill_time ?


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 31.03.2002, 13:37 
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 01:00
Beiträge: 3564
Wohnort: In der Nähe von Bonn
richtig mit dem Timer...habe ich gerade noch im anderen Thread geschrieben.

Zum Data == 1

Die Data ist ein String. Also keine Zahl. Entweder machst Du die Data zur Zahl mit iData= strtonum(Data) oder Du setzt Data == "1", oder Du machst ein if(strcmp(Data,"1")==0) und und und...

es gibt soviele schöne string Manipulationen und Vergleiche. Hat daRope schön gemacht :-)

_________________
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: wieso gehen bei mir kein if() ?
BeitragVerfasst: 31.03.2002, 14:39 
AM.de Team
Benutzeravatar

Registriert: 22.10.2001, 01:00
Beiträge: 839
Ok, jetzt mal ganz langsam, bevor hier noch mehr Quatsch erzaehlt wird. Du solltest Dich dringend mit dem Konzept von Arrays (auf Deutsch auch Felder genannt) vertraut machen. Ausserdem waere es angebracht, die Fehlermeldungen, die der Compiler ausspuckt, auch zu lesen und versuchen sie zu verstehen, bzw. hier nachzufragen, was sie heissen.

So, nun kucken wir mal auf Deinen Code.
Code:
...
An dieser nicht ganz unwesentlichen Stelle wird wohl irgendwo die Deklaration des Arrays Data stehen. Array ist dabei das Stichwort.
Code:
convert_string(HLData,Data,MAX_DATA_LENGTH);
Hier wird das Array "Data" nun also gefuellt.
Code:
if(Data == 1)//Und genau hier kommen immer fehler.
Hier liegt ja auch der Fehler. Dieser Vergleich ist, wie wenn Du schreibst "wenn dieses Regal die Bibel ist". (Nicht ganz, aber vergiss mal eben die Spitzfindigkeiten). Was Du vergleichen musst, ist aber der _Inhalt_ des Regals, also etwas so: "Wenn das erste Buch in diesem Regal die Bibel ist".

Fuer Deinen Code saehe das dann so aus:
Code:
if (Data[0] == '1') 
Code:
if(zahl == 1) /*Auch hier kommt wieder mal der fehler*/
Selber Fehler. Du willst wissen, ob in dem Array "zahl" die Zahl 1 steht, aber in Buchstaben. Wenn jetzt nur die Ziffern 1 bis 9 vorkommen koennen, dann geht hier wieder:
Code:
if ( zahl[0] == '1' )
Es ist aber folgendes zu beachten. Diese Abfrage ist nicht nur fuer die Zahl 1, sondern auch fuer 14 oder 123 oder 1024 wahr. Denn alle fangen mit '1' an. Um die ganze Zahl zu Vergleichen, musst Du also den gesamten String vergleichen (was hier dasselbe wie ein Array ist). Dazu gibt es wieder verschiedene Moeglichkeiten. Dazu sollte man wissen, dass im Computer 1 nicht gleich '1' ist. Es gibt im Rechner die Ziffer 1. Was Du hier hast, ist aber ein String. Das heisst, Du hast Buchstaben (Zeichen) da stehen, also das Zeichen '1'. Das ist nicht gleich der Zahl 1. (Das Zeichen '1' entspricht im ASCII Code der Zahl 49.

Du kannst jetzt entweder den String "zahl" mit einem anderen String vergleichen, oder den String "zahl" in eine Zahl umwandeln und diese dann mit einer anderen Zahl vergleichen.
Also entweder so:
Code:
if ( strcmp( zahl, "1" ) == 0 ) /*strcmp() gibt bei Gleichheit 0 zurueck*/
oder so:
Code:
new number = numtostr( zahl );
if ( number == 1 )
In Deinem besonderen Fall, kann man auch etwas machen, was schneller ist, weil man sich extra Funktionsaufrufe spart. Ein String endet immer mit der Zahl 0. Und zwar wirklich die Zahl 0, nicht das Zeichen fuer die Zahl 0, (was in ASCII wieder der Zahl 48 entspraeche). Das stellt man als Zeichen so dar: '^0'. Um zu pruefen, ob ein String "zahl" dem String "1" entspricht, kannst Du also kucken, ob am Anfang von dem String das Zeichen '1' steht und ob der String dann endet. Also ob dann eine 0 kommt. In Code sieht das dann so aus:
Code:
if ( zahl[0] == '1' && zahl[1] == '^0' )
So, wenn Du jetzt noch weisst, wo oben und unten ist, darfst Du weiter programmieren. ;)

_________________
There are no stupid questions, only stupid people.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 31.03.2002, 20:00 
AM.de Team
Benutzeravatar

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

Habe ich denn jetzt soviel Falsches geschrieben ?

Ich will ja auch noch lernen...

Ok. Das Array-Verständnis bei mir ist wohl doch noch was rudimetär.

_________________
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: 31.03.2002, 20:44 
AM.de Team
Benutzeravatar

Registriert: 22.10.2001, 01:00
Beiträge: 839
Zitat:
hm...

Habe ich denn jetzt soviel Falsches geschrieben ?
Nein, hast Du nicht. Ich hab mich auch nicht auf Dich bezogen. (Bei Deinem Posting angekommen habe ich schon nur noch die Haelfte gelesen ;))

_________________
There are no stupid questions, only stupid people.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 01.04.2002, 00:02 
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 01:00
Beiträge: 3564
Wohnort: In der Nähe von Bonn
Dabei habe ich Dich doch so schön gelobt für Deine string-Manipulationen ;-)

Ok. Hauptsache ist, es ist langsam verstanden worden, wie man einen string handled

_________________
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  [ 13 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 ]"