Beiträge von Jeffry

    Nein, ich meinte die beiden fehlenden Floats hier:

    C
    new Float:pX,pY,pZ;



    Sowie das Komma anstatt der Klammer nach IsPlayerInRangeOfPoint und die fehlende Klammer am Ende der Zeile hier:

    C
    if(IsPlayerInRangeOfPoint,playerid, 3.0, pX, pY, pZ)

    Beide Fehler hat auch [DT]Sniper in seinem Post.




    Zwecks deiner Frage:
    Du kannst es dir auch so vorstellen:

    Das return beendet die Ausführung der Funktion bzw. des Callbacks.
    Das macht meinstens mehr Sinn, da der gewünschte Code ja ausgeführt wurde. Alternativ kann man es mit goto lösen, dann spart man sich die Variable im Gegensatz zu break:

    Kommt im Endeffekt auf's Gleiche raus.

    Der Code war syntaktisch falsch, den kannst du gar nicht kompiliert haben können.


    Versuche es so:

    C
    for(new p:p<MAX_PLAYERS;p++)
    {
    	new Float:pX,Float:pY,Float:pZ;
    	GetActorPos(MyActor[p], pX, pY, pZ);
    	if(IsPlayerInRangeOfPoint(playerid, 3.0, pX, pY, pZ)) 
    	{
    		return SendClientMessage(playerid, ROT, "Geld bekommen"); //Bekomme ich unzählige Male
    	}
    }
    SendClientMessage(playerid, ROT, "Niemand da"); //Ebenfalls

    So, ich habe dir jetzt mal ein paar Dinge zusammengestellt, ich hoffe dass du damit klar kommst und darauf aufbauen kannst, und vor allem dass keine Fehler drin sind, da ich schon lange nicht mehr mit dieser alten Version arbeite und den Code ohne Compiler geschrieben habe. Falls doch Probleme oder Fehler drin sind, sag einfach Bescheid.


    Diese mysql_SetInt Funktionen habe ich bewusst nicht genommen, da sie sehr unperformant sind. Die Erstellung der Tabellenstruktur habe ich etwas geändert, aber den Weg mit ALTER so gelassen wie du es angefangen hast. Du könntest es auch in einem Query schreiben, aber das bleibt dir überlassen.


    Unter den Includes die Deklarationen:


    Der stock um die Tabelle zu erstellen und mit Daten zu füllen.


    Die beiden Stocks um die Daten zu speichern:


    Der stock um die Daten aus der Datenbank zu laden (muss dann bei OnGameModeInit aufgerufen werden):


    Der Test-Befehl:


    Und für OnDialogResponse:


    Wie gesagt, wenn Probleme auftauchen einfach nochmal Bescheid sagen.

    Versuche es so:


    Wenn das nicht klappt, poste bitte was im Server Log steht.

    Wo kommt der Fehler? Im Befehl? Kopiere es so:


    Wenn nicht dort, wo dann? Poste den Code bitte.

    Versuche es so:

    C
    if(AFKCD[playerid] > 0) SCMF(playerid,COLOR_RED,"Du musst noch %i Sekunden warten bis du den Befehl wieder nutzen kannst!",AFKCD[playerid]), return 1;

    Zwecks dem OnPlayerText:
    Du musst dort return 0 einfügen, wenn die Meldung ausgegeben wird. Return 0 lässt die Chat Nachricht nicht anzeigen.