Beiträge von Kinimod

    Moin^^


    Hatte vor den Leader einer Fraktion alle Fraktionautos respawnen zu lassen.


    Dazu habe ich mir den folgenden Code entwickelt:


    if(GetPlayerFraktion(playerid)==6)
    {
    for(new car;car<=sizeof(gscars);car++){
    SetVehicleToRespawn(gscars[car]);
    }


    }


    Beim Erstellen der cars habe ich es folgendermaßen gemacht:
    new gscars[MAX_VEHICLES];
    gscars[AddStaticVehicle(401,2489.4578,-1682.7977,13.1143,272.2343,6,6)]; // GSCar1


    Doch die Fahrzeuge respawnen nicht.


    Woran liegt es?


    Danke im Voraus,


    Gruß

    Moin,
    habe mich nach folgendem Thread gerichtet:


    und folgenden Code:


    SendClientMessage(playerid,ROT,"debug1");
    new query[300];
    format(query,sizeof(query),"SELECT * FROM ´cars´");
    mysql_query(query);
    mysql_store_result();


    if(!mysql_num_rows()) // hier ist nun die Abfrage ob die Einträge NULL ergeben bzw. ob es KEINE Einträge gibt
    {
    SendClientMessage(playerid,ROT,"debug2");
    mysql_free_result(); //Muss da bleiben weil -> Siehe mysql_store_result
    return 0;
    }
    new result[50];
    while(mysql_retrieve_row()) //this will be running until all rows are processed
    {
    SendClientMessage(playerid,ROT,"debug3");

    mysql_fetch_field_row(result,"x");
    new Float:car_x = floatstr(result);
    strdel(result,0,sizeof(result));

    mysql_fetch_field_row(result,"y");
    new Float:car_y = floatstr(result);
    strdel(result,0,sizeof(result));

    mysql_fetch_field_row(result,"z");
    new Float:car_z = floatstr(result);
    strdel(result,0,sizeof(result));

    mysql_fetch_field_row(result,"color1");
    new car_color1 = strval(result);
    strdel(result,0,sizeof(result));

    mysql_fetch_field_row(result,"color2");
    new car_color2 = strval(result);
    strdel(result,0,sizeof(result));

    mysql_fetch_field_row(result,"modelid");
    new car_modelid = strval(result);
    strdel(result,0,sizeof(result));

    /*mysql_fetch_field_row(result,"tank");
    new car_tank = strval(result);
    strdel(result,0,sizeof(result));*/

    mysql_fetch_field_row(result,"damage");
    new car_damage = strval(result);
    strdel(result,0,sizeof(result));


    /*new vehid=AddStaticVehicle(car_modelid,car_x,car_y,car_z,0,car_color1,car_color2);
    SetVehicleParamsEx(vehid,0,0,0,1,0,0,0);
    SetVehicleHealth(vehid,car_damage);*/
    }

    mysql_free_result();


    Jedoch funktioniert die Abfrage nicht ganz, denn die While Schleife wird nicht ausgeführt.


    Was mache ich falsch?


    Gruß

    Moin,


    Ich hatte vor beim /goto Befehl mich nicht an der genauen Position des Spielers zu spawnen, sondern hinter ihm


    Wie ist das möglich, also wie muss ich die x,y, oder z Position ändern?


    Gruß

    Ups okay thx :D


    Dachte, weil von Haus aus kein Ordner mitgeliefert wurde, würde das in Linux anders funktionieren.


    Danke für die Hilfe :>


    Gruß

    Moin,
    Habe die mysql.so in den Meinordner gepackt, da es im Linuxserver keinen Plugins Ordner gibt.
    Doch folgendes:

    Zitat

    [14:55:34] Loading plugin: mysql.so
    [14:55:34] Failed (plugins/mysql.so: cannot open shared object file: No such file or directory)


    Was kann ich tun?


    Danke schonmal im Voraus.


    Gruß

    Also das Problem besteht ja auch außerhalb von PAWN, jedoch nur, wenn es geöffnet ist.


    Installiert hatte ich nach der Neuinstallation von Windows nichts.



    LeijaT mein ich doch xD


    //EDIT: LeijaT: Du könntest echt recht habe mit der Strg Taste. Weil ab und zu, wenn ich die Esc Taste drücke, öffnet sich das Startmenü.


    Dann weiß ich ja wenigstens woran es liegt. xD


    Danke für die Hilfe.



    Gruß

    Moin,


    Hoffe ich bin hier im richtigen Bereich. xD


    Also es geht um folgendes:


    Wenn ich PAWN starte habe ich massive Probleme mit den Tasten.


    Das Ganze ist seit ein paar Tagen.
    Da ich dachte, dass es an einem simplen Schadprogramm liegt, hatte ich meinen PC neuinstalliert.


    Doch danach das gleiche Problem.


    Bis mir aufgefallen ist, dass das Problem nur besteht, wenn PAWN geöffnet ist.


    Beispielsweise wenn ich mit Strg+F die Suchfunktion öffne, und die Backspace Taste drücke, erscheinen solche kleinen Zeichen:


    http://screencloud.de/-s37gdofelu


    Auch wenn ich andere Tasten drücke, funktionieren diese ebenfalls nicht korrekt.


    Was kann ich dagegen tun?


    Gruß

    Achja und wenn spieler x spieler y umbringt soll spieler x 1 level up bekommen


    bei OnPlayerDeath.
    Da haste die hübschen Parameter "killerid" und "playerid"(gekillter).

    Hallo,


    ich bin momentan an einem Paintballsystem dran.


    Doch wenn ich beispielsweise sterbe, werde ich respawnt, wie es sein sollte, die Anderen im Paintball sehen mich aber immernoch, wie ich auf dem Boden mit 0 HP liege.


    Was mache ich falsch?


    Hier der Code:


    // This is a comment
    // uncomment the line below if you want to write a filterscript
    #define FILTERSCRIPT


    #include <ocmd>
    #include <dini>
    #include <a_http>
    #include <a_samp>


    #define Türkis 0x73D8FFFF


    forward Death(playerid);
    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Paintball System by Dominik S. wurde erfolgreich geladen.");
    print("--------------------------------------\n");
    return 1;
    }


    public OnPlayerDeath(playerid, killerid, reason)
    {
    if(GetPVarInt(playerid,"Paintball")==1)
    {
    SetPVarInt(playerid,"PaintballPoints",GetPVarInt(playerid,"PaintballPoints")-1);
    SetPVarInt(killerid,"PaintballPoints",GetPVarInt(killerid,"PaintballPoints")+1);

    SetPlayerPos(playerid,2169.461181,1618.798339,999.976562);
    }
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/pbenter", cmdtext, true, 10) == 0)
    {
    SetPlayerPos(playerid,2169.461181,1618.798339,999.976562);
    SetPlayerInterior(playerid,1);
    SetPlayerArmour(playerid,0);
    SetPVarInt(playerid,"Paintball",1);
    GivePlayerWeapon(playerid,24,500);
    GivePlayerWeapon(playerid,29,500);
    GivePlayerWeapon(playerid,30,500);
    return 1;
    }
    if (strcmp("/pbpoints", cmdtext, true, 10) == 0)
    {
    new Points[20];
    format(Points,sizeof(Points),"Paintballpunkte: %i",GetPVarInt(playerid,"PaintballPoints"));
    SendClientMessage(playerid,Türkis,Points);
    return 1;
    }
    else if(strcmp("/pbexit", cmdtext, true, 10) == 0)
    {
    SetPVarInt(playerid,"Paintball",0);
    SetPlayerPos(playerid,1164.5265,-1754.2371,13.5892);
    SetPlayerInterior(playerid,0);
    SetPlayerFacingAngle(playerid,212.2234);
    }
    return 0;
    }


    stock sscanf(sstring[], format[], {Float,_}:...)
    {
    #if defined isnull
    if (isnull(sstring))
    #else
    if (sstring[0] == 0 || (sstring[0] == 1 && sstring[1] == 0))
    #endif
    {
    return format[0];
    }
    #pragma tabsize 4
    new
    formatPos = 0,
    sstringPos = 0,
    paramPos = 2,
    paramCount = numargs(),
    delim = ' ';
    while (sstring[sstringPos] && sstring[sstringPos] <= ' ')
    {
    sstringPos++;
    }
    while (paramPos < paramCount && sstring[sstringPos])
    {
    switch (format[formatPos++])
    {
    case '\0':
    {
    return 0;
    }
    case 'i', 'd':
    {
    new
    neg = 1,
    num = 0,
    ch = sstring[sstringPos];
    if (ch == '-')
    {
    neg = -1;
    ch = sstring[++sstringPos];
    }
    do
    {
    sstringPos++;
    if ('0' <= ch <= '9')
    {
    num = (num * 10) + (ch - '0');
    }
    else
    {
    return -1;
    }
    }
    while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
    setarg(paramPos, 0, num * neg);
    }
    case 'h', 'x':
    {
    new
    num = 0,
    ch = sstring[sstringPos];
    do
    {
    sstringPos++;
    switch (ch)
    {
    case 'x', 'X':
    {
    num = 0;
    continue;
    }
    case '0' .. '9':
    {
    num = (num << 4) | (ch - '0');
    }
    case 'a' .. 'f':
    {
    num = (num << 4) | (ch - ('a' - 10));
    }
    case 'A' .. 'F':
    {
    num = (num << 4) | (ch - ('A' - 10));
    }
    default:
    {
    return -1;
    }
    }
    }
    while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
    setarg(paramPos, 0, num);
    }
    case 'c':
    {
    setarg(paramPos, 0, sstring[sstringPos++]);
    }
    case 'f':
    {


    new changestr[16], changepos = 0, strpos = sstringPos;
    while(changepos < 16 && sstring[strpos] && sstring[strpos] != delim)
    {
    changestr[changepos++] = sstring[strpos++];
    }
    changestr[changepos] = '\0';
    setarg(paramPos,0,_:floatstr(changestr));
    }
    case 'p':
    {
    delim = format[formatPos++];
    continue;
    }
    case '\'':
    {
    new
    end = formatPos - 1,
    ch;
    while ((ch = format[++end]) && ch != '\'') {}
    if (!ch)
    {
    return -1;
    }
    format[end] = '\0';
    if ((ch = strfind(sstring, format[formatPos], false, sstringPos)) == -1)
    {
    if (format[end + 1])
    {
    return -1;
    }
    return 0;
    }
    format[end] = '\'';
    sstringPos = ch + (end - formatPos);
    formatPos = end + 1;
    }
    case 'u':
    {
    new
    end = sstringPos - 1,
    id = 0,
    bool:num = true,
    ch;
    while ((ch = sstring[++end]) && ch != delim)
    {
    if (num)
    {
    if ('0' <= ch <= '9')
    {
    id = (id * 10) + (ch - '0');
    }
    else
    {
    num = false;
    }
    }
    }
    if (num && IsPlayerConnected(id))
    {
    setarg(paramPos, 0, id);
    }
    else
    {
    #if !defined foreach
    #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
    #define __SSCANF_FOREACH__
    #endif
    sstring[end] = '\0';
    num = false;
    new
    name[MAX_PLAYER_NAME];
    id = end - sstringPos;
    foreach (Player, playerid)
    {
    GetPlayerName(playerid, name, sizeof (name));
    if (!strcmp(name, sstring[sstringPos], true, id))
    {
    setarg(paramPos, 0, playerid);
    num = true;
    break;
    }
    }
    if (!num)
    {
    setarg(paramPos, 0, INVALID_PLAYER_ID);
    }
    sstring[end] = ch;
    #if defined __SSCANF_FOREACH__
    #undef foreach
    #undef __SSCANF_FOREACH__
    #endif
    }
    sstringPos = end;
    }
    case 's', 'z':
    {
    new
    i = 0,
    ch;
    if (format[formatPos])
    {
    while ((ch = sstring[sstringPos++]) && ch != delim)
    {
    setarg(paramPos, i++, ch);
    }
    if (!i)
    {
    return -1;
    }
    }
    else
    {
    while ((ch = sstring[sstringPos++]))
    {
    setarg(paramPos, i++, ch);
    }
    }
    sstringPos--;
    setarg(paramPos, i, '\0');
    }
    default:
    {
    continue;
    }
    }
    while (sstring[sstringPos] && sstring[sstringPos] != delim && sstring[sstringPos] > ' ')
    {
    sstringPos++;
    }
    while (sstring[sstringPos] && (sstring[sstringPos] == delim || sstring[sstringPos] <= ' '))
    {
    sstringPos++;
    }
    paramPos++;
    }
    do
    {
    if ((delim = format[formatPos++]) > ' ')
    {
    if (delim == '\'')
    {
    while ((delim = format[formatPos++]) && delim != '\'') {}
    }
    else if (delim != 'z')
    {
    return delim;
    }
    }
    }
    while (delim > ' ');
    return 0;
    }


    stock SaveAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"PaintballPoints",GetPVarInt(playerid,"PaintballPoints"))
    }


    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPVarInt(playerid,"PaintballPoints",dini_Int(Spielerdatei,"PaintballPoints"));
    }


    Errors kommen keine.


    Danke schonmal im Voraus. :)


    //EDIT: Keiner eine Idee?
    Gruß