Du musst am ende "\r\n" einfügen.
Beiträge von Goldkiller
-
-
Wer bei dem Code durchblickt hat schon mal gewonnen x(.
Wäre schon mal ein Anfang seinen Code durch ein autoindent Script zu jagen ... Überbewertet das Ganze
if(isalcncar(newcar))
{
if(isalcn(playerid))
{
}
else
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, COLOR_GREY, " Du bist kein Mitglied der La Cosa Nostra");
return 1;
}
}
//frakelse if(IsANoobCar(newcar))
{
SendClientMessage(playerid, COLOR_YELLOW2, "Dies ist ein Noobbike!");
}if(isacnn(newcar))
{
if(isacnn(playerid))
{
}
else
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, COLOR_GREY, " Du bist kein Mitglied der CNN");
return 1;
}
}
else if(IsAPlane(newcar)){
if(PlayerInfo[playerid][pFlyLic] < 1)
{
if(TakingLesson[playerid] == 1)
{
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Du weißt noch nicht wie man mit einem Flugzeug/Heli fliegt!");
RemovePlayerFromVehicle(playerid);
}
}
}
else{
if(PlayerInfo[playerid][pCarLic] < 0)
{
if(PlayerDrunk[playerid] >= 5)
{
WantedPoints[playerid] += 1;
SetPlayerCriminal(playerid,255, "Betrunkenes Fahren!");
}
if(TakingLesson[playerid] == 0)
{
}
if(IsANoobCar(newcar))
{
TakingLesson[playerid] = 0;
gGas[playerid] = 0;
}
else
{
SendClientMessage(playerid, COLOR_RED, " Du besitzt noch keinen Führerschein!");
RemovePlayerFromVehicle(playerid);
}
}
else if(PlayerDrunk[playerid] >= 5)
{
SendClientMessage(playerid, COLOR_RED, "Lass dich nicht erwischen, sonst ist der Führerschein weg.");
}
}
Ein Fehler ist schon mal hier:
if(isacnn(newcar))
{
if(isacnn(playerid)) { }
isacnn nimmt bestimmt nicht ein Fahrzeug und PlayerID als Parameter.
Versteh auch nicht deine Weise if/else if /if/else anzuwenden :\ -
Dann änder doch die Größes des Caches.
#define INI_MAX_LINES 100 // SII.inc -
dcmd_ann(playerid, params[]) {
return dcmd_announce(playerid,params);
}
Angenommen /ann wäre dein /w und /announce dein /whisper
Könnte man auch leicht umgehen indem man anstatt bestimmten Index via chrfind() [oder ähnlichem] das erste Leerzeichen sucht.Wäre aber keine schöne Variante.Lassen wir das aber lieber,verwirrt vielleicht einige Leute -
if(strcmp(cmdtext, "/bubble", true) == 0)
{
if(!cmdtext[7]) return SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: /bubble [text]");
return SetPlayerChatBubble(playerid,cmdtext[8],COLOR_PURPLE,5.0,3000);
} -
Ich sollte mal bei Gelegenheit das Tutorial mit ZCMD erweitern :\ ...
Ist auch schnell von DCMD in ZCMD geändert. -
-
Eigentlich ist im format() schon ein Fehler :\
-
[Spielverderber] Der Kompiler würde aber meckern bei dem Code {/Spielverderber]
-
Zitat
Ich hab selbe nicht mehr wirklich Ahnung, wie mysql genau funktioniert.Habe es mir nur angeschaut als ich für mich die Library gemacht habe :-O.
Die beste ist relativ.Ich benutzte kein mysql,SII reicht völlig aus.Benutzt die Forumsuche,da findest du was zu SII. -
if(samp_mysql_fetch_row(sqlresult)==1)
Wieso denn auch sqlresult] ?
Du müsstest es so machen:
if(samp_mysql_fetch_row(query)==1)
Am besten du schaust dir gleich die Dokumentation zum Plugin an.>> Hier//Edit:
Vergiss es,hab es mir gerade im Sourecode von Moderntopia angeguckt.Da ist es ja auch mit sqlresult :\.Verstehe absolut nicht,was die Funktion letztendlich bringen soll. -
Hast ja schon gut vorgelegt mit Debug-Notes,mach das doch auch bei MySQLFetchAcctSingle.
Versteh aber jetzt nicht wirklich was die Funktion bei dir für einen Zweck hat.
public MySQLFetchAcctSingle(sqlplayerid, sqlvalname[], sqlresult[])
{
new query[128];
print("Debug 1");
format(query, sizeof(query), "SELECT `%s` FROM `players` WHERE `id` = '%d' LIMIT 1;", sqlvalname, sqlplayerid);
print("Debug 2");
samp_mysql_query(query);
print("Debug 3");
samp_mysql_store_result();
print("Debug 4");
if(samp_mysql_fetch_row(sqlresult)==1)
{
return 1;
}
return 0;
}
//Edit:
Ich hab selbe nicht mehr wirklich Ahnung, wie mysql genau funktioniert.Habe es mir nur angeschaut als ich für mich die Library gemacht habe :-O. -
Ich glaube das war keine gute Idee dir die Funktion zu zeigen,da du nicht verstanden hast was du dabei abschauen solltest.
Zitatauserdem ist die Funktion aus dem Modern Topia Script und hatte mal funktioniert,
aber habe dann mit MYSQL aufgegeben,
Dann kopier die doch nochmal neu in dein Script 0o. -
Hast ja schon gut vorgelegt mit Debug-Notes,mach das doch auch bei MySQLFetchAcctSingle.
Versteh aber jetzt nicht wirklich was die Funktion bei dir für einen Zweck hat.Vielleicht hilft dir das hier ja weiter:
stock gSQL_GetVar(column[],table[],where[],is[])
{
new
sqlcmd[128+64]="Error (Cant connect to MYSQL Server)";
if(!samp_mysql_ping()) {
format(sqlcmd, sizeof(sqlcmd), "SELECT `%s` FROM `%s` WHERE `%s` = '%s' LIMIT 1;",column,table,where,is);
samp_mysql_query(sqlcmd);
samp_mysql_store_result();
if (!samp_mysql_num_rows()) {
format(sqlcmd,sizeof(sqlcmd),"Unable to find '%s'",where);
//Log(sqlcmd);
return sqlcmd;
}
samp_mysql_fetch_row(sqlcmd);
return sqlcmd;
}
Log("Unable to find mysql server!");
return sqlcmd;
}
Ist aus meinem MySQL Script und funktioniert.Die format() - Zeile sollte dir vielleicht weiter helfen. -
Ich weiß nicht ob das mittlerweile in SAMP auch geht, aber MTA kann das Wetter sanft "blenden" , sprich das Wetter ändert sich sanft von Wetter A nach Wetter B statt rapide wie in SAMP.
Ich meine das geht auch in der neuen SA:MP Version,nur muss man vorher irgendwas mit der Uhr ( SetPlayerClock() ) des Spielers einstellen.Dann ist es nämlich auch möglich die Uhrzeit sanft überzugehen, anstatt direkt von 13Uh auf 17Uhr. -
Könnte mir vorstellen du hast das forward in einem Bereich der nicht mit kompiliert wird (#if #endif)
Macht das forward direkt über dem public.
Also:
forward payday();
public payday()
{
for (new i = 0; i < MAX_PLAYERS; i++) {
SendClientMessage(i,0x9BFF00FF,"Payday!Du bekommst $10000!");
GivePlayerMoney(i,10000);
}
return 1;
} -
Mit stock wird die Funktion aber niemals über den Timer aufgerufen.
-
Schau dir mal dieses Script an.YUP - Y_Less's Update Peripherals - 0.3
Hab dieses Script jetzt auch in eines meiner Projekte eingefügt,obwohl Ich nicht der Fan bin von OnPlayerUpdate und es eigentlich auch nicht benutzen möchte.Zitat
Added OnPlayerWeaponChange to detect a player changing weapon.
Added OnPlayerAmmoChange to detect a player shooting (or getting ammo).
Added OnPlayerHealthChange to detect a player getting/losing health.
Added OnPlayerArmourChange to detect a player getting/losing armour.
Added OnPlayerMoneyChange to detect a player getting/losing money.
Added OnPlayerWeaponSlotChange to detect a player buying a weapon. -
Goldkiller damals im März wo du den streit mit breadfish hattest wegen irgent einem FLEICHFORCE Clan da meinstest du doch ja ich gebe meine rechte ab und binn weg soll ich dir den thead noch in der Sufu suchen oder übernimmst du das für dich ?
Ist natürlich ein guter Fund :-O.Hätte wetten können das wäre 2008 gewesen,naja.Mir soll's egal sein,hätte ja im Internen schon wetten können,dass ein Thread in dieser Richtung von dir kommt nachdem du als Moderator abgewiesen wurdest.Wahrscheinlich wirst du jetzt auch demnächst gebannt,falls es soweit kommt.Mach dir bitte nicht wieder einen neuen Account im Forum .
-
Setz nächstes mal ein /sign drunter wenn du den Post auch wirklich gelesen hast,» Amstaff ™.
ZitatDann kam vor einem halben Jahr die Phase in der sich viele User verabschiedeten. Von den Moderatoren gabs mal wieder immer was zumeckern ,wieso für so einen Dreck ein neuer Thead aufgemacht werden muss. Thead Closed. Aber wenn sich dann ein Moederator verabschiedet und seine Rechte abgiebt dann meckert kein User. Wenige Wochen später ist der Moderator wieder im Forum aktiv und hat seine Rechte wieder , so wie Danny oder Goldkiller.
? Zeig mal wo das mit mir ist.