Beiträge von PermanenT

    Hey,
    du speicherst in den jeweiligen Parametern automatisch das was du eingibst.
    Sprich wenn du
    "/Ticket 0 Test 1000"
    pID = 0
    reason = Test
    Preis = 1000


    ocmd:ticket(playerid, params[])
    {
    new pID, reason[30], preis, string[128]; // Der Ordnung halber
    if(!isPlayerInFrakt(playerid, 1) || !isPlayerInFrakt(playerid, 14)) return SendClientMessage(playerid, rot, "Du bist nicht berechtigt ein Ticket auszustellen.");
    if(sscanf(params, "us[30]i", pID,reason,preis)) return SendClientMessage(playerid, gelb, "INFO: /ticket [playerid] [Grund] [Preis]");
    format(string,sizeof(string),"%s hat dir ein Ticket über $%i ausgestellt. Grund: %s", getPlayerName(playerid), reis, reasone);
    SendClientMessage(pID,-1,string); //Sendet der angegebenen ID den String
    return 1;
    }

    Guten Tag,
    erst einmal wie du deine Tabellen erstellst, ich glaube so ist es besser es kann sein das ich mich irre aber es sieht auf jeden Fall schöner aus als mit 100 formaten und tausend strings.


    new query[4000];//Der Query
    strdel(query,0,sizeof(query)); // Reinigt den Query
    strcat(query,"CREATE TABLE IF NOT EXISTS `factions` (`ID` INT(11) NOT NULL DEFAULT '0',`Geld` INT(11) NOT NULL DEFAULT '0',");
    strcat(query,"`Rank1` VARCHAR(24)DEFAULT 'Rang - 1' NOT NULL,`Rank2` VARCHAR(24) DEFAULT 'Rang - 2' NOT NULL,`Rank3` VARCHAR(24) DEFAULT 'Rang - 3' NOT NULL,`Rank4` VARCHAR(24) DEFAULT 'Rang - 4' NOT NULL,`Rank5` VARCHAR(24) DEFAULT 'Rang - 5' NOT NULL,`Rank6` VARCHAR(24) DEFAULT 'Rang - 6' NOT NULL,`Rank7` VARCHAR(24) DEFAULT 'Rang - 7' NOT NULL,`Rank8` VARCHAR(24) DEFAULT 'Rang - 8' NOT NULL,");
    strcat(query,"`Rank9` VARCHAR(24) DEFAULT 'Rang - 9' NOT NULL,`Rank10` VARCHAR(24)DEFAULT 'Rang - 10' NOT NULL,");
    strcat(query,"`Skin1` INT(11) NOT NULL DEFAULT '0',`Skin2` INT(11) NOT NULL DEFAULT '0',`Skin3` INT(11) NOT NULL DEFAULT '0',`Skin4` INT(11) NOT NULL DEFAULT '0',`Skin5` INT(11) NOT NULL DEFAULT '0',`Skin6` INT(11) NOT NULL DEFAULT '0',`Skin7` INT(11) NOT NULL DEFAULT '0',`Skin8` INT(11) NOT NULL DEFAULT '0',`Skin9` INT(11) NOT NULL DEFAULT '0',`Skin10` INT(11) NOT NULL DEFAULT '0',");
    strcat(query,"`Gehalt1` INT(11) NOT NULL DEFAULT '0',`Gehalt2` INT(11) NOT NULL DEFAULT '0',`Gehalt3` INT(11) NOT NULL DEFAULT '0',`Gehalt4` INT(11) NOT NULL DEFAULT '0',`Gehalt5` INT(11) NOT NULL DEFAULT '0',`Gehalt6` INT(11) NOT NULL DEFAULT '0',`Gehalt7` INT(11) NOT NULL DEFAULT '0',`Gehalt8` INT(11) NOT NULL DEFAULT '0',`Gehalt9` INT(11) NOT NULL DEFAULT '0'");
    strcat(query,",`Gehalt10` INT(11) NOT NULL DEFAULT '0',PRIMARY KEY (`ID`)) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;");
    mysql_query(query);


    Bei dem laden muss ich noch schauen


    //EDIT: 11.07.2014 um 14.43Uhr


    @Jack_O_Neill:


    Versuch es beim Laden mal bitte so
    Ich glaube es dürfte so funktionieren
    Ich bin davon ausgegangen das du MySQL R5 nimmst von G-Star wenn dies nicht so ist wäre es nett wenn du mir das Plugin nennst damit ich es anpassen kann.
    Ansonsten dürfte es so gehen


    stock LoadKassen()
    {
    new i,data[80],string[15];
    mysql_query("SELECT NULL FROM `factions`");
    mysql_store_result();
    while(mysql_retrieve_row())
    {
    mysql_fetch_field_row(data,"Geld"); TeamInfo[i+1][fKasse] = strval(data);
    mysql_fetch_field_row(data,"ID"); TeamInfo[i+1][fID] = strval(data);


    for(new f=0; f < 10; f++)
    {
    format(string,sizeof(string),"Rank%d",f+1)
    mysql_fetch_field_row(data,string);
    format(TeamInfo[i+1][fRank][f],124,"%s",data);
    print(TeamInfo[i+1][fRank][f]);
    }
    printf("Fraktion: %i",i);
    i++;
    }
    mysql_free_result();
    return 1;
    }

    New i, float:Nah, float:Distanz, Tanke;


    for (i; i <sizeof (Tankstellen); i++;)
    {
    Distanz = GetPlayerDistanceFromPoint (playerid, Tankstellen[i][tx] , Tankstellen[i][ty] , Tankstellen[i][tz]);


    if (floatcmp(Distanz, Nah) == 1)
    {
    Nah = Distanz;
    Tanke = i;
    }
    }
    SetPlayerCheckpoint (playerid,Tankstellen [Tanke][tx] ......);


    Dürfte klappen habe es nicht getestet und mit dem Handy geschrieben
    Bei Fragen Problemen einfach melden


    //Edit
    Ich habe irgendwo einen Fehler ich versuche diese grade zu finden es ist lediglich ein Denkfehler meiner seits bei der if abfrage
    Wir paar Minuten dauern

    ocmd:kick(playerid,params[])
    {
    new Grund[128],pID,string[128];
    if(sscanf(params,"us[128]",pID,Grund)) return Nachricht(playerid,Weiss,"Benutzen Sie : /Kick [Spielername (ID)] [Grund]");
    format(string,sizeof(string),"Der Spieler %s wurde vom Server gekickt. Grund : %s",pID,Grund);
    NachrichtAnAlle(Rot,string);
    format(string,sizeof(string),"Sie wurden vom Server gekickt. Grund : %s",Grund);
    Nachricht(pID,Rot,string);
    SetTimerEx("KickPlayer",100,0,"i",pID);
    return 1;
    }
    forward KickPlayer(playerid);
    public KickPlayer(playerid)return Kick(pID);


    Da der Kick ausgeführt wird bevor die Nachricht geschickt wird musst du einen Timer Starten sprich hier SetTimerEx.
    Er reicht ebenfalls wenn du ein String hast diesen kannst du dann öfters verwenden wie jetzt hier oben


    Hast du da grade fragen zu?

    ocmd:kick(playerid,params[])
    {
    new Grund[128],
    pID;//Ich würde dir raten es pID zu nennen, da dies nicht so lang ist und man sich gut merken kann für den weiteren verlauf
    if(sscanf(params,"us[128]",pID,Grund))return Nachricht(playerid,Weiss,"Benutzen Sie : /Kick [ Spielername/ID ] [ Grund ]"); //Hier gibt er durch das "return" die Nachricht aus wenn ein Parameter nicht berücksichtigt wurde
    Kick(pID); //Hier wird nun die angegebene ID oder der angegebene Name gekickt
    return 1;
    }

    COMMAND:test(playerid,params[])
    {
    new cmd[35];
    if(sscanf(params,"s[35]",cmd))
    {
    SendClientMessage(playerid,-1,"BENUTZE: /Test [Art]");
    SendClientMessage(playerid,-1,"ART: Test, Test2");
    return 1;
    }
    if(strcmp(cmd,"Test",true) == 0)
    {
    //Wenn du InGame "/Test Test" ein gegeben hast
    return 1;
    }
    else if(strcmp(cmd,"Test2",true) == 0)
    {
    //Wenn du InGame "/Test Test2" ein gegeben hast
    return 1;
    }
    return 1;
    }
    Brauchst du da noch eine genauere Erklärung zu?