hmm ich hab versucht das nur mit dem playertopoint versucht in meinen script einzubauen, ich hab natürlich auch deine sachen richtig reingeschrieben, aber es geht irgentwie immer noch nicht. kannst du mir da weiterhelfen?
Beiträge von jakooob
-
-
-
im debug modus sind bei mir die staraßenbahnen und züge beim auswählen unsichtbar aber es geht XD
die zugstrecke ist wirklich eetwas verbuggt aber die tramschienen in sf funzen 1a XD
man muss sich nur in die tram portenPutPlayerInVehicle(playerid,tram[1],0)
MFG J4K000B
-
yay danke erstmal für die vielen antworten auf einmal XD
ich teste mal alles aus und schreib -
bei mir kommt wenn ich die 2. möglichkeit einbaue:
C:\Program Files\Rockstar Games\GTA San Andreas\filterscripts\REGISTERSYSTEM;FRAKTIONEN.pwn(492) : error 017: undefined symbol "PlayerToPoint"
Pawn compiler 3.2.3664
Copyright (c) 1997-2006, ITB CompuPhasekann mir jemand sagen wie ich das definen soll oder was ich sonst machen soll?
-
hmm ok danke. evtl schaut ja einer rein, der weis wies geht.
aber danke für die schnelle antwort -
Hi @ all
ich hätt gerne einen zug in meinem server so wie im normalen single player gta
weis jemadn wie das geht oder ob das überhaupt geht?
wäre super wenn ihr schnell zurückschreibt
MFG J4K000B -
yay danke! das war genau das was ich wollte und noch besser XD
das mit den ausrufezeichen hab ich auch noch nicht so ganz klar verstanden. -
danke erstmal für die schnelle antwort nur es hat sich nix geändert es stürtzt immer noch ab hier nochmal der ganze quelltext
Code
Alles anzeigen#include <a_samp> #define FILTERSCRIPT #if defined FILTERSCRIPT #define COLOR_LIGHTGREEN 0x86FF59FF #define COLOR_RED 0xFF0000FF #define COLOR_GREEN 0x00CA00FF #define COLOR_YELLOW 0xFFFF00FF forward ShowStats(playerid,targetid); forward OnPlayerUpdate(playerid); forward Encrypt(string[]); forward OnPlayerLogin(playerid,const string[]); enum pInfo { pPassword[128], pKills, pDeaths, pCash, }; new PlayerInfo[MAX_PLAYERS][pInfo]; new gPlayerLogged[MAX_PLAYERS]; new gPlayerAccount[MAX_PLAYERS]; public OnFilterScriptExit() { return 1; } public OnPlayerRequestClass(playerid, classid) { return 1; } public OnPlayerRequestSpawn(playerid) { return 1; } public OnPlayerConnect(playerid) { new playrname[MAX_PLAYER_NAME]; new connect[128]; GetPlayerName(playerid, playrname, sizeof(playrname)); format(connect, sizeof(connect), "%s.cer", playrname); if(fexist(connect)) { gPlayerAccount[playerid] = 1; SendClientMessage(playerid, COLOR_YELLOW, "Du bist registriert, bitte logge dich ein"); SendClientMessage(playerid, COLOR_YELLOW, "|_____WIE LOGGE ICH MICH EIN_____|") SendClientMessage(playerid, COLOR_YELLOW, "Drücke die Taste T und gib dann /login [Passwort] ein") return 1; } else { gPlayerAccount[playerid] = 0; SendClientMessage(playerid, COLOR_YELLOW, "Dein Name wurde in der Datenbank nicht gefunden! Bitte registriere dich."); SendClientMessage(playerid, COLOR_YELLOW, "|_____WIE REGISTRIERE ICH MICH_____|") SendClientMessage(playerid, COLOR_YELLOW, "Drücke die Taste T und gib dann /register [Ein beliebiges Passwort] ein") } return 1; } public OnPlayerDisconnect(playerid, reason) { OnPlayerUpdate(playerid); gPlayerLogged[playerid] = 0; return 1; } public OnPlayerSpawn(playerid) { if (gPlayerLogged[playerid] == 0) { ForceClassSelection(playerid); SetPlayerHealth(playerid,0); return 1; } return 1; } public OnPlayerDeath(playerid, killerid, reason) { new kills = PlayerInfo[playerid][pKills]; SetPlayerScore(playerid, kills); new Float:Health; GetPlayerHealth(playerid, Health); if(Health == 0.0) { PlayerInfo[playerid][pDeaths] += 1; } GivePlayerMoney(killerid,2000); PlayerInfo[killerid][pKills] = PlayerInfo[killerid][pKills] + 1; return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { new cmd[256]; new idx; cmd = strtok(cmdtext, idx); new tmp[256]; new playername[MAX_PLAYER_NAME]; if (strcmp(cmd, "/login", true) ==0 ) { if(IsPlayerConnected(playerid)) { new tmppass[64]; if(gPlayerLogged[playerid] == 1) { SendClientMessage(playerid, COLOR_RED, " Du bist bereits eingeloggt."); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_RED, " Benutze: /login [password]"); return 1; } strmid(tmppass, tmp, 0, strlen(cmdtext), 255); Encrypt(tmppass); OnPlayerLogin(playerid,tmppass); } return 1; } if (strcmp(cmd, "/register", true)==0) { new string[265]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_RED, "Benutze: /register [password]"); return 1; } if (gPlayerAccount[playerid] == 1) { SendClientMessage(playerid, COLOR_RED, " Der Name ist bereits registriert"); return 1; } strmid(PlayerInfo[playerid][pPassword], tmp, 0, strlen(cmdtext), 255); Encrypt(PlayerInfo[playerid][pPassword]); GetPlayerName(playerid, playername, sizeof(playername)); format(string, sizeof(string), "%s.cer", playername); new File: file = fopen(string, io_read); if (file) { SendClientMessage(playerid, COLOR_RED, " Der Name ist bereits registriert"); fclose(file); return 1; } new File:hFile; hFile = fopen(string, io_append); new var[32];// format(var, 32, "%s\n", PlayerInfo[playerid][pPassword]);fwrite(hFile, var); format(var, 32, "Kills=%d\n",PlayerInfo[playerid][pKills]);fwrite(hFile, var); format(var, 32, "Deaths=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var); PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid); format(var, 32, "Money=%d\n",PlayerInfo[playerid][pCash]);fwrite(hFile, var); fclose(hFile); SendClientMessage(playerid, COLOR_GREEN, "Erfolgreich registriert!"); SendClientMessage(playerid, COLOR_YELLOW, "Gebe nächstes mal /login <password> zum einloggen ein."); OnPlayerLogin(playerid,PlayerInfo[playerid][pPassword]); return 1; } if (strcmp(cmd, "/stats", true) == 0) { if(IsPlayerConnected(playerid)) { if (gPlayerLogged[playerid] != 0) { ShowStats(playerid,playerid); } else { SendClientMessage(playerid, COLOR_RED, " Du bist nicht eingeloggt !"); } } return 1; } return 0; } public Encrypt(string[]) { for(new x=0; x < strlen(string); x++) { string[x] += (3^x) * (x % 15); if(string[x] > (0xff)) { string[x] -= 64; } } return 1; } public OnPlayerLogin(playerid,const string[]) { new pname2[MAX_PLAYER_NAME]; new pname3[MAX_PLAYER_NAME]; new string2[64]; new string3[128]; GetPlayerName(playerid, pname2, sizeof(pname2)); format(string2, sizeof(string2), "%s.cer", pname2); new File: UserFile = fopen(string2, io_read); if (UserFile) { new valtmp[128]; fread(UserFile, valtmp);strmid(PlayerInfo[playerid][pPassword], valtmp, 0, strlen(valtmp)-1, 255); if ((strcmp(PlayerInfo[playerid][pPassword], string, true, strlen(valtmp)-1) == 0)) { new key[128],val[128]; new Data[128]; while(fread(UserFile,Data,sizeof(Data))) { key = ini_GetKey(Data); if( strcmp( key , "Kills" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pKills] = strval( val ); } if( strcmp( key , "Deaths" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pDeaths] = strval( val ); } if( strcmp( key , "Money" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCash] = strval( val ); } GivePlayerMoney(playerid,PlayerInfo[playerid][pCash]); } fclose(UserFile); gPlayerLogged[playerid] = 1; gPlayerAccount[playerid] = 1; new kills = PlayerInfo[playerid][pKills]; SetPlayerScore(playerid, kills); GetPlayerName(playerid, pname3, sizeof(pname3)); format(string3, sizeof(string3), "Welcome %s, du bist bereits eingeloggt!", pname3); SendClientMessage(playerid, COLOR_YELLOW,string3); } else { SendClientMessage(playerid, COLOR_RED, " Falsches Passwort"); fclose(UserFile); } } return 1; } public OnPlayerUpdate(playerid) { if(IsPlayerConnected(playerid)) { if(gPlayerLogged[playerid]) { new string3[32]; new pname3[MAX_PLAYER_NAME]; GetPlayerName(playerid, pname3, sizeof(pname3)); format(string3, sizeof(string3), "%s.cer", pname3); new File: pFile = fopen(string3, io_write); if (pFile) { new var[32]; format(var, 32, "%s\n", PlayerInfo[playerid][pPassword]);fwrite(pFile, var); fclose(pFile); new File: hFile = fopen(string3, io_append); PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid); format(var, 32, "Kills=%d\n",PlayerInfo[playerid][pKills]);fwrite(hFile, var); format(var, 32, "Deaths=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var); format(var, 32, "Money=%d\n",PlayerInfo[playerid][pCash]);fwrite(hFile, var); fclose(hFile); } } } return 1; } stock ini_GetKey( line[] ) { new keyRes[128]; keyRes[0] = 0; if ( strfind( line , "=" , true ) == -1 ) return keyRes; strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) ); return keyRes; } stock ini_GetValue( line[] ) { new valRes[128]; valRes[0]=0; if ( strfind( line , "=" , true ) == -1 ) return valRes; strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) ); return valRes; } strtok(const string[], &index) { new length = strlen(string); while ((index < length) && (string[index] <= ' ')) { index++; } new offset = index; new result[20]; while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; } public ShowStats(playerid,targetid) { if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid)) { new cash = GetPlayerMoney(targetid); new deaths = PlayerInfo[targetid][pDeaths]; new kills = PlayerInfo[targetid][pKills]; new name[MAX_PLAYER_NAME]; GetPlayerName(targetid, name, sizeof(name)); new Float:px,Float:py,Float:pz; GetPlayerPos(targetid, px, py, pz); new coordsstring[256]; SendClientMessage(playerid, COLOR_GREEN,"_______________________________________"); format(coordsstring, sizeof(coordsstring),"*** %s ***",name); SendClientMessage(playerid, COLOR_YELLOW,coordsstring); format(coordsstring, sizeof(coordsstring), "Kills:[%d] Deaths:[%d] Cash:[$%d]",kills,deaths,cash); SendClientMessage(playerid, COLOR_YELLOW,coordsstring); SendClientMessage(playerid, COLOR_GREEN,"_______________________________________"); } } #endif
-
hi@ all
ich habe ein problem:
ich möchte , bei meinem server, dass wenn mann connectet und die spielfigur auswählen kann, dass man wieder zur classselection zurückgeschickt wird, wenn man sich nicht registriert /eingeloggt hat. das registersystem hab ich schon, das funktzioniert auch einwandfrei. nur dann habe ich versucht diesen script einzufügen:
//---------------------------------------------------
public OnPlayerSpawn(playerid)
{
if (gPlayerLogged[playerid] != 0)
{
}
else
{
ForceClassSelection(playerid);
SetPlayerHealth(playerid,0);
return 1;
}
return 0;
}
//-------------------------------------------------jetzt: wenn ich dann ohne eingeloggt zu sein, die figur auswähl werd ich zum spawnpoint geportet und sterbe. dann hänge ich ein bischen über dem spawnpoint komisch in der luft und halte ne zigarre in der hand. im hintergrund stürtzt der samp server ab und die verbindung is tot. :-/
Wenn ich mich einlogge gehts aber.
wär cool wenn mir jemand helfen könnte
MFG J4K0BSorry wenn ich n total blöödn fehler eingebaut hab XD
-
ich hatte mal mit dem map ed. was gemacht und samp ging danach auch nichmehr habs gta deinstalliert und neuistalliert dann gings wieder kannse mal schaun. sollte natürlich gehn, wenn samp mal früher lief.
MFG -
Perfekt. darauf hab ich gewartet. außerdem verstehs sogar ich! XD.
sollte viel mehr leute geben die sich die zeit nehmen um solche perfekten tutorials zu schreiben.
MFG
J4K000B -
bei mir stürtzt das immer beim compilen ab. beim normalen pawno sowie beim pawnscite :-/