Das da, da würde er sich sicher freuen wenn ihm das einer komplett funktionsfähig erstellt:
http://forum.sa-mp.de/gta-mult…breadfish-roleplay-dialog
Beiträge von Jeffry
-
-
Du musst eben das '_' mit ' ' ersetzen (in dem Code von dem link) und schon funktioniert die Abfrage für Namen wie "Max Mustermann".
Das sollte wohl machbar sein. -
http://forum.sa-mp.com/showthread.php?t=309062
Schau dir das mal an, da sparst du dir die Abfragerei selbst zu machen. -
Weil dieser Command Prozessor dieses callback praktisch "blockiert" und zwei neue callback frei gibt.
Siehe hier:
(Quelle: http://forum.sa-mp.com/showthread.php?t=91354) -
#include <zcmd>
Mach das mal weg.
-
format(query, 128, "SELECT GName FROM grangnamen WHERE GID = %d AND GRang = %d", teamid, rang);
Die ' brauchst du nur wenn du Strings übergibst.
EDIT: Heißt ja doch "grangnamen", habs im Bild gesehen.
EDIT2: ElDiabolo: Ja, ist mir dann auch aufgefallen. Super! -
Autsch, da ist ja alles mögliche falsch.
Ich hab es mir gespart zu markieren wo die Fehler waren, da wäre der ganze Code jetzt grün.Ich rate dir dringendst, vergleiche meine Reparatur mit deinem Code!! Du kannst dabei nur lernen.
-
//Dialoge
#define REGISTER
#define LOGINzu:
//Dialoge
#define REGISTER 123
#define LOGIN 124 -
Also ich kann das ganz normal kompilieren und ich sehe da auch keinen Fehler.
Poste mal deine Definitionen (GRAU, REGISTER, ...).Und was passiert, wenn du Zeile 33-35 ausmarkierst? (Mit //)
-
if (IsAFahrschulVeh(vehicleid) && !ispassenger)
{
print("1");
if (IsATutVeh(vehicleid) && !ispassenger)
{
print("2");
if(PlayerInfo[playerid][pLeader] == 11 || PlayerInfo[playerid][pMember]== 11 || TakingLesson[playerid] == 1 || TUT[playerid] == 1)
{
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Du hast keinen Schlüssel.");
TogglePlayerControllable(playerid,false);
TogglePlayerControllable(playerid,true);
}
}
}Was steht im Server log wenn du einsteigst?
Kommt die SendClientMessage überhaupt? -
Hast du dir meinen Code überhaupt zu Gemüte geführt? Der funktioniert wenn deine Variablen korrekt sind.
-
Das ist ja auch Käse, RemovePlayerFromVehicle bringt bei OnPlayerEnterVehicle gar nichts.
Ersetze es wieder mit:
TogglePlayerControllable(playerid, false);
TogglePlayerControllable(playerid, true); -
Mal ne Frage,
ich wollte mir gerade eine Funktion mit dem Namen register schreiben jedoch ist mir aufgefallen, dass das Wort "register" syntaxlich blau gefärbt ist.
Aber warum? Was bringt das genau?
Nichts mir Bekanntes. Falls doch jemand was weiß wäre ich extrem überrascht, da:
Man kann es ganz normal verwenden:new register;
public OnFilterScriptInit()
{
register = 1;
printf("%d", register);
return 1;
}Ist halt schön blau.
In der PAWN Language Guide steht darüber auch nichts. -
Das kommt auf den Pickup Typen drauf an, wenn es Pickup Type 2 z.B. ist, verschwindet das Pickup und es dauert seine Zeit bis es respawnt.
Dessen bin ich mir bewusst, aber er hat gesagt, dass er dort schon ewig fest hängt und die Nachricht immer wieder kommt. Und da dein Code gar nicht ging (warum auch immer? sieht korrekt aus), soll er es eben so probieren.
Cheers -
Nein, das machst du schön selber, sonst lernst du ja nichts.
Falls dabei Probleme auftreten, kannst du den Code gerne hier posten.Funktionen:
http://wiki.sa-mp.com/wiki/ShowPlayerDialog
http://wiki.sa-mp.com/wiki/Function:GivePlayerWeaponMusst nur noch richtig ausfüllen, das sollte machbar sein.
-
Das liegt schlichtweg daran, dass OnPlayerPickUpPickup immer wieder aufgerufen wirst, während du im Pickup "eingefroren" bist.
public OnPlayerPickUpPickup(playerid, pickupid)
{
static inSuche[MAX_PLAYERS];
if(pickupid == suche && inSuche[playerid] + 12 < gettime()) //12 Sekunden gesperrt.
{
if(IsPlayerInRangeOfPoint(playerid,1,247.0259,302.6663,999.1484))
{
new string[128];
format(string, sizeof(string), "~g~%s sucht",PlayerName(playerid));
GameTextForPlayer(playerid, string, 1000, 1);
SetTimerEx("suchen",7000,false,"i",playerid);
TogglePlayerControllable(playerid,0);
inSuche[playerid] = gettime();
return 1;
}
}
return 1;
}forward suchen(playerid);
public suchen(playerid)
{
GameTextForPlayer(playerid, "~g~Gefunden", 1000, 1);
SendClientMessage(playerid,WEISS,"Du hast deine Brieftasche gefunden!");
TogglePlayerControllable(playerid,1);
SetPlayerCheckpoint(playerid,243.7181,304.9580,999.1484,1);
return 1;
}Enum:
if(pickupid==suche{
Und das "forward" fehlt auch. -
ShowPlayerDialog(...menu mit den Waffenarten...); //(WaffenArtenMenu)
OnDialogResponse:
if(dialogid == WaffenArtenMenu && response)
{
switch(listitem)
{
case 0: ShowPlayerDialog(...Hier dann die Maschinen M4, AK7, ...); //(MaschinenGewehrMenu)
case 1: ShowPlayerDialog(...Hier die Schrotflinten...); //(SchrotflintenMenu)
case 2: //etc...
}
}if(dialogid == SchrotflintenMenu && response)
{
switch(listitem)
{
case 0: //Abgesägte geben
case 1: //Normale...
case 2: //etc
}
}if(dialogid == MaschinenGewehrMenu && response)
{
switch(listitem)
{
case 0: //M4
case 1: //Ak47...
case 2: //etc
}
}Beispiel für ein Menu:
ShowPlayerDialog(playerid, SprachenMenu, DIALOG_STYLE_LIST, "Sprachen", "English\nDutch\nFrench\nGerman\nIndonesian", "Select", "Cancel"); -
Dann könntest du höchstens mal deinen Host kontaktieren, vielleicht haben die die Nutzung dieses Plugins verboten.
Du kannst auch noch den Beispiel Code testen, ob der tut. -
Ich hoffe du hast dort die "MapAndreas.so" benutzt und auch "MapAndreas.so" bei plugins eingetragen, da dies Linux Systeme sind.
-
So, ich hab das mal bei mir getestet. Funktioniert.
- SAfull.hmap in scriptfiles
- MapAndreas.dll in plugins
- mapandreas.inc in pawno/include
- "MapAndreas" bei plugins (server.cfg)
- MapAndreas_Init(MAP_ANDREAS_MODE_FULL); //OnFilterScriptInit
- new Float:z; //Irgendwo wo es aufgerufen wird.
MapAndreas_FindZ_For2DCoord(1234.0, 1425.1, z);
printf("%f", z); //Ausgabe: 5.789999
Wenn bei dir so noch immer 0 ausgegeben wird, dann poste mal deinen Code.