Kaliber: Was ist der Unterschied bzw. wo lag der Fehler? Würde ich gerne als Anfänger wissen 
Naja, wie schon gesagt, du musst Integer verwenden und keine Strings.
//Ein String ist das:
new string[24] = "Kaliber";
//String ist eine Variable mit 24 cells, sprich du kannst 23 Zeichen darein speichern + den null character \0.
new string[24] = 5; //Würde auch nicht gehen, da 5 kein string in diesem Fall ist.
//Ein Integer ist das:
new test = 5;
//test hat nun den Wert 5 und ist eine Zahl.
//Sowas geht nicht:
new test = "Kaliber"; //Das geht nicht, da test keine cells hat bzw kein String/Array ist.
Und nun zu der if-Abfrage:
new test = 5; //Deklaration einer Variable mit dem Wert 5
if(test == 5) //Prüfen ob der Wert von der Variable test 5 ist
{ //Klammern nicht vergessen, damit der Compiler die Code Blöcke zuordnen kann
//Hier der Code,wenn test 5 ist
}
else //Wenn nicht
{
//Hier der Code, wenn test nicht 5 ist
}
//Erweiterungen:
//In Pawn kannst du auch folgendes machen:
if(test == 5) SendClientMessage(playerid,-1,"hallo");
//Solange es sich um eine Zeile Code handelt, oder du den Code mit einem , verbindest, dann kannst du es auch in eine Zeile schreiben.
//Mit Komma verbinden:
if(test == 5) SendClientMessage(playerid,-1,"Hallo"),SendClientMessage(playerid,-1,"Test ist 5");
//Was es jetzt mit dem return auf sich hat:
//Return beendet den Callback oder die Funktion und gibt einen Wert zurück (Dieser wird nicht immer verarbeitet und ist z.B. bei Commandprozessoren irrelevant).
if(test == 5) return SendClientMessage(playerid,-1,"hi"); //Was SendClientMessage zurückgibt ist hier irrelevant!
SendClientMessage(playerid,-1,"Test!"); //Das wird nicht aufgerufen, da test = 5 ist und der code in der Abfrage schon die gesamte Funktion beendet.
//Edit:
//Es ist egal ob man es so schreibt:
new var;
new var5;
//Oder so schriebt:
new var,var5;
//Das macht für die amx keinen Unterschied
Hoffe das erklärt es so einigermaßen 
mfg. 