Beiträge von Kasakow


    Aber dies kann man doch noch viel besser schreiben!


    SetTimerEx("@UnfreezeP",15000,0,"i",playerid);
    @UnfreezeP(playerid); @UnfreezeP(playerid)return TogglePlayerControllable(playerid, 1);

    Bau das ganze mal so auf!



    ocmd:crewerstellen(playerid,params[])
    {
    new name[55];
    if(sscanf(params,"s",name))return SendClientMessage(playerid,ORANGE," Benutzung: /crewerstellen [Crewname]");
    new datei[75];
    format(datei,75,"/Crews/%s.ini", name);
    if(dini_Exists(datei))return SCM(playerid, ORANGE, " Gibts schon!");
    new string[90];
    format(string, sizeof(string), "SYSTEM: Die Crew mit dem Namen %s wurde erfolgreich erstellt!", name);
    SendClientMessage(playerid, GRUN, string);
    SendClientMessage(playerid, ORANGE, "• CREW SYSTEM •");
    SendClientMessage(playerid, ORANGE, " Lade nun Leute mit /ceinladen, in deiner Crew ein!");
    dini_Create(datei);
    }

    Benutze mal dini_get

    format(Crewpfad,sizeof(Crewpfad),"/Crews/%i.ini", CrewID++);
    format(tmp_name, size, "%s", dini_Get(Crewpfad, "Name");
    printf("Der name der Crew lautet %s", tmp_name);


    Dies sollte so Funktionieren :thumbup:

    if(!IsPlayerConnected(giveplayerid))return SendClientMessage(playerid, COLOR_GREY, " Dieser Spieler ist nicht in deiner Nähe !");
    if(giveplayerid == INVALID_PLAYER_ID)return 1;


    Was machst du denn hier ?


    Erst fragst du ab, ob der Spieler nicht Connected ist, dann übergibst du die Spielernachricht: Dieser Spieler ist nicht in deiner Nähe !
    Anschließend fragst du ab ob giveplayerid eine ungültige ID ist!
    Wo bleibt der sinn ?(


    Ich würde dir noch empfehlen das ganze so zu machen:
    ocmd:kiss(playerid,params[]){
    new giveplayerid, Float:pPos[3];
    if(sscanf(params,"u",giveplayerid))return SendClientMessage(playerid, COLOR_GRAD1, "Benutze: /kiss [playerid]");
    if(giveplayerid == INVALID_PLAYER_ID)return SendClientMessage(playerid,-1,"Der Spieler ist nicht online!");
    GetPlayerPos(giveplayerid, pPos[0], pPos[1], pPos[2]);
    if(GetPlayerDistanceFromPoint(playerid, pPos[0], pPos[1], pPos[2]) > abstand)return SendClientMessage(playerid,-1,"Du bist nicht in der nähe von dem Spieler!");
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)),GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* Du bietest %s einen Kuss.", giveplayer),SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* %s bietet dir einen Kuss. (/kissannehmen)", sendername),SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
    TogglePlayerControllable(playerid,false); // Hier wird er gefreezed
    }


    ocmd:kissannehmen(playerid){
    new pPos[3];
    GetPosVorSpieler(KissAntrag[playerid], 5.0, pPos[0], pPos[1], pPos[2]);
    if(GetPlayerDistanceFromPoint(playerid, pPos[0], pPos[1], pPos[2]) > 2.9)return 1;
    SetPlayerPos(playerid, pPos[0], pPos[1], pPos[2]);
    TogglePlayerControllable(KissAntrag[playerid], 1);
    ApplyAnimation(playerid,"KISSING","Playa_Kiss_02",4.1,0,0,0,1,1);
    ApplyAnimation(KissAntrag[playerid],"KISSING","Grlfrd_Kiss_02",4.1,0,0,0,1,1);
    return KissAntrag[playerid] = 0;
    }


    Mit strcmp & strtok ist das nicht gerade anders :thumbup:

    Jeffry


    Er zeigt aber nicht alles an ;)



    print:

    Code
    [14:27:04] row_data: 4|Michael_Weiner|37.4.93....
    [14:27:04] name:  | ip: 
    [14:27:04] row_data: 5|fefef|121
    [14:27:04] name: Michael_Weiner | ip: 37.4.93....
    [14:27:04] row_data: 7|testrow|121212
    [14:27:04] name: fefef | ip: 121



    Quellcode:
    while(mysql_fetch_row_format(row_data))
    {
    printf("row_data: %s", row_data), printf("name: %s | ip: %s", tmp_var[0], tmp_var[1]);
    mysql_fetch_field_row(tmp_var[0], "Name");
    mysql_fetch_field_row(tmp_var[1], "IP");
    format(string, sizeof(string), "%sName: %s | IP: %s\n",string, tmp_var[0], tmp_var[1]);
    }

    Jeffry


    Also so klappt es nicht!

    while(mysql_fetch_row_format(row_data)){mysql_fetch_field_row(tmp_var[0], "Name"), mysql_fetch_field_row(tmp_var[1], "IP");}
    format(string, sizeof(string), "Name: %s | IP: %s\n%s", tmp_var[0], tmp_var[1], string);


    Er zeigt nur einen an!


    Guten Tag,


    Mein Name lautet CIBERKILLER.
    Und zwar bräuchte ich mal einen Hinweis/Tipp wie man mit MySQL R5 eine Liste von Rows machen kann, anschließend Daten von diesem Row herausgeben kann.
    Aktuell ist meine Whitelist (Whitelist anschauhen für Projektleiter) so aufgebaut:


    case 0:
    {
    mysql_query("SELECT * FROM `Whitelist`");
    mysql_store_result();
    rows=mysql_num_rows();
    if(!rows){ShowPlayerDialog(playerid, DIALOG_WHITELIST_LISTED, DIALOG_STYLE_MSGBOX, "{0055FF}Weise Liste", "{FFFFFF}Aktuell sind keine Spieler auf der Weißen Liste!", "Schließen", "");}
    else if(rows>0)
    {
    new tmp_var[2][24], string[sizeof(rows)*60];
    for(new i;i<rows;i++)
    {
    if(i==INVALID_PLAYER_ID)continue;
    if(sStats[i][Eingeloggt]==0)continue;
    if(IsPlayerNPC(i))continue;
    if(sStats[i][sWhitelist]!=true)continue;
    format(tmp_var[0], 24, "%s", mysql_GetString("Whitelist", "Name", "IP", GetIP(i)));
    format(tmp_var[1], 24, "%s", mysql_GetString("Whitelist", "IP", "Name", GetName(i)));
    format(string, sizeof(string), "Name: %s | IP: %s\n%s", tmp_var[0], tmp_var[1], string);

    }
    ShowPlayerDialog(playerid, DIALOG_WHITELIST_LISTED, DIALOG_STYLE_LIST, "{0055FF}Weise Liste", string, "Schließen", "");
    }
    mysql_free_result();
    }


    Wenn ein Spieler Online ist, wird er angezeigt, es muss einen IP Eintrag machen.
    Wenn er Online ist und alle Informationen vorhanden sind, dann wird er einwandfrei angezeigt!
    Das ganze ist mit mysql_getint geregelt, dabei wollte ich auchmal fragen, wie ich das auslesen in der for schleife einfach machen kann!



    Whitelist:


    Er soll alle Rows + Infos anzeigen ;)



    Mit freundlichen Grüßen,


    CIBERKILLER