Beiträge von Sebastian.

    Du sagst dem Skript, wenn man Adminlevel 1 oder höher ist, dann soll er dir die Nachricht senden.
    Mach es so



    if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid,rot,"Du bist kein Administrator und hast nicht das Recht Tickets zu öffnen!");

    Nabend.
    Ich wollte mal fragen, ob einer weiß, warum ich diese Errors rausbekomme und ob einer dafür eine Lösung hätte. Habe schon viel hin und her probiert, kriege immer die selben raus (Zeilen sind mackiert)

    Code
    XXXXX(8351) : error 035: argument type mismatch (argument 3)
    XXXXX(8352) : error 035: argument type mismatch (argument 3)
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    2 Errors.



    dcmd_strafzettel(playerid,params[]){
    if((pInfo[playerid][leader] == 1 || pInfo[playerid][leader] == 2 || pInfo[playerid][leader] == 5
    || pInfo[playerid][member] == 1 || pInfo[playerid][member] == 2 || pInfo[playerid][member] == 5) && pInfo[playerid][duty] == true){
    new minute, stunde,sekunde,monat,tag,jahr,pID,grund[128], Float:x, Float:z, Float:y,string[128],preis;
    if(sscanf(params,"uis",pID,preis,grund))return SendClientMessage(playerid,COLOR_HELLBLAU,"Benutze: /straftzettel [ID] [Preis] [Grund]");
    if(IsPlayerConnected(pID)){
    GetPlayerPos(pID,x, y, z);
    if(IsPlayerInRangeOfPoint(playerid, 10.0, x, y, z)){
    new str[128];
    if(playerid == pID)return SendClientMessage(playerid,COLOR_DUNKELROT,"Ungültiger Spieler");
    gettime(stunde,minute,sekunde);
    getdate(jahr,monat,tag);
    GetZoneName(IsPlayerInArea(playerid),str);
    pInfo[pID][StrafzettelPlayerID] = playerid;
    pInfo[pID][StrafzettelPreis] = preis;
    format(string,sizeof(string),"(%d)%s hat Ihnen ein Strafzettel geschrieben.\n\n",playerid,SpielerName(playerid));
    strcat(string,"Datum: %02d:",tag);
    strcat(string,"%02d:",monat);
    strcat(string,"%02d\n",jahr);
    strcat(string,"Uhrzeit: %02d:",stunde);
    strcat(string,"%02d:",minute);
    strcat(string,"%02d\n\n",sekunde);
    strcat(string,"Grund: %s\n",grund); //<---- 8351
    strcat(string,"Ort: %s\n",str); //<----- 8352
    strcat(string,"Preis: %i",preis);
    ShowPlayerDialog(playerid,DIALOG_STRAFZETTEL,DIALOG_STYLE_MSGBOX,"Strafzettel",string,"Bezahlen","");
    SendClientMessage(playerid,-1,string);
    }else{
    SendClientMessage(playerid,COLOR_DUNKELROT,"Sie sind nicht in der nähe von diesem Spieler!");
    }
    }else{
    SendClientMessage(playerid,COLOR_DUNKELROT,"Ungültiger Spieler!");
    }
    }
    return 1;
    }

    Du könntest es so z.B machen

    dcmd_farbe(playerid,params[]){
    new farbe[20];
    if(sscanf(params,"s",farbe))return SendClientMessage(playerid,-1,"Benutze: /farbe [BLAU/ROT/GELB]");
    if(!strcmp(farbe,"BLAU",true)){
    //SetPlayerColor
    }
    else if(!strcmp(farbe,"ROT",true)){
    //SetPlayerColor
    }
    else if(!strcmp(farbe,"GELB",true)){
    //SetPlayerColor
    }
    else{
    SendClientMessage(playerid,-1,"Es gibt nur BLAU ROT und GELB");
    }
    return 1;
    }

    Erst fragst du mit sscanf ab, ob ein Parameter nach dem Befehl eingegeben wurde. Und danach vergleicht du via strcmp den Parameter mit deinen Farben (String) such mal in google nach SAMP strcmp
    Bin nur mit dem Handy on

    Nabend.
    Ich habe mir in einem Array exit koordinaten erstellt, sodass ich diese nicht alle im Befehl habe, und dadurch zeilen spare.
    Jedoch wenn ich die variable Ausgang[X][(irgendwas aus dem enum)] benutze, kommen ganz viele warnings (Tag mismatsch) (In jeder Array zeile)



    #define MAX_EXIT 11


    enum Exit
    {
    Float:Range_X,
    Float:Range_Y,
    Float:Range_Z,
    VWorld,
    Interior,
    Flaot:X,
    Float:Y,
    Float:Z,
    Float:A
    }


    new Ausgang[MAX_EXIT][Exit] = {
    //Burger Shots 11
    {363.8058,-74.1910,1001.5078,1,10,1199.2588,-918.3428,43.1217,182.6036},//BSN
    {363.8058,-74.1910,1001.5078,2,10,810.6990,-1616.2230,13.5469,271.2222},//Marina
    {363.8058,-74.1910,1001.5078,3,10,1418.5204,-1622.5468,13.5395,268.0810},//Commerce
    {363.8058,-74.1910,1001.5078,4,10,-2336.5891,-166.8536,35.554,264.0864},//Garica
    {363.8058,-74.1910,1001.5078,5,10,-1912.2068,828.0755,35.2137,314.4124},//Downtown
    {363.8058,-74.1910,1001.5078,6,10,2472.6306,2034.2250,11.0625,85.5343},//old Venturas
    {363.8058,-74.1910,1001.5078,7,10,2366.8342,2071.0896,10.8203,88.2098},//Starfish
    {363.8058,-74.1910,1001.5078,8,10,1872.4282,2071.8262,11.0625,267.4750},//Redsands
    {363.8058,-74.1910,1001.5078,9,10,2169.5530,2795.8213,10.8203,263.6613},//Spineybed BS
    {363.8058,-74.1910,1001.5078,10,10,1157.9379,2072.2449,11.0625,269.9280},//whitewood BS
    {363.8058,-74.1910,1001.5078,11,10,-2356.1042,1008.1132,50.8984,90.1048}//Juniper BS
    };


    Wäre nice wenn wer eine Antwort wüsste ;)
    Mfg
    -Sebastian

    Nabend.
    Ich habe eine kleine Zellenübersicht erstellt, jedoch wird mit inGame "SERVER: Unknown command" angezeigt.
    wüsste vllt wer warum?

    dcmd_zellen(playerid,params[]){
    #pragma unused params
    if((pInfo[playerid][leader] == 1 || pInfo[playerid][leader] == 2 || pInfo[playerid][leader] == 5
    || pInfo[playerid][member] == 1 || pInfo[playerid][member] == 2 || pInfo[playerid][member] == 5) && pInfo[playerid][duty] == true){
    new string[128];
    for(new i = 0; i < MAX_ZELLE;i++){
    new text[128];
    text = (Zelle[i][Besetzt] == false) ? ("Nicht besetzt") : (SpielerName(Zelle[i][SpielerID]));
    format(string,sizeof(string),"Zelle %i = %s\n",i,text);
    }
    ShowPlayerDialog(playerid,DIALOG_ZELLEN,DIALOG_STYLE_MSGBOX,"Zellenübersicht",string,"OK","");
    }
    return 1;
    }