Beiträge von tobialvarez


    public Bombentimer(playerid)
    {
    if(Bombe == 0)
    {
    return 1;
    }
    else
    {
    SendClientMessage(playerid,Rot,"...");


    }
    return 1;
    }


    Du musst immer das return 1; - return 0; vor die vorletze geschweifte Klammer packen :thumbup:

    Tue das bei dir unten ins Script.

    stock SpielerName(playerid){
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    return name;
    }


    und dann z.B.

    new pID;
    format(string,sizeof(string),"ADMCMD: Du hast %s zu dir Teleportiert. ",SpielerName(pID));
    SendClientMessage(playerid,knallrot,string);
    format(nachricht,sizeof(nachricht),"ADMCMD: Du wurdest von dem Admin %s zu sich teleportiert !",SpielerName(playerid));
    SendClientMessage(pID,knallrot,nachricht);


    MfG :thumbup:

    Ohne Code, kann man nichts machen.

    Meld dich in Skype bei mir


    Danke dir schon mal Nico :thumbup:


    Jetzt ist es so, das er die Koordinaten am Anfang speichern tut, aber wird alles auf den 0 Punkt gesetzt und wenn das Car zerstört wird .. wird es repariert und es dupliziert sich ...
    Und einige Sachen wie Hydraulik werden auch nicht geladen, paar Sachen werden geladen aber nicht alle ...
    Vielleicht kann mir jemand weiter helfen via TeamSpeak, Skype oder TeamViewer.
    Und es ist so, das wenn man disconnected vom Server und wieder connected das die Koordinaten beim 0 Punkt sind .. Kaliber: (sry das ich dich makiere aber du kannst es XD) wüsstest Du weiter? :<

    Hallöle, ja ich weiß langsam nimmt es überhand mit mir aber ich hab wieder ein Problem.
    Die X,Y,Z und A Koordinate werden nicht ausgelesen sprich das Car spawnt nicht ...
    Aber es wird gespeichert !
    So sieht das in MySQL aus:
    Die jeweiligen Sachen:

    OnGameModeInit steht das:


    for(new i=0; i<sizeof(AHCarKauf); i++)
    {
    AHCarKauf[i][VehID]=CreateVehicle(AHCarKauf[i][CarModelID],AHCarKauf[i][CarPos_X],AHCarKauf[i][CarPos_Y],AHCarKauf[i][CarPos_Z],AHCarKauf[i][CarPos_A],-1,-1,-1);
    }



    der stock SaveAuto (ein Teil)
    mysql_SetFloat("autos", "AutoX",sCarInfo[playerid][pCarPos_X], "Name", sCarInfo[playerid][sName]);
    mysql_SetFloat("autos", "AutoY",sCarInfo[playerid][pCarPos_Y], "Name", sCarInfo[playerid][sName]);
    mysql_SetFloat("autos", "AutoZ",sCarInfo[playerid][pCarPos_Z], "Name", sCarInfo[playerid][sName]);
    mysql_SetFloat("autos", "AutoA",sCarInfo[playerid][pCarPos_A], "Name", sCarInfo[playerid][sName]);



    der stock loadCars (ein Teil)
    sCarInfo[playerid][pCarPos_X] = mysql_GetFloat("autos", "AutoX", "Name", sCarInfo[playerid][sName]);
    sCarInfo[playerid][pCarPos_Y] = mysql_GetFloat("autos", "AutoY", "Name", sCarInfo[playerid][sName]);
    sCarInfo[playerid][pCarPos_Z] = mysql_GetFloat("autos", "AutoZ", "Name", sCarInfo[playerid][sName]);
    sCarInfo[playerid][pCarPos_A] = mysql_GetFloat("autos", "AutoA", "Name", sCarInfo[playerid][sName]);
    sCarInfo[playerid][Carid] = CreateVehicle(sCarInfo[playerid][CarModelID],sCarInfo[playerid][pCarPos_X],sCarInfo[playerid][pCarPos_Y],sCarInfo[playerid][pCarPos_Z],sCarInfo[playerid][pCarPos_A],sCarInfo[playerid][Farbe1],sCarInfo[playerid][Farbe2],-1);


    Dies zeigt er in der server_log.txt an:


    Könnte jemand vielleicht per TeamViewer helfen kommen? Wäre echt nett ..


    Grüße,
    Tobi

    Dies kommt beim ersten Code ( mit return floatstr(Get); )


    und wenn man mit deiner 2 Funktion (mit mysql_fetch_float) kommt das:

    PHP
    C:\Users\tobialvarez\Desktop\Home Server\filterscripts\autohaus.pwn(1056) : warning 213: tag mismatch


    und anstatt ein return Get; ein return floatstr(Get); richtig?

    Die Funktion gibt einen Float Wert zurück, daher muss der Funktion selbst auch noch ein Datentyp gegeben werden.

    stock Float:mysql_GetFloat(Table[], Field[], Where[], Is[])


    so sähe die korrekte Funktionsdefiniton aus.


    Sobald ich dann dies mache, passiert das:

    PHP
    C:\Users\tobialvarez\Desktop\Home Server\filterscripts\autohaus.pwn(1027) : warning 208: function with tag result used before definition, forcing reparse


    Das ist die Zeile:

    stock Float:mysql_GetFloat(Table[], Field[], Where[], Is[])

    Das was du gepostet hast ist nicht mysql_getfloat
    Vergleich jedoch mal die datentypen der Parameter der Funktion mit deinen die du nutzt

    Er hat auch die falsche Funktion gepostet.
    Wir brauchen mysql_getFloat() und nicht mysql_setFloat().


    Ja, das sind meine Fehler wenn ich etwas zu schnell bin .. sorry ..

    stock mysql_GetFloat(Table[], Field[], Where[], Is[])
    {
    new query[128], Get[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT `%s` FROM `%f` WHERE `%s` = '%s'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_row(Get);
    mysql_free_result();
    return Get;
    }

    Guten Morgen,
    Ich habe folgendes Problem:

    C:\Users\tobialvarez\Desktop\Home Server\filterscripts\autohaus.pwn(853) : error 006: must be assigned to an array
    C:\Users\tobialvarez\Desktop\Home Server\filterscripts\autohaus.pwn(854) : error 006: must be assigned to an array
    C:\Users\tobialvarez\Desktop\Home Server\filterscripts\autohaus.pwn(855) : error 006: must be assigned to an array
    C:\Users\tobialvarez\Desktop\Home Server\filterscripts\autohaus.pwn(856) : error 006: must be assigned to an array
    C:\Users\tobialvarez\Desktop\Home Server\filterscripts\autohaus.pwn(887) : error 006: must be assigned to an array
    C:\Users\tobialvarez\Desktop\Home Server\filterscripts\autohaus.pwn(888) : error 006: must be assigned to an array


    PHP
    //Problem Zeilen von 853-856
    		sCarInfo[playerid][pCarPos_X] = mysql_GetFloat("autos", "AutoX", "Name", sCarInfo[playerid][sName]);
    		sCarInfo[playerid][pCarPos_Y] = mysql_GetFloat("autos", "AutoY", "Name", sCarInfo[playerid][sName]);
    		sCarInfo[playerid][pCarPos_Z] = mysql_GetFloat("autos", "AutoZ", "Name", sCarInfo[playerid][sName]);
    		sCarInfo[playerid][pCarPos_A] = mysql_GetFloat("autos", "AutoA", "Name", sCarInfo[playerid][sName]);


    PHP
    //Problem Zeilen von 887-888
    		sCarInfo[playerid][CarTank] = mysql_GetFloat("autos", "CarTank", "Name", sCarInfo[playerid][sName]);
    		sCarInfo[playerid][CarKM] = mysql_GetFloat("autos", "CarKM", "Name", sCarInfo[playerid][sName]);


    Der stock geht so:

    stock mysql_SetFloat(Table[], Field[], Float:To, Where[], Where2[])
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Where2, Where2);
    format(query, 128, "UPDATE `%s` SET `%s` = '%f' WHERE `%s` = '%s'", Table, Field, To, Where, Where2);
    mysql_query(query);
    return true;
    }


    Greetz

    Ersetze bei der strcmp if Abrage CarID mit i.
    Dann sollte es eigentlich klappen.



    CMD:kennschild(playerid, params[]){
    new kszahlen,kslaenge,str[20],CarID,kspreis,pID;
    if(sInfo[playerid][pFraktion] == 1)return SendClientMessage(playerid,-1,"Du bist nicht im Ordnungsamt");
    {
    if(sscanf(params,"iiid",CarID,kspreis,kszahlen,pID)) return SendClientMessage(playerid,-1,"Verwende: /kennschild [CarID] [Preis] [KennschildName (max. 4Zahlen)] [playerID]");
    if(pID == playerid) return SendClientMessage(playerid,-1, "Hinweis: Du kannst Dir selber kein Kennschild geben");
    if(IsPlayerInRangeOfPoint(playerid,5.0,919.3960,-1264.7429,15.1719))return SendClientMessage(playerid,-1,"Hinweis: Du bist nicht beim TÜV (Ordnungsamt Base)");
    if(kslaenge > 2) return SendClientMessage(playerid,-1,"Hinweis: Maximal nur 4 Zahlen");
    if(kspreis <= GetPlayerMoney(pID))return SendClientMessage(playerid,-1,"Hinweis: Soviel Geld hat der Spieler nicht!");
    if(kspreis > 100000 || kspreis < 1) return SendClientMessage(playerid,-1,"Hinweis: Maximal nur 100.000$");
    if(sCarInfo[CarID][pKey] != 1)
    {
    if(sCarInfo[CarID][CarSchild] == 0)
    {
    for(new i; i < MAX_VEHICLES; i++)
    {
    format(str,sizeof(str),"DSZ-%i",kszahlen);
    if(!strcmp(sCarInfo[i][CarSchildName],str)) return SendClientMessage(playerid,-1,"Hinweis: Das Kennzeichen gibt es schon!");
    SetVehicleNumberPlate(CarID,str);
    }
    }
    else
    {
    SendClientMessage(playerid,-1,"Hinweis: Das Auto besitzt schon ein Kennschild!");}
    }
    else
    {
    SendClientMessage(playerid,-1,"Hinweis: Du besitzt kein Auto auf dem ausgewähltem Autoschlüsel!");
    }
    GivePlayerMoney(sCarInfo[CarID][sName], -kspreis);
    }
    return 1;
    }


    So also?

    Du speicherst die Kennzeichen doch bestimmt oder ? Dann könntest per Schleife alle existierenden Kennzeichen durchlaufen und mit strcmp gucken, ob es bereits ein gleiches gibt.



    CMD:kennschild(playerid, params[]){
    new kszahlen,kslaenge,str[20],CarID,kspreis,pID;
    if(sInfo[playerid][pFraktion] == 1)return SendClientMessage(playerid,-1,"Du bist nicht im Ordnungsamt");
    {
    if(sscanf(params,"iiid",CarID,kspreis,kszahlen,pID)) return SendClientMessage(playerid,-1,"Verwende: /kennschild [CarID] [Preis] [KennschildName (max. 4Zahlen)] [playerID]");
    if(pID == playerid) return SendClientMessage(playerid,-1, "Hinweis: Du kannst Dir selber kein Kennschild geben");
    if(IsPlayerInRangeOfPoint(playerid,5.0,919.3960,-1264.7429,15.1719))return SendClientMessage(playerid,-1,"Hinweis: Du bist nicht beim TÜV (Ordnungsamt Base)");
    if(kslaenge > 2) return SendClientMessage(playerid,-1,"Hinweis: Maximal nur 4 Zahlen");
    if(kspreis <= GetPlayerMoney(pID))return SendClientMessage(playerid,-1,"Hinweis: Soviel Geld hat der Spieler nicht!");
    if(kspreis > 100000 || kspreis < 1) return SendClientMessage(playerid,-1,"Hinweis: Maximal nur 100.000$");
    if(sCarInfo[CarID][pKey] != 1)
    {
    if(sCarInfo[CarID][CarSchild] == 0)
    {
    for(new i; i < MAX_VEHICLES; i++)
    {
    format(str,sizeof(str),"DSZ-%i",kszahlen);
    if(!strcmp(sCarInfo[CarID][CarSchildName],str)) return SendClientMessage(playerid,-1,"Hinweis: Das Kennzeichen gibt es schon!");
    SetVehicleNumberPlate(CarID,str);
    }
    }
    else
    {
    SendClientMessage(playerid,-1,"Hinweis: Das Auto besitzt schon ein Kennschild!");}
    }
    else
    {
    SendClientMessage(playerid,-1,"Hinweis: Du besitzt kein Auto auf dem ausgewähltem Autoschlüsel!");
    }
    GivePlayerMoney(sCarInfo[CarID][sName], -kspreis);
    }
    return 1;
    }


    So müsste es gehen oder?



    if(dialogid == DIALOG_HILFEE)
    {
    if(!response){return SendClientMessage(playerid,Rot,"Du hast den Vorgang abgebrochen!");}
    if(response)
    {
    if(listitem == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_MSGBOX,DIALOG_STYLE_LIST,"ÜBERSCHRIFTDESDIALOGES","Hier ein paar Informationen\n/annehmen, /auflegen","Danke",");
    }


    Greetz, :thumbup:

    Hallo Com,
    Ich melde mich nochmal,
    und zwar wie kann ich Abfragen lassen, ob das Kennschild schon besetzt ist .. ich bin grad ein bisschen blöd ..



    CMD:kennschild(playerid, params[]){
    new kszahlen,kslaenge,str[20],CarID,kspreis,pID;
    if(sInfo[playerid][pFraktion] == 1)return SendClientMessage(playerid,-1,"Du bist nicht im Ordnungsamt");{
    if(sscanf(params,"iiid",CarID,kspreis,kszahlen,pID)) return SendClientMessage(playerid,-1,"Verwende: /kennschild [CarID] [Preis] [KennschildName (max. 4Zahlen)] [playerID]");
    if(pID == playerid) return SendClientMessage(playerid,-1, "Hinweis: Du kannst Dir selber kein Kennschild geben");
    if(IsPlayerInRangeOfPoint(playerid,5.0,919.3960,-1264.7429,15.1719))return SendClientMessage(playerid,-1,"Hinweis: Du bist nicht beim TÜV (Ordnungsamt Base)");
    if(kslaenge > 4) return SendClientMessage(playerid,-1,"Hinweis: Maximal nur 4 Zahlen");
    if(kspreis <= GetPlayerMoney(pID))return SendClientMessage(playerid,-1,"Hinweis: Soviel Geld hat der Spieler nicht!");
    if(kspreis > 100000 || kspreis < 1) return SendClientMessage(playerid,-1,"Hinweis: Maximal nur 100.000$");
    if(sCarInfo[CarID][pKey] != 1){
    if(sCarInfo[CarID][CarSchild] == 0){
    format(str, sizeof(str), "BZZ-%i",kszahlen);
    format(sCarInfo[CarID][CarSchildName],sizeof(str),"%s",str);
    SetVehicleNumberPlate(CarID,str);
    }else{SendClientMessage(playerid,-1,"Hinweis: Das Auto besitzt schon ein Kennschild!");}
    }else{SendClientMessage(playerid,-1,"Hinweis: Du besitzt kein Auto auf dem ausgewähltem Autoschlüsel!");}
    GivePlayerMoney(sCarInfo[CarID][sName], -kspreis);
    }
    return 1;
    }


    Danke im voraus.


    Greetz