Beiträge von Jeffry

    stock abfrage(pld,code){
    new pfad[64],string[256];
    format(pfad,sizeof(pfad),"/jGutschein/%d.ini",code);
    if(!dini_Exists(pfad))return SCM(pld,-1,"[ERROR:] Dieser Code wurde nicht gefunden!");
    format(string,sizeof(string),"Der Code %d enthält:\nLevel: %d\nNeon: %i\nGeld: %d$\n \n Neon: 1 = Vorhanden 0 = Nicht vorhanden | Geld und Level : 0 Nicht vorhanden",code,dini_Int(pfad,"Extralevel"),dini_Int(pfad,"Extraneon"),dini_Int(pfad,"Geld"));
    SCM(pld,-1,string);
    return 1;
    }
    Hier ist code ein Integer.

    if(!strcmp(cmdtext, "/m", 2, true))
    {
    if(IstSpielerInFraktion(playerid, 1))
    {
    if(!strlen(cmdtext[2])) return SendClientMessage(playerid, 0xFF0000FF, "Benutze: /m [Aufforderung]");
    else
    {
    if(cmdtext[2] == ' ')
    {
    if(!strlen(cmdtext[3])) return SendClientMessage(playerid, 0xFF0000FF, "Benutze: /m [Aufforderung]");
    else
    {
    new str[128];
    GetPlayerName(playerid, str, sizeof(str));
    format(str, sizeof(str), "%s(Megaphone): %s", str, cmdtext[3]);
    return SendClientMessageToAll(COLOR_YELLOW, str);
    }
    }
    }
    }
    }

    ShowPlayerDialog(playerid, DIALOG_GEBANNT, DIALOG_STYLE_MSGBOX, "Du wurdest gebannt!",str,"OK","");
    zu:
    return ShowPlayerDialog(playerid, DIALOG_GEBANNT, DIALOG_STYLE_MSGBOX, "Du wurdest gebannt!",str,"OK","");


    EDIT:
    Und:
    SetTimerEx("reban",100,0,"i",playerid);
    zu:
    return SetTimerEx("reban",100,0,"i",playerid);

    Ich hatte bei einem Test am Morgen genau den selben Fehler. Behoben hatte ich ihn so:
    #define db_host "localhost"
    #define db_user "root"
    #define db_pass ""
    #define db_db "samp"


    Das wäre allerdings die einzige Lösung die ich dir anbieten kann. Wenn das nicht tut, weiß ich nicht.

    Er will doch anzeigen lassen 'am 21.06.2013 um 21:13', oder nicht?
    Mit %s kann das nix werden.
    Versuch mal meine Variante.


    MySQL gibt ja schon den fertigen string zurück, also stimmt das schon.
    Und deine Variante wird nicht tun, da du 5 Platzhalter und 2 nur variablen hast. ;)


    Du liegst also meilenweit falsch.

    Kann man prüfen ob einem Spieler ein Checkpoint angezeigt wird ? Und wenn ja wie ? :D


    Aber klar doch. Wie? Das kommt ganz darauf an wie du die Checkpoints erstellst und dem Spieler zeigst. Generell würde ich es einfach so sagen:


    Dort wo der Checkpoint dem Spieler gezeigt, gesetzt oder erstellt (je nach System) wird, eine Spieler variable zu 1 setzen, wenn der Checkpoint wieder entfernt wird wieder zu 0 setzen. Das beträfe SetPlayerCheckpoint und DisablePlayerCheckpoint.

    CO2: Nachrichten dieser Größe sind unnötig. Das maximum liegt bei 144 zeichen. Außerdem kannst du auf sscanf verzichten.


    ocmd:achat(playerid,params[])
    {
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, ROT, "Du bist kein admin. ");
    if(!strlen(params)) return SendClientMessage(playerid, ROT, "Benutze: /achat (text)");
    new str[144];
    format(str, sizeof(str), "(Admin Chat) %s sagt: %s", SpielerName(playerid), params);
    for(new i = 0; i<MAX_PLAYERS; i++) if(IsPlayerAdmin(i)) SendClientMessage(i,FARBE, str);
    return 1;
    }

    if(PlayerInfo[playerid][TuT] == 0) {
    if(!strcmp(text,"ls",true)) {
    SCM(playerid,COLOR_TUT," ");
    format(string, 258, "UPDATE `"#SERVERTAG"_Main` SET `Heimat` = '0' WHERE `Name` = '%s'", UserName(playerid));
    mysql_query(string);
    SCM(playerid,COLOR_TUT,"Okay, sie kommen aus Las Santos.");
    SCM(playerid,COLOR_TUT," ");
    }
    if(!strcmp(text,"sf",true)) {
    SCM(playerid,COLOR_TUT," ");
    format(string, 258, "UPDATE `"#SERVERTAG"_Main` SET `Heimat` = '1' WHERE `Name` = '%s'", UserName(playerid));
    mysql_query(string);
    SCM(playerid,COLOR_TUT,"Okay, sie kommen aus San Fierro.");
    SCM(playerid,COLOR_TUT," ");
    }
    if(!strcmp(text,"niemand",true)) {
    SCM(playerid,COLOR_TUT," ");
    format(string, 258, "UPDATE `"#SERVERTAG"_Main` SET `Werber` = '%s' WHERE `Name` = '%s'",text, UserName(playerid));
    mysql_query(string);
    SCM(playerid,COLOR_TUT,"Okay, sie wurden von Niemandem geworben.");
    } else {
    SCM(playerid,COLOR_TUT," ");
    format(string, 258, "UPDATE `"#SERVERTAG"_Main` SET `Werber` = '%s' WHERE `Name` = '%s'",text, UserName(playerid));
    mysql_query(string);
    format(string, 258, "Okay, sie wurden von %s geworben.",text);
    SCM(playerid,COLOR_TUT,string);
    SCM(playerid,COLOR_TUT," ");
    SCM(playerid,COLOR_TUT,"Sorry das ich das fragen muss, aber wo kommen sie her?");
    SCM(playerid,COLOR_TUT,"Tippe für Las Santos 'LS' ein oder für San Fierro 'SF'.");
    }
    return true;
    }


    Entweder so, oder du weist eben deinen Fragen Nummern zu, und gibst die an eine Spieler Variable weiter. Dann überprüfst du Eingabe und die Variable.

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Es wurde zwar mit den Farben im Video etwas getrickst, ist aber sehr wohl möglich zu machen wie man sieht. Mit Veränderungen von Texturen sogar sehr gut. Ist eben ein sehr sehr großes Map-Projekt, dafür solltest du dir viel Zeit nehmen.
    Aber es ist definitiv machbar!


    Viel Erfolg! :thumbup:



    (Das Video ist nicht von mir, die Map besitze ich ebenso nicht, es dient nur zur Anschauung.)

    Generell würde ich so da dran gehen:


    new Float:VehicleHealth[MAX_VEHICLES] = {1000.0, ...};
    public OnPlayerUpdate(playerid)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new Float:health;
    new vid = GetPlayerVehicleID(playerid);
    GetVehicleHealth(vid, health);
    if(health != VehicleHealth[vid])
    {
    OnVehicleHealthUpdate(vid, health-VehicleHealth[vid]);
    }
    }
    return 1;
    }


    Würde dann so aussehen:
    forward OnVehicleHealthUpdate(vehicleid, Float:dHealth);
    public OnVehicleHealthUpdate(vehicleid, Float:dHealth)
    {
    printf("Vehicleid %d health Veränderung von %f.", vehicleid, dHealth);
    return 1;
    }


    Es sollte auch beachtet werden, bei OnVehicleSpawn und ähnlichen die Variable VehicleHealth zu verändern, sonst kann es möglicherweise zu unerwünschtem Verhalten kommen, muss aber nicht.

    firestormZ: Es wird schon ein Grund da sein...


    Also, dort wo:
    new WantedLabel[MAX_PLAYERS];
    steht, diesem musst du den Tag "PlayerText3D:" geben, also so:


    new PlayerText3D:WantedLabel[MAX_PLAYERS];

    In die Polizei.ini:


    Rang1=Hauptmann
    Rang2=...
    ...
    Rang10=Praktikant


    Laden:
    format(FraktionName[FraktionID][Rang1Name], 50, "%s", dini_Get("Polizei.ini", "Rang1"));
    format(FraktionName[FraktionID][Rang2Name], 50, "%s", dini_Get("Polizei.ini", "Rang2"));
    ...