Vielleicht solltest du deinen Satz richtig beenden
[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
-
-
truck0 = AddStaticVehicle(455,-1839.8022,-12.6983,15.5544,270.1398,254,135); //truck
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(vehicleid == truck0)
{
if(pInfo[playerid][job] == 1)
{
SetPlayerCheckpoint(playerid,-1872.4550,1417.2936,7.1805,5);
SendClientMessage(playerid,COLOR_OLIVE,"Fahre zum Roten Punkt und Tippe /stuff get ein.");
GetPlayerVehicleID(playerid);
}
else
{
SendClientMessage(playerid,COLOR_RED,"Du bist kein Trucker!");
SendClientMessage(playerid,COLOR_RED,"Falls du noch gefreezt bist /unfreeze.");
TogglePlayerControllable(playerid, false);
}
return 1;
}public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmd, "/stuff get", true) == 0)
{
if (pInfo[playerid][job] == 1)
{
if(vehicleid == truck0)
{
if(PlayerToPoint(50.0,playerid,-1872.1891,1418.8207,7.1805))
{
SendClientMessage(playerid,COLOR_OLIVE,"Fahre zum Roten Punkt und Tippe /deliver ein.");
SendClientMessage(playerid,COLOR_OLIVE,"Die Produkte haben dich 500$ gekostet.");
SetPlayerCheckpoint(playerid,-1020.9528,-678.2216,31.9035,5);
GivePlayerMoney(playerid,-500);
pInfo[playerid][truckprods] = 5;
}
}
}
return 1;
}
des wenn er einsteigt geht jetzt... aber des mit dem stuff get funzt net =( hoff mir kannw er helfen -
Hey leutz, ich habe ein Problem mit dem dini.
Gestern Abend habe ich noch gescriptet, hat alles Wunderbar geklappt, als ich heute
mein Script geöffnet habe, spackte er rum.#include <dini>
Und die Datei Dini, ist auch erfolgreich im Includes Ordner enthalten.
Wie kann ich das fixxen ?
-
Wenn es nicht klappt, hast du vllt den Falschen Editor offen der wiederum den Falschen Pfad für den Compiler besitzt,
sprich der auf den Ordner mit den Includes verweist -
Das war der Fehler Danke dir.
-
truck0 = AddStaticVehicle(455,-1839.8022,-12.6983,15.5544,270.1398,254,135); //truck
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(vehicleid == truck0)
{
if(pInfo[playerid][job] == 1)
{
SetPlayerCheckpoint(playerid,-1872.4550,1417.2936,7.1805,5);
SendClientMessage(playerid,COLOR_OLIVE,"Fahre zum Roten Punkt und Tippe /stuff get ein.");
GetPlayerVehicleID(playerid);
}
else
{
SendClientMessage(playerid,COLOR_RED,"Du bist kein Trucker!");
SendClientMessage(playerid,COLOR_RED,"Falls du noch gefreezt bist /unfreeze.");
TogglePlayerControllable(playerid, false);
}
return 1;
}public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmd, "/stuff get", true) == 0)
{
if (pInfo[playerid][job] == 1)
{
if(vehicleid == truck0)
{
if(PlayerToPoint(50.0,playerid,-1872.1891,1418.8207,7.1805))
{
SendClientMessage(playerid,COLOR_OLIVE,"Fahre zum Roten Punkt und Tippe /deliver ein.");
SendClientMessage(playerid,COLOR_OLIVE,"Die Produkte haben dich 500$ gekostet.");
SetPlayerCheckpoint(playerid,-1020.9528,-678.2216,31.9035,5);
GivePlayerMoney(playerid,-500);
pInfo[playerid][truckprods] = 5;
}
}
}
return 1;
}
des wenn er einsteigt geht jetzt... aber des mit dem stuff get funzt net =( hoff mir kannw er helfen -
wollte mal fragen wie das mit der SetVehicleNumberPlate geht
bei samp wiki steht es so, so geht es aber nicht
if (strcmp(cmdtext, "/numberplate", true)==0){
SetVehicleNumberPlate(GetPlayerVehicleID(playerid), "Markus");
SetVehicleToRespawn(GetPlayerVehicleID(playerid));
return 1;} -
Die Funktion ist seit 0.3a deaktiviert.
-
das ist ja blöd, die funktion war doch gut
-
truck0 = AddStaticVehicle(455,-1839.8022,-12.6983,15.5544,270.1398,254,135); //truck
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(vehicleid == truck0)
{
if(pInfo[playerid][job] == 1)
{
SetPlayerCheckpoint(playerid,-1872.4550,1417.2936,7.1805,5);
SendClientMessage(playerid,COLOR_OLIVE,"Fahre zum Roten Punkt und Tippe /stuff get ein.");
GetPlayerVehicleID(playerid);
}
else
{
SendClientMessage(playerid,COLOR_RED,"Du bist kein Trucker!");
SendClientMessage(playerid,COLOR_RED,"Falls du noch gefreezt bist /unfreeze.");
TogglePlayerControllable(playerid, false);
}
return 1;
}public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmd, "/stuff get", true) == 0)
{
if (pInfo[playerid][job] == 1)
{
if(vehicleid == truck0)
{
if(PlayerToPoint(50.0,playerid,-1872.1891,1418.8207,7.1805))
{
SendClientMessage(playerid,COLOR_OLIVE,"Fahre zum Roten Punkt und Tippe /deliver ein.");
SendClientMessage(playerid,COLOR_OLIVE,"Die Produkte haben dich 500$ gekostet.");
SetPlayerCheckpoint(playerid,-1020.9528,-678.2216,31.9035,5);
GivePlayerMoney(playerid,-500);
pInfo[playerid][truckprods] = 5;
}
}
}
return 1;
}
Wenn er einsteigt des geht :DAber dess /stuff get funzt net...passiert einfach net.. hab aber keinen errors bitte hilfee -
Ich wüsste mal gerne, wann genau man public benutzen sollte und wann nicht. Das man es bei Call****Function und Timern brauch ist mir klar. Aber wann soll man es noch benutzen? Ich versteh nicht wirklich was die sa-mp.com wiki hier mit meint:
"A function should be public whenever "the server" must be able to call the function at run time."
Also wann brauch ich es und wann nicht? (ich programmiere auch in C und bin von daher nicht unbedingt ein Scripting Noob. -
Eine Öffentliche Funktion ist dazu da um von überall im Laufzeitbereich auf sie zuzugreifen, so kann
man per CallRemoteFunction auch sie zurückgreifen und die gewünschten Parameter übergeben sprich
auch von einem anderen Script ließe sich darauf zurückgreifen. -
Vielen Dank.
-
So ich habe jetzt mal encrpyt ausm gff in mein selfmade dm eingebaut.
Habe nur ein Problem.
Wenn man sich einloggt und das falsche Password eingibt, kann man sich danach mit dem falschen Passwort einloggen, da, so vermute ich, durch das Fehlerhafte login der Password Key, ich benutzt dini, verändert wird.
Und zwar befindet sich auf einmal vor dem ersten Key in der ini das Symbol "ÿ". Allerdings verändere ich weder den Key noch schreibe ich irgentwas an den Anfang der Ini.
Woran könnte das liegen.
loginsystem
new string[128];
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,playername,sizeof(playername));
format(string,sizeof(string),"%s.dini",playername);new pass[128];
new laenge;format(pass,sizeof(pass),"%s",inputtext);
laenge = strlen(pass);
Encrypt(pass);
printf("%s",pass);
if(strcmp(dini_Get(string,"Password"),pass,false)==0 && laenge != 0)
{ -
-
wie kann man anhand des spielernamens überprüfen, ob der spieler online ist?
-
truck0 = AddStaticVehicle(455,-1839.8022,-12.6983,15.5544,270.1398,254,135); //truck
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(vehicleid == truck0)
{
if(pInfo[playerid][job] == 1)
{
SetPlayerCheckpoint(playerid,-1872.4550,1417.2936,7.1805,5);
SendClientMessage(playerid,COLOR_OLIVE,"Fahre zum Roten Punkt und Tippe /stuff get ein.");
GetPlayerVehicleID(playerid);
}
else
{
SendClientMessage(playerid,COLOR_RED,"Du bist kein Trucker!");
SendClientMessage(playerid,COLOR_RED,"Falls du noch gefreezt bist /unfreeze.");
TogglePlayerControllable(playerid, false);
}
return 1;
}public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmd, "/stuff get", true) == 0)
{
if (pInfo[playerid][job] == 1)
{
if(vehicleid == truck0)
{
if(PlayerToPoint(50.0,playerid,-1872.1891,1418.8207,7.1805))
{
SendClientMessage(playerid,COLOR_OLIVE,"Fahre zum Roten Punkt und Tippe /deliver ein.");
SendClientMessage(playerid,COLOR_OLIVE,"Die Produkte haben dich 500$ gekostet.");
SetPlayerCheckpoint(playerid,-1020.9528,-678.2216,31.9035,5);
GivePlayerMoney(playerid,-500);
pInfo[playerid][truckprods] = 5;
}
}
}
return 1;
}
warum funzt des /stuff get net? -
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmd, "/stuff get", true) == 0)Schau dir den Teil mal an, cmdtext gibt das Kommando zurück während die Variable cmd nichts enthält ?
Sieht danach aus als ob du mit strtok arbeiten würdest, für gewöhnlich trennt die Funktion Leerzeichen und
gibt die einzelnen Teile wieder, daher sollte nur /stuff wiedergegeben werden . -
Ist das möglich, irgendwie durch ein Zeichen es so zu machen, dass ich nicht alle CarIDs schreiben muss sondern einfach z.b 90-104 machen kann... Gibt es da eine möglichkeit?
-
schau mal bei sizeof