Wenn du willst kannst du dich bei mir melden
Habe mich mal gemeldet, die kleinen Informationen hast du mit drin erhalten.
Wenn du willst kannst du dich bei mir melden
Habe mich mal gemeldet, die kleinen Informationen hast du mit drin erhalten.
Guter Service, nette Person. Kann zwar nur dini, aber nicht schlimm
Sehr zu empfehlen!
Grüße,
Tobi
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
Am besten lässt du dir dss mal alles prinetn so wie ich das begonnen abe
Hab ich getan ... und sieht halt naja aus wa
Benötige noch Hilfe!
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
Alles anzeigenHallo zusammen,
ich habe folgendes Problem ich klicke auf einen SpielerXY mit der ID 3 (als beispiel)
ich habe ID 0 mit dem Namen Nils24hero
ich klicke im Menü auf Goto/gethere und immer kommt die Meldung die ich eigentlich wollte aber da ist der falsche name drin "Du hast dich zu Nils24hero Teleportiert " nun will ich aber das kommt "du hast dich zu XY teleportiert "
das gleiche problem mit dem gethere
"Du hast Nils24hero zu dir Teleportiert" aber gewünscht ist "Du hast XY zu dir teleportiert"
Schreibt ma was ihr an Codes braucht
MFG Nils24
Ohne Code, kann man nichts machen.
Meld dich in Skype bei mir
Danke dir schon mal Nico
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
Alles anzeigenhabe ich jetzt übersehen , aber ja genau
entweder so:
stock Float: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' LIMIT 1;", Field, Table, Where, Is);
mysql_query(query);
mysql_store_result();
mysql_fetch_row(Get);
mysql_free_result();
return floatstr(Get);
}
oder du nutzt mysql_fetch_float
stock Float:mysql_GetFloat(Table[], Field[], Where[], Is[])
{
new query[128], Float:value;
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' LIMIT 1;", Field, Table, Where, Is);
mysql_query(query);
mysql_store_result();
mysql_fetch_float(value); //Das wwäre die Problem Zeile
mysql_free_result();
return value;
}
Dies kommt beim ersten Code ( mit return floatstr(Get); )
[11:19:32] [join] tobialvarez has joined the server (0:xx.xx.xx.xxx)
[11:19:32] [MySQL] Error (0): Failed to exeute query. Table 'test_db.0.000000' doesn't exist.
[11:19:32] [MySQL] Error (0): Function: mysql_store_result called when no prior successful query executed. Table 'test_db.0.000000' doesn't exist.
[11:19:32] [MySQL] Error (0): Function: mysql_store_result called when no result stored. Table 'test_db.0.000000' doesn't exist.
[11:19:32] [MySQL] Error (0): Failed to exeute query. Table 'test_db.0.000000' doesn't exist.
[11:19:32] [MySQL] Error (0): Function: mysql_store_result called when no prior successful query executed. Table 'test_db.0.000000' doesn't exist.
[11:19:32] [MySQL] Error (0): Function: mysql_store_result called when no result stored. Table 'test_db.0.000000' doesn't exist.
[11:19:32] [MySQL] Error (0): Failed to exeute query. Table 'test_db.0.000000' doesn't exist.
[11:19:32] [MySQL] Error (0): Function: mysql_store_result called when no prior successful query executed. Table 'test_db.0.000000' doesn't exist.
[11:19:32] [MySQL] Error (0): Function: mysql_store_result called when no result stored. Table 'test_db.0.000000' doesn't exist.
[11:19:32] [MySQL] Error (0): Failed to exeute query. Table 'dsz_db.0.000000' doesn't exist.
[11:19:32] [MySQL] Error (0): Function: mysql_store_result called when no prior successful query executed. Table 'dsz_db.0.000000' doesn't exist.
[11:19:32] [MySQL] Error (0): Function: mysql_store_result called when no result stored. Table 'dsz_db.0.000000' doesn't exist.
[11:19:32] [MySQL] Error (0): Failed to exeute query. Table 'test_db.0.000000' doesn't exist.
[11:19:32] [MySQL] Error (0): Function: mysql_store_result called when no prior successful query executed. Table 'test_db.0.000000' doesn't exist.
[11:19:32] [MySQL] Error (0): Function: mysql_store_result called when no result stored. Table 'test_db.0.000000' doesn't exist.
[11:19:32] [MySQL] Error (0): Failed to exeute query. Table 'test_db.0.000000' doesn't exist.
[11:19:32] [MySQL] Error (0): Function: mysql_store_result called when no prior successful query executed. Table test_db.0.000000' doesn't exist.[11:19:32] [MySQL] Error (0): Function: mysql_store_result called when no result stored. Table 'test_db.0.000000' doesn't exist.
Alles anzeigen
und wenn man mit deiner 2 Funktion (mit mysql_fetch_float) kommt das:
C:\Users\tobialvarez\Desktop\Home Server\filterscripts\autohaus.pwn(1056) : warning 213: tag mismatch
Alles anzeigenMeist funktioniert das ganze nicht so wie man will , wenn man die Funktion unterhalb der Verwendung hat.
Beispiel:
main()
{
new playerid;
mysql_GetFloat("autos", "AutoX", "Name", sCarInfo[playerid][sName]);
}
stock Float: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;
}
da kannst du entweder die funktion nach ganz oben verschieben oder du nutzt forward
forward Float:mysql_GetFloat(Table[], Field[], Where[], Is[]);
ganz oben
und anstatt ein return Get; ein return floatstr(Get); richtig?
Du musst solche Funktionen, die einen Tag ( in dem Fall Float: ) vor allen Aufrufen der Funktion platzieren, ansonsten kann diese nicht verwendet werden.
sprich ein return floatstr(Get); dahin? Und wie platzieren .. :<
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:
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;
}
So mal pipapo denke ich, mach das if(!response) zu einem if(response) ...
Bin grad zu müde, ich denke so müsste es klappen.
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
//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]);
//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
Super Tutorial, nützlich es hat bei mir geklappt
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?
Alles anzeigenohhhhhhhhhhhhhhhhhhhhhhh
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Wie dumm bin ich, danke dir.
ABER im Script von mir stehts richtig
![]()
![]()
![]()
![]()
Ich blicks nimma
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,
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