hmm also will die spalte löschen die die ID hat..
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
stock mysql_DeleteHaus(hausid)
{
new query[128];
format(query, sizeof(query), "DELETE FROM houses WHERE id = %i", hausid);
mysql_query(query, -1, -1, MySQLHandle);
} -
Ich wollte mir einen Gametext anzeigen lassen, sobald man in der nähe folgender Koordinaten ist. Passiert allerdings gerade gar nichts. Liegt das am Public?
public Tickets(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 1.0, 1436.5356,2656.1499,11.3926) || (playerid,1.0,2840.6609,1276.1277,11.3906) || (playerid,1.0,2840.5479,1304.0836,11.3906) || (playerid,1.0,2856.7517,1314.5154,11.3906) || (playerid,1.0,2857.1738,1266.7858,11.3906))
{
GameTextForPlayer(playerid, "~w~/~r~ticketkaufen", 3000, 4);
}
return 1;
} -
Glaube das muss so:
public Tickets(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 1.0, 1436.5356,2656.1499,11.3926) || IsPlayerInRangeOfPoint(playerid,1.0,2840.6609,1276.1277,11.3906) || IsPlayerInRangeOfPoint(playerid,1.0,2840.5479,1304.0836,11.3906) || IsPlayerInRangeOfPoint(playerid,1.0,2856.7517,1314.5154,11.3906) || IsPlayerInRangeOfPoint(playerid,1.0,2857.1738,1266.7858,11.3906))
{
GameTextForPlayer(playerid, "~w~/~r~ticketkaufen", 3000, 4);
}
return 1;
}Aber dir ist doch klar, dass du das Public auf irgendwie aufrufen musst? Also ständig per Timer:
public OnPlayerConnect(playerid)
{
SetTimer("Tickets", 1000, 1);
} -
OMG Ben was tust du da?
Wieder eine funktion mit Parameter aufrufen ohne ein argument zu übergeben?
Das kann ich funktionierenVergiss das was Ben von Timen gesagt/geschrieben hat und nutze lieber das untenstehende
OnPlayerSpawn(playerid)
{
SetTimerEx("Tickets", 1000, 1,"i",playerid);
retrun 1;
}
Immer wenn man eine Funktion mit einem oder mehreren Parametern der Timer aufruft dann immer mit SetTimerEx arbeiten
Vergiss nicht den Timer wieder zu Killen/Stoppen sonst hast du noch Timer von Spielern laufen, die garnicht mehr da sind. -
Steh grad bisl aufm Schlauch
Wie kann ich die ersten 2 Blöcke einer IP auslesen.
mit GetPlayerIP bekomme ich ja nur die komplette und ich kann ja auch nicht einfach nur die ersten 8 Zeichen nehmen da es ja auch ein zweistelliger oder sogar nur ein einstelliger block sein könnte.... -
@ nickman:
Versuch es mal so:
new pIP[16],strste,step,blocks[4][4];
GetPlayerIp(playerid,pIP,16);
for(new strs=0;strs!=16;strs++)
if(pIP[strs]=='.'||!pIP[strs]) {
strmid(blocks[step],pIP,strste,strs);
strste=strs+1;
step++;
}
Hier werden die "IP Blöcke" jeweils in dem Array blocks gespeichert.
Ich glaube ich poste das gleich nochmal unter nützliche Codeschnipsel, kann vielleicht ja noch der eine oder andere brauchen..PS: Sehr kreative Signatur, die du hast. Leute, lasst euch doch mal was eigenes einfallen..
-
vielen dank, werd es gleich mal ausprobieren
und das mit der signatur...
werd ich ma ändern, würd mich auch ma interessieren wieviele das in ihrer sig haben
aber is ja eig auch son "standart" ding -
OMG Ben was tust du da?
Wieder eine funktion mit Parameter aufrufen ohne ein argument zu übergeben?
Das kann ich funktionierenVergiss das was Ben von Timen gesagt/geschrieben hat und nutze lieber das untenstehende
OnPlayerSpawn(playerid)
{
SetTimerEx("Tickets", 1000, 1,"i",playerid);
retrun 1;
}
Immer wenn man eine Funktion mit einem oder mehreren Parametern der Timer aufruft dann immer mit SetTimerEx arbeiten
Vergiss nicht den Timer wieder zu Killen/Stoppen sonst hast du noch Timer von Spielern laufen, die garnicht mehr da sind.Warum so kompliziert?
einfach Abfragen ob der Spieler an der Position ist unter (OnPlayerPickupPickup) viel einfach
so brauch mann den ganzen Timer mist etc net was ich unötig finde. -
Gibs ne Funktion oder ein Schnipsel die erlaubt, dass mann aufm Auto kleben bleibt?
so wie AttachPlayerToVehicle?
mfg
Wenn nicht, dann ne alternative?
-
brauche hilfe bei folgendem /tie befehl
ocmd:tie(playerid, params[])
{
if(IsPlayerInAnyVehicle(playerid));
{
if(GetPlayerVehicleSeat(playerid)==0);
{
if(isPlayerInFrakt(playerid,GetPVarInt(playerid,"Fraktion")==2| |12;));
{
if(HasPlayerRank(playerid,1));
{
if(sscanf(params,"u",pID,))return SendClientMessage(playerid,gelb,"/tie [playerid]");
TogglePlayerControllable(pID,0);
format(string,sizeof(string),"Du hast %s gefesselt.",SpielerName(pID));
SendClientMessage(playerid,gelb,string);
format(string,sizeof(string),"%s hat dich gefesselt.",SpielerName(playerid));
SendClientMessage(pID,gelb,string);
}
}
}
return 1;
}
}Fehlermeldung:
CodeG:\SAMP\gamemodes\Tutorial.pwn(822) : error 036: empty statement G:\SAMP\gamemodes\Tutorial.pwn(824) : error 036: empty statement G:\SAMP\gamemodes\Tutorial.pwn(826) : error 029: invalid expression, assumed zero G:\SAMP\gamemodes\Tutorial.pwn(826) : warning 215: expression has no effect G:\SAMP\gamemodes\Tutorial.pwn(826) : error 029: invalid expression, assumed zero G:\SAMP\gamemodes\Tutorial.pwn(826) : error 029: invalid expression, assumed zero G:\SAMP\gamemodes\Tutorial.pwn(826) : fatal error 107: too many error messages on one line
Danke im Voraus
mfg
Mr. EMU
-
Nienienienienie ein Semikolon in ein If-Statement.
-
if(IsPlayerInAnyVehicle(playerid));
Hinter IF-Abfragen darf kein semikolon. -
thx
mal gucken obs jetzt geht
-
Semikolon entfernt aber immer noch diese errors
CodeG:\SAMP\gamemodes\Tutorial.pwn(826) : error 029: invalid expression, assumed zero G:\SAMP\gamemodes\Tutorial.pwn(826) : warning 215: expression has no effect G:\SAMP\gamemodes\Tutorial.pwn(826) : error 001: expected token: ";", but found ")" G:\SAMP\gamemodes\Tutorial.pwn(826) : error 029: invalid expression, assumed zero G:\SAMP\gamemodes\Tutorial.pwn(826) : fatal error 107: too many error messages on one line
in dieser zeile:
if(isPlayerInFrakt(playerid,GetPVarInt(playerid,"Fraktion")==2| |12))
/Edit hab noch nen fehler gefunden
-
Hier drinne hast du es ja auch noch gelassen...
if(isPlayerInFrakt(playerid,GetPVarInt(playerid,"Fraktion") ==2 || isPlayerInFrakt(playerid,GetPVarInt(playerid,"Fraktion") == 12))
-
hatte ich gefunden als du antwort geschrieben hast immer noch fehler
-
Teste trotzdem mal meins, da ich am Ende noch etwas mehr verändert habe.
-
Ok habs jetzt danke für eure hilfe
-
Es wäre trotzdem nochmal gut wenn du uns sagst was du behoben hast, dadurch können andere Leute die nicht so gut Scripten können diesen Fehler beheben.