Beiträge von Beavis

    Hey danke, wie ist das aber wenn ich das z.b. für 2 Fraktionen machen will die aber nicht sehen sollen was die anderen schreiben?


    schau dir mein Code an
    der sendet nur den Inhalt an denen die die selbe fraktion haben wie der schreiber..
    Da brauch man nix weiter machen

    Wie macht ihr immer euren Fraktionschat?
    Der brauch nicht hunderte von Zeilen haben wenn es auch so geht:
    ocmd:f(playerid,params[])
    {
    if(GetPVarInt(playerid,"Fraktion")==0)
    return SendClientMessage(playerid,ROT,"du bist in keiner Fraktion");
    new text[128];
    if(sscanf(params,"s",text))
    return SendClientMessage(playerid,ROT,"/f [text]");
    format(text,sizeof(text),"Member %s: %s",SpielerName(playerid),text);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(GetPVarInt(i,"Fraktion") == GetPVarInt(playerid,"Fraktion"))
    {
    SendClientMessage(i,GRÜN,text);
    }
    }
    }
    return 1;
    }

    Schön das ihr das Design von MyVictory geklaut habt
    An deiner stelle würde ich schnell ein anderes nehmen da dies euch nicht gehört und ihr dafür nicht gezahlt habt.


    Desweiteren solltet ihr mal das Impressum füllen da das schon ziemlich leer ist.


    Zu der vorstellung und den Server sag ich jetzt nichts, da es mir zu standart ist.

    Dann nimmste rand als Index für die erste Zelle des Arrays spawns


    Wozu dazu noch nen Enum nehmen?
    Einfacher ist so:
    new Float:Spawns[][4]=
    {
    {X,Y,Z,A},
    {X,Y,Z,A},
    {X,Y,Z,A},
    {X,Y,Z,A},
    {X,Y,Z,A}
    };


    new i = random(sizeof(Spawns));
    SetPlayerPos(playerid,Spawns[i][0],Spawns[i][1],Spawns[i][2]);
    SetPlayerFacingAngle(playerid,Spawns[i][3]);

    PS: ^Mein Problem weiter oben ist auch noch nicht gelöst^ :)


    Teste mal das hier
    dcmd_showpda(playerid,params[])
    {
    #pragma unused params
    if(PlayerInfo[playerid][PDA] != 1)
    {
    for(new i=0;i<5;i++)
    TextDrawHideForPlayer(playerid, StatsDraw[playerid][i]);
    return SendClientMessage(playerid,Rot, "Du hast kein PDA");
    }
    else
    {
    for(new i=0;i<5;i++)
    TextDrawShowForPlayer(playerid, StatsDraw[playerid][i]);
    }
    return 1;
    }
    Ich vermute mal wenn PDA 0 ist das er keins hat und dein Code ergab sowiso kein sinn
    Die einrückung nach der for schleife so lassen, sonst kommen die Fehler wieder

    Ich hab nen kleines Problem
    Bei der Funktion zeigt er mir alles an.
    new Inhalt[60+sizeof(JobInfo)];
    for(new j = 0; j < sizeof(JobInfo); j ++)
    {
    if(JobInfo[j][JobID] == PlayerInfo[playerid][Job])
    {
    if(GetVehicleModel(vehicleid) == JobInfo[j][JobVehicle])
    {
    format(Inhalt,sizeof(Inhalt),"%s\n%s",Inhalt,JobInfo[j][JobText]);
    }
    }
    }
    ShowPlayerDialog(playerid,diaJobWahl,DIALOG_STYLE_LIST,"Welche Tour soll es sein?",Inhalt,"Wählen","Abbruch");
    Klick ich aber eins an, verschieben sich die werte und es wierden nur die ersten 2 auswählbar.
    case diaJobWahl:
    {
    if(response)
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    for(new j = 0; j < sizeof(JobInfo); j ++)
    {
    if(JobInfo[j][JobID] == PlayerInfo[playerid][Job])
    {
    if(GetVehicleModel(vehicleid) == JobInfo[j][JobVehicle])
    {
    if(!strcmp(JobInfo[j][JobText],JobInfo[listitem][JobText],true))
    {
    format(query,128,"~> %s",JobInfo[listitem][JobText]);
    SendClientMessage(playerid,cGreen,query);
    SendClientMessage(playerid,cGreen,"~> Fahre zum Flughafen und besorge einen Container");
    PlayerInfo[playerid][JobRoute] = listitem;
    return 1;
    }
    }
    }
    }
    SendClientMessage(playerid,cWarn,"~> Fehler im System! Bitte wähle eine andere Route");
    }
    else
    {
    RemovePlayerFromVehicle(playerid);
    PlayerInfo[playerid][JobRoute] = 0;
    }
    return 1;
    }
    Ich habe schon einiges versucht aber es kommt immer das selbe bei raus
    Die Jobrouten werden hier alle eingetragen:
    new JobInfo[][JobEnum]=
    {
    {jTrucker, 578, "Die Baustelle", 2422.8518,1923.7631,5.7201},
    {jTrucker, 578, "Die Einkaufspassgae", 2831.9189,2395.0381,10.5249},
    {jTrucker, 560, "Test", 2244.7222,2230.9717,10.4690},
    {jTrucker, 578, "Das Holtel", 2244.7222,2230.9717,10.4690},
    {jTrucker, 578, "Das Autohaus", 2189.5784,1386.8009,10.5254}
    };
    Sobald er den wert Test im dialog anzeigen soll, verschieben sich die Jobs oder ich bekomm die Fehlermeldung angezeigt.
    Ich hoffe, das einr dazu eine idee hat

    Den Fehler hab ich dank @BlackAce


    Die Funktion hat es nicht so bei Mehrdimensionalen Array´s, darum hat er mir die Fehler ausgegeben
    Einfach mal den Namen neu getten und es ging :D

    Nabend zusammen


    Ich habe gerade ein Problem, das sich nicht lösen lassen will.
    Es geht um den Command:
    bcmd:kick(playerid,params[])
    {
    new bool:hmm=false;
    if(playerid==-1)
    {
    hmm=true;
    goto da;
    }
    if(!CheckAdmin(playerid,1))
    return ADMError(playerid,1);
    da:
    new pID,string[128];
    if(sscanf(params,"uz",pID,string))
    return SendClientMessage(playerid,cRed,"/kick [playerid] ([grund],optional)");
    if(!IsPlayerConnected(pID))
    return SendClientMessage(playerid,cRed,"Die ID kann nicht gefunden werden");
    format(string,sizeof(string),"[AdmCMD] %s wurde von %s gekickt. "ccOrange"Grund: %s",PlayerInfo[pID][Name], hmm?BotName:PlayerInfo[playerid][Name], string[0]?string:"<Kein Grund>");//Fehler?
    SendClientMessageToAll(cRed,string);
    Kick(pID);
    return 1;
    }
    Seit dem ich eine Abfrage gemacht habe ob der user die id -1 hat (-1 = Anticheat) will er nicht so recht wie es soll.
    Der Fehler ist der:
    expected token: "-string end-", but found "-identifier-"
    Ich habe mal das weggelassen:
    hmm?BotName:PlayerInfo[playerid][Name]
    Dann ging auch alles, nur die Abfrage bewirkt ja ob es vom Anticheat gesendet wird oder nicht, da ich ja auch den Namen mitsenden möchte wenn es -1 ist.


    Wo soll da ein Fehler sein?
    Ich such schon verzweifelt aber ich kann nichts finden, daher hoffe ich auf rat von euch
    //nachtrag
    Wenn ich das so mache:
    bcmd:kick(playerid,params[])
    {
    new bool:hmm=false;
    if(playerid==-1)
    {
    hmm=true;
    goto da;
    }
    if(!CheckAdmin(playerid,1))
    return ADMError(playerid,1);
    da:
    new pID,string[128];
    if(sscanf(params,"uz",pID,string))
    return SendClientMessage(playerid,cRed,"/kick [playerid] ([grund],optional)");
    if(!IsPlayerConnected(pID))
    return SendClientMessage(playerid,cRed,"Die ID kann nicht gefunden werden");
    format(string,sizeof(string),"[AdmCMD] %s wurde von %s gekickt. "ccOrange"Grund: %s",PlayerInfo[pID][Name], (hmm)?(BotName):(PlayerInfo[playerid][Name]), (string[0])?(string):("<Kein Grund>"));//Fehler?
    SendClientMessageToAll(cRed,string);
    Kick(pID);
    return 1;
    }
    schmiert mir der Compiler ab
    Ich hab echt keine Ahnung wo der Wurm sitzt

    Naja für anfänger ist das MySQL system garnicht geeignet.
    Mit den System lässt man den Server ordentlich quälen, das man garnicht muss


    Das mit den Interiors find ich mal vernünftig, das du da nicht alles mit pickup deklarierungen zuspammt (haste sicherlich nach mein Tut gemacht :D )

    Um einen Spieler zu laden habe ich maximal 4 Querys
    1 Für die Daten
    maximal 3 für Autos des Spielers
    Das Laden dauert nichmal ne Sekunde und auch die Bots haben einen Account womit ich das gut testen kann
    Laut gettickcount brauch der bei 50 Spielern um alles zu speichern gute 5 Sekunden und das ist nicht langsam